您好,欢迎访问三七文档
课程安排1•程序化交易概念及应用指南2•模型基本结构和编写要点3•如何编写带有资金管理和止损的策略模型4•如何进行多维的模型评估5•如何编写基于Tick逐笔数据的日内高频模型6•如何编写下单组件对下单过程进行精细控制第一章程序化交易概念什么是程序化交易?程序化是一个交易的概念,用户可以把平时的交易思想,写成交易策略模型,让电脑去执行这些交易思想,自动下单。利用电脑的计算能力和铁面无私,提高下单的速度和效率,避免交易受到情绪的干扰,实现理性交易。程序化也是一个研究的概念,程序化平台提供丰富的历史数据和收益、风险等多角度的模型评估报告,用户可以在电脑的仿真交易环境下,去测试、改进策略模型,这样交易思想就可以快速成熟了,不再需要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储能力,能节省时间、节省金钱。程序化交易应用指南不同用户群体对程序化的需求也不尽相同,我们把程序化应用,从初级应用到高级应用,分成6个级别向大家介绍。信号预警盒子公式条件单趋势跟踪策略(过滤模型)加仓资金管理策略(非过滤模型)模型组合高频交易一级:信号预警盒子信号预警盒子是一种半自动程序化下单功能,用户可以在信号预警盒子中设定预警模型,在满足模型条件的时候,系统能够弹出预警窗口,手动确认就可以直接下单了。这个功能类似以前版本的半自动,但是增加了显示加载模型运行情况的列表,我们叫做盒子。盒子还可以后台运行,加载了信号预警以后,可以做看盘等其他操作,不影响模型出信号的。信号预警盒子的主要功能:1、支持多项平铺,可同时监控多个信号;2、点击盒子列表中的一行,可以打开k线图上查看设定预警模型的信号;3、支持设置信号持续时间和信号消失确认时间。二级:公式条件单公式条件单适用于只按照某种特定条件进行交易的用户,提供的一种灵活的程序化执行方式。公式条件单让条件单不再停留在简单的价格条件和时间条件上,可以利用文华麦语言编写出思路更广的条件。用户可以在组群中加载条件单模组,系统根据写入的条件进行自动交易。公式条件单的主要功能:1、只写开仓条件,按照条件自动开仓;2、只写平仓条件,将初始化带入模组的持仓自动平掉;3、信号独立,没有过滤机制;4、可以随意进行主观干预;5、可以后台运行。三级:趋势跟踪策略(过滤模型)为有完整交易策略的投资者提供的全自动程序化交易功能。交易策略中一开一平,且交易手数开平对应,不会出现锁仓和加仓的情况。客户自己在组群中加载模组后,出现信号按照信号执行方式确认后自动下单交易。不加仓模型的主要功能:1、可以通过麦语言,编写各类技术分析指标、形态、止损止盈等策略;2、模型中必须加入AUTOFILTER过滤函数以实现交易指令的开平对应;3、可以主观干预;4、可以后台运行。四级:加仓资金管理策略(非过滤模型)为资金量较大,且交易周期跨度较大的投资者提供的全自动程序化交易。在制定交易策略的时候,可以对资金进行合理规划,确定首次开仓手数和后续加仓手数,在策略中实现加减仓操作和更灵活的资金管理。用户自己在组群中加载模组后,出现信号按照信号执行方式确认后自动下单交易。加仓模型的主要功能:1、除过滤模型可以实现的策略外,还可以实现带有资金管理的策略;2、编写时可以利用头寸函数进行过滤,避免锁仓;3、可以主观干预;4、可以后台运行。五级:模型组合任何一个模型,都有一定程度的缺陷。程序化交易想实现稳定盈利,就需要模型组合,可以把各种不同策略类型的模型,合理分配每一个模型的资金量,行情不好的时候模型之间盈亏互抵,行情好的时候共同盈利,即可以平滑整体资金曲线,达得稳定盈利的效果。WH8的模组,为用户提供一个合约上加载多个模型,每一个模型分配不同的资金,每一个模型在分配的资金内运行的功能。WH8也提供组合测试功能,可以将一篮子模型组合到一起测试,研究模型组合的历史盈亏情况。确定好模型组合后,可以将这些组合加载到模组中一起运行,达到投资组合交易的目的。其中任何模型出现信号都会按照信号执行方式确认后自动下单。组合的主要功能:1、组合测试可以提供组合内各模型的资金曲线和组合后的总资金曲线2、组合测试可以提供组合后的详细测试数据,如:总的盈亏、总的最大回撤、总的胜率等3、组合测试可以提供组合后的阶段总结,可以按年或者按月统计盈利率、胜率等4、模型组合在模组中运行时,互相独立,互不干扰5、模型组合的模组,可以后台运行六级:高频交易日内高频是为以研究市场微观结构为主要交易基础的投资者提供的全自动程序化交易。在日内高频平台中,用户可以使用日内高频函数,取得盘口的多档挂单,及逐笔成交数据,编写资金流或者其他市场微观结构策略的交易模型,一些国内的炒单思路,也可以编写成高频模型。客户可以自己将高频模型加载在某一合约上,出现信号按照信号执行方式确认后自动下单。此外,客户还可以使用下单组件编写日内高频模型,利用下单组件独立运行的方式实现高频交易。日内高频的主要功能:1、可以切换到各级秒周期;2、可以进行高频模型的TICK逐笔回放测试;3、具有独特的量能周期功能,更好的实现价量策略;4、可以自己定义大单,将成交数据按类取出大单数据,如取主动买大单成交次数;5、可以后台运行。第二章模型基本结构和编写课程内容一、模型的基本结构和跨指标模型二、跨周期模型三、画线函数模型赢智“麦语言”MYlanguageMY语言的编写是基于文华财经赢智程序化交易平台。通过本节课的学习,了解文华公式编写平台的基本函数与语法,设计自己的指标和程序化交易策略模型,实现全自动的委托发单交易。指标指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。交易指令指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。交易指令在K线图上以不同颜色和形状的箭头来代表。交易指令是一个程序化交易范畴的概念。交易模型指能够发出BK、SP等交易指令,模型还包含下单方向,交易手数,止盈止损等与交易、资金使用相关的参数设置。交易模型是一个交易范畴的概念。理解以下名词: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;指标用指标监测行情: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;模型运作模型:一、模型的基本结构和跨指标模型的编写1、模型编写的语法与操作符MYlanguage编写语法MYlanguage操作符1、定义变量名称变量名称不能相互重复;不能与参数名重复;不能与函数名重复;2、半角输入法的全英大写状态;3、每个语句应该以分号结束;MYlanguage编写语法:命名参数MYlanguage操作符如何运用操作符:A:(O+C)/2;B:CO;//判断是否收阳;满足条件返回1,否则返回0D:TIME=0900&&CO;//用于多条件逻辑关系编写练习:SETTLE引用结算价REF(X,N)引用X在N个周期前的值MA(X,N)求X在N周期内的简单移动平均。定义变量:当根K线最高价;结算价:15周期收盘价均线(显示定义);REF(A,1);REF(MA15,1);A:=H;S:=SETTLE;MA15:MA(C,15);衍生:当前K线的前一个周期最高价;当前K线的前一个周期15均线;交易模型基本结构:1、定义变量2、交易条件+交易指令2、模型的基本结构MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10),BK;CROSS(MA10,MA5),SP;CROSS(MA10,MA5),SK;CROSS(MA5,MA10),BP;AUTOFILTER;定义思路中涉及到的变量交易条件,写入交易指令39编写练习1:关键字:反手指令MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10),BPK;CROSS(MA10,MA5),SPK;AUTOFILTER;均线上穿平空做多,均线下穿平多做空;具体细化思路:5日均线上穿10日均线,平空做多;5日均线下穿10日均线,平多做空;跨指标模型,是指多个指标交易思想结合在一起进行看盘断势。关键词:多个交易条件1、以均线结合KD交叉指标为例2、练习编写:MACD、KDJ指标模型3、跨指标模型的编写均线结合KD交叉指标模型:MA5:=MA(C,5);MA10:=MA(C,10);MA5MA10,BK;//5日均线大于10日均线买入。MA5MA10,SP;//10日均线大于5日均线卖出。AUTOFILTER;——》模型中加入KD指标思路:均线模型寻找KDJ指标的源码思想:RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:SMA(RSV,M1,1);D:SMA(K,M2,1);CROSS(K,D),BK;//K,D金叉,买入。CROSS(D,K),SP;//K,D死叉,卖出AUTOFILTER;均线结合KD指标模型MA5:=MA(C,5);MA10:=MA(C,10);RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,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;MACD、KDJ指标模型:DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);DEA:=EMA(DIFF,N);MACD:=2*(DIFF-DEA);RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;K:=SMA(RSV,M1,1);D:=SMA(K,M1,1);J:=3*K-2*D;(CROSS(K,D)&&J30)||(CROSS(DIFF,DEA)&&MACD1),BK;(CROSS(D,K)&&REF(J,1)70)||(CROSS(DEA,DIFF)&&MACD-1),SP;(CROSS(D,K)&&J70)||(CROSS(DEA,DIFF)&&MACD-1),SK;(CROSS(K,D)&&REF(J,1)30)||(CROSS(DIFF,DEA)&&MACD1),BP;AUTOFILTER;总结:多条件下用“()”明确逻辑关系二、跨周期模型的编写跨周期函数介绍引用某品种在某个周期上加载了某个指标的数据。用法:#IMPORT[CODE,PERIOD,FORMULA]ASVAR引用CODE所对应的合约PERIOD周期下指标FORMULA的数据。CODE文华码,PERIOD周期,FORMULA引用指标名,VAR定义变量名跨周期跨合约模型的编写规则1.只能引用如下周期:MIN1MIN3MIN5MIN10MIN15MIN30HOUR1DAYWEEKMONTH2.只能短周期引用长周期3.被引用的指标中不能存在引用4.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb12015.FORMULA引用指标名,只能引用除数字、或者数字开头的名称之外的名称。举例:同一合约不同周期的数据调用交易思路当日均线出现多头排列时,5分钟KD线金叉,做多。当日均线出现空头排列时,5分钟KD线死叉,做空。先建立
本文标题:赢智程序化交易培训
链接地址:https://www.777doc.com/doc-988121 .html