Reporting API Reference¶
The reporting package handles visualization and data export.
Overview¶
The reporting package contains:
- Visualization - Chart generation and plotting
Visualization¶
portfolio_management.reporting.visualization
¶
Visualization data preparation utilities for reporting.
This module provides functions to prepare backtest results for charting libraries like Matplotlib, Plotly, or web dashboards.
prepare_allocation_history(rebalance_events)
¶
Prepare allocation history for stacked area chart.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rebalance_events
|
list[RebalanceEvent]
|
List of rebalance events from backtest. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with dates and allocation percentages per asset. |
Source code in src/portfolio_management/reporting/visualization/allocations.py
prepare_metrics_comparison(metrics_list)
¶
Prepare performance metrics comparison table.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
metrics_list
|
list[tuple[str, PerformanceMetrics]]
|
List of tuples (strategy_name, metrics). |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with strategies as rows and metrics as columns. |
Source code in src/portfolio_management/reporting/visualization/comparison.py
prepare_transaction_costs_summary(rebalance_events)
¶
Summarize transaction costs over time.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rebalance_events
|
list[RebalanceEvent]
|
List of rebalance events from backtest. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with cumulative costs and cost breakdown. |
Source code in src/portfolio_management/reporting/visualization/costs.py
prepare_returns_distribution(equity_df)
¶
Prepare returns distribution data for histogram plotting.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
equity_df
|
DataFrame
|
DataFrame with equity values. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with returns and distribution statistics. |
Source code in src/portfolio_management/reporting/visualization/distributions.py
prepare_drawdown_series(equity_df)
¶
Calculate drawdown series for plotting.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
equity_df
|
DataFrame
|
DataFrame with equity values. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with drawdown percentages and underwater periods. |
Source code in src/portfolio_management/reporting/visualization/drawdowns.py
prepare_equity_curve(equity_df)
¶
Prepare equity curve data for plotting.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
equity_df
|
DataFrame
|
DataFrame with equity values (from BacktestEngine.run). |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with date index and normalized equity column. |
Source code in src/portfolio_management/reporting/visualization/equity_curves.py
prepare_monthly_returns_heatmap(equity_df)
¶
Prepare monthly returns data for heatmap visualization.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
equity_df
|
DataFrame
|
DataFrame with equity values. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with years as index and months as columns. |
Source code in src/portfolio_management/reporting/visualization/heatmaps.py
prepare_rolling_metrics(equity_df, window=60)
¶
Calculate rolling performance metrics.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
equity_df
|
DataFrame
|
DataFrame with equity values. |
required |
window
|
int
|
Rolling window size in days (default: 60). |
60
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with rolling Sharpe, volatility, and return. |
Source code in src/portfolio_management/reporting/visualization/metrics.py
create_summary_report(equity_df, metrics, rebalance_events)
¶
Create a comprehensive summary report dictionary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
equity_df
|
DataFrame
|
DataFrame with equity values. |
required |
metrics
|
PerformanceMetrics
|
Performance metrics from backtest. |
required |
rebalance_events
|
list[RebalanceEvent]
|
List of rebalance events. |
required |
Returns:
| Type | Description |
|---|---|
dict[str, object]
|
Dictionary with all key statistics and data for reporting. |
Source code in src/portfolio_management/reporting/visualization/summary.py
prepare_trade_analysis(rebalance_events)
¶
Analyze individual trades from rebalance events.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rebalance_events
|
list[RebalanceEvent]
|
List of rebalance events from backtest. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with trade-level details. |
Source code in src/portfolio_management/reporting/visualization/trade_analysis.py
options: show_root_heading: true show_source: true members_order: source group_by_category: true filters: - "!^_"