问答交流

【平台使用】解决回测模块的 volume_limit=0 问题

由mi10创建,最终由small_q 被浏览 4 用户

能不能让回测模块的volume_limit=0真正生效啊,要提升训练集的拟合程度,训练集收益率超过某个阈值就会随机的卖不完,只能分批卖,只能修改初始金额,现在都已经修改成1000元了,没法再降低了啊。能不能不要管持仓的数量和金额多少,说卖出清空就卖出清空啊。python的64位最大整数是2的64次方,浮点最大能到10的308次方,我不明白为什么持仓数量和金额一大就不稳定了,而且是有的股票是一次卖出的,有的就要两三天才能卖完,程序员自己可以把初始金额改10亿以上试试单股一次全部卖出试试,多试几个股,我试出的问题主要就在order_target(instrument, 0),持仓大了,他就卖不完,代码多次强制卖也不行,order_target函数里面有啥限制了,有bug就改改啊

\

评论
  • 你是 什么级别的策略?
  • 如果方便可以分享下代码。
  • 日频策略,volumelimit=0 就是完成成交,不考虑实际的量。tick和分钟 为了真实性 所以需要考虑当下的成交量。
  • 建议描述再具体点,我们先复现,复现了 就看看如何优化
  • 问了下工程师:
  • 现在是 volume==0的时候,就用 volume*10000 去成交。
  • 这个逻辑可以改, *10000 倍可能也不够用,因为下次回测的时候,初始资金设置 100W亿来回测,那回测时 volume 的量肯定满足不了您的订单的量
  • 就正常的日频策略,比如评测训练集回测可以做到100亿%以上的收益率,还要调参做到更高,那么初始资金1000,总资金都会超过千亿,主要是训练时间段评估拟合程度,能不能主要是清空就全部卖掉,资金量成交量不考虑,
  • 问题就在这里,volumelimit=0是不限制成交率,这里用了volume X
{link}