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