量化学习 | GTquant量化回测框架之双均线策略(一)

做过量化投资或者对量化投资感兴趣的朋友想必对双均线策略是非常熟悉了。

  作为技术分析中最基本的策略,双均线策略大概就是新手村的第一个任务,所以作为本系列第一篇,我们也从双均线策略开始吧!

  双均线策略是非常经典的趋势交易策略,它的构造方式也非常简单:计算长期和短期均线,短线上穿长线则是买入信号,反之则为卖出信号。别看它简单,有的基金公司就是靠这两条线,赚了很多的钱呢!

  

  均线,顾名思义就是平均线(好像说了一句废话。。)

  举个例子??,5日均线就是对前五日股票收盘价进行平均。比如下图中,蓝线为某股票每日收盘价,黄线为收盘价的5日均线,可见五日均线对收盘价有一定的平滑效果。

  

  双均线,顾名思义就是两条均线(好像又说了一句废话。。。)

  这两条均线不是说两只股票的均线,而是同一只股票不同期限的均线,比如说5日均线和10日均线。

  我们通常将期限较短的均线称为短线,期限较长的均线称为长线。当短线上穿长线,两条均线的交点就称为 金叉(Golden Cross),表示股价呈上涨趋势,应该抓住时机买买买;反之,当短线下穿长线,两条均线的交点则称为 死叉(Death Cross),表示股价呈下跌趋势,再不卖就要亏哭啦。 >>>点击咨询双均线相关问题

  如下图所示,绿线为10日均线,可见长期均线相对于短期均线更加平滑。从2018年1月下旬至2月中旬,股价呈下降趋势时,短线下穿长线;而在4月和5月初,股价呈现上涨趋势时,短线上穿长线。

  

  为了模拟真实交易的场景,我们搭建了 GTquant 量化回测框架,该框架可以满足大部分技术分析的需求。GTquant 量化回测框架的基本原理和框架内部细节我们将在后续的文章中详细说明,感兴趣的朋友请持续关注更新哦~

  光说不练假把式,经过我们的初步尝试,双均线策略在 GTquant 回测框架中跑出来的结果如下(选取的股票为‘600837‘,回测时间为‘2010-01-01‘至‘2018-01-01‘):

  

  从图上看,似乎策略收益只是比基准好了一点而已,所以该策略还有很多改进的空间,比如说尝试不同的短期和长期周期搭配等。不过掌握编写策略的方法是升职加薪当上CEO迎娶白富美走上人生巅的第一步,让我们来看看双均线策略是怎么具体实现的吧~

  首先,导入 GTquant 模块:

  

  其次,创建 Strategy 类的子类,每个子类代表一个具体的策略,比如我们今天要写的双均线策略,我们给它取一个国际化的名字 DoubleMAStrategy,具体策略如下:


  当然,如之前所说,该策略还有很多改进的方法,在本系列下一篇中,我们将提供一种改进的思路。当然,你也可以尝试其他的技术分析方法,如果暂时没什么思路也不要着急,AQF实训项目课程 中介绍了许多常用的技术指标和方法,说不定能为你打开思路哦~ >>>点击咨询AQF实训课程详情

原文地址:https://blog.51cto.com/14234878/2376014

时间: 2024-10-10 05:29:56

量化学习 | GTquant量化回测框架之双均线策略(一)的相关文章

量化投资策略:常见的几种Python回测框架(库)

量化投资策略:常见的几种Python回测框架(库) 原文地址:http://blog.csdn.net/lawme/article/details/51454237 本文章为转载文章.这段时间在研究量化策略方向,研究了Zipline一段时间,但是后续发现他仅支持美国股票,收集量化策略文章,转载到博客中. 在实盘交易之前,必须对量化交易策略进行回测.在此,我们评价一下常用的Python回测框架(库).评价的尺度包括用途范围(回测.虚盘交易.实盘交易),易用程度(结构良好.文档完整)和扩展性(速度快

RiceQuant米筐量化回测框架介绍

RiceQuant米筐量化回测框架介绍 一.RiceQuant平台 网址:https://www.ricequant.com/welcome/ 二.策略创建流程 1.1 创建策略 1.2 策略界面 2 完成一个策略所需做的事 选择策略的运行基本条件: 运行区间.初始资金 回测频率 编写策略: 选择的股票池 获取股票的行情.基本面数据 交易时间.数量的设置 分析回测结果: 策略指标的分析 2.1策略初始设置 基础设置:指定回测的起止日期.初始资金及回测频率 起止日期:策略运行的时间区间(自动选择交

用Python徒手撸一个股票回测框架

通过纯Python完成股票回测框架的搭建. 什么是回测框架? 无论是传统股票交易还是量化交易,无法避免的一个问题是我们需要检验自己的交易策略是否可行,而最简单的方式就是利用历史数据检验交易策略,而回测框架就是提供这样的一个平台让交易策略在历史数据中不断交易,最终生成最终结果,通过查看结果的策略收益,年化收益,最大回测等用以评估交易策略的可行性. 代码地址在最后. 本项目并不是一个已完善的项目, 还在不断的完善. 回测框架 回测框架应该至少包含两个部分, 回测类, 交易类.回测类提供各种钩子函数,

用Python编写的第一个回测程序

2016-08-06 1 def savfig(figureObj, fn_prefix1='backtest8', fn_prefix2='_1_'): 2 import datetime 3 fmt= '%Y_%m_%d_%H_%M_%S' 4 now = datetime.datetime.now() 5 fname_savfig = fn_prefix1 + fn_prefix2 + now.strftime(fmt)+ '.png' 6 figureObj.savefig(fname_

量化补偿与量化压缩

学习博客:http://lhtao31.blog.163.com/blog/static/2972647020103814044158/ 最近在学习调试摄像头,配置OV7670摄像头采集到的数据是RGB565,移植别人的代码,从ZYNQ移植到Basys3,VGA输出引脚需要又RGB565转到RGB444,我采用分别取RGB565三分量高位的方法,最终显示输出,视频图像会变得更模糊,这是由于在转换的时候去掉低位会损失精度.而OV7670的图像采集效果也是不怎么样,所以后面会尝试配置OV7725,追

市场回测与对冲套利

市场回测与对冲套利 冲套利交易:买入某种商品(合约),同时卖出的另一种商品(合约) ,赚取合约的价差. 套利交易特点:逻辑性 从套利机制上讲,商品期货的套利划分为两种套利类型:内因套利和关联套利 内因套利:是指当商品期货投资对象间价格关系因某种原因过分背离时,通过内在纠正力量而产生的套利行为. 例如:大豆和豆油期货的价格同向波动 :黄金和珠宝 关联套利:是指套利对象之间没有必然的内因约束,但价格受共同因素所主导,但受影响的程度不同,通过两种对象对同一影响因素表现不同而建立的套利关系称之为关联套利

如何减轻软件开发的回测压力?Facebook 已经用上了机器学习

如何减轻软件开发的回测压力,从而提高工程师的生产效率?MATEUSZ MACHALICA.ALEX SAMYLKIN 等人组成的 Facebook 研究团队提出使用一个利用机器学习的新系统来创建一个为特定代码更改选择回归测试的概率模型,从而更好地执行这种回归测试. 为了高效地开发新产品特征和更新,Facebook 研究团队使用基于主干的开发模型来管理对代码库的改动.一旦一位工程师的代码更改被接入主分支(主干),他们试图让它对从事该产品或服务的其他工程师快速可见.这种基于主干的开发模型比使用特征分

微信小程序,学习笔记(一)框架,视图层

微信小程序,学习笔记(一)框架,视图层 学习链接:http://www.w3cschool.cn/weixinapp/ 因为其实并非原创,但是并没有什么好的类别可选,所以修改成:"翻译"了. 熟悉 文档结构介绍 --- [D] pages --- [D] utils --- [F] app.js --- [F] app.json --- [F] app.wxss 全局变量.对象.方法 普通类型 对象 App 应用程序全局实例,在app.js中定义,每个程序只有一个实例,可以通过如下方式

Android Afinal框架学习(二) FinalActivity 一个IOC框架

框架地址:https://github.com/yangfuhai/afinal 对应的源码: net.tsz.afinal.annotation.view.* FinalActivity FinalActivity是一个基础类,结合注解实现了,依赖注入(view的资源id,常用的监听器), 利用set方式注入 完全注解方式就可以进行UI绑定和事件绑定,无需findViewById和set event Listener 这个过程:initInjectedView>findViewById.set