欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    文华财经-程序化交易培训.ppt

    • 资源ID:5059105       资源大小:1.19MB        全文页数:119页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    文华财经-程序化交易培训.ppt

    文华财经程序化交易,课 程 安 排,第一章 程序化交易概念,什么是程序化交易?程序化是一个交易的概念,用户可以把平时的交易思想,写成交易策略模型,让电脑去执行这些交易思想,自动下单。利用电脑的计算能力和铁面无私,提高下单的速度和效率,避免交易收到情绪的影响,理性交易。程序化也是一个研究的概念,程序化平台都提供丰富历史数据和收益、风险等多角度的模型评估算法的,用户可以在电脑的仿真交易环境下,去测试、改进策略模型,这样交易思想就可以快速成熟了,不再需要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储能力,能节省时间,节省金钱。,程序化交易需求分析,第二章“麦语言”介绍,麦语言(My language)模型开发平台,赢智的“麦语言”源于2004年文华推出的国内第一套程序化函数库,经过7年的发展,吸收几十万用户的意见反馈,一点一点完善起来的的,是一套成熟稳定的模型开发平台。麦语言倡导的是积木式的编程理念,把复杂算法封装到一个个的函数里,采用“小语法,大函数”的构建模式。语法虽然简单,但是配合专门的程序化数据结构,配合丰富的金融统计函数库,同样可以支持逻辑复杂的金融应用。麦语言的函数库,是经常更新的,根据客户的新要求随时添加新函数,来支持编程者的交易新思想和新应用。麦语言,是国内使用人数最多的程序化模型开发平台。,第三章 模型基本结构和编写,本章学习目标:1、了解指标、模型相关术语;2、熟悉模型编写的语法;3、理解模型编写的结构和编写方法。4、学习如何编写跨周期策略模型,指标、模型相关术语,模型编写的语法与操作符,模型编写的结构和编写方法,模 型 基 本 结 构,学习编写跨指标、跨周期模型,理解并规范使用技术指标,交易模型等以下名词:,公式:泛指指标、模型。没有具体指向性。指标:指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。交易信号:指指标上出现的提示投资者买卖的指示,可以是图线交叉、文字、图形。投资者需要按照信号指示去手动委托下单。交易信号也是一个技术分析范畴的概念。,交易模型:指能够发出BK、SP等交易指令,模型还包含下单方向,交易手数,止盈止损等与交易、资金使用相关的参数设置。交易模型是一个交易范畴的概念。交易指令:指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。交易指令在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,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字符内;命名不能和已存在的公式名称重复。2、定义变量名称变量名称不能相互重复;不能与参数名重复;不能与函数名重复。3、半角输入法的大写状态。4、每个语句应该以分号结束。,MY language 编写语法:,5、参数部分:可以设置六个参数;首先是参数名称,然后是参数的最小值,最大值,最后是参数的默认值;在定义参数时要注意的是参数名称不可以重复,12个字符内。6、运用函数语言,也就是表达你的语言:函数具有自己的表达式,运行它就需要将我们的思路,按照函数的表达式套用表述。,MY language 编写语法:,命名,参数,MA5:=MA(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,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.交易条件+交易指令,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:关键字:日内模型,日内交易:均线上穿平空做多,均线下穿平多做空;,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)+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 定义变量名,跨周期跨合约模型的编写规则,1.只能引用.FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期4.被引用的指标中不能存在引用5.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb12016.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外的名称。,跨周期跨合约模型的编写思路及案例,1.同一合约不同周期调用 示范12.同一合约不同周期调用 示范23.不同合约之间的数据调用,例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;DM5DM10,30分钟周期上,当前面一根MA5大于MA10,并且5分钟周期上,MA5上穿MA10,做多。30分钟周期上,当前面一根MA5大于MA10,并且5分钟周期上,MA5下穿MA10,做空。尾盘平仓重点:引用大周期的前期数据怎么表达,例2 同一合约不同周期的数据调用要求,例2,先建立一个指标 名称AAARMA5:=REF(MA(C,5),1);RMA10:=REF(MA(C,10),1);再建立你的模型#IMPORT,MIN30,AAA AS VARDM5:=VAR.RMA5;DM10:=VAR.RMA10;MA5:=MA(C,5);MA10:=MA(C,10);DM5DM10,当沪胶指数价格破20日新高,橡胶1201的MA5MA10,做多。当沪胶指数价格破20日新低,橡胶1201的MA5MA10,做空。,例3 不同合约的数据调用要求,例3:,先建立一个指标 名称AAAH20:=HHV(H,20);L20:=LLV(L,20);A:=CREF(H20,1);B:=CMA10,BPK;DL20,总结,1.注意跨周期函数的空格、是否有分号结尾2.编写时引用大周期的前期数据或者形态分析时,尽量在大周期源码中先实现。3.引用其他合约时注意填写文华码4.数据不足时,请先申请数据在进行加载。5.可以引用的周期长度,和该合约的一分钟数据长度相当。,练习,使用跨周期函数编写一个套利模型,第四章 资金管理和止损的策略模型,学习目的:掌握如何将交易资金管理和风险控制的理念融合进程序化麦语言的编写中,课程内容,头寸函数函数介绍资金管理,止盈止损模型的编写思路及案例使用资金管理,止盈止损模型需要注意的问题,头寸函数函数介绍,一、资金管理模型的编写思路及案例,利用头寸函数实现对仓位的加减。,例1,加仓模型,A:=多头开仓条件;A1:=多头加仓条件;B:=空头交易条件;B1:=空头加仓条件;D:=多头平仓条件;E:=空头平仓条件;A,注意,交易时要考虑前一信号方向防止锁仓。,减仓模型,A:=多头开仓条件;B:=空头开仓条件;E1:=多头平仓条件1;E2:=多头平仓条件2;F1:=空头平仓条 1;F2:=空头平仓条件2;A,BK;B,SK;E1,例2:对交易资金的管理/过滤模型,每次下单使用当时资金的20%SETDEALPERCENT(20);DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIFF,9);DIFF0,10日均线之上开多仓(开仓资金可用资金20%),价格每上涨10%止盈平仓50%仓位,上涨20%止盈全部仓位。跌破5日线止损。N为合约单位 MA10:=MA(C,10);MA5:=MA(C,5);CROSS(C,MA10),BK(MONEY*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,),(编写练习加仓),二、止盈止损模型的编写思路及案例,例1:限价止损、限价止盈模型,A:=多头交易条件;B:=空头交易条件;E:=多头平仓条件;F:=空头平仓条件;A,BK;E|C=BKPRICE+150,SP;B,SK;F|C=SKPRICE+100|C=SKPRICE-150,BP;AUTOFILTER;,收盘价大于5周期均线,买开仓。收盘价小于5周期均线,平多仓。收盘价从高点回调30%,止盈。N:=0.3;/定义回撤幅度MA1:=MA(C,5);/5周期均线HH:=HHV(H,BARSBK+1);/取自开仓K线到现在的最高价CMA1,BK;(C=BKPRICE,例2:回撤止损止盈模型,使用资金管理,止盈止损模型需要注意的问题编写加减仓位时要注意对信号的判断。(避免锁仓)动态止损如果涉及到步长,要注意止损价位的变化和步长的相关度。,大豆1205合约:低于买开仓价10个点差,多头止损;高于买开仓价20个点差,多头止赢;高于卖开仓价10个点差,空头止损;低于卖开仓价20个点差,空头止赢;A:=MINPRICE(A1205);多头开仓条件,BK;(C=BKPRICE+TP*A)/止损点差为SL,止赢点差为TP,(编写练习限价止损止盈模型),第五章 多维模型评估,多维的效果测试功能,第六章 日内高频模型,课程内容,日内高频函数介绍日内模型的编写思路及案例使用日内模型需要注意的问题,日内高频函数介绍,引用盘口数据:挂单数据和成交数据引用数据类型: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 取卖二量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、ASKBIGVOLPRICE、BIDBIGVOLPRICE最近大单价格 大单:自动或手动定义2、CALVOLPRICELIST:TICK图中初始化盘口大单价格表 初始化五档或者五档之外大单列表,供提取,成交数据,L2_PRICE:返回TICK图中该笔TICK的成交价。L2_VOLUME:返回TICK图中该笔TICK的成交量。注:仅限TICK使用,成交数据,L2_SETBIGVOL(nVol)设置大单成交手数阈值,成交手数大于nVol的为大单注:1、仅限秒周期使用 2、定义下面红色字体函数的大单算法,成交数据,L2_BKVOL 返回当前秒周期买开的成交量L2_SKVOL 返回当前秒周期卖开的成交量L2_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,A:=L2_BIDVOL1+L2_BIDVOL2+L2_BIDVOL3;/定义买盘前3档总量B:=L2_ASKVOL1+L2_ASKVOL2+L2_ASKVOL3;/定义卖盘前3档总量D:A-B;CROSS(D,0)/连续2个周期卖量不断增加且前一个指令是买开仓,则平1手多单;,大单跟踪型,根据大单累计或者大单变化方向预判价格即将发展的方向入场.可能用到的函数:主动买卖大单成交次数、买卖开平大单成交次数等,例2,L2_SETBIGVOL(20);/定义大单,成交超过20手为大单EVERY(L2_BIDBIGCOUNTL2_ASKBIGCOUNT,3),BPK;/三个周期内,主动买大单成交次数一直大于主动卖成交次数,做多EVERY(L2_BIDBIGCOUNTL2_ASKBIGCOUNT,3),SPK;/三个周期内,主动买大单成交次数一直小于主动卖成交次数,做空AUTOFILTER;,使用日内模型需要注意的问题,1、日内平仓2、手续费3、滑点4、信号忽闪,第七章 下单组件编写,什么是下单组件,下单组件的作用,下单组件如何编写,基本语法,一、变量的定义及赋值:,VAR N1;/定义变量N1VAR N2;/定义变量N2VAR N3;/定义变量N3N1=3000;/整型赋值N2=88.888;/浮点型赋值N3=“股指期货”;/字符串型赋值,基本语法,二、函数的定义:,VOID MAIN()/定义主函数,VAR BKDEAL()/带返回值的函数RETURN(10)/返回值,VOID BKDEAL()/不带返回值函数,VAR N;/定义变量NVOID MAIN()/定义主函数N=“文华财经”;/对N赋值MessageOut(N);/输出N,主函数:,VAR BKDEAL(A,B)/带返回值的函数VAR C;/定义变量CC=(A+B)/2;RETURN(C)/返回值 D=BKDEAL(15,20);/使用函数,带返回值的函数:,不带返回值的函数:,VOID BKDEAL()/不带返回值函数T_Deal(“IF1108”,0,0,1,0);IF()/当条件成立BKDEAL()/运行函数,下单组件包括的系统函数,函数简介,三、常用函数判断,IF(F_Sig()=BK)/如果当前是BK信号 BKDeal();/运行开多仓函数ELSE IF(F_Sig()=SK)/如果当前是SK信号 SKDeal();/运行开空仓函数,函数简介,三、常用函数信号,IF(F_FreshSig()=1&F_SigValid()=1)/如果是没有消失的新信号 IF(F_Sig()=BK)/如果当前是BK信号,函数简介,三、常用函数委托,T_Deal(Code,bs,kp,vol,price)T_AddBuyOpiTo(Code,Price,Vol)T_AddSellOpiTo(Code,Price,Vol)T_ReduceBuyOpiTo(Code,Price,Vol)T_ReduceSellOpiTo(Code,Price,Vol)Code=F_DealCode(),函数简介,三、常用函数注册,A=ReadGlobal(“AA”);/读取A=A+1;/计算WriteGlobal(“AA”,A);/更新,“AA”,读取,注册,函数简介,三、常用函数输出,MessageOut(3000);/输出数值MessageOut(“成交”);/输出文字MessageOut(N);/输出变量,策略,回撤平仓:1、程序化或手动开仓做多。2、盈利从最高点回撤N个点位以后,自动平仓。,编写流程,VAR P;/定义当前价格VAR HH;/定义波段最高价VAR N;/定义回撤点差,第一步、定义变量:,第二步、编写流程图:,读取当前是否有多头持仓,有持仓,无持仓,不操作,平仓函数,读取最高价,符合条件平仓,新的最高价,更新最高价,第三步、定义函数:,VOID MAIN()1、取得最新价。2、定义回撤点差。3、判断当前是否有持仓。4、如果有持仓,运行平仓程序。,主函数部分:,VOID MAIN()P=Price(“cu1110”);/取得最新价N=5;/定义回撤点差IF(T_BuyPosition(cu1110)0)/如果多头持仓大于0SPDeal();/执行平仓程序,第三步、定义函数:,VOID SPDeal()/平仓函数 HH=ReadGlobal(HH);IF(HH=0|PHH)HH=P;ELSE IF(PHH-N*10)T_Deal(“cu1110,1,2,T_BuyPosition(“cu1110),0);HH=0;/上交所合约平今仓为2,平老仓为1 WriteGlobal(HH,HH);,策略2关键点:,1、如何读取持仓2、最高价的更新3、回撤条件4、委托数量及价格5、组件的调试,编写注意事项,1、流程图的编写2、勤用语法检测3、重视编写规范4、每句添加注释5、多用自定义函数6、调试过程很重要,谢 谢,祝交易顺利,

    注意事项

    本文(文华财经-程序化交易培训.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开