ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

QMT动量策略回测全流程拆解,看完就能跑

QMT动量策略回测全流程拆解,看完就能跑 昨天仔细的介绍了动量策略1的原理计算公式运用等今天看怎么样利用QMT实现动量策略的回测做策略的研究给一个简单的学习代码昨天写的原理介绍动量研究-1斜率动量策略为什么涨得稳比涨得快更重要第一步打开qmt先补充完整历史数据点击界面的操作下面有一个数据管理点击自己需要的数据补充就可以也可以自定义标的补充自定义时间等点击建立策略编辑进入策略就可以简单的回测框架的认识账户在回测模块中不需要输入都可以回测的开始时间结束时间回测的参数设置自定义股票池回测计算个股的动量趋势主要注意数据的调用周期需要和右边设置周期一样默认周期驱动回测框架和排序选股算法动量的买卖轮动交易算法不在排名的卖出在的继续持有其它就是检查函数比如读取持股账户等数据点击回测按钮就可以注意区分回测按钮和运行按钮运行按钮是实盘调试当前数据回测按钮是驱动历史回测的点击回测就会开始回测算法点击返回界面就可以看见回测的详细数据标的主要是宽基波动相对小一点在黄金、纳指、创业板三个低相关资产中用加权对数回归的斜率×R²选出趋势最强且最稳定的一个满仓持有同时用N日均线做个股和A股指数双重止损跌破即空仓——本质是一个趋势跟踪风险平价全天候的轮动策略。不懂的问我就可以动量回测计算代码参考研究def MOM(c,date,df,index_df,etf): y np.log(df[close].values) df[line]df[close].rolling(c.line).mean() n len(y) x np.arange(n) weights np.linspace(1,2, n) # 线性增加权重 slope, intercept np.polyfit(x, y, 1, wweights) annualized_returns math.pow(math.exp(slope), 250) - 1 residuals y - (slope * x intercept) weighted_residuals weights * residuals**2 r_squared 1 - (np.sum(weighted_residuals) / np.sum(weights * (y - np.mean(y))**2)) last_pricedf[close].tolist()[-1] last_linedf[line].tolist()[-1] #计算指数风控 index_df[line]index_df[close].rolling(c.index_line).mean() last_indexindex_df[close].tolist()[-1] last_index_lineindex_df[line].tolist()[-1] score annualized_returns * r_squared if c.is_index是: #先检查是否触发指数风险 if last_indexlast_index_line and etf in c.index_trader_stock: score-100 print(date,etf,触发指数风险控制卖出*****************) else: print(date,etf,没有触发指数风险控制*****************) scorescore else: scorescore print(date,etf,没有开启指数风险控制*****************) if c.is_stock是: if last_pricelast_line: score-100 print(date,etf,触发个股风控卖出************) else: print(date,etf,没有触发个股风控卖出************) scorescore else: print(date,etf,没有开启个股风控************) scorescore return score def get_rank(c,etf_pool,score_list): df pd.DataFrame(indexetf_pool, data{score:score_list}) df df.sort_values(byscore, ascendingFalse) #total_score df[score].sum() 不告诉你这个怎么用 df df[(df[score] c.min_value) (df[score] c.max_value)] #安全区间动量过高过低都不好 rank_list list(df.index) if len(rank_list) 0: rank_list[] #如果全部都小于0那么空仓或者买《国债、银华日历、黄金》避险 return rank_list#动量 #策略 #qmt #量化 #交易 #金融原理图
返回列表