以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  高级功能研发区  (http://222.73.7.161/bbs/list.asp?boardid=5)
----  关于before_trading函数的问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=180609)

--  作者:CHF
--  发布时间:2020/6/16 9:48:07
--  关于before_trading函数的问题

before_trading在实盘中是开盘前运行的,所有在这个函数下的数据应该是取到前一天为止的,但在回测过程中发现能取到当天数据,这样就用到了未来数据,回测和实盘的数据不一致。

测试代码是

def before_trading(context):
    pass

    print(history_bars("000001",100,"1d","close")[-1])
    print(context.now)

 

def handle_bar(context):
    # 开始编写你的主要的算法逻辑。
    print(history_bars("000001",100,"1d","close")[-1])
    print(context.now)

 

部分输出

09:45:53 > 10.144375801086426
09:45:53 > 2019-01-17 00:00:00
09:45:53 > 10.144375801086426
09:45:53 > 2019-01-18 00:00:00
09:45:54 > 10.056839942932129
09:45:54 > 2019-01-18 00:00:00
09:45:54 > 10.056839942932129
09:45:54 > 2019-01-21 00:00:00


--  作者:yukizzc
--  发布时间:2020/6/16 10:21:46
--  
这边查证下,按理开盘前的不会取到当天
--  作者:CHF
--  发布时间:2020/6/17 9:53:31
--  

请问查证的如何了,是否存在开盘取到当天数据的情况?


--  作者:CHF
--  发布时间:2020/6/17 9:58:35
--  

我观察是在日线状态有这种情况


--  作者:yukizzc
--  发布时间:2020/6/17 9:59:10
--  
是有问题,已经提交开发,请等后面版本修复
--  作者:无为剑
--  发布时间:2020/6/20 18:42:45
--  
此问题已经修复,会在随后的6.0版本发布时修正