docs: document unified backtest result workflow
CI / lite (pull_request) Successful in 3s

This commit is contained in:
ao gong
2026-08-21 21:11:52 +08:00
parent cdf41edf1f
commit 979166ad16
2 changed files with 19 additions and 9 deletions
+11
View File
@@ -60,6 +60,7 @@ from quant_engine.alpha_factors import alpha_001, alpha_005, ALPHA158_REGISTRY
from quant_engine.execution import ( from quant_engine.execution import (
ExecutionConfig, simulate_with_daily_data, compute_realized_pnl, ExecutionConfig, simulate_with_daily_data, compute_realized_pnl,
) )
from quant_engine.backtest import run_weight_backtest
from quant_engine.indicators import macd, bollinger, kdj from quant_engine.indicators import macd, bollinger, kdj
from quant_engine.data_adapter import ( from quant_engine.data_adapter import (
long_to_wide, wide_to_long, rename_tushare_columns, long_to_wide, wide_to_long, rename_tushare_columns,
@@ -72,6 +73,16 @@ from quant_engine.data_adapter import (
df = load_qtdb_daily(["000001.SZ"], "2024-01-01", with_adj=True) df = load_qtdb_daily(["000001.SZ"], "2024-01-01", with_adj=True)
prices, volumes = prepare_execution_inputs(df) prices, volumes = prepare_execution_inputs(df)
result = simulate_with_daily_data(prices, initial_cash=1_000_000.0) result = simulate_with_daily_data(prices, initial_cash=1_000_000.0)
# 权重回测 → 稳定结果对象 → 绩效/基准分析
backtest = run_weight_backtest(
weights=rebalance_weights,
stock_returns=daily_returns,
initial_capital=1_000_000.0,
benchmark_nav=benchmark_nav,
)
print(backtest.stats())
print(backtest.benchmark_report())
``` ```
## 与 research_results 的关系 ## 与 research_results 的关系
+8 -9
View File
@@ -13,22 +13,21 @@
```python ```python
from quant_engine.backtest import ( from quant_engine.backtest import (
compute_nav_from_weights, # 调仓表 → 净值 rebalance_periodic, # 周期性再平衡
rebalance_table, # 周期性再平衡 run_weight_backtest, # 权重 → 统一结果对象
compare_to_benchmark, # 策略 vs 基准
weights_to_long_short, # 多空组合 weights_to_long_short, # 多空组合
) )
# 1. 调仓表 → 净值 # 调仓表 → 净值、收益、绩效与基准报告
nav = compute_nav_from_weights( rebalance_table = rebalance_periodic(target_weights, rebalance_dates, returns.index)
result = run_weight_backtest(
weights=rebalance_table, # 每周/每月调仓 weights=rebalance_table, # 每周/每月调仓
stock_returns=returns, # 个股日收益 stock_returns=returns, # 个股日收益
initial_capital=1.0, initial_capital=1.0,
benchmark_nav=benchmark_nav,
) )
print(result.stats())
# 2. 跟基准比 print(result.benchmark_report())
result = compare_to_benchmark(nav, benchmark_nav)
print(result.summary())
``` ```
""" """