量化策略开发流程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1Copyright2012MQSolutionsLtd.Allrightsreserved.量化策略开发流程2Copyright2012MQSolutionsLtd.Allrightsreserved.1策略开发流程2工具和学习资料3单步调试策略4策略代码编写5复盘回测6实盘运行3Copyright2012MQSolutionsLtd.Allrightsreserved.策略开发流程14Copyright2012MQSolutionsLtd.Allrightsreserved.策略要有一个简单而且坚固的道理突破趋势跟踪动量反动量均值回归…5Copyright2012MQSolutionsLtd.Allrightsreserved.有潜质策略的特点6Copyright2012MQSolutionsLtd.Allrightsreserved.7Copyright2012MQSolutionsLtd.Allrightsreserved.及格策略的标准满杠杆年化收益率30%,不能比巴菲特差收益回撤比3或者本金收益回撤比2每手盈利100越大越好不创新高天数100越小越好8Copyright2012MQSolutionsLtd.Allrightsreserved.从思想到执行9Copyright2012MQSolutionsLtd.Allrightsreserved.利润的源泉是价格波动,价格波动和心理相互影响心理投机下注波动期货的杠杆使投机者在交易中表现出来的人性弱点放大(心理强化)10Copyright2012MQSolutionsLtd.Allrightsreserved.心理很难度量借助交易中可获得的数量信息价格成交量持仓量盘口价格序列K线形态指标交叉关系…衍生推算信号11Copyright2012MQSolutionsLtd.Allrightsreserved.快速均线上穿慢速均线(趋势)价格在箱体内震荡价格在布林带里震荡价格突破20日新高(突破)价格上涨,同时成交量上涨(价量规律)价格上涨,但是成交量下跌(价量规律)公司发布利好消息,但价格下跌(信息扩散)…心理的中间产物:数学模型和市场现象(规律)12Copyright2012MQSolutionsLtd.Allrightsreserved.市场规律(价格无效,非随机)可以被清晰的描述市场规律需要的信息是可以量化,且可以直接获得,或者根据直接数据衍生计算得到市场规律输出的结构是准确的信号(买/卖/空仓==状态机)量化策略开发本质上就是利用市场规律获利简单的例子:红三兵策略连续3根阳线,做多;连续3根阴线做空;收盘前平仓;基础原理:趋势会延续心理分析:羊群效应,集体心理暗示13Copyright2012MQSolutionsLtd.Allrightsreserved.工具准备214Copyright2012MQSolutionsLtd.Allrightsreserved.开发调试监控工具VisualStudio2010MQ快期博易大师策略开发工具帮助体系MagicQuant策略开发指南DemoStrategyStrategyBoxMagicQuantAPIMagicQuant论坛MagicQuant群(233309671)15Copyright2012MQSolutionsLtd.Allrightsreserved.1.安装.NETFrameWork3.5SP12.下载MQ(群,官方网站)3.下载VS20104.下载免费的Tick数据(复盘用),通过MQ盘后下载日线和分钟线=viewthread&tid=41&extra=page%3D1=viewthread&tid=255&extra=page%3D1开发环境准备顺序16Copyright2012MQSolutionsLtd.Allrightsreserved.1.快速读一遍MQ策略开发指南,浏览DemoStrategy,掌握基本概念2.准备好策略开发环境后,跑通演示策略,熟悉软件操作3.重点理解事件概念,徒手画出事件流图4.阅读StrategyBox里面的实盘策略源码,理解常规套路写法5.对原有策略进行改造,在策略范例框架上,换成自己的策略思想6.独立开发原创策略框架学习顺序—将陡峭的学习曲线变平缓17Copyright2012MQSolutionsLtd.Allrightsreserved.通读策略开发指南,熟悉范例策略MagicQuant策略开发指南MQ核心概念(策略,Tick,Bar,事件,驱动方式)C#语法和逻辑结构(够用即可)开发(获取行情,下单,撤单)DemoStrategy熟悉适应代码风格以及常规写法从修改策略逐步向写策略进步掌握常用开发技巧(事件回报,循环遍历,字典,状态位等)18Copyright2012MQSolutionsLtd.Allrightsreserved.VisualStudio2010开发便捷功能强大智能感知快速编译断点调试19Copyright2012MQSolutionsLtd.Allrightsreserved.MagicQuant220Copyright2012MQSolutionsLtd.Allrightsreserved.参考APIStrategyOrderTradeTickBarBarSeriesFutureAccount21Copyright2012MQSolutionsLtd.Allrightsreserved.单步调试策略322Copyright2012MQSolutionsLtd.Allrightsreserved.调试方法日志调试将策略运行中的信息输出到文件或者屏幕事后调试,实时性不强,不能动态观察内存中策略变量的变化状态单步断点调试在策略运行中清晰地看到各个变量变化的过程通过断点迅速定位到出错的位置加深对策略运行过程细节的理解23Copyright2012MQSolutionsLtd.Allrightsreserved.怎么单步调试?1、附加进程2、设置断点3、启动策略24Copyright2012MQSolutionsLtd.Allrightsreserved.策略代码编写425Copyright2012MQSolutionsLtd.Allrightsreserved.复杂的逻辑是由简单的逻辑构成的26Copyright2012MQSolutionsLtd.Allrightsreserved.策略是怎么运行的?理解驱动的概念每来一个数据,策略会执行一次计算当发生事件时,策略会作出相应的反应27Copyright2012MQSolutionsLtd.Allrightsreserved.驱动和数据是不一样的驱动是策略运行的基本节奏,一个策略只有一个驱动数据可以是不同周期的,一个策略可以调用多个周期的数据GetFutureBarSeries方法获取数据28Copyright2012MQSolutionsLtd.Allrightsreserved.程序的本质是一个流程顺序流程,自上而下,一行一行走分支流程,根据条件,走不同的分支循环流程,对多个对象,按照一定的顺序逐个处理29Copyright2012MQSolutionsLtd.Allrightsreserved.条件If-elseIf-elseif循环forforeach30Copyright2012MQSolutionsLtd.Allrightsreserved.做菜的原料哪里来人工交易时的信息是看到的程序交易时的信息是程序通过特定的手段(接口)获取到的历史数据实时行情盘口掌握两个最重要的接口GetFutureBarSeriesOnTick(Ticktick)31Copyright2012MQSolutionsLtd.Allrightsreserved.Tick和Bar(K线)驱动方式TickBar32Copyright2012MQSolutionsLtd.Allrightsreserved.行情K线Tick盘口账户可用金额持仓输入信息33Copyright2012MQSolutionsLtd.Allrightsreserved.对象的属性获取信息---神奇的“点”34Copyright2012MQSolutionsLtd.Allrightsreserved.交易指令下单LimitOrder撤单CancelFutureOrder牢记概念委托和撤单都是立即返回的能否成功完成要靠回报事件35Copyright2012MQSolutionsLtd.Allrightsreserved.开发策略-空策略模板ParameterInitOnTick(Ticktick)OnBar(Barbar)Exit[Task(Time=“10:00”)]OnTradeOnOrderOnOrderRejectOnOrderCanceledOnOrderCancelFailedOnSysWarning36Copyright2012MQSolutionsLtd.Allrightsreserved.基本思路作为外汇市场上广为流行的一种突破交易策略,HANS123以其简洁的开盘后N根K线的高低点突破,作为交易信号触发的评判标准。这也是一种入场较早的交易模式,配合适当过滤技术,或可提高其胜算。主要特点:首先建立一个开盘观察区间,例如从开盘到开盘后40分钟截止,对于股指就是9:15到9:55观察区间内上轨=观察区间内的高点;下轨=观察区间内的低点;用法:当价格突破上轨,买入开仓;当价格跌穿下轨,卖出开仓。37Copyright2012MQSolutionsLtd.Allrightsreserved.核心代码publicint计算策略模块信号(){if(LastPrice=向上突破线){return1;}elseif(LastPrice=向下突破线){return-1;}else{return状态机.TargetFlag;}}38Copyright2012MQSolutionsLtd.Allrightsreserved.复盘回测539Copyright2012MQSolutionsLtd.Allrightsreserved.回测的目的策略是否可行找出最优参数健壮参数的特点(好邻居原则)好的回测的特点正确(不能得出错误的结论)快速真实还原交易场景(事件回报在复盘中也能重现)和实盘成交的匹配度高(每天用Tick数据复盘,然后和实盘逐单比对)40Copyright2012MQSolutionsLtd.Allrightsreserved.为什么复盘和实盘有差距?1实盘和复盘从理论上不可能100%一致(复盘只是近似)2不能有未来数据(大陷阱)3滑点(小陷阱)4复盘精度(Tick还是K线)41Copyright2012MQSolutionsLtd.Allrightsreserved.实际的一个结果下图比较了该策略的回溯结果与实盘交易结果,为方便比较,都归化到杠杆率为1。如图所示,两者走势细节高度吻合。实盘结果略优于复盘结果的原因是复盘时对冲击成本采用趋严的标准,导致复盘成本偏高。42Copyright2012MQSolutionsLtd.Allrightsreserved.单工程回测流程1开发策略,编译生成dll2把dll加密导入到MQ中3基于策略创建工程4配置复盘、品种、成本、参数5运行,单工程参数43Copyright2012MQSolutions

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功