仔细分析了下数据,都是没问题,只是对于盘中休息的时间处理方式不同,通达信采用的是按照数据时间取K线,TQSDK应该是忽略了休息时间,按照正常时间取得数据的。
我查了一下30分钟收盘价白糖主力今天上午收盘数据, TQSDK 数据5117,5129,5132,5137,5115。 通达信对应是5117,5129,5146,5123,5115 好像天勤数据有误??
说的有道理,快期这种小成本起步的还是侧重SDK开发比较好。否则开发维护资源跟不上。
直接终端界面输入运行pip install --upgrade tqsdk即可升级。
试了一下用主力连续不能实现回测,请指教。如果不能实现,如何回测得到合约连续超过1年以上的时间的回测结果?
TQSDK里边的 close的使用都涉及到这个问题,close.iloc[-1]我试了很多次都不是真正的信号收盘价,而是信号出现后的第一各最小时间单位K线的收盘价。这个一直是存在的误差。
升级一下你的TQSDK版本到1.8,可以解决
1.63的版本存在上边的问题,升级到1.8后,这个问题好像解决了,开仓价是用的距离开盘最小K线单位时间间隔的收盘价,如果小于1分钟就是用设定的K线时间,如果大于1分钟使用的是开盘后59秒的价格,不是使用的开盘价,不过这个样比1.63准确度是提高了不少,基本可以使用了。
天勤回测时经常出现在开盘时信号本应在开盘的第一个周期结束的收盘价后出现信号,但是回测时却显示出现在前一天收盘,而真实情况是前一天收盘时是没有信号发生的。很多使用crossup,crossdown产生信号的变成都无法得到准确回测结果。如果是收盘时没产生信号,而在开盘时产生的信号,那么开仓价格应该时开盘价格。而实际上回测给的时昨天收盘价开仓。但是明显是开盘前,前一天收盘时时没产生信号的。
回测经常运行一段后中断 Process finished with exit code -1073740940 (0xC0000374)
天勤提问 [dwqa-submit-question-form category="tianqin"]