炼数成金 门户 量化投资 查看内容

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

2016-5-18 09:37| 发布者: 炼数成金_小数| 查看: 22693| 评论: 1|来自: 开拓者金融网

摘要: 近年来,程序化交易发展愈来愈火爆,传统的程序化研究一直致力于各种成熟指标的组合,如将MACD和均线指标结合起来,在各种期货合约品种上应用,寻求最佳的历史回测效果;另外还有投资者利用自己对盘面的独特了解,建 ...

算法 模型 金融 数学 金融市场 方法

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

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

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

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

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

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

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

目前市场上比较流行的一种方法是双均线突破系统,然而这种系统面临的问题表现在两个方面: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所示:


从测试效果来看,运用蒙特卡洛算法改进原来的系统后,程序化交易策略效果表现良好,总体绩效曲线呈现稳步向上的走势,从具体交易信号来看,每次进出场信号比较及时,能抓住几乎每一波大趋势,同时也过滤了市场中的噪音信号,总体交易次数比较少,具体策略指标如图3所示。

从策略指标来看,总体交易次数较少,只有32次,说明这个系统可以认为是抓取大趋势的指标,类似于日线级别指标,同时整体收益不错,达到了66060,优于一般的日线指标。为了更好的说明改进效果,将基于蒙特卡洛双均线系统和传统双均线系统各项指标对比,其中传统爽均线系统选取均线参数为(10,20),如下表1所示:

从表1中各项指标的对比可以看出,经过引入蒙特卡洛算法,提高了双均线系统的盈利能力,收益能力提高了近50%;减少了交易次数,从178次减少到32次;回撤效果也有一定的改善,显著提高了原程序化交易系统性能。

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

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

欢迎加入本站公开兴趣群
量化投资群
兴趣范围包括:量化投资,算法交易,金融建模,统计套利等等
QQ群 262335016
如果大家不明白什么是量化投资,在百度谷歌搜索一下“西蒙斯”就知道了,最近这哥们火极了!这套东西在国外的金融机构已经大量使用,随着中国金融市场规模日益扩大和趋于成熟,这套玩法最终肯定也能在国内转起来,我们一起学习切磋,寻求项目机会做一下,提升自己在这方面的技能,将来一起发财
1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

发表评论

最新评论

引用 littleDream 2016-5-21 16:21
虽然没有看太明白,但是感觉有点启发,就好像用BotVS量化机器人对一段时间回测时,随机变化不同的参数来进行测试,统计得出最优的参数组。不知道理解的对不对。

查看全部评论(1)

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2017-11-22 22:50 , Processed in 0.144722 second(s), 24 queries .