Coverage report: 100%

Files Functions Classes

coverage.py v7.16.1, created at 2026-09-23 04:11 +0000

    Statements   Branches   Total
File   coverage statements missing excluded   coverage branches partial   coverage
src/jquantstats/__init__.py   100% 13 0 0   100% 0 0   100%
src/jquantstats/_cache.py   100% 16 0 0   100% 2 0   100%
src/jquantstats/_cost_model.py   100% 22 0 0   100% 6 0   100%
src/jquantstats/_data_reshape.py   100% 52 0 3   100% 6 0   100%
src/jquantstats/_plots/__init__.py   100% 3 0 0   100% 0 0   100%
src/jquantstats/_plots/_backend.py   100% 34 0 0   100% 4 0   100%
src/jquantstats/_plots/_data/__init__.py   100% 3 0 0   100% 0 0   100%
src/jquantstats/_plots/_data/_core.py   100% 21 0 12   100% 0 0   100%
src/jquantstats/_plots/_data/_cumulative.py   100% 16 0 54   100% 0 0   100%
src/jquantstats/_plots/_data/_distribution.py   100% 11 0 20   100% 0 0   100%
src/jquantstats/_plots/_data/_drawdown.py   100% 11 0 28   100% 0 0   100%
src/jquantstats/_plots/_data/_montecarlo.py   100% 12 0 48   100% 0 0   100%
src/jquantstats/_plots/_data/_periodic.py   100% 16 0 44   100% 0 0   100%
src/jquantstats/_plots/_data/_rolling.py   100% 19 0 80   100% 0 0   100%
src/jquantstats/_plots/_portfolio/__init__.py   100% 3 0 0   100% 0 0   100%
src/jquantstats/_plots/_portfolio/_core.py   100% 9 0 2   100% 0 0   100%
src/jquantstats/_plots/_portfolio/_diagnostics.py   100% 15 0 41   100% 0 0   100%
src/jquantstats/_plots/_portfolio/_nav.py   100% 13 0 42   100% 0 0   100%
src/jquantstats/_plots/_portfolio/_rolling.py   100% 13 0 20   100% 0 0   100%
src/jquantstats/_plots/_protocol.py   100% 6 0 110   100% 0 0   100%
src/jquantstats/_plots/_render/__init__.py   100% 12 0 5   100% 2 0   100%
src/jquantstats/_plots/_render/_mpl.py   100% 163 0 2   100% 70 0   100%
src/jquantstats/_plots/_render/_plotly.py   100% 180 0 0   100% 100 0   100%
src/jquantstats/_plots/_spec.py   100% 127 0 0   100% 0 0   100%
src/jquantstats/_plots/_specs/__init__.py   100% 34 0 0   100% 0 0   100%
src/jquantstats/_plots/_specs/_cumulative.py   100% 44 0 2   100% 4 0   100%
src/jquantstats/_plots/_specs/_dashboard.py   100% 64 0 3   100% 8 0   100%
src/jquantstats/_plots/_specs/_diagnostics.py   100% 55 0 2   100% 8 0   100%
src/jquantstats/_plots/_specs/_distribution.py   100% 30 0 2   100% 2 0   100%
src/jquantstats/_plots/_specs/_drawdown.py   100% 57 0 2   100% 12 0   100%
src/jquantstats/_plots/_specs/_montecarlo.py   100% 69 0 4   100% 16 0   100%
src/jquantstats/_plots/_specs/_periodic.py   100% 59 0 2   100% 4 0   100%
src/jquantstats/_plots/_specs/_rolling.py   100% 92 0 3   100% 12 0   100%
src/jquantstats/_plots/_style.py   100% 19 0 0   100% 2 0   100%
src/jquantstats/_portfolio_attribution.py   100% 29 0 13   100% 2 0   100%
src/jquantstats/_portfolio_base.py   100% 4 0 27   100% 0 0   100%
src/jquantstats/_portfolio_constructors.py   100% 54 0 14   100% 24 0   100%
src/jquantstats/_portfolio_cost.py   100% 72 0 0   100% 26 0   100%
src/jquantstats/_portfolio_nav.py   100% 57 0 7   100% 8 0   100%
src/jquantstats/_portfolio_transform.py   100% 58 0 12   100% 16 0   100%
src/jquantstats/_portfolio_turnover.py   100% 32 0 2   100% 4 0   100%
src/jquantstats/_portfolio_units.py   100% 33 0 0   100% 2 0   100%
src/jquantstats/_protocol.py   100% 4 0 59   100% 0 0   100%
src/jquantstats/_reports/__init__.py   100% 3 0 0   100% 0 0   100%
src/jquantstats/_reports/_data.py   100% 78 0 2   100% 22 0   100%
src/jquantstats/_reports/_formatting.py   100% 16 0 0   100% 4 0   100%
src/jquantstats/_reports/_html.py   100% 70 0 0   100% 20 0   100%
src/jquantstats/_reports/_metrics.py   100% 153 0 0   100% 24 0   100%
src/jquantstats/_reports/_portfolio.py   100% 100 0 3   100% 18 0   100%
src/jquantstats/_reports/_protocol.py   100% 5 0 73   100% 0 0   100%
src/jquantstats/_stats/__init__.py   100% 2 0 0   100% 0 0   100%
src/jquantstats/_stats/_basic.py   100% 135 0 2   100% 22 0   100%
src/jquantstats/_stats/_basic_core.py   100% 159 0 5   100% 18 0   100%
src/jquantstats/_stats/_benchmark.py   100% 82 0 3   100% 12 0   100%
src/jquantstats/_stats/_capture.py   100% 25 0 7   100% 6 0   100%
src/jquantstats/_stats/_concentration.py   100% 18 0 0   100% 4 0   100%
src/jquantstats/_stats/_core.py   100% 55 0 16   100% 14 0   100%
src/jquantstats/_stats/_drawdown.py   100% 97 0 11   100% 22 0   100%
src/jquantstats/_stats/_internals.py   100% 17 0 0   100% 4 0   100%
src/jquantstats/_stats/_montecarlo.py   100% 73 0 7   100% 16 0   100%
src/jquantstats/_stats/_performance.py   100% 144 0 12   100% 38 0   100%
src/jquantstats/_stats/_periodic.py   100% 84 0 5   100% 22 0   100%
src/jquantstats/_stats/_reporting.py   100% 110 0 8   100% 30 0   100%
src/jquantstats/_stats/_rolling.py   100% 83 0 5   100% 22 0   100%
src/jquantstats/_stats/_stats.py   100% 38 0 2   100% 0 0   100%
src/jquantstats/_stats/_summary.py   100% 60 0 47   100% 12 0   100%
src/jquantstats/_truncate.py   100% 44 0 0   100% 20 0   100%
src/jquantstats/_types.py   100% 4 0 0   100% 0 0   100%
src/jquantstats/_utils/__init__.py   100% 3 0 0   100% 0 0   100%
src/jquantstats/_utils/_construction.py   100% 87 0 3   100% 36 0   100%
src/jquantstats/_utils/_data.py   100% 99 0 1   100% 16 0   100%
src/jquantstats/_utils/_portfolio.py   100% 37 0 0   100% 0 0   100%
src/jquantstats/_utils/_protocol.py   100% 3 0 17   100% 0 0   100%
src/jquantstats/data.py   100% 109 0 3   100% 22 0   100%
src/jquantstats/exceptions.py   100% 114 0 0   100% 2 0   100%
src/jquantstats/portfolio.py   100% 123 0 0   100% 30 0   100%
src/jquantstats/result.py   100% 39 0 0   100% 8 0   100%
Total   100% 3925 0 897   100% 804 0   100%

No items found using the specified filter.