量化经典 程序化交易培训总结.ppt
《量化经典 程序化交易培训总结.ppt》由会员分享,可在线阅读,更多相关《量化经典 程序化交易培训总结.ppt(119页珍藏版)》请在麦多课文档分享上搜索。
1、文华财经程序化交易,课 程 安 排,第一章 程序化交易概念,什么是程序化交易?程序化是一个交易的概念,用户可以把平时的交易思想,写成交易策略模型,让电脑去执行这些交易思想,自动下单。利用电脑的计算能力和铁面无私,提高下单的速度和效率,避免交易收到情绪的影响,理性交易。程序化也是一个研究的概念,程序化平台都提供丰富历史数据和收益、风险等多角度的模型评估算法的,用户可以在电脑的仿真交易环境下,去测试、改进策略模型,这样交易思想就可以快速成熟了,不再需要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储能力,能节省时间,节省金钱。,程序化交易需求分析,第二章 “麦语言”介绍,麦语言(My lan
2、guage)模型开发平台,赢智的“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过7年的发展,吸收几十万用户的意见反馈,一点一点完善起来的的,是一套成熟稳定的模型开发平台。 麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。 麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用。 麦语言,是国内使用人数最多的程序化模型开发平台。,第三章 模型基本结构和编写,本章学习目标:1、了解指标、模型相关
3、术语;2、熟悉模型编写的语法;3、理解模型编写的结构和编写方法。4、学习如何编写跨周期策略模型,指标、模型相关术语,模型编写的语法与操作符,模型编写的结构和编写方法,模 型 基 本 结 构,学习编写跨指标、跨周期模型,理解并规范使用技术指标,交易模型等以下名词:,公式:泛指指标、模型。没有具体指向性。指标:指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。交易信号:指指标上出现的提示投资者买卖的指示,可以是图线交叉、文字、图形。投资者需要按照信号指示去手动委托下单。交易信号也是一个技术分析范畴的概念。,交易模型:指能够发出BK、SP等交易指令,模型还包含下单方向,交易手数,止盈
4、止损等与交易、资金使用相关的参数设置。交易模型是一个交易范畴的概念。交易指令:指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。交易指令在K线图上以不同颜色和形状的箭头来代表。交易指令是一个程序化交易范畴的概念。,练习1:如何区分指标和模型,RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D;,指标,用指标监测行情: K线上穿D线,RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LO
5、W,N)*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D; /以下是加入的交易指令 CROSS(K,D),BK;/K向上穿越D,发出买开交易指令 CROSS(J,100),SP;/J向上穿越100,发出卖平交易指令 CROSS(D,K),SK;/K向下穿越D,发出卖开交易指令 CROSS(0,J),BP;/J向下穿越0,发出买平交易指令 AUTOFILTER;,模型,练习2 在K线上如何区分交易指令和交易信号,交易信号,交易指令,练习3 巩固训练,指标、模型相关术语,模型编写的语法与操作符,模型编写的结构和编写方法,模 型 基 本 结 构,1、命名
6、部分: 支持汉字、字母、数字、划线格式命名,长度控制在31字符内; 命名不能和已存在的公式名称重复。2、定义变量名称 变量名称不能相互重复; 不能与参数名重复; 不能与函数名重复。3、半角输入法的大写状态。4、每个语句应该以分号结束。,MY language 编写语法:,5、参数部分:可以设置六个参数;首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值;在定义参数时要注意的是参数名称不可以重复,12个字符内。6、运用函数语言,也就是表达你的语言:函数具有自己的表达式,运行它就需要将我们的思路,按照函数的表达式套用表述。,MY language 编写语法:,命名,参数,MA5:=MA
7、(C,5); MA10:=MA(C,10); CROSS(MA5,MA10); CROSS(MA10,MA5);,运用函数,定义变量,MY language 操作符,如何运用操作符:,A:(O+C)/2;B:CO; /判断是否收阳;满足条件返回1,否则返回0D:TIME=0910/死叉,其他:注释或者舍去想要在编写后,加入自己的语言注释,在结尾处用“/”表示;或者想舍去某段,在某段在最前端加入“/”;练习1:为函数做注释 IFELSE(C,A,B) /如果条件C成立则返回A值,否则返回B值,练习2:,定义变量: 结算价: 15周期收盘价均线(显示定义);,REF(H,1); REF(MA15,
8、1);,S:=SETTLE; MA15:MA(C,15);,衍生: 当前K线的前一个周期最高价; 当前K线的前一个周期15均线;,练习3:,5日均线上穿10日均线的同时收盘价大于20日均线,或者5日均线上穿10日均线的5个点;,MA5:=MA(C,5); MA10:=MA(C,10); MA20:=MA(C,20); A:(CROSS(MA5,MA10)总结:清晰逻辑关系,可以用“()”来表示。,指标、模型相关术语,模型编写的语法与操作符,模型编写的结构和编写方法,模 型 基 本 结 构,在编写前,需要将交易思想清晰量化后,通过语言函数编写完成。交易模型基本结构:1.定义需要的每个变量2.交易
9、条件+交易指令,MA5:=MA(C,5); MA10:=MA(C,10);CROSS(MA5,MA10),BPK; CROSS(MA10,MA5),SPK;,定义思路中涉及到的变量,交易条件,写入交易指令,模型中使用的交易指令,练习编写1: 关键字:反手指令,均线上穿平空做多,均线下穿平多做空;,MA5:MA(C,5); MA10:MA(C,10); CROSS(MA5,MA10),BPK; CROSS(MA10,MA5),SPK;,具体细化思路: 5日均线上穿10日均线,平空做多; 5日均线下穿10日均线,平多做空;,练习编写2: 关键字:日内模型,日内交易:均线上穿平空做多,均线下穿平多做
10、空;,CROSS(MA5,MA10),具体细化思路: 3分钟周期 5日均线上穿10日均线,平空做多; 5日均线下穿10日均线,平多做空;,解读常用函数:,DATEREF(DATE,1)/今天第一根K线VALUEWHEN(DATEREF(DATE,1),O);/当天开盘价VALUEWHEN(TIME=1030,O);/10点半那根K线的开盘价昨天的收盘价? VALUEWHEN(DATEREF(DATE,1),REF(C,1);,CBKPRICE+50*MD;/最新价大于买开仓价位的50个点HHV(H,BARSBK+1);/开仓到目前为止最高价N:=BARSLAST(DATEREF(DATE,1)
11、+1;/今天开盘到目前为止的周期数 HH:HHV(H,N);/开盘到目前为止的最高价昨天开盘的最高价? 表达式一:REF(HH,N); 表达式二:VALUEWHEN(DATEREF(DATE,1),REF(HH,1);,模型编写扩展:学习跨周期模型的编写原理和编写步骤。,跨周期函数介绍,引用某品种在某个周期上加载了某个指标的数据。 用法:#IMPORT CODE, PERIOD, FORMULA AS VAR 引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR 定义变量名,跨周期跨合约模型的编
12、写规则,1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期 4.被引用的指标中不能存在引用 5.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb1201 6.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外的名称。,跨周期跨合约模型的编写思路及案例,1.同一合约不同周期调用 示范12.同一合约不同周期调用 示范23.不同合约之间的数据调用,例1 同一合约不同周期的数据调用 要求,当日均线出现多头排列时, 5分钟KD线金叉,做多。 当
13、日均线出现空头排列时, 5分钟KD线死叉,做空。,例1:,先建立一个指标 名称AAA MA5:=MA(C,5); MA10:=MA(C,10); MA30:=MA(C,30); 再建立你的模型 #IMPORT , DAY,AAA AS VAR DM5:=VAR.MA5; DM10:=VAR.MA10; DM30:=VAR.MA40; RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D; DM5DM10,30分钟周期上,当前面一根MA5大于MA10,并且5分钟周
14、期上,MA5上穿MA10,做多。 30分钟周期上,当前面一根MA5大于MA10,并且5分钟周期上,MA5下穿MA10,做空。 尾盘平仓重点:引用大周期的前期数据怎么表达,例2 同一合约不同周期的数据调用 要求,例2,先建立一个指标 名称AAA RMA5:=REF(MA(C,5),1); RMA10:=REF(MA(C,10),1);再建立你的模型 #IMPORT , MIN30 ,AAA AS VAR DM5:=VAR.RMA5; DM10:=VAR.RMA10; MA5:=MA(C,5); MA10:=MA(C,10); DM5DM10,当沪胶指数价格破20日新高,橡胶1201的MA5MA1
15、0,做多。当沪胶指数价格破20日新低,橡胶1201的MA5MA10,做空。,例3 不同合约的数据调用 要求,例3:,先建立一个指标 名称AAA H20:=HHV(H,20); L20:=LLV(L,20); A:=CREF(H20,1); B:=CMA10,BPK; DL20,总结,1.注意跨周期函数的空格 、是否有分号结尾 2.编写时引用大周期的前期数据或者形态分析时,尽量在大周期源码中先实现。 3.引用其他合约时注意填写文华码 4.数据不足时,请先申请数据在进行加载。 5.可以引用的周期长度,和该合约的一分钟数据长度相当。,练习,使用跨周期函数编写一个套利模型,第四章 资金管理和止损的策略
16、模型,学习目的:掌握如何将交易资金管理和风险控制的理念融合进程序化麦语言的编写中,课程内容,头寸函数函数介绍 资金管理,止盈止损模型的编写思路及案例 使用资金管理,止盈止损模型需要注意的问题,头寸函数函数介绍,一、资金管理模型的编写思路及案例,利用头寸函数实现对仓位的加减。,例1,加仓模型,A:=多头开仓条件; A1:=多头加仓条件; B:=空头交易条件; B1:=空头加仓条件; D:=多头平仓条件; E:=空头平仓条件;A ,注意,交易时要考虑前一信号方向防止锁仓。,减仓模型,A:=多头开仓条件; B:=空头开仓条件; E1:=多头平仓条件1; E2:=多头平仓条件2; F1:=空头平仓条
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 量化 经典 程序化 交易 培训 总结 PPT
