快速开始
bagelquant-bt 评估研究输出。它不负责读取数据,也不负责生成因子信号。输入必须是数值型 pandas DataFrame。
安装
uv add bagelquant-bt
权重回测
当 signal frame 已经是组合权重时,使用 kind="weights"。行是日期,列是资产,值是目标权重。
from bagelquant_bt import BacktestConfig, run_backtest
result = run_backtest(
weights,
prices,
kind="weights",
config=BacktestConfig(initial_capital=1_000_000),
)
result.summary
result.net_cumulative_returns
因子评估
当第一个 frame 是截面因子分数时,使用 kind="factor"。包会计算 forward returns、IC、分位数组合收益和 top-N 回测。
from bagelquant_bt import BacktestConfig, run_backtest
result = run_backtest(
factor_scores,
prices,
kind="factor",
config=BacktestConfig(
initial_capital=1_000_000,
quantiles=5,
top_n=50,
),
)
result.ic_mean
result.top_minus_bottom
交易成本
from bagelquant_bt import BacktestConfig, TransactionCostConfig
config = BacktestConfig(
initial_capital=1_000_000,
transaction_cost=TransactionCostConfig(rate=0.00015, min_fee=5.0),
)
最小费用需要 initial_capital,因为引擎需要把权重换手转换为交易名义金额。