历史数据逻辑错误,k线周期越大,错误越严重

tb的历史数据有一个比较明显的bug,当大周期为日线时,历史数据当中每天开盘的时间即可获得当天的整根bar的高开低收价格数据,不符合数据行情运行的逻辑。

在历史回测当中,当在小周期k线如1分钟线上,跨周期调用日线的收盘或者最高价信息时,理论上应该取最新价作为收盘价,截止那一刻的盘中最高价作为最高价,但事实上历史数据直接调用未来数据读取了日线那根bar的最终信息,这非常不合理。

一个次优办法时不使用最新一根大周期的数据,但是如果有些策略要用到日线甚至周线数据的话,就要放弃最新一根k线当天的价格信息,岂不是很低效,不知道各位对这个问题怎么看待?

潜在的逻辑错误
历史数据错误
TBQuant整体变量逻辑错误
求斜率公式提示“潜在逻辑错误”
if,else中包含序列函数,可能存在潜在的逻辑错误
程序在最新6根k线计算错误
求教老师帮忙看看策略编写出现严重错误
FOR\WHILE\ELSE\IF包含序列函数,可能存在潜在逻辑错误?
tbquant3历史数据读取小周期颗粒度的未来数据问题
数据写入错误

建议你用tbquant3

这个问题就是跨周期调用数据的时候容易发生未来数据的问题。

现在tbquant3已经优化了,小周期调用大周期数据已经不会获得超出小周期时间范围的数据了

感谢回复告知,我去看看

tbquant3确实有所改进,大周期数据已经不会获得超出小周期时间范围的数据,但仍不尽完善,仍然会读取小周期的未来数据,如果能模拟实盘的运行情况,按照最新价作为收盘价,按照当前小周期k线之前的数据记录最值,那才符合逻辑,那就更好了。

那如果按tick去setbaseperiod还会有未来数据么?