量化交易简介 俸旻
发现:一年之中总有三十多天股指期货价格波动率超过3% WHAT – 什么是量化交易? 发现:一年之中总有三十多天股指期货价格波动率超过3% 一个想法:我要在波动率大的天判断好方向并加大仓位!在其余天呢,控制亏损! 我打开我的电脑,进行无数次的测试、研究、测试、研究……
WHAT – 什么是量化交易? 直到……
WHAT – 什么是量化交易? + + 金融 统计 计算机 + + 金融 统计 计算机 量化投资是金融理论、数学方法和计算机高性能数据处理的有机结合,是在大量的统计研究基础上,充分运用科学的工程化方法判断资产价格在某种状态下的大概率发展方向,进而确定投资方向和投资规模的投资方式,追求持续稳定的盈利!
WHAT – 量化交易特点 模型化、程序化 易于风险控制 相对易于检验 避免心理干扰
WHY –量化交易的三件武器 大数定理
WHY –量化交易的三件武器 交易科技:快! 快速信息处理 快速成交订单
WHY –量化交易的三件武器 跨市场交易 资金使用效率 风险分散 Russia Canada China Germany Japan United Kingdom Germany India Canada United States of America Mexico 跨市场交易 资金使用效率 风险分散
HOW -如何评估量化交易策略? 技术指标 夏普比率 b) 最大回撤 收益 风险
HOW -如何评估量化交易策略? 科学研究方法 交易成本? 过度拟合?
HOW -如何评估量化交易策略? 人
WHO – 谁在做量化交易? “实验物理学家” 数学 计算机 物理 金融
CASE 1 – 高频交易 高频交易 高频率 高夏普比 低手续费 低容量 结合市场微观进行统计分析,构建策略 4X
CASE 2 – 统计套利 (Alpha 套利) 年份 万元回报率 回报率 标准差 信息比率 最大回撤率 Beta 收益风险比 2009 1000 31.50% 58.2 5.544 1.40% 0.004 22.50 2010 28% 68.1 4.093 2.60% 0.028 11.7 2011 16.2% 43.9 3.636 1.30% 0.048 7.8 2012 19.7% 45.2 4.315 1.19% 0.07 8.2
总体流程
选择策略 时间投入: 自动化程度高不高,是否有充足的时间,决定了是选择全天候盯盘策略抑或让其完全自动化运行的策略。 编程能力:如果能够熟练实用软件,比如java,vba,c以及c++等,可以尝试高频交易,完全程序自动化运行,自动接收数据,自动开仓,自行平仓。 资金量:如果要进行量化交易最好>$50,000,国内而言>50万比较适合;另外在最低限度之上,小资金与大资金需要选择不同的策略。 投资目标:确定是需要短期盈利抑或追求长期的最大收益,这个决定了是进行日内交易抑或日间交易。 策略寻找 绩效考核 问题 策略实例
绩效考核 1. 夏普比率:一种特殊形式的信息比率,选取无风险利率为基准收益率,每一单位的风险所能获得的超额收益。 Industry 问题 策略寻找 Industry 绩效考核 问题 策略实例
绩效考核 2. 最大资金回撤:是衡量投资模型或交易系统的重要风险指标。 最大衰落幅度是指一段时期内累计收益曲线从最高到最低点的差的最大值。 经验:一年内保持在10%左右较好。 最长衰落期是指从一个低峰到下一个新顶峰的最长周期,它衡量恢复速度,也就是在一段损失期之后需要多长时间才能重新站上新的高点。 最大回撤主要有两种:一种是历史回溯后的最大回撤,一种是对未来的预期最大回撤。历史最大回撤就是在某个时间段上,收益率最低的那个数值;对未来的预期最大回撤,就是在某个置信区间下,未来最大回撤的值是多少。 策略寻找 Industry 绩效考核 问题 策略实例
绩效考核 策略寻找 Industry 绩效考核 问题 策略实例
可能出现的问题 1. 忽略交易成本 在期货交易中,交易成本是必须要考虑的, 有些策略在没有交易成本的情况下,是正收益,而在考虑交易成本的时候,收益率瞬间转负。(上图未计算交易成本,下图计算了交易成本) 策略寻找 绩效考核 问题 策略实例
可能出现的问题 2. 过度拟合 过度拟合意味着在进行回测时使用了过多的参数,虽然在回测时可以得到很好的结果,但是在实盘交易时,却并不可行,因为其结构过于复杂,与样本数据少有不同,则无法得到理想的结果。 策略寻找 绩效考核 问题 策略实例 左边为回测数据样本,右边为另一数据样本,效果明显变差
量化交易系统1.0:对交易系统的需求 即可以回测,又可以快速实盘 可以任意扩展指标/信号 可以定义自己的交易执行策略 可以同时处理多个合约、多个策略、多个账户
灵活地进行回测、纸面交易、实盘交易 行情类 IMarketDataReader 数据监听和处理类 CDataSniffer 交易和订单管理类 ITrader OnRtnDepthMarketData --接收行情,调用PushData将数据和Tick信息存入共享内存。 //可灵活对接历史行情或者实盘行情 Execute --检查订单状态更新,调用策略执行过程;检查新数据,调用指标运算和策略执行。 ReqOrderInsert --下单 ReqOrderCancel --撤单 //可灵活对接纸面交易或者实盘交易 CMAIndex 实时动作类ITimeAction CEMAIndex 指标计算类 IIndexCalculator DoAction --根据合约和Tick信息执行操作 CRSIIndex CKLine 交易策略类 ITradingStrategy 执行策略类 IExecutionStrategy
灵活地进行回测、纸面交易、实盘交易 历史行情 实盘行情 纸面交易 回测 实盘纸面 实盘交易 ----- IMarketDataReader 行情数据读取 ITrader 交易实体 历史行情 实盘行情 纸面交易 回测 实盘纸面 实盘交易 ----- FileDataReader 文本数据 PaperTrader 纸面交易 CTPMarketDataReader CTP数据 CTPTrader CTP交易 通过统一的行情数据适配器来组装历史行情或者实盘行情;通过统一的交易接口适配器来组织纸面交易和实盘交易;它们的组合即可完成回测、纸面交易、实盘交易。
可以任意扩展指标/信号 行情类 IMarketDataReader 数据监听和处理类 CDataSniffer 交易和订单管理类 ITrader OnRtnDepthMarketData --接收行情,调用PushData将数据和Tick信息存入共享内存。 //可灵活对接历史行情或者实盘行情 Execute --检查订单状态更新,调用策略执行过程;检查新数据,调用指标运算和策略执行。 ReqOrderInsert --下单 ReqOrderCancel --撤单 //可灵活对接纸面交易或者实盘交易 CMAIndex 实时动作类ITimeAction CEMAIndex 指标计算类 IIndexCalculator DoAction --根据合约和Tick信息执行操作 CRSIIndex CKLine 交易策略类 ITradingStrategy 执行策略类 IExecutionStrategy
指标运算和交易策略的分离 行情类 IMarketDataReader 数据监听和处理类 CDataSniffer 交易和订单管理类 ITrader OnRtnDepthMarketData --接收行情,调用PushData将数据和Tick信息存入共享内存。 //可灵活对接历史行情或者实盘行情 Execute --检查订单状态更新,调用策略执行过程;检查新数据,调用指标运算和策略执行。 ReqOrderInsert --下单 ReqOrderCancel --撤单 //可灵活对接纸面交易或者实盘交易 CMAIndex 实时动作类ITimeAction CEMAIndex 指标计算类 IIndexCalculator DoAction --根据合约和Tick信息执行操作 CRSIIndex CKLine 交易策略类 ITradingStrategy 执行策略类 IExecutionStrategy
指标运算和交易策略的分离 避免策略业务逻辑的复杂化 避免多账户使用同一策略时的指标重复计算
交易策略与执行策略的分离 行情类 IMarketDataReader 数据监听和处理类 CDataSniffer 交易和订单管理类 ITrader OnRtnDepthMarketData --接收行情,调用PushData将数据和Tick信息存入共享内存。 //可灵活对接历史行情或者实盘行情 Execute --检查订单状态更新,调用策略执行过程;检查新数据,调用指标运算和策略执行。 ReqOrderInsert --下单 ReqOrderCancel --撤单 //可灵活对接纸面交易或者实盘交易 CMAIndex 实时动作类ITimeAction CEMAIndex 指标计算类 IIndexCalculator DoAction --根据合约和Tick信息执行操作 CRSIIndex CKLine 交易策略类 ITradingStrategy 执行策略类 IExecutionStrategy
交易策略与执行策略的分离 什么是执行策略? 什么是交易策略? 仓位调整的执行过程以及订单成交状况的处理,例如是否使用拆单,在 多长时间没有完全成交时的处理等 什么是交易策略? 确定出入场的条件,以及条件触发后的执行策略。 交易策略与执行策略的分析使得交易策略业务逻辑简单化;避免了 复杂的订单状态处理过程。
一个可行的架构
量化交易系统2.0:系统化地做研究 量化交易:以大数定律的方式挣钱 传统方法: 信号系统(多数量化基金的研发系统) 主信号+约束条件 过度拟合 信号系统(多数量化基金的研发系统) 信号测试 信号组合 风险模型 投资组合
量化交易系统2.0:系统化地做研究
Welcome to the QUANT world! 欢迎大家来到“矿”工的世界!