问答交流

刚用这个平台,问一个关于回测的问题

由stewiegriffen创建,最终由stewiegriffen 被浏览 18 用户

问题

比如在模型训练的时候,预测未来五日的收益率是用到当日的收盘价的,比如close_0。

那么在回测的时候取预测值用的是currentdate这个函数来,也就是取当天的预测值,但当日的收盘价还没有出来,怎么获得当日的预测值呢?还是实际上是获得前一日的预测值?

解答

日频回测里,主函数或者是handle_data函数,每根bar所处的时间点都是当前bar的收盘时间;模型里也是根据每天的价格进行预测的。至少在你描述的这里是不存在未来函数的情况

标签

模型训练
评论
  • 因为模型在用训练集数据拟合完成之后,会把把预测集的数据全部做一个预测,而回测也只是回测测试期间的数据,所以主函数可以直接取当天的预测结果
  • 那这会不会实际上就用到未来数据了,因为预测集本质上也是过去的历史,所以可以拿到当日的预测结果,但实盘中是不可能有当日结果的
  • 实盘的话,应该把预测写到before trading那个开盘前执行的函数里面,也就是今天开盘前,用昨天的数据预测今天的结果,根据结果信号来做交易,没有用到未来数据的
  • 日频回测里,主函数或者是handle_data函数,每根bar所处的时间点都是当前bar的收盘时间;模型里也是根据每天的价格进行预测的。至少在你描述的这里是不存在未来函数的情况
{link}