你还在看电脑面前盯盘看K线吗? 你还在为一次亏损寝食难安,为一次盈利欣喜若狂吗? 如果是,那也许你就OUT了。随着量化交易的蓬勃发展,一群统计狗、程序猿们已经开始使用计算机模型进行交易了,这些程序用不休眠,无人值守,24小时为你监控市场,产生利润。真有那么好的事吗?这不就是印钞机了吗?

请看下面分解。

1、你是否坚信市场的有效性?

量化交易的获利来源于市场的无效性。如果市场服从随机游走,那大部分金融机构都可以关门了,还炒什么股啊。如果市场是有效的,那可能一个人一辈子都碰不到大牛市。持续不断的上涨的K线排列,概率该有多小啊。一个比较现实的假设是,市场在一定程度上是无效的,单纯的价格序列中存在大量的获利机会。

2、概率的游戏

量化交易是概率的游戏,一个交易策略是否能够盈利,关键看胜率和盈亏比。胜率是盈利次数占总交易数的百分比,盈亏比是平均盈利和平均亏损的倍数关系。这两者需要平衡,也很难兼顾。例如,玩彩票盈亏比很高,胜率很低,所以总体是亏损的。

3、一个概率取胜的例子

上图是个高盈亏比低胜率策略的策略。虽然盈利的交易很稀疏,但是却远离零点,亏损交易很密集,但紧贴零点,所以从右边的资金曲线上看,策略总体上是盈利的。所以,量化交易者会坦然的接受亏损,也会正确的看待盈利,它们只是交易系统的一个部分。

4、量化交易策略的构建
4.1思路部分

下面用一个例子来说明一个交易策略的生产过程。某交易员发现,价格突破了一些关键点位后,会向着突破的方向持续发展。于是我们设计一个简单的突破策略:当价格突破近期高低点时,相应的做多或做空。

4.2准备条件

接下来,就要进行进一步细化,做成一个模型。需要回答这么几个问题:

1、时间框架是怎样的? 小时线、日线还是周线?

2、如何定义高低点? 往回看几跟K线?

3、进场后如何止损? 固定点位止损还是ATR(平均真实波动)止损?

4.3代码实现

将上述问题具体化以后,就用程序代码将它们予以实现。国内比较普遍使用的是tradeblazer和multicharts。当然,技术实力较强的交易者也可以选择自行开发交易平台,用java,python等语言予以实现。

4.4参数优化

在策略构建的初期,一些参数是待定的。如均线的K线条数,止损点位,止盈点位等。这些参数都可以用遍历的方法进行优化,也就是说,穷举各种参数的组合,找到使盈利最大化的那一套参数。

4.5继续优化

这里,我们对止盈点位和止损点位进行了优化,绘制了一副3D优化图。X和Y轴分别代表被优化的参数,即止盈点和止损点,Z轴代表目标函数,即盈利。我们可以看到,盈利在不同的参数组合情况下高低起伏,呈现出了一个个山峰、平原和低谷。

那么,我们是否应该选择那些山峰呢?

其实不是。因为选择这些山峰可能会带来一个问题,就是过度拟合。表现过好的参数组合满足了过去市场的某种特殊情况,只要参数发生微小变化,策略表现就会急剧下降,这就是”山峰”的含义。相比而言,目标函数的“平原”区是更为稳定的参数,因为参数在这个范围内变化,策略表现是稳定的。

所以我们要选择平原。下面这幅图是参数经过优化后的策略表现,资金曲线图表现出剧烈的波动,这反应了策略思路本身存在缺陷,高低点的突破并不能对价格起到很好的预测作用,参数优化并不能解决策略思路本身的问题。

5、回测
5.1样本内回测

一个量化策略的运行逻辑
5.2样本外回测

如果我们找到了一个可行的策略,又选择了合适的参数,策略回测表现让人满意,下一步就是样本外测试了。样本外测试的目的,是用新的数据对策略进行检验,考验策略的盈利能力。

在之前的测试中,我们已经使用了一部分的历史数据。策略是在这些历史数据中被“训练”出来的,很容易出现过度拟合的问题。极端情况下,只要参数数量足够多,我们是可以轻易的通过历史数据训练出100%胜率的策略。但这样的策略并不具有通用性,如果用新的数据测试这样的策略,结果一定是糟糕的。

这就是我们进行样本外测试的原因。样本外数据也是历史数据,只是我们在测试初期预留出来的,没有碰过,是“干净”的数据。如果策略在新数据下的表现不好,那么这样的策略仅仅是过度拟合的结果。上图就是一个过度拟合的例子,策略盈利在样本外数据中急剧下降。

5.3蒙特卡罗测试

一个量化策略的运行逻辑
下一个测试是蒙特卡洛实验。在试验中,我们模拟未来市场可能出现的各种变化,考察策略是否足够健壮。这些变化可能是价格的变化,也可能是参数的变化,还有可能是交易顺序的重新排序,不一而足。借助实验软件,我们可以进行上千次的重复实验,看看策略是否还能生存下来。

上图是蒙特卡罗的实验结果,红线代表原市场条件的测试结果,绿色代表最恶劣的5%的市场条件,紫色代表实验平均结果。可以看到,策略在最差的5%情况下,仍然能够维持盈利,说明策略是健壮的。

6、策略举例
6.1三均线策略

下面分别介绍一下策略的种类。从策略的交易思路看,大致可分为趋势策略(动量策略)和逆势策略(均值回转策略)。两种策略分别适应于不同的品种和市场条件。趋势策略的常见例子是均线交叉策略。短均向上突破长均做多,向下突破做空。趋势策略捕捉了市场的冲动情绪,当价格上涨时,大量交易者非理性的跟进,价格下跌时,人们又急剧恐慌。趋势策略者就可以“顺应趋势”,追涨杀跌,让“趋势成为朋友”。

6.2布林带策略


逆势策略则相反,逢高卖出,逢低买入。在某些市场的某些时段中,价格确实存在这样的高低震荡的情况,逆势者容易利用这样的价格属性频繁的积累微小利润。但是,市场总是趋势与震荡并存,我们很难判断市场何时震荡,何时趋势,有没有解决办法呢?当然有,如下策略。

6.3跨期套利策略

我们要把思路打开,将目光从单个品种转向多个品种的组合价差上,也就是常说的配对交易。例如不同到期日的期货合约价差就存在高度的相关性。

例如,我们将两个不同到期日橡胶合约的价格序列放在一张图上,就可以看到他们之间的高度相关性。虽然两个合约各自的价格呈现出趋势属性,但它们的价差是稳定的震荡属性。


我们通过震荡策略,交易两者的价差,就可以获得比较稳定的收益。价差组合的方式有很多,并不局限于两个品种,我们可以通过下列通用公式,配置出无数个可能盈利的价差组合。

哪个组合式可以盈利的呢?需要我们自己去挖掘。而目前我们量化家的策略超市,直接把有效的策略提供给选择使用。

7、风控管理
马丁格尔仓位管理
一个优秀的策略不仅能给我们带来持续稳定的收益,同时在风控上的把握也是极为关键。正如一辆汽车在量产之前需要持续不断的测试同样的道理。

而在投资市场中,只要超出无风险利率,就会存在波动,存在波动,就有可能带来亏损,所以你会发现,哪怕你投资一个极为优秀的基金或是股票,每年所带给你的年化回报也并非一成不变的,甚至有时候,行情不好,遇到熊市还会出现不小的亏损。

事实是任何投资项目都应该首先关注风险。

而量化交易对于风控的把握会着重从仓位的管理出发。仓位管理,就是决定某一策略分配多少资金的问题,初学者往往过分执迷于策略思路本身的盈利,而忽略了仓位管理。实际上,仓位是量化交易最重要的环节。即使拥有了盈利的策略,如果仓位管理不当,完全可能爆仓出局。

下面我们来探讨一个有趣的仓位管理方法,叫martingale.这是一种死扛型的仓位管理机制,每经历一次亏损,我们在下次交易时就把仓位放大一倍,一旦盈利,我们就把仓位恢复到初始值。例如,当经历了3次连续亏损之后,仓位数分别是,1,2,4。如果第4次交易盈利了,我们就把仓位恢复到1。

一个量化快牛策略的运行逻辑相关推荐

  1. 我用Python做一个量化指数增强策略,爽了 !附代码!

    这是邢不行第 84 期量化小讲堂的分享 作者 | 邢不行.密斯锌硒 A股是一个神奇的地方,它最大的特点就是多年不涨和永远的3000点. 正因如此,调侃A股的段子层出不穷. 甚至连中国男足这么烂的行业都 ...

  2. 通过一个案例,理解FaaS的运行逻辑

    为了让你更好地体验 Serverless 带来的变革,这节课我们以 Serverless 版本的"Hello World"实操例子进行展示.鉴于我的熟悉程度,我选择了阿里云,当然, ...

  3. 快牛策略的均值回归进阶策略,股票价格抓反弹的时候666的很啊!代码均为Python

    我们经常在抓反弹时感觉像在抓一只刺猬,不知道该怎么下手.左侧交易会不会买在半山腰?右侧交易会不会进场太晚?什么时候买入真是让人头疼.切莫苦恼,你完全可以通过历史数据统计判断反弹的时机.今天公众号给大家 ...

  4. 快牛策略——PowerPoint 2003:红头文件的制作及标准

    1.进行页面设置 选择"文件"--"页面设置"选择"页边距"附签,上:3.7厘米 下:3.5厘米 左:2.8厘米 右:2.6厘米.选择&qu ...

  5. 快牛策略——嵌入式计算机

    嵌入式计算机 即嵌入式系统( embedded systems) ,是一种以应用为中心.以微处理器为基础,软硬件可裁剪的,适应应用系统对功能.可靠性.成本.体积.功耗等综合性严格要求的专用计算机系统. ...

  6. 快牛策略——计算机应用领域

    计算机的应用已渗透到社会的各个领域,正在改变着人们的工作.学习和生活的方式,推动着社会的发展.归纳起来可分为以下几个方面: 科学计算 科学计算也称数值计算.计算机最开始是为解决科学研究和工程设计中遇到 ...

  7. 绝对干货3000字,手把手带你用Python实现一个量化炒股策略,小白也能看得懂!...

    我一直都知道我会变得富有. 我认为自己从来没对此产生过一丝怀疑.    --巴菲特 "菜鸟学Python",第"520"篇原创 玩Python这么久了,菜鸟哥写 ...

  8. 如何衡量一个量化策略的好坏

    转 如何用多因子模型预测投资风险 一.为什么要了解投资风险 在探讨投资风险前,我们不妨思考一个问题:好的投资,取决于哪些因素? 其实,卓越的投资回报,主要来源于四个因素: 收益预测:能形成合力的收益预 ...

  9. 什么才是一个量化交易策略的核心?

    先来说两个有趣的现象: 1.<Margin Call>这部描述金融危机前夕的电影中,提前发现公司资产"问题"的年轻分析师皮特·苏利文,是斯坦福大学空气动力学的博士,也就 ...

最新文章

  1. Gromacs 5.1.4 在CentOS7下GPU加速版的安装
  2. 【c语言】蓝桥杯算法提高 P0402
  3. 为什么python不出结果_Python 的 Checksum 为什么结果是一长串数字而不是如下效果...
  4. 《精通Spring4.X企业应用开发实战》读后感第五章(注入参数详解)
  5. php函数库快速记忆法_PHP速成大法
  6. 错误记录--更改tomcat端口号方法,Several ports (8005, 8080, 8009)
  7. SpringBoot设置首页(默认页)跳转
  8. 嘿嘿~~大家一起来测测自己反映速度
  9. Exception in thread “main“ java.sql.SQLException: The server time zone value
  10. 在小榕的论坛看的一篇关于DOS批处理命令的文章
  11. webpack 生产环境下插件用途
  12. 2013=726 整合,优化,利用自身资源。 让自己的时间更有意义,最大化利用
  13. CentOS 6.4x64编译安装DRBD及备节点同步后容量变小的处理
  14. MATLAB :xlim 、 ylim 、zlim简介
  15. 电脑网易云音乐,网易云音乐的话题区到底有多魔性?
  16. 苹果蓝牙连接不上是什么原因_无线网连接不上 原因很多,总有一个办法解决你的问题...
  17. 【肺实质分割】基于主动轮廓模型和贝叶斯方法识别实现胸膜旁肺实质分割附matlab代码
  18. 大型网站技术架构演进
  19. 程序员之天梯排行榜,你在哪一级?
  20. repo: command not found

热门文章

  1. 三星二级菜单_Excel 如何设计带联想的二级下拉菜单?
  2. LCD段码式液晶屏-duty与bias的工作原理
  3. 大数据到底是干什么用的?
  4. 基于微信小程序的学生选课系统源码
  5. Microsoft Excel 教程:如何在 Excel 中使用数字格式?
  6. 浅析单向tvs管和双向tvs管的对比,谁能更胜一筹
  7. MATLAB帝国(主义)竞争算法求解超市物流配送选址问题实例
  8. 如果你现在创业,我建议你这样搞
  9. 如何打造个人品牌(IP)?
  10. 终于解决困扰我多年的问题 浙江绍兴这边 洋拉毛树 树名原来叫 毛白杨 春天种子满天飞