qlib icon indicating copy to clipboard operation
qlib copied to clipboard

账户初始资金cash及最小成本min_cost面值与购买力存在差异

Open zhaochaofeng opened this issue 3 months ago • 2 comments

qlib提供的雅虎财经数据,是经过首日收盘价缩放(股票上市第一天收盘价调整为1)的后复权数据。 在回测过程中,使用后复权价进行买卖,会导致账户初始资金cash及最小成本min_cost面值与购买力不一致的问题。

举例: 假设账户初始资金cash = 100000, 股票stock_1的真实收盘价为10,复权之后为100。 如果按照真实收盘价,可以购买10000股,而按照复权价只能购买到1000股。虽然在回测交易过程中,现金和股价都是用后复权价格进行交易,不会存在这个问题,但是账户初始现金没有经过复权因子处理,其面值和购买力显然存在偏差。

另外,最小交易成本min_cost是一个固定值,也会存在类似问题。如代码 trade_cost = max(trade_val * cost_ratio, self.min_cost)

zhaochaofeng avatar Sep 06 '25 07:09 zhaochaofeng

为什么在回测过程中不使用原始价格(未复权)进行交易呢 ?

zhaochaofeng avatar Sep 08 '25 03:09 zhaochaofeng

有同样的问题,为什么backtest不使用真实的收盘价格进行回测呢?

flexme avatar Sep 12 '25 08:09 flexme