掘金社区

海龟交易法(期货)Pinned highlighted

Skipper 发表在策略研究 2021-02-18 10:52:36

策略研究
366
3
0

技术支持,你好!

海龟交易法(期货) https://www.myquant.cn/docs/python_strategyies/110 的代码第40行
使用history_n获取过去20日历史数据时,参数count为什么要赋值21呢?

注:count=context.n+1,其中context.n为20

评论: 3
  • 因为回测时,用history_n取历史数据会把当天的数据取到(比如当前时间为2月19日的9点,history返回数据会包括2月19日的数据,现实情况下是取不到2月19日的数据)这样就引入了未来函数。所以要多取一天,用的时候去掉今天的数据。后面for i in range(1,len(data))就是从1开始索引的,不是从0开始。

    2021-02-19 09:16:40
  • @四两 即使去掉今天的数据,也不应该从1开始索引,因为今天的数据位于索引的最后位置。
    另外,关于这个策略还有两个问题:

    1. 代码第43、44行取得昨日收盘价时,使用了shift(-1)。简单测试了一下这样做就错位了,使用iloc[i-1]取得昨日值不香吗?
    2. 代码第84行,从context.data取值时参数count为101,大于前面subscribe中指定值为2的count,这是不是敲错了啊?
      谢谢!
    2021-02-22 09:13:34
  • @skipper 反映的问题确实存在,会尽快修改

    2021-02-22 13:43:04

Looks like your connection to 掘金量化社区 - 量化交易者的交流社区 was lost, please wait while we try to reconnect.