文华程序化交易的资金管理1课件_第1页
文华程序化交易的资金管理1课件_第2页
文华程序化交易的资金管理1课件_第3页
文华程序化交易的资金管理1课件_第4页
文华程序化交易的资金管理1课件_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 安 排第一章 程序化交易概念什么是程序化交易? 程序化是一个交易的概念,用户可以把平时的交易思想,写成交易策略模型,让电脑去执行这些交易思想,自动下单。利用电脑的计算能力和铁面无私,提高下单的速度和效率,避免交易收到情绪的影响,理性交易。 程序化也是一个研究的概念,程序化平台都提供丰富历史数据和收益、风险等多角度的模型评估算法的,用户可以在电脑的仿真交易环境下,去测试、改进策略模型,这样交易思想就可以快速成熟了,不再需要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储能力,能节省时间,节省金钱。程序化交易需求分析第二章 “麦语言”介绍麦语言(My language)模型开发平台

2、赢智的“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过7年的发展,吸收几十万用户的意见反馈,一点一点完善起来的的,是一套成熟稳定的模型开发平台。 麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。 麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用。 麦语言,是国内使用人数最多的程序化模型开发平台。 第三章 模型基本结构和编写本章学习目标: 1、了解指标、模型相关术语; 2、熟悉模型编写的

3、语法; 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(LOW,N)*100;K:SMA(RSV,M1

5、,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、命名部分:支持汉字、字母、数字、划线格式命名,长度控制在31字符内;命名不能和已存在

6、的公式名称重复。2、定义变量名称变量名称不能相互重复;不能与参数名重复;不能与函数名重复。3、半角输入法的大写状态。4、每个语句应该以分号结束。MY language 编写语法:5、参数部分: 可以设置六个参数; 首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值; 在定义参数时要注意的是参数名称不可以重复,12个字符内。6、运用函数语言,也就是表达你的语言: 函数具有自己的表达式,运行它就需要将我们的思路,按照函数的表达式套用表述。MY language 编写语法:命名参数MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10);CROSS(MA10

7、,MA5);运用函数定义变量MY language 操作符如何运用操作符:A:(O+C)/2;B:CO; /判断是否收阳;满足条件返回1,否则返回0D:TIME=0910&CO; /用于多条件逻辑关系MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10);/金叉CROSS(MA10,MA5);/死叉其他:注释或者舍去 想要在编写后,加入自己的语言注释,在结尾处用“/”表示;或者想舍去某段,在某段在最前端加入“/”;练习1:为函数做注释IFELSE(C,A,B)/如果条件C成立则返回A值,否则返回B值练习2:定义变量:结算价:15周期收盘价均线(显示定义);REF

8、(H,1);REF(MA15,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)&CMA20)|CROSS(MA5,MA10+5*MD);总结:清晰逻辑关系,可以用“()”来表示。指标、模型相关术语模型编写的语法与操作符模型编写的结构和编写方法模 型 基 本 结 构 在编写前,需要将交易思想清晰量化后,通过语言

9、函数编写完成。交易模型基本结构:1.定义需要的每个变量2.交易条件+交易指令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)&TIME=0900&TIME=1457,SP;CROSS(MA10,MA5)&TIME=0900&TIME=1457,BP;具体细化思路: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;/最新价

11、大于买开仓价位的50个点HHV(H,BARSBK+1);/开仓到目前为止最高价N:=BARSLAST(DATEREF(DATE,1)+1;/今天开盘到目前为止的周期数HH:HHV(H,N);/开盘到目前为止的最高价 昨天开盘的最高价?表达式一:REF(HH,N);表达式二:VALUEWHEN(DATEREF(DATE,1),REF(HH,1);模型编写扩展:学习跨周期模型的编写原理和编写步骤。跨周期函数介绍引用某品种在某个周期上加载了某个指标的数据。用法:#IMPORT CODE, PERIOD, FORMULA AS VAR引用 CODE 所对应的合约 PERIOD 周期下指标 FORMUL

12、A 的数据。CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR 定义变量名跨周期跨合约模型的编写规则1.只能引用 .FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期4.被引用的指标中不能存在引用5.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb12016.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外的名称。跨周期跨合约模型的编写思路及案例1.同一合约不同周期调用 示范12.同一合约不同周期调用 示范23.不同合约之间的

13、数据调用 例1 同一合约不同周期的数据调用要求当日均线出现多头排列时, 5分钟KD线金叉,做多。当日均线出现空头排列时, 5分钟KD线死叉,做空。例1:先建立一个指标 名称AAAMA5:=MA(C,5);MA10:=MA(C,10);MA30:=MA(C,30);再建立你的模型#IMPORT , DAY,AAA AS VARDM5:=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;DM5

14、DM10&DM10DM30&CROSS(K,D),BPK;DM5DM10&DM10DM10&CROSS(MA5,MA10)&TIME1450,BK(DM5=1450,SP;DM5DM10&CROSS(MA10,MA5)&TIMEDM10&CROSS(MA5,MA10)|TIME=1450,BP;AUTOFILTER;当沪胶指数价格破20日新高,橡胶1201的MA5MA10,做多。当沪胶指数价格破20日新低,橡胶1201的MA5REF(H20,1);B:=CMA10,BPK;DL20&MA52 & A1 & ISLASTBK , BK(1);SELLVOL2 & B 1& ISLASTSK ,

15、SK(1);D & ISLASTBK,SP(BUYVOL);E & ISLASTSK,BP(SELLVOL);注意,交易时要考虑前一信号方向防止锁仓。减仓模型A:=多头开仓条件;B:=空头开仓条件;E1:=多头平仓条件1; E2:=多头平仓条件2;F1:=空头平仓条 1; F2:=空头平仓条件2;A ,BK;B ,SK;E1 & ISLASTBK,SP(BUYVOL/2);E2 & ISLASTSP&BUYVOL0,SP(BUYVOL);F1 & ISLASTSK,BP(3);F 2& ISLASTBP&SELLVOL0,BP(SELLVOL);例2:对交易资金的管理/过滤模型每次下单使用当时

16、资金的20%SETDEALPERCENT(20);DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);DEA:=EMA(DIFF,9);DIFF0&DEA0&CROSS(DEA,DIFF),SK;DIFF0&DEA0&DEA0&CROSS(DIFF,DEA),BK;DIFF0&DEA0&CROSS(DEA,DIFF),SP;AUTOFILTER;10日均线之上开多仓(开仓资金可用资金20%),价格每上涨10%止盈平仓50%仓位,上涨20%止盈全部仓位。跌破5日线止损。N为合约单位 MA10:=MA(C,10);MA5:=MA(C,5);CROSS(C,MA10),BK(MO

17、NEY*0.2/(N*C*MARGIN);CROSS(C,BKPRICE*1.1),SP(BUYVOL*0.5);CROSS(C,BKPRICE*1.2),SP(BUYVOL);CROSS(MA5,C),SP(BUYVOL);/非过滤模型收盘价上穿5周期均线,买开仓。收盘价连续2根站上5周期均线,且K线收阳,加仓1手。收盘价下穿5周期均线,卖开仓。收盘价连续2根小于5周期均线,且K线收阴,加仓1手。MA5:=MA(C,5);CROSS(C,MA5,)&NOT(ISLASTBK|ISLASTSK),BK(2);CROSS(MA5,C)&NOT(ISLASTBK|ISLASTSK),SK(2);E

18、VERY(CMA5,2)&ISUP&ISLASTBK,BK(1);EVERY(CMA5,2)&ISDOWN&ISLASTSK,SK(1);平多条件&ISLASTBK,SP(BUYVOL);平空条件&ISLASTSK,BP(SELLVOL);(编写练习加仓) 二、 止盈止损模型的编写思路及案例例1:限价止损、限价止盈模型A:=多头交易条件;B:=空头交易条件;E:=多头平仓条件;F:=空头平仓条件;A,BK;E|C=BKPRICE+150,SP;B,SK;F|C=SKPRICE+100|CMA1,BK; (C=BKPRICE&C=HH-N*(HH-BKPRICE), SP; 例2:回撤止损止盈模

19、型使用资金管理,止盈止损模型需要注意的问题编写加减仓位时要注意对信号的判断。(避免锁仓)动态止损如果涉及到步长,要注意止损价位的变化和步长的相关度。大豆1205合约:低于买开仓价10个点差,多头止损;高于买开仓价20个点差,多头止赢;高于卖开仓价10个点差,空头止损;低于卖开仓价20个点差,空头止赢;A:=MINPRICE(A1205);多头开仓条件,BK;(C=BKPRICE+TP*A)&BKPRICE0,SP;空头开仓条件,SK;(C=SKPRICE+SL*A|C0,BP;/止损点差为SL,止赢点差为TP(编写练习限价止损止盈模型)第五章 多维模型评估多维的效果测试功能第六章 日内高频模型

20、课程内容日内高频函数介绍日内模型的编写思路及案例使用日内模型需要注意的问题日内高频函数介绍引用盘口数据:挂单数据和成交数据引用数据类型:TICK数据和秒周期数据挂单数据L2_BID1 取买一价 L2_BIDVOL1 取买一量 L2_BID2 取买二价 L2_BIDVOL2 取买二量L2_BID3 取买三价 L2_BIDVOL3 取买三量L2_BID4 取买四价 L2_BIDVOL4 取买四量L2_BID5 取买五价 L2_BIDVOL5 取买五量注:K线图和TICK都可以使用挂单数据L2_ASK1 取卖一价 L2_ASKVOL1 取卖一量 L2_ASK2 取卖二价 L2_ASKVOL2 取卖二

21、量L2_ASK3 取卖三价 L2_ASKVOL3 取卖三量L2_ASK4 取卖四价 L2_ASKVOL4 取卖四量L2_ASK5 取卖五价 L2_ASKVOL5 取卖五量注:K线图和TICK都可以使用挂单数据ASKBIGVOLPRICE: 返回TICK图中该笔Tick 盘口满足大单条件的与最新价的最近价格BIDBIGVOLPRICE: 返回TICK图中该笔Tick 盘口满足大单条件的与最新价的最近价格CALVOLPRICELIS: TICK图中初始化盘口大单价格表,主要在 BIDBIGVOLPRICE 与ASKBIGVOLPRICE 前使用,提供初始化注:仅限TICK使用函数解释1、ASKBI

22、GVOLPRICE、 BIDBIGVOLPRICE最近大单价格 大单:自动或手动定义2、 CALVOLPRICELIST :TICK图中初始化盘口大单价格表 初始化五档或者五档之外大单列表,供提取成交数据L2_PRICE: 返回TICK图中该笔TICK的成交价。L2_VOLUME: 返回TICK图中该笔TICK的成交量。注:仅限TICK使用成交数据L2_SETBIGVOL( nVol )设置大单成交手数阈值,成交手数大于nVol的为大单注:1、仅限秒周期使用 2、定义下面红色字体函数的大单算法成交数据L2_BKVOL 返回当前秒周期买开的成交量L2_SKVOL 返回当前秒周期卖开的成交量L2_

23、BPVOL 返回当前秒周期买平的成交量L2_SPVOL 返回当前秒周期卖平的成交量L2_BKBIGCOUNT 返回当前秒周期买开的大单成交次数L2_SKBIGCOUNT 返回当前秒周期卖开的大单成交次数L2_BPBIGCOUNT 返回当前秒周期买平的大单成交次数L2_SPBIGCOUNT 返回当前秒周期卖平的大单成交次数L2_BKBIGTOTVOL 返回当前秒周期买开的大单成交量L2_SKBIGTOTVOL 返回当前秒周期卖开的大单成交量L2_BPBIGTOTVOL 返回当前秒周期买平的大单成交量L2_SPBIGTOTVOL 返回当前秒周期卖平的大单成交量注:仅限秒周期使用成交数据L2_BIDVOL 返回当前秒周期主动买的成交量L2_ASKVOL 返回当前秒周期主动卖的成交量L2_BIDBIGCOUNT 返回当前秒周期主动买的大单成交次数L2_ASKBIGCOUNT 返回当前秒周期主动卖的大单成交次数L2_BIDBIGTOTVOL 返回当前秒周期主动买的大单成交量L2_ASKBIGTOTVOL 返回当前秒周期主动卖的大单成交量注:仅限秒周期使用小节 引用函数,相对比较简单,直接将函数写进相应的语句,函数即代表其本身所表示的数值。日内模型的编写思路及案例买卖人

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论