目录
一、模型介绍
本策略以0.8为初始权重跟踪指数标的沪深300中权重大于0.35%的成份股.
个股所占的百分比为(0.8*成份股权重)*100%.
然后根据个股是否:1.连续上涨5天 2.连续下跌5天
来判定个股是否为强势股/弱势股,并对其把权重由0.8调至1.0或0.6
二、可学习部分
1.字典到列表、字典的赋值
for key in stock300:
# 保留权重大于0.35%的成份股
if (ContextInfo.get_weight_in_index(ContextInfo.index_code, key) / 100) > 0.0035:
#获取300中每个股票的绝对权重,返回单位%(不显示),如果权重大于0.35%
stock300_symbol.append(key) #把这个票放到标记池里,列表
ContextInfo.stock300_weight[key] = ContextInfo.get_weight_in_index(ContextInfo.index_code, key) / 100
#每个票的指数权重计算为300的绝对权重/100,字典{股票:权重}
2.循环从列表走到字典
for stock in ContextInfo.stock300_weight:
# 若没有仓位则按照初始权重开仓
if stock not in holdings and stock in list(dict_close.keys()):
if len(dict_close[stock]) == 7:
pre_close = dict_close[stock][-1]
3.使用行情和持股数量 < x做判断条件
diff = np.array(dict_close[stock][1:6]) - np.array(dict_close[stock][:-2])
#依次用后一天的收盘价-前一天的收盘价
if all(diff>0) and holdings