求助,想在固定时间调仓,比如每个季度的最后一天才进行买卖调仓,有没有这样的回测引擎模板?

新手专区
标签: #<Tag:0x00007ff19b4d9290>

(tkbq22) #1

想在固定时间调仓,比如每个季度的最后一天才进行买卖,有没有这样的回测引擎模板?


(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