概念

职责边界

bagelquant-bt 只负责用日频价格评估研究输出。

它不导入 bagelquant-corebagelquant-data

因此,只要工作流能产出日期乘资产的 DataFrame,就可以使用这个回测包。

DataFrame 形状

价格、权重和因子分数都使用同一种形状:

index:   日频日期
columns: 资产
values:  数值型价格、权重或因子分数

价格会被解释为收盘价。权重回测中,输入值是组合权重,可以为负。因子评估中,输入值是截面分数,分数越高表示越好。

时间约定

包内采用无前视约定:

t 日的权重或因子 -> 获得 t 到 t+1 的收盘到收盘收益

因此最后一个价格日期没有可实现的前向收益,会从收益计算中删除。

对齐

bagelquant-bt 会按日期和资产交集对齐价格与信号值。

它会拒绝重复日期、重复资产、非数值输入、空日期交集、空资产交集,以及非 DataFrame 的信号输入。