This commit is contained in:
@@ -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 的关系
|
||||||
|
|||||||
@@ -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())
|
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user