首页 文章 精选 留言 我的

精选列表

搜索[流程优化],共10000篇文章
优秀的个人博客,低调大师

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

昨天仔细的介绍了动量策略1的原理,计算公式,运用等,今天看怎么样利用QMT实现动量策略的回测,做策略的研究,给一个简单的学习代码 第一步打开qmt,先补充完整历史数据,点击界面的操作,下面有一个数据管理 ![](https://developer.qcloudimg.com/http-save/audit-12698924/23e4d7c8c2d2798d8c6d4bbd3d8e3f64.webp) 点击自己需要的数据补充就可以,也可以自定义标的补充,自定义时间等 ![](https://developer.qcloudimg.com/http-save/audit-12698924/8d971451c28af1682a7aec0d58e16c12.webp) 点击建立策略,编辑进入策略就可以,简单的回测框架的认识,账户在回测模块中不需要输入都可以 ![](https://developer.qcloudimg.com/http-save/audit-12698924/0c42a196850c8e094e5c673844623f80.webp) 回测的开始时间,结束时间 ![](https://developer.qcloudimg.com/http-save/audit-12698924/b05f540e130550c3f30bb8aeb0deaf85.webp) 回测的参数设置 ![](https://developer.qcloudimg.com/http-save/audit-12698924/59e56f1ee05eaf5a9d7c3ef3dd869de1.webp) 自定义股票池回测 ![](https://developer.qcloudimg.com/http-save/audit-12698924/bbe3c73a3ee65670fb8bccbaea78d895.webp) 计算个股的动量趋势 ![](https://developer.qcloudimg.com/http-save/audit-12698924/eaed679e372b99d6f9ee7a18a92fd995.webp) 主要注意数据的调用周期需要和右边设置周期一样,默认周期 ![](https://developer.qcloudimg.com/http-save/audit-12698924/9e9de76986c8e8efd55927c821354f77.webp) 驱动回测框架,和排序选股算法 ![](https://developer.qcloudimg.com/http-save/audit-12698924/f0d5ed9e3d27c7fcd45e587618e4aef1.webp) 动量的买卖轮动交易算法,不在排名的卖出,在的继续持有 ![](https://developer.qcloudimg.com/http-save/audit-12698924/cb280f1f7824dc594472726bcaf3ed85.webp) 其它就是检查函数,比如读取持股,账户等数据 ![](https://developer.qcloudimg.com/http-save/audit-12698924/f6fa3e9bd769e6816d7aa38586911d6a.webp) 点击回测按钮就可以,注意区分回测按钮和运行按钮,运行按钮是实盘调试当前数据,回测按钮是驱动历史回测的 ![](https://developer.qcloudimg.com/http-save/audit-12698924/6a48c1782fffdb939e9665e3688e12a7.webp) 点击回测就会开始回测算法 ![](https://developer.qcloudimg.com/http-save/audit-12698924/3884ef650223686bf19120e7b9f8ddc8.webp) 点击返回界面就可以看见回测的详细数据 ![](https://developer.qcloudimg.com/http-save/audit-12698924/b2613fef00643f8221b3d9b1b5ebb19b.webp) 标的主要是宽基,波动相对小一点 ![](https://developer.qcloudimg.com/http-save/audit-12698924/cc009f3076a8105554b0d01151caaa5b.webp) 在黄金、纳指、创业板三个低相关资产中,用"加权对数回归的斜率×R²"选出趋势最强且最稳定的一个满仓持有;同时用N日均线做个股和A股指数双重止损,跌破即空仓——本质是一个"趋势跟踪+风险平价+全天候"的轮动策略。 ```python 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, w=weights) 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_price=df['close'].tolist()[-1] last_line=df['line'].tolist()[-1] #计算指数风控 index_df['line']=index_df['close'].rolling(c.index_line).mean() last_index=index_df['close'].tolist()[-1] last_index_line=index_df['line'].tolist()[-1] score = annualized_returns * r_squared if c.is_index=='是': #先检查是否触发指数风险 if last_index 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 #量化 #交易 #金融 原理图 ![](https://developer.qcloudimg.com/http-save/audit-12698924/7865c2192a530d3de2c049c5e63219be.webp)

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册