您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 2014赢智程序化交易培训课件
文华财经研究部回测止损/止盈与资金管理的实现方案编写要点认识程序化交易WH8程序化功能简介54321第一章认识程序化交易讨论1.你为什么选择做交易?2.什么因素会影响你的交易?3.你如何应对?程序化交易克服人性的弱点无生理极限复制盈利模式程序化交易的优势人性的弱点源自于不信任,而不信任又是因为不能全面了解。如果不能在对交易系统全面认识的基础上,建立理性的信任,程序化交易仍无助于克服人性的弱点。为什么程序化交易可以克服人性的弱点了解模型优化模型研究行情回测计划你的交易研究阶段交易你的计划执行阶段总结第二章WH8程序化功能简介基本面信息基础数据衍生数据其他外部信息人工手动交易赢智程序化交易交易的过程信息处理执行WH8处理人工执行信号预警完整策略WH8处理WH8执行公式条件单非完整策略WH8处理WH8执行全自动程序化交易完整策略处理执行WH8程序化功能1WH8处理人工执行信号预警完整策略处理执行功能说明:信号预警盒子实现的是半自动交易的功能。适用于需要实现“在模型发出信号时,弹出预警窗口,经人工确认后再下单”的交易者。在盒子中加载预警模型后,盒子可以在后台运行,前台的操作不会影响预警信息的发出。2人工处理WH8执行普通条件单非完整策略处理执行WH8处理WH8执行公式条件单非完整策略功能说明:普通条件要求交易者处理信息,只能实现固定价格或者时间条件。而公式条件单的处理过程则是由WH8完成的,所以公式条件单可以实现复杂条件判断。公式条件单中的交易条件全部触发之后就自动终止。公式条件单适用于交易系统无法完全量化的交易者。交易者可以将可量化部分的交易通过程序执行,对于不可量化的部分则通过主观判断手动执行。例如,你主要通过盘感判断是否入场(无法量化),出场条件是均线金叉或者死叉。但是你总是在应该进行止损的时候犹豫,最终错过了最佳止损时机。这种情况下,你就可以量化止损条件,编写成一个公式条件单模型,在你手动开仓后,将这个公式条件单加载运行,帮你进行止损。一个公式条件单只能进行一种交易。例如,一个公式条件单中有了买开仓的条件后,就不能再有除买开仓之外的条件,如果还要执行其他非买开仓的条件,需要新建公式条件单。公式条件单最后需要加上CONDITION_ORDER;公式条件单需要加载在模组中运行。3WH8处理WH8执行全自动程序化交易完整策略处理执行过滤模型:简单的非加仓策略。非过滤模型:具有灵活资金管理功能的加仓策略。高频模型:可以处理市场微观行情数据。非过滤模型过滤模型高频模型3.1过滤模型过滤模型是具备完备的入场和出场策略的交易系统,从而可以进行全自动程序化交易。过滤模型要求开平仓条件相互对应:在开仓之后只能出现平仓信号,只有在平仓信号出现之后才能发出新的开仓信号。开仓之后,未平仓之前,新的开仓信号会被过滤。这里的交易手数也是固定的,开多少手就会平多少手。过滤模型不支持锁仓。过滤模型最后需要加上AUTOFILTER;过滤模型需要加载模组中运行。3.2非过滤模型一般来说,如果资金量较大,且交易周期跨度长的交易者需要使用非过滤模型。非过滤模型适用于以下几种情况:①每一笔交易需要指定(或者计算)下单手数;②需要实现灵活的资金管理方案;③需要实现加仓或者减仓策略;非过滤模型交易指令后需要指定(或者计算)交易手数。非过滤模型开仓后,再满足其他同方向的开仓条件可以进行加仓。非过滤模型不支持锁仓。非过滤模型最后不需要AUTOFILTER;非过滤模型需要在模组中加载运行。3.3基本面信息基础数据衍生数据其他外部信息日内秒周期高频程序化交易信息处理执行市场微观情数据高频交易高频策略适用于基于市场微观结构进行交易的投资者。在日内秒周期平台上,可以使用日内高频函数获取盘口的多档挂单、大单、主动买/卖成交量、其他市场微观行情数据。交易者还可以使用独立运行的下单组件实现高频交易。日内秒周期模块中可以进行高频模型的TICK逐笔回放测试。高频模型必须加载在日内秒周期模块中运行。量能周期4组合交易简单的说就是通过不把鸡蛋放到同一个篮子里分散风险,实现稳定盈利。多合约交易和多策略交易,都属于组合交易的范畴。合约之间关联性越高,多合约交易平滑资金曲线的效果越差。多策略交易,例如趋势策略和震荡策略的组合,当行情不好的时候模型之间盈亏互抵,行情好的时候共同盈利,从而达到平滑资金曲线的效果。如何选择投资组合是交易者需要研究的重点。交易者可以直接通过组合测试的功能研究组合的交易效果。组合交易第三章:编写要点1.麦语言语法1、除系统函数和参数之外的变量必须有定义。变量名称不能重复:①变量名称不能与系统函数重复;②变量名称不能与参数名重复;③变量名称之间不能重复;2、英文半角输入法的大写状态下编写代码;3、每个语句应该以分号结束;(跨周期函数#IMPORT是个例外)小语法大函数链接符示例例1:A:(O+C)/2;//开盘价与收盘价的和除以2例2:B:CO;//判断是否收阳;满足条件返回1,否则返回0例3:D:TIME=0900&&CO;//用于多条件逻辑关系练习1://当根K线最高价;练习2://结算价;练习3://15周期收盘价均线(显示线型);练习4://当前K线的前一个周期最高价;//当前K线的前一个周期15均线;答案1:HH:H;答案2:S:SETTLE;答案3:MA15:MA(C,15);答案4:H1:REF(H,1);M1:REF(MA15,1);2.常规模型的编写KDJ指标: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;KDJ模型: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),BPK;//K向上穿越D,发出买开交易指令CROSS(D,K),SPK;//K向下穿越D,发出卖开交易指令AUTOFILTER;指标模型指标VS模型交易指令编写模型的步骤确定数据第2步量化逻辑关系第3步编写交易指令第5步编写变量第4步确定交易思路第1步第1步:确定交易思路5日均线金叉10日均线,平空做多;5日均线死叉10日均线,平多做空;第2步:使用的数据5周期均线和10周期均线;第3步:量化交易条件中数据之间的逻辑条件上穿:前一根K线对应的5周期均线小于10周期均线,当前K线对应的5周期均线大于10周期均线;下穿:前一根K线对应的5周期均线大于10周期均线,当前K线对应的5周期均线小于10周期均线;MA5MA10&&REF(MA5MA10,1),BPK;//5日均线大于10日均线买入。MA5MA10&&REF(MA5MA10,1),SPK;//10日均线大于5日均线卖出。MA5:=MA(C,5);//5周期均线MA10:=MA(C,10);//10周期均线AUTOFILTER;//过滤模型的标志第4步:编写变量第5步:编写交易条件答案:MA5:=MA(C,5);MA10:=MA(C,10);RSV:=(C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100;K:SMA(RSV,M1,1);D:SMA(K,M2,1);MA5MA10&&CROSS(K,D),BK;//5日均线大于10日均线并且KD金叉买入MA5MA10&&CROSS(D,K),SP;//10日均线大于5日均线并且KD死叉卖出AUTOFILTER;练习第一步:确定交易思路多头趋势,KDJ指标的K值上穿D值,买开仓;空头趋势,KDJ指标的K值下穿D值,卖平仓;3.跨周期模型的编写#IMPORT[CODE,PERIOD,FORMULA]ASVAR//引用CODE所对应的合约PERIOD周期下指标FORMULA的数据1、CODE文华码,PERIOD周期,FORMULA引用指标名,VAR定义变量名;2、只能引用如下常规周期:MIN1MIN3MIN5MIN10MIN15MIN30HOUR1DAYWEEKMONTH;3、只能短周期引用长周期;4、跨周期的使用不支持以下形式的引用:①3分钟周期引用5分钟周期;②3分钟周期引用10分钟周期;③10分钟引用15分钟周期;④周线引用月线;5、被引用的指标中不能存在引用;6、如果不写文华码,默认引用当前合约;7、FORMULA引用指标名只能为字母或数字命名的指标;8、定义变量名不能与函数名重复;9、最多可以跨周期引用两个周期的数据;10、使用该函数编写末尾不能编写分号。跨周期函数使用说明编写跨周期模型的步骤确定数据确定引用关系第二步量化逻辑关系第三步编写交易指令第五步新建大周期变量指标引用大周期变量编写当前周期变量第四步确定交易思路第一步第1步:确定交易思路当日均线出现多头排列时,5分钟K与D金叉,做多;当日均线出现空头排列时,5分钟K与D死叉,做空。第2步:确定数据第2.1步:确定交易条件中使用的数据日线级别上,5周期均线、10周期均线和30周期均线;5分钟级别上,KDJ指标的K值和D值第2.2步:确定引用关系模型加载在最小的周期(5分钟)上运行,所以需要引用的数据是日线级别上的5周期均线、10周期均线和30周期均线第3步:量化交易条件中数据之间的逻辑条件多头排列:5周期均线大于10周期均线,10周期均线大于30周期均线空头排列:5周期均线小于10周期均线,10周期均线小于30周期均线上穿:前一根K线对应的5周期均线小于10周期均线,当前K线对应的5周期均线大于10周期均线;下穿:前一根K线对应的5周期均线大于10周期均线,当前K线对应的5周期均线小于10周期均线;第4步:编写数据第4.1步:新建大周期变量指标建立一个指标,命名为AA,内容如下:MA5:=MA(C,5);MA10:=MA(C,10);MA30:=MA(C,30);RSV:=(C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100;K:SMA(RSV,M1,1);D:SMA(K,M2,1);J:3*K-2*D;//这一行可以删除#IMPORT[,DAY,AA]ASVARD5:=VAR.MA5;D10:=VAR.MA10;D30:=VAR.MA30;AUTOFILTER;//过滤模型的标志第4.2步:引用大周期变量第5步:编写交易条件D5D10&&D10D30&&CROSS(K,D),BPK;//日周期上均线多头排列,5分钟周期K、D金叉D5D10&&D10D30&&CROSS(D,K),SPK;//日周期上均线空头排列,5分钟周期K、D死叉第4.3步:编写当前周期变量练习第一步:确定交易思路30分钟周期,当前面一根MA5大于MA10;5分钟周期,MA5上穿MA10时,做多;30分钟周期,当前面一根MA5大于MA10;5分钟周期,MA5下穿MA10时,做空;尾盘平仓;其次,建立模型,加载在5分钟周期上使用,内容如下:#IMPORT[,MIN30,AA]ASVARDM5:=VAR.RMA5;DM10:=VAR.RMA10;MA5:=MA(C,5);MA10:=MA(C,10);DM5DM10&&CROSS(MA5,MA10)&&CLOSEMINUTE1,BK;DM5DM10&&CROSS(MA10,MA5),SP;DM5DM10&&CROSS(MA10,MA5)&&CLOSEMINUTE1,SK;DM5DM10&&CROSS(MA5,MA10),BP;CLOSEMINUTE=1,CLOSEOUT;AUTOFILTER;首先,建立一个指标,命名为AA,内容如下:RMA5:=REF(MA(C,5),1);RMA10:=REF(MA(C,10),1);4.高频模型的编写高频模型的编写方法与非高频模型没有本质区别。加载在日内秒周期中的高频模型可以使用高频函数引用市场微观数据。例如:盘口数据、大单、主动买、主动卖等。M:=10;P:=15;HH:=HHV
本文标题:2014赢智程序化交易培训课件
链接地址:https://www.777doc.com/doc-5446623 .html