VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 60
声望: 2

加入我有一个日级别的策略,我的持仓计划是:

description

我希望的策略操作是,收盘前20分钟计算出这些手数,并在收盘前20分钟,以市价单进行快速的买入并且执行。核心是:在收盘时完成这些操作,要让这些订单过夜。

但实际在回测中,由于我使用的是日级别的数据,我发现在portfolio_backtesting模块,我的实际持仓是:

description

在vnpy回测中,在计算出因子之后,不会在当天换仓,而是会将需要换仓的订单保存在一个self.active_limit_orders的变量中,并且在下一个bar到来之后,用corss_limit_order计算是否能成交,如果能成交,则形成trade。
也就是说,我希望的,上一天应该交易的trade——在回测中实际上是下一天交易的!由于交易的时间点不一样,有的订单会从能成交变成不能成交。不过有一点欣慰的地方在于,如果能成交的话,实际上产生的收益还是我想象中一样的。

我应该如何修改vnpy的回测方式,才能让它想我想象中那样回测呢?我是不是不该用日数据回测呢?谢谢各位了!

Member
avatar
加入于:
帖子: 4618
声望: 284

因为日线是今天走完才算完成,如果你需要收盘前20分钟开始交易,那么可以直接基于分钟线交易或者根据自己的需求合成到收盘前20分钟结束的日线试试看

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】