想在固定时间调仓,比如每个季度的最后一天才进行买卖,有没有这样的回测引擎模板?
求助,想在固定时间调仓,比如每个季度的最后一天才进行买卖调仓,有没有这样的回测引擎模板?
Daviddddddd
(Daviddddddd)
#2
可以在回测模块里面自己写回测交易方式来实现。比如使用date = data.current_dt.strftime('%Y-%m-%d')
可以获取当前读取到的数据对应时间,然后做判断是否为每个季度最后一天,如果是最后一天,那么进行交易操作。
以下是我的一个小示例,仅供参考!
# compute last day of current season
trading_calender = DataSource('trading_days').read()
trading_calender = trading_calender[trading_calender.country_code == 'CN']
date = data.current_dt.strftime('%Y-%m-%d')
year = date[:4]
month = date[5:7]
if int(month) < 4:
last_day_of_season = max(trading_calender[trading_calender.date < year + '-04-01'].date)
elif int(month) > 3 and int(month)< 7:
last_day_of_season = max(trading_calender[trading_calender.date < year + '-07-01'].date)
elif int(month) > 6 and int(month)< 10:
last_day_of_season = max(trading_calender[trading_calender.date < year + '-10-01'].date)
else:
last_day_of_season = max(trading_calender[trading_calender.date < str(int(year) + 1) + '-01-01'].date)
if date == last_day_of_season.strftime('%Y-%m-%d'):
### trade as you wish