打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

    近年来,程序化交易发展愈来愈火爆,传统的程序化研究一直致力于各种成熟指标的组合,如将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所示:



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




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


 

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

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

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

  【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

想了解更多精彩文章,点击中国著名财经公众号

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
程序化交易中的蒙特卡洛算法应用
让免费的软件发出买卖信号
决策交易系统公式编程(公式优化与测试平台)
从7年的算法交易研究和发展中得到的教训
在期货交易系统中,用哪个指标做进出场信号比较靠谱?
短线投机交易系统
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服