公开 API
稳定 API 从 bagelquant_bt 导出。
入口函数
from bagelquant_bt import run_backtest, run_factor_evaluation, run_weight_backtest
run_backtest(signal, prices, *, kind, config=None):根据kind分发。run_weight_backtest(weights, prices, *, config):评估组合权重。run_factor_evaluation(factor, prices, *, config):评估因子分数。
配置
from bagelquant_bt import BacktestConfig, TransactionCostConfig
config = BacktestConfig(
initial_capital=1_000_000,
transaction_cost=TransactionCostConfig(rate=0.00015, min_fee=5.0),
annualization=252,
ic_method="spearman",
quantiles=5,
top_n=50,
)
initial_capital必须为正。ic_method可以是"spearman"或"pearson"。quantiles控制因子分桶数量。top_n控制 top-N 因子组合。
结果对象
BacktestResult 暴露:
weightsasset_returnsgross_returnsnet_returnsgross_cumulative_returnsnet_cumulative_returnsgross_valuenet_valueturnovertransaction_costssummary
FactorEvaluationResult 暴露:
factorforward_returnsicic_meanic_stdicirquantile_returnsquantile_cumulative_returnstop_minus_bottomtop_n_weightstop_n_backtest
异常
BagelQuantBacktestError:包级基础异常。BacktestConfigError:配置无效。InputValidationError:输入 frame 无效或不兼容。