您现在的位置 : 首页 > 资质证书

大西洋娱乐

资质证书

蒙特卡洛算法在程序化研究中简单应用

时间:2018-11-10 14:09:51  来源:本站  作者:

 

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

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

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

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

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

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

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

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

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

  5. 确认买卖信号,SL时,系统发出卖信号,BL时,系统发出买信号(其中L为系统参数,LK)。

  在交易开拓者中实现基于蒙特卡洛算法改进双均线系统,测试螺纹钢指数期货30分钟合约,测试时间为:2009.03.27—2015.04.01,手续费设为每手5元,主要效果如图1和图2所示:

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

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

返回首页返回首页