注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

期货期权

算法交易

 
 
 

日志

 
 

蒙特卡洛算法在程序化交易中简单应用  

2017-08-27 18:36:06|  分类: 量化交易 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
近年来,程序化交易发展愈来愈火爆,传统的程序化研究一直致力于各种成熟指标的组合,如将MACD和均线指标结合起来,在各种期货合约品种上应用,寻求最佳的历史回测效果;另外还有投资者利用自己对盘面的独特了解,建立个人自定义的指标;然而随着市场越来越多地程序化研究越来越深入,程序化交易方法基本是从市场价格和成交持仓信息出发,通过数学计算,构建交易模型,这也是造成模型同质化的根本原因,因为大家建模的出发点过于一致。目前市场对于程序化研究主要从宏观和微观两个方面深入。宏观方面,投资者可以基于更多的市场信息开发新型的交易模型,主要有以下几种模式:

第一,基本面数据建模。可以从CPI、PPI、货币发行量等宏观经济指标出发,建立择时交易系统,这种方法为多为机构应用。对于期货市场,每个品种都有供需方面的统计数据,投资者可以结合对这些数据的理解,使用数学方法分析数据,形成多空判断;

第二,利用数据挖掘技术分析新闻事件,在深入分析可能造成市场异常波动的事件基础上,把握交易时机,获得超额投资回报;

第三,基于现货市场的走势,比如,对于建立在沪深300指数上的股指期货,可以利用指标股的走势建模,选择对指数影响大的权重股,构建领先指标进行交易。

微观方面,笔者认为,可以讲传统的指标组合方法进行升华,引入在物理数学中成熟的数学模型,改进传统的程序化交易模型,如运用数值计算中的蚁群算法和模拟退火算法等,本文介绍的也是数值计算中的蒙特卡洛算法。

蒙特卡洛(Monte Carlo,简称MC)方法,也称统计模拟方法,或称计算机随机模拟方法,最早是由法国布丰等数学家提出用来分析一些科学现象的仿真方法,它是一种以概率统计理论为指导的一类非常重要的数值计算方法,是指使用随机数(或更常见的伪随机数)来解决很多计算问题的一种方法。MC方法的基本思想是:为了求解数学、物理或工程技术等方面的问题,首先建立一个概率模型或随机过程,使其某个参数等于问题的解,然后通过对模型或过程的观察或抽样试验来计算所求参数的统计特征,最后给出所求解的近似值。

金融市场充满了确定性和不确定性,因此形成的数字化变量也是具有确定性和随机性两种特征,而蒙特卡洛算法本身就属于一类随机算法,利用尽可能多的模型采样,寻求近似近似最优解,在金融市场中可以理解为尽可能的寻找市场的确定性方向。

目前市场上比较流行的一种方法是双均线突破系统,然而这种系统面临的问题表现在两个方面:1.在市场噪音较大时,无法有效地给出买卖信号;2.双均线的参数无法有效确定,基于这一现状,笔者考虑引入蒙特卡洛算法,改善传统双均线突破系统。

基于蒙特卡洛算法的双均线系统主要过程如下:

1.      首先确定系统两个参数样本空间Q和P,初始化多头指标B=0,空头指标S=0;

2.      从样本Q和P中从随机抽取参数m和n,其中m>n;

3.      m周期均线值MA1,m周期均线值MA2,当MA1>MA2,S=S+1;当MA1<MA2,B=B+1;

4.      重复执行K次,统计多空指标S值和B值;

5.      确认买卖信号,S>L时,系统发出卖信号,B>L时,系统发出买信号(其中L为系统参数,L<K)。

在交易开拓者中实现基于蒙特卡洛算法改进双均线系统,测试螺纹钢指数期货30分钟合约,测试时间为:2009.03.27—2015.04.01,手续费设为每手5元,主要效果如图1和图2所示:
b_ECC94A7CC2F823F644E9A5866318F6C2111111.jpg
b_5EF79BF642C24EFC21EF6C9D632D9CBA2222222.jpg
从测试效果来看,运用蒙特卡洛算法改进原来的系统后,策略效果表现良好,总体绩效曲线呈现稳步向上的走势,从具体交易 信号来看,每次进出场信号比较及时,能抓住几乎每一波大趋势,同时也过滤了市场中的噪音信号,总体交易次数比较少,具体策略指标如图3所示。
b_21090308B744AC0832C3D114D734105A3333333.jpg
从策略指标来看,总体交易次数较少,只有32次,说明这个系统可以认为是抓取大趋势的指标,类似于日线级别指标,同时整体收益不错,达到了66060,优于一般的日线指标。为了更好的说明改进效果,将基于蒙特卡洛双均线系统和传统双均线系统各项指标对比,其中传统爽均线系统选取均线参数为(10,20),如下表1所示:
b_761A756DE6D0A923C130B9FD1AFC3534444444.jpg
从表1中各项指标的对比可以看出,经过引入蒙特卡洛算法,提高了双均线系统的盈利能力,收益能力提高了近50%;减少了交易次数,从178次减少到32次;回撤效果也有一定的改善,显著提高了原程序化交易系统性能。

    从本文的实例看出,蒙特卡洛方法以概率统计理论为其主要理论基础,以随机抽样(随机变量的抽样)为其主要手段,通过相当大的重复抽样获取最优解。在程序化交易系统中引入蒙特卡洛算法时,首先应确定抽样样本空间,然后构造算法目标函数,最后进行重复随机抽样,获取最优目标函数,指示买卖信号。

     程序化交易在中国起步较晚但是发展迅猛,尤其是过去两年,程序化交易在国内期货市场发展的速度,超乎了很多人的意料。而传统的程序化系统使用者越来越多,市场中策略不可避免会出现同质化现象,造成策略失效。在这种情况下,笔者认为通过引入数学物理中经典算法改进原有交易系统,可以在一定程度上达到更好的效果,而在其中过程中,我们也可以体会到数学之美。

来源:和讯网 
  评论这张
 
阅读(5020)| 评论(6)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017