【量化实验】发现好用的因子-换手率

发布于: 修改于:雪球转发:0回复:4喜欢:5

就是简单的单因子策略,每隔若干天,将当天的换手率排序,取top n的股票进行换仓。

数据来源:tushare中的每日指标(daily_basic表中的turnover_rate)

股票池中证800 成分股

策略详情:每隔M个交易日,将股票池按照当天的换手率进行排序,取换手率最小的N个股票下单换仓,转天开盘时成交。注意这里是换仓,就是将之前的持仓全部换成新的N个股票,仓位按金额均分

回测时间:20170101-20220901

回测参数:金额:100万,佣金:千分之1(为了抵消一些摩擦成本),限制每个票的交易量在当天该票volume的%1以内

回测工具:backtrader


结果:

基线选的沪深300,所有的参数下都远超基线, 感觉这个因子强的过分,后续还要深入研究下

最好的一组是N=10,M=20,夏普率达到了2.46

全部讨论

2022-11-07 16:32

老师您好,请教一个问题,刚接触bt不久,前一日的收盘价>=当前收盘价,作为一个指标,运行发现运行结果不对,帮忙指正一下
class tfs(bt.Indicator):
lines = ("fs",)def __init__(self):
self.dataclose = self.datas[0].close
self.datalow = self.datas[0].low
self.datahigh = self.datas[0].close
self.addminperiod(20)
self.plotinfo.plot = self.p.myplot
self.l.fs = bt.If(self.dataclose[-1] >= self.dataclose,True,False)
def next(self):
print('datetime', self.data0.lines.datetime.date(0))
print(self.dataclose[-1])
print(self.dataclose[0])
print("---------------------")
print(self.l.fs[0])
print("=====================")

2022-10-03 17:24

这个策略要去除涨停的才准