原文策略源码如下:
DMI——大盘择时
import talib
import math
import numpy as np
import pandas as pd
初始化函数,设定要操作的股票、基准等等
def initialize(context):
g.security = ‘399300.XSHE’
set_benchmark(‘399300.XSHE’)
#设置参数
context.OBSERVATION = 100
context.ADXPERIOD = 18
每个单位时间(如果按天回测,则每天调用一次,如果按分钟,则每分钟调用一次)调用一次
def handle_data(context, data):
security = g.security
# 获取股票的价格信息
price = attribute_history(security, context.OBSERVATION, ‘1d’, (‘high’,‘low’,‘close’))
ADX = talib.ADX(price['high'].values,price['low'].values,price['close'].values, context.ADXPERIOD)
PDI = talib.PLUS_DI(price['high'].values,price['low'].values,price['close'].values, context.ADXPERIOD)
NDI = talib.MINUS_DI(price['high'].values,price['low'].