Coverage report: 99%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-02 04:08 +0000

File function   statements missing excluded   coverage
src / jquantstats / __init__.py (no function)   8 0 0   100%
src / jquantstats / _cost_model.py CostModel.__post_init__   6 0 0   100%
src / jquantstats / _cost_model.py CostModel.per_unit   1 0 0   100%
src / jquantstats / _cost_model.py CostModel.turnover_bps   1 0 0   100%
src / jquantstats / _cost_model.py CostModel.zero   1 0 0   100%
src / jquantstats / _cost_model.py (no function)   13 0 0   100%
src / jquantstats / _plots / __init__.py (no function)   3 0 0   100%
src / jquantstats / _plots / _data.py _hex_to_rgba   3 0 0   100%
src / jquantstats / _plots / _data.py _ticker_colors   2 0 0   100%
src / jquantstats / _plots / _data.py _date_range_selector   1 0 0   100%
src / jquantstats / _plots / _data.py _apply_base_layout   7 0 0   100%
src / jquantstats / _plots / _data.py _compute_drawdown_periods   21 0 0   100%
src / jquantstats / _plots / _data.py _plot_performance_dashboard   34 0 0   100%
src / jquantstats / _plots / _data.py _plot_performance_dashboard.hex_to_rgba   3 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.__repr__   1 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.snapshot   2 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.returns   13 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.log_returns   12 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.daily_returns   17 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.yearly_returns   15 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.monthly_returns   18 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.monthly_heatmap   20 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.histogram   13 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.distribution   19 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.drawdown   15 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.drawdowns_periods   20 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.earnings   13 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.rolling_sharpe   14 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.rolling_sortino   19 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.rolling_volatility   13 0 0   100%
src / jquantstats / _plots / _data.py DataPlots.rolling_beta   26 0 0   100%
src / jquantstats / _plots / _data.py (no function)   33 0 2   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.lead_lag_ir_plot   18 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.snapshot   20 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots._apply_nav_layout   8 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.lagged_performance_plot   11 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.rolling_sharpe_plot   15 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.rolling_volatility_plot   14 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.annual_sharpe_plot   12 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.correlation_heatmap   6 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.monthly_returns_heatmap   22 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.smoothed_holdings_performance_plot   11 0 0   100%
src / jquantstats / _plots / _portfolio.py PortfolioPlots.trading_cost_impact_plot   12 0 0   100%
src / jquantstats / _plots / _portfolio.py (no function)   24 0 2   100%
src / jquantstats / _plots / _protocol.py DataLike.all   0 0 2   100%
src / jquantstats / _plots / _protocol.py DataLike.assets   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.nav_accumulated   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.tilt   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.timing   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.net_cost_nav   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.drawdown   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.assets   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.monthly   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.profits   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.stats   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.lag   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.smoothed_holding   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.trading_cost_impact   0 0 2   100%
src / jquantstats / _plots / _protocol.py PortfolioLike.correlation   0 0 2   100%
src / jquantstats / _plots / _protocol.py (no function)   4 0 59   100%
src / jquantstats / _portfolio_attribution.py PortfolioAttributionMixin.from_cash_position   0 0 2   100%
src / jquantstats / _portfolio_attribution.py PortfolioAttributionMixin.tilt   8 0 0   100%
src / jquantstats / _portfolio_attribution.py PortfolioAttributionMixin.timing   3 0 0   100%
src / jquantstats / _portfolio_attribution.py PortfolioAttributionMixin.tilt_timing_decomp   11 0 0   100%
src / jquantstats / _portfolio_attribution.py (no function)   11 0 20   100%
src / jquantstats / _portfolio_cost.py PortfolioCostMixin.position_delta_costs   8 0 0   100%
src / jquantstats / _portfolio_cost.py PortfolioCostMixin.net_cost_nav   6 0 0   100%
src / jquantstats / _portfolio_cost.py PortfolioCostMixin.cost_adjusted_returns   6 0 0   100%
src / jquantstats / _portfolio_cost.py PortfolioCostMixin.trading_cost_impact   19 0 0   100%
src / jquantstats / _portfolio_cost.py (no function)   10 0 11   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin._assert_clean_series   0 0 2   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.profits   10 0 0   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.profit   9 0 0   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.nav_accumulated   1 0 0   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.returns   7 0 0   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.monthly   5 0 0   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.nav_compounded   1 0 0   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.highwater   1 0 0   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.drawdown   1 0 0   100%
src / jquantstats / _portfolio_nav.py PortfolioNavMixin.all   6 0 0   100%
src / jquantstats / _portfolio_nav.py (no function)   24 0 8   100%
src / jquantstats / _portfolio_turnover.py PortfolioTurnoverMixin.turnover   13 0 0   100%
src / jquantstats / _portfolio_turnover.py PortfolioTurnoverMixin.turnover_weekly   4 0 0   100%
src / jquantstats / _portfolio_turnover.py PortfolioTurnoverMixin.turnover_summary   9 0 0   100%
src / jquantstats / _portfolio_turnover.py (no function)   10 0 4   100%
src / jquantstats / _reports / __init__.py (no function)   3 0 0   100%
src / jquantstats / _reports / _data.py _is_finite   3 0 0   100%
src / jquantstats / _reports / _data.py _fmt   3 0 0   100%
src / jquantstats / _reports / _data.py _safe   4 0 0   100%
src / jquantstats / _reports / _data.py _pct   1 0 0   100%
src / jquantstats / _reports / _data.py _comp_since   6 0 0   100%
src / jquantstats / _reports / _data.py _cagr_since   12 0 0   100%
src / jquantstats / _reports / _data.py _cutoff_months   11 0 0   100%
src / jquantstats / _reports / _data.py _add_overview_rows   3 0 0   100%
src / jquantstats / _reports / _data.py _add_risk_adjusted_rows   5 0 0   100%
src / jquantstats / _reports / _data.py _add_drawdown_rows   6 0 0   100%
src / jquantstats / _reports / _data.py _add_trading_rows   9 0 0   100%
src / jquantstats / _reports / _data.py _add_recent_returns_rows   11 0 0   100%
src / jquantstats / _reports / _data.py _add_full_mode_rows   54 0 0   100%
src / jquantstats / _reports / _data.py _build_metrics_df   8 0 0   100%
src / jquantstats / _reports / _data.py _metrics_table_html   28 0 0   100%
src / jquantstats / _reports / _data.py _drawdowns_section_html   17 0 0   100%
src / jquantstats / _reports / _data.py _try_plotly_div   5 0 0   100%
src / jquantstats / _reports / _data.py _build_full_html   3 0 0   100%
src / jquantstats / _reports / _data.py Reports.metrics   21 0 0   100%
src / jquantstats / _reports / _data.py Reports.full   26 0 0   100%
src / jquantstats / _reports / _data.py (no function)   32 0 2   100%
src / jquantstats / _reports / _portfolio.py _is_finite   3 0 0   100%
src / jquantstats / _reports / _portfolio.py _fmt   3 0 0   100%
src / jquantstats / _reports / _portfolio.py _stats_table_html   24 0 0   100%
src / jquantstats / _reports / _portfolio.py _figure_div   1 0 0   100%
src / jquantstats / _reports / _portfolio.py Report.to_html   33 0 0   100%
src / jquantstats / _reports / _portfolio.py Report.to_html._div   3 0 0   100%
src / jquantstats / _reports / _portfolio.py Report.to_html._try_div   5 0 0   100%
src / jquantstats / _reports / _portfolio.py Report.save   6 0 0   100%
src / jquantstats / _reports / _portfolio.py (no function)   25 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.sharpe   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.smart_sharpe   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.sortino   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.adjusted_sortino   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.smart_sortino   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.omega   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.probabilistic_sharpe_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.cagr   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.comp   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.exposure   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.max_drawdown   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.avg_drawdown   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.max_drawdown_duration   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.recovery_factor   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.ulcer_index   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.serenity_index   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.ulcer_performance_index   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.calmar   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.rar   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.risk_return_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.gain_to_pain_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.payoff_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.profit_factor   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.profit_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.common_sense_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.cpc_index   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.tail_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.outlier_win_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.outlier_loss_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.volatility   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.value_at_risk   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.conditional_value_at_risk   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.win_loss_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.win_rate   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.monthly_win_rate   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.avg_return   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.avg_win   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.avg_loss   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.best   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.worst   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.skew   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.kurtosis   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.consecutive_wins   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.consecutive_losses   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.kelly_criterion   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.risk_of_ruin   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.expected_return   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.greeks   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.r2   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.treynor_ratio   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.drawdown_details   0 0 2   100%
src / jquantstats / _reports / _protocol.py StatsLike.summary   0 0 2   100%
src / jquantstats / _reports / _protocol.py DataLike.stats   0 0 2   100%
src / jquantstats / _reports / _protocol.py DataLike.all   0 0 2   100%
src / jquantstats / _reports / _protocol.py PlotsLike.snapshot   0 0 2   100%
src / jquantstats / _reports / _protocol.py PlotsLike.rolling_sharpe_plot   0 0 2   100%
src / jquantstats / _reports / _protocol.py PlotsLike.rolling_volatility_plot   0 0 2   100%
src / jquantstats / _reports / _protocol.py PlotsLike.annual_sharpe_plot   0 0 2   100%
src / jquantstats / _reports / _protocol.py PlotsLike.monthly_returns_heatmap   0 0 2   100%
src / jquantstats / _reports / _protocol.py PlotsLike.correlation_heatmap   0 0 2   100%
src / jquantstats / _reports / _protocol.py PlotsLike.lead_lag_ir_plot   0 0 2   100%
src / jquantstats / _reports / _protocol.py PlotsLike.trading_cost_impact_plot   0 0 2   100%
src / jquantstats / _reports / _protocol.py PortfolioLike.assets   0 0 2   100%
src / jquantstats / _reports / _protocol.py PortfolioLike.plots   0 0 2   100%
src / jquantstats / _reports / _protocol.py PortfolioLike.stats   0 0 2   100%
src / jquantstats / _reports / _protocol.py PortfolioLike.turnover_summary   0 0 2   100%
src / jquantstats / _reports / _protocol.py (no function)   4 0 160   100%
src / jquantstats / _stats / __init__.py (no function)   2 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin._mean_positive_expr   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin._mean_negative_expr   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.skew   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.kurtosis   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.avg_return   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.avg_win   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.avg_loss   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.comp   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.geometric_mean   9 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.volatility   6 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.payoff_ratio   3 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.win_loss_ratio   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.profit_ratio   10 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.profit_factor   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.value_at_risk   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin._conditional_value_at_risk_impl   7 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.conditional_value_at_risk   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin._drawdown_with_baseline   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin._ulcer_index_series   3 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.ulcer_index   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.ulcer_performance_index   3 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.serenity_index   13 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.win_rate   3 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.autocorr_penalty   6 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin._max_consecutive   4 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.consecutive_wins   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.consecutive_losses   1 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.risk_of_ruin   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.tail_ratio   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.cpc_index   4 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.common_sense_ratio   3 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.outliers   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.remove_outliers   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.outlier_win_ratio   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.outlier_loss_ratio   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.gain_to_pain_ratio   6 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.risk_return_ratio   3 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.kelly_criterion   3 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.best   2 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.worst   2 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.exposure   3 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin._pearson_corr_shifted   5 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.autocorr   7 0 0   100%
src / jquantstats / _stats / _basic.py _BasicStatsMixin.acf   13 0 0   100%
src / jquantstats / _stats / _basic.py (no function)   90 0 4   100%
src / jquantstats / _stats / _core.py _drawdown_series   4 0 0   100%
src / jquantstats / _stats / _core.py _to_float   5 0 0   100%
src / jquantstats / _stats / _core.py columnwise_stat   3 0 0   100%
src / jquantstats / _stats / _core.py columnwise_stat.wrapper   1 0 0   100%
src / jquantstats / _stats / _core.py to_frame   3 0 0   100%
src / jquantstats / _stats / _core.py to_frame.wrapper   1 0 0   100%
src / jquantstats / _stats / _core.py (no function)   10 0 0   100%
src / jquantstats / _stats / _internals.py _comp_return   1 0 0   100%
src / jquantstats / _stats / _internals.py _nav_series   1 0 0   100%
src / jquantstats / _stats / _internals.py _annualization_factor   3 0 0   100%
src / jquantstats / _stats / _internals.py _downside_deviation   5 0 0   100%
src / jquantstats / _stats / _internals.py (no function)   7 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.autocorr_penalty   0 0 1   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.geometric_mean   0 0 1   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.sharpe   11 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.sharpe_variance   14 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.probabilistic_sharpe_ratio   14 0 1   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.hhi_positive   5 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.hhi_negative   5 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.sortino   10 0 2   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.omega   13 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.compsum   1 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.ghpr   1 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.drawdown   3 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.prices   1 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.max_drawdown_single_series   5 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.max_drawdown   1 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.drawdown_details   26 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin._probabilistic_ratio_from_base   9 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.probabilistic_sortino_ratio   7 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.probabilistic_adjusted_sortino_ratio   7 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.probabilistic_ratio   15 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.probabilistic_ratio._sharpe_base   5 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.probabilistic_ratio._sortino_base   5 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.smart_sharpe   3 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.smart_sortino   3 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.adjusted_sortino   2 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.r_squared   12 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.r2   1 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.information_ratio   13 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.greeks   15 0 0   100%
src / jquantstats / _stats / _performance.py _PerformanceStatsMixin.treynor_ratio   24 0 1   100%
src / jquantstats / _stats / _performance.py (no function)   54 0 6   100%
src / jquantstats / _stats / _protocol.py DataLike.date_col   0 0 2   100%
src / jquantstats / _stats / _protocol.py DataLike.assets   0 0 2   100%
src / jquantstats / _stats / _protocol.py DataLike.all   0 0 2   100%
src / jquantstats / _stats / _protocol.py DataLike._periods_per_year   0 0 2   100%
src / jquantstats / _stats / _protocol.py DataLike.items   0 0 2   100%
src / jquantstats / _stats / _protocol.py (no function)   4 0 25   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.avg_return   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.avg_win   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.avg_loss   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.win_rate   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.profit_factor   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.payoff_ratio   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.best   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.worst   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.volatility   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.sharpe   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.skew   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.kurtosis   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.value_at_risk   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.conditional_value_at_risk   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.max_drawdown   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.cagr   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.exposure   0 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.periods_per_year   1 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.avg_drawdown   5 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.cagr   7 0 1   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.expected_return   18 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.expected_return._geomean   4 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.rar   3 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.calmar   8 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.recovery_factor   5 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.max_drawdown_duration   21 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.monthly_win_rate   14 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.monthly_returns   20 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.distribution   10 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.distribution._agg   2 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.distribution._iqr_split   5 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.compare   26 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.compare._agg_series   2 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.worst_n_periods   8 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.up_capture   13 0 2   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.down_capture   13 0 2   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.annual_breakdown   44 0 2   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.summary   5 0 0   100%
src / jquantstats / _stats / _reporting.py _ReportingStatsMixin.summary._safe   4 0 0   100%
src / jquantstats / _stats / _reporting.py (no function)   28 0 21   100%
src / jquantstats / _stats / _rolling.py _RollingStatsMixin.implied_volatility   4 0 0   100%
src / jquantstats / _stats / _rolling.py _RollingStatsMixin._pct_rank_series   6 0 0   100%
src / jquantstats / _stats / _rolling.py _RollingStatsMixin.pct_rank   8 0 0   100%
src / jquantstats / _stats / _rolling.py _RollingStatsMixin.rolling_sortino   5 0 0   100%
src / jquantstats / _stats / _rolling.py _RollingStatsMixin.rolling_sharpe   6 0 0   100%
src / jquantstats / _stats / _rolling.py _RollingStatsMixin.rolling_greeks   20 0 0   100%
src / jquantstats / _stats / _rolling.py _RollingStatsMixin.rolling_volatility   8 0 0   100%
src / jquantstats / _stats / _rolling.py (no function)   18 0 4   100%
src / jquantstats / _stats / _stats.py Stats.__post_init__   1 0 0   100%
src / jquantstats / _stats / _stats.py Stats.__repr__   1 0 0   100%
src / jquantstats / _stats / _stats.py (no function)   17 0 2   100%
src / jquantstats / _types.py (no function)   4 0 0   100%
src / jquantstats / _utils / __init__.py (no function)   3 0 0   100%
src / jquantstats / _utils / _data.py DataUtils.__repr__   1 0 0   100%
src / jquantstats / _utils / _data.py DataUtils._combined   1 0 0   100%
src / jquantstats / _utils / _data.py DataUtils._asset_cols   1 0 0   100%
src / jquantstats / _utils / _data.py DataUtils._require_temporal_index   6 0 1   100%
src / jquantstats / _utils / _data.py DataUtils.to_prices   2 0 0   100%
src / jquantstats / _utils / _data.py DataUtils.to_log_returns   2 0 0   100%
src / jquantstats / _utils / _data.py DataUtils.log_returns   1 0 0   100%
src / jquantstats / _utils / _data.py DataUtils.rebase   3 0 0   100%
src / jquantstats / _utils / _data.py DataUtils.group_returns   7 0 0   100%
src / jquantstats / _utils / _data.py DataUtils.aggregate_returns   1 0 0   100%
src / jquantstats / _utils / _data.py DataUtils.to_excess_returns   3 0 0   100%
src / jquantstats / _utils / _data.py DataUtils.exponential_stdev   5 0 0   100%
src / jquantstats / _utils / _data.py (no function)   23 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.__repr__   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils._du   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.to_prices   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.to_log_returns   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.log_returns   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.rebase   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.group_returns   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.aggregate_returns   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.to_excess_returns   1 0 0   100%
src / jquantstats / _utils / _portfolio.py PortfolioUtils.exponential_stdev   1 0 0   100%
src / jquantstats / _utils / _portfolio.py (no function)   19 0 0   100%
src / jquantstats / _utils / _protocol.py DataLike.date_col   0 0 2   100%
src / jquantstats / _utils / _protocol.py PortfolioLike.data   0 0 2   100%
src / jquantstats / _utils / _protocol.py PortfolioLike.assets   0 0 2   100%
src / jquantstats / _utils / _protocol.py (no function)   3 0 26   100%
src / jquantstats / data.py _to_polars   3 0 0   100%
src / jquantstats / data.py _apply_null_strategy   12 0 0   100%
src / jquantstats / data.py _subtract_risk_free   9 1 0   89%
src / jquantstats / data.py Data.__post_init__   9 0 0   100%
src / jquantstats / data.py Data.from_returns   18 0 0   100%
src / jquantstats / data.py Data.from_prices   9 0 0   100%
src / jquantstats / data.py Data.__repr__   7 0 1   100%
src / jquantstats / data.py Data.plots   2 0 0   100%
src / jquantstats / data.py Data.stats   2 0 0   100%
src / jquantstats / data.py Data.reports   2 0 0   100%
src / jquantstats / data.py Data.utils   2 0 0   100%
src / jquantstats / data.py Data.date_col   1 0 0   100%
src / jquantstats / data.py Data.assets   3 0 0   100%
src / jquantstats / data.py Data.all   3 0 0   100%
src / jquantstats / data.py Data.resample   5 0 0   100%
src / jquantstats / data.py Data.resample.resample_frame   2 0 0   100%
src / jquantstats / data.py Data.describe   5 0 0   100%
src / jquantstats / data.py Data.copy   3 0 0   100%
src / jquantstats / data.py Data.head   2 0 0   100%
src / jquantstats / data.py Data.tail   2 0 0   100%
src / jquantstats / data.py Data.truncate   23 0 0   100%
src / jquantstats / data.py Data._periods_per_year   9 0 2   100%
src / jquantstats / data.py Data.items   3 0 0   100%
src / jquantstats / data.py (no function)   47 0 5   100%
src / jquantstats / exceptions.py MissingDateColumnError.__init__   2 0 0   100%
src / jquantstats / exceptions.py InvalidCashPositionTypeError.__init__   2 0 0   100%
src / jquantstats / exceptions.py InvalidPricesTypeError.__init__   2 0 0   100%
src / jquantstats / exceptions.py NonPositiveAumError.__init__   2 0 0   100%
src / jquantstats / exceptions.py RowCountMismatchError.__init__   3 0 0   100%
src / jquantstats / exceptions.py IntegerIndexBoundError.__init__   3 0 0   100%
src / jquantstats / exceptions.py NullsInReturnsError.__init__   4 0 0   100%
src / jquantstats / exceptions.py (no function)   16 0 0   100%
src / jquantstats / portfolio.py Portfolio._build_data_bridge   5 0 0   100%
src / jquantstats / portfolio.py Portfolio.__post_init__   17 0 0   100%
src / jquantstats / portfolio.py Portfolio._date_range   5 0 0   100%
src / jquantstats / portfolio.py Portfolio.cost_model   1 0 0   100%
src / jquantstats / portfolio.py Portfolio.__repr__   4 0 0   100%
src / jquantstats / portfolio.py Portfolio.describe   2 0 0   100%
src / jquantstats / portfolio.py Portfolio.from_risk_position   19 0 0   100%
src / jquantstats / portfolio.py Portfolio.from_risk_position._span   3 0 0   100%
src / jquantstats / portfolio.py Portfolio.from_risk_position._vol   4 0 0   100%
src / jquantstats / portfolio.py Portfolio.from_position   3 0 0   100%
src / jquantstats / portfolio.py Portfolio.from_cash_position   4 0 0   100%
src / jquantstats / portfolio.py Portfolio._assert_clean_series   4 0 0   100%
src / jquantstats / portfolio.py Portfolio.assets   1 0 0   100%
src / jquantstats / portfolio.py Portfolio.data   5 0 0   100%
src / jquantstats / portfolio.py Portfolio.stats   3 0 0   100%
src / jquantstats / portfolio.py Portfolio.plots   3 0 0   100%
src / jquantstats / portfolio.py Portfolio.report   3 0 0   100%
src / jquantstats / portfolio.py Portfolio.utils   4 0 0   100%
src / jquantstats / portfolio.py Portfolio.truncate   19 0 0   100%
src / jquantstats / portfolio.py Portfolio.lag   7 0 0   100%
src / jquantstats / portfolio.py Portfolio.smoothed_holding   10 0 0   100%
src / jquantstats / portfolio.py Portfolio.correlation   4 0 0   100%
src / jquantstats / portfolio.py (no function)   61 0 4   100%
Total     2589 1 583   99%

No items found using the specified filter.