Coverage report: 100%

Files Functions Classes

coverage.py v7.14.1, created at 2026-06-23 06:13 +0000

      Statements   Branches   Total
File class   coverage statements missing excluded   coverage branches partial   coverage
src/jquantstats/__init__.py (no class)   100% 10 0 0   100% 0 0   100%
src/jquantstats/_cache.py (no class)   100% 16 0 0   100% 2 0   100%
src/jquantstats/_cost_model.py CostModel   100% 9 0 0   100% 6 0   100%
src/jquantstats/_cost_model.py (no class)   100% 13 0 0   100% 0 0   100%
src/jquantstats/_plots/__init__.py (no class)   100% 3 0 0   100% 0 0   100%
src/jquantstats/_plots/_data.py DataPlots   100% 328 0 2   100% 70 0   100%
src/jquantstats/_plots/_data.py (no class)   100% 114 0 2   100% 24 0   100%
src/jquantstats/_plots/_portfolio.py PortfolioPlots   100% 142 0 0   100% 52 0   100%
src/jquantstats/_plots/_portfolio.py (no class)   100% 24 0 2   100% 0 0   100%
src/jquantstats/_plots/_protocol.py PortfolioStatsLike   100% 0 0 8   100% 0 0   100%
src/jquantstats/_plots/_protocol.py PortfolioLike   100% 0 0 32   100% 0 0   100%
src/jquantstats/_plots/_protocol.py (no class)   100% 6 0 70   100% 0 0   100%
src/jquantstats/_portfolio_attribution.py PortfolioAttributionMixin   100% 16 0 2   100% 2 0   100%
src/jquantstats/_portfolio_attribution.py (no class)   100% 13 0 11   100% 0 0   100%
src/jquantstats/_portfolio_base.py _PortfolioMembers   100% 0 0 6   100% 0 0   100%
src/jquantstats/_portfolio_base.py (no class)   100% 4 0 20   100% 0 0   100%
src/jquantstats/_portfolio_cost.py PortfolioCostMixin   100% 44 0 0   100% 16 0   100%
src/jquantstats/_portfolio_cost.py (no class)   100% 12 0 0   100% 0 0   100%
src/jquantstats/_portfolio_nav.py PortfolioNavMixin   100% 30 0 2   100% 8 0   100%
src/jquantstats/_portfolio_nav.py (no class)   100% 27 0 5   100% 0 0   100%
src/jquantstats/_portfolio_turnover.py PortfolioTurnoverMixin   100% 20 0 0   100% 4 0   100%
src/jquantstats/_portfolio_turnover.py (no class)   100% 12 0 2   100% 0 0   100%
src/jquantstats/_protocol.py StatsLike   100% 0 0 2   100% 0 0   100%
src/jquantstats/_protocol.py DataLike   100% 0 0 18   100% 0 0   100%
src/jquantstats/_protocol.py (no class)   100% 4 0 38   100% 0 0   100%
src/jquantstats/_reports/__init__.py (no class)   100% 3 0 0   100% 0 0   100%
src/jquantstats/_reports/_data.py Reports   100% 56 0 0   100% 22 0   100%
src/jquantstats/_reports/_data.py (no class)   100% 214 0 2   100% 44 0   100%
src/jquantstats/_reports/_formatting.py (no class)   100% 16 0 0   100% 4 0   100%
src/jquantstats/_reports/_portfolio.py Report   100% 50 0 0   100% 6 0   100%
src/jquantstats/_reports/_portfolio.py (no class)   100% 45 0 2   100% 12 0   100%
src/jquantstats/_reports/_protocol.py PlotsLike   100% 0 0 16   100% 0 0   100%
src/jquantstats/_reports/_protocol.py PortfolioLike   100% 0 0 12   100% 0 0   100%
src/jquantstats/_reports/_protocol.py (no class)   100% 6 0 43   100% 0 0   100%
src/jquantstats/_stats/__init__.py (no class)   100% 2 0 0   100% 0 0   100%
src/jquantstats/_stats/_basic.py _BasicStatsMixin   100% 175 0 2   100% 32 0   100%
src/jquantstats/_stats/_basic.py (no class)   100% 97 0 5   100% 0 0   100%
src/jquantstats/_stats/_core.py (no class)   100% 55 0 16   100% 14 0   100%
src/jquantstats/_stats/_drawdown.py _DrawdownMixin   100% 37 0 0   100% 8 0   100%
src/jquantstats/_stats/_drawdown.py (no class)   100% 19 0 5   100% 0 0   100%
src/jquantstats/_stats/_internals.py (no class)   100% 17 0 0   100% 4 0   100%
src/jquantstats/_stats/_montecarlo.py _MonteCarloStatsMixin   100% 55 0 2   100% 16 0   100%
src/jquantstats/_stats/_montecarlo.py (no class)   100% 17 0 5   100% 0 0   100%
src/jquantstats/_stats/_performance.py _RiskStatsMixin   100% 187 0 6   100% 54 0   100%
src/jquantstats/_stats/_performance.py (no class)   100% 43 0 7   100% 0 0   100%
src/jquantstats/_stats/_periodic.py _PeriodicReportingMixin   100% 73 0 0   100% 22 0   100%
src/jquantstats/_stats/_periodic.py (no class)   100% 10 0 5   100% 0 0   100%
src/jquantstats/_stats/_reporting.py _ReportingStatsMixin   100% 168 0 23   100% 54 0   100%
src/jquantstats/_stats/_reporting.py (no class)   100% 26 0 21   100% 0 0   100%
src/jquantstats/_stats/_rolling.py _RollingStatsMixin   100% 63 0 0   100% 22 0   100%
src/jquantstats/_stats/_rolling.py (no class)   100% 19 0 5   100% 0 0   100%
src/jquantstats/_stats/_stats.py Stats   100% 8 0 0   100% 0 0   100%
src/jquantstats/_stats/_stats.py (no class)   100% 26 0 2   100% 0 0   100%
src/jquantstats/_types.py (no class)   100% 4 0 0   100% 0 0   100%
src/jquantstats/_utils/__init__.py (no class)   100% 3 0 0   100% 0 0   100%
src/jquantstats/_utils/_data.py DataUtils   100% 72 0 1   100% 16 0   100%
src/jquantstats/_utils/_data.py (no class)   100% 27 0 0   100% 0 0   100%
src/jquantstats/_utils/_portfolio.py PortfolioUtils   100% 14 0 0   100% 0 0   100%
src/jquantstats/_utils/_portfolio.py (no class)   100% 23 0 0   100% 0 0   100%
src/jquantstats/_utils/_protocol.py PortfolioLike   100% 0 0 4   100% 0 0   100%
src/jquantstats/_utils/_protocol.py (no class)   100% 3 0 13   100% 0 0   100%
src/jquantstats/data.py Data   100% 124 0 3   100% 48 0   100%
src/jquantstats/data.py (no class)   100% 92 0 8   100% 24 0   100%
src/jquantstats/exceptions.py JQuantStatsError   100% 0 0 0   100% 0 0   100%
src/jquantstats/exceptions.py MissingDateColumnError   100% 8 0 0   100% 2 0   100%
src/jquantstats/exceptions.py InvalidCashPositionTypeError   100% 2 0 0   100% 0 0   100%
src/jquantstats/exceptions.py InvalidPricesTypeError   100% 2 0 0   100% 0 0   100%
src/jquantstats/exceptions.py NonPositiveAumError   100% 2 0 0   100% 0 0   100%
src/jquantstats/exceptions.py RowCountMismatchError   100% 3 0 0   100% 0 0   100%
src/jquantstats/exceptions.py IntegerIndexBoundError   100% 3 0 0   100% 0 0   100%
src/jquantstats/exceptions.py PositionExprColumnError   100% 4 0 0   100% 0 0   100%
src/jquantstats/exceptions.py NoAssetColumnsError   100% 2 0 0   100% 0 0   100%
src/jquantstats/exceptions.py NegativeCostBpsError   100% 2 0 0   100% 0 0   100%
src/jquantstats/exceptions.py InvalidMaxBpsError   100% 2 0 0   100% 0 0   100%
src/jquantstats/exceptions.py UncleanSeriesError   100% 4 0 0   100% 0 0   100%
src/jquantstats/exceptions.py MuSchemaError   100% 3 0 0   100% 0 0   100%
src/jquantstats/exceptions.py NullsInReturnsError   100% 4 0 0   100% 0 0   100%
src/jquantstats/exceptions.py BenchmarkAlignmentWarning   100% 0 0 0   100% 0 0   100%
src/jquantstats/exceptions.py (no class)   100% 29 0 0   100% 0 0   100%
src/jquantstats/portfolio.py Portfolio   100% 117 0 0   100% 66 0   100%
src/jquantstats/portfolio.py (no class)   100% 74 0 4   100% 2 0   100%
src/jquantstats/result.py Result   100% 26 0 0   100% 8 0   100%
src/jquantstats/result.py (no class)   100% 11 0 0   100% 0 0   100%
Total     100% 2994 0 434   100% 664 0   100%

No items found using the specified filter.