程序化交易周六下午培训.ppt

上传人:小飞机 文档编号:6191035 上传时间:2023-10-03 格式:PPT 页数:92 大小:4.56MB
返回 下载 相关 举报
程序化交易周六下午培训.ppt_第1页
第1页 / 共92页
程序化交易周六下午培训.ppt_第2页
第2页 / 共92页
程序化交易周六下午培训.ppt_第3页
第3页 / 共92页
程序化交易周六下午培训.ppt_第4页
第4页 / 共92页
程序化交易周六下午培训.ppt_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《程序化交易周六下午培训.ppt》由会员分享,可在线阅读,更多相关《程序化交易周六下午培训.ppt(92页珍藏版)》请在三一办公上搜索。

1、文华财经程序化交易,文华财经 研究部刘艳萍,第一讲 课 程 安 排,1、程序化交易的魅力2、将传统技术指标改造为交易模型3、交易模型的基本构成和编写要点4、利用画线函数编写模型,第一章 程序化交易的魅力,程序化交易的本质一纪律,交易信号,在连续亏损后,是否能坚定交易你的计划,或者对交易进行计划外的干预,图片来源:文华财经-赢智程序化交易系统,只要你的系统盈利期望为正,坚持连续执行计划才是实现盈利的唯一途径,图片来源:文华财经-赢智程序化交易系统,图片来源:文华财经-赢智程序化交易系统,越短周期的交易策略,对交易速度和交易执行力的要求就越高,程序化交易的本质二数据挖掘,期货价格波动复杂,1、影响

2、期货价格的因素众多2、参与者众多,交易策略众多3、期货价格具有突变性4、期货价格难以预测5、期货价格的趋势性,当你试着去解开这些难题的时候,你会觉得无从下手,毫无头绪,我们不知道哪种交易方法更具有优势,况且更试图找到一种可以包治百病的灵丹妙药,所以你会有迷失在市场中的感觉。程序化交易就是一种工具,可以让我们摆脱这种困扰,更好按照自己的思路去研究行情和交易,就像在黑暗中打开一扇窗户,让我们找到光明的方向。,什么是程序化交易?程序化是一个交易的概念,用户可以把平时的交易思想,写成交易策略模型,让电脑去执行这些交易思想,自动下单。利用电脑的计算能力和铁面无私,提高下单的速度和效率,避免交易收到情绪的

3、影响,理性交易。程序化也是一个研究的概念,程序化平台都提供丰富历史数据和收益、风险等多角度的模型评估算法的,用户可以在电脑的仿真交易环境下,去测试、改进策略模型,这样交易思想就可以快速成熟了,不再需要动辄几个月甚至几年的实盘验证了。利用电脑的历史数据存储能力,能节省时间,节省金钱。,第二章 将传统指标改造成交易模型,文华麦语言(My language),WH3的编写语言名为“麦语言”。源于2004年文华推出的国内第一套程序化函数库,8年时间吸收几十万用户的意见反馈,不断的完善。语法清晰,函数强大。对于国内的大多数交易者来说,学习程序化交易,存在的主要难点在于代码,因为程序化交易需要通过计算机语

4、言即“程序代码”去编写,而文华财经的程序化平台采用“小语法 大函数”,力求将复杂的算法由软件后台完成,而提供给客户的是最简单易学的编程语言,大大减轻投资者在学习程序代码方面的负担。,指标 指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。交易模型:指能够发出BK、SP等交易指令,模型还包含下单方向,交易 手数,止盈止损等与交易、资金使用相关的参数设置。交易模型是一个交易范畴的概念。二者区别与联系:1、指标是不能够交易的,模型是用来交易的2、指标是通用的,模型是多样化的3、指标用来监测行情,模型用来针对行情交易,理解一下名词:,KDJ指标源码:,RSV:=(CLOSE-LLV(L

5、OW,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线,将指标转化为模型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;/以下是加入的交易指令CROSS(K,D),BK;/K向上穿越D,发出买开交易指令CROSS(J,100),SP;/J向上穿越100,发出卖平交易指令CROSS(D,K),SK;/K向下穿越D,发出卖开交易指令CRO

6、SS(0,J),BP;/J向下穿越0,发出买平交易指令AUTOFILTER;,运作模型:,将指标转化为模型2(BOLL):,MID:MA(CLOSE,N);TMP2:=STD(CLOSE,M);TOP:MID+P*TMP2;BOTTOM:MID-P*TMP2;/以下是加入的交易指令CROSS(C,TOP),BPK;/最新价向上穿越上轨,发出买开交易指令CROSS(BOTTOM,C),SPK;/最新价向下穿越下轨,发出卖平交易指令AUTOFILTER;,第三章 交易模型的基本结构和编写要点,1、语法、操作符与基本函数,编写语法操作符基本函数以及应用,1、定义变量名称变量名称不能相互重复;不能与参

7、数名重复;不能与函数名重复;2、半角输入法的大写状态;3、每个语句应该以分号结束;,编写语法,模型命名,参数,模型源码,操作符,如何运用操作符:,A:(O+C)/2;B:CO;/判断是否收阳;满足条件返回1,否则返回0D:TIME=0900/用于多条件逻辑关系,常用函数及应用,K 线基础数据,20周期收盘价均线(画线显示),H1:REF(H,1);MC:REF(C,10);,MA20:MA(C,20);,前1根K线的最高价;前10根K线的收盘价;,A1:CROSS(MA5,MA10);,B1:MA5MA10;,5周期高点(低点),最值类函数,状态类函数,一个周期前的五周期高点(低点),HH:H

8、HV(H,5);LL:LLV(L,5);,H1:REF(HH,1);L1:REF(LL,1);,最近5个周期中存在最高价突破其前5周期高点,LL:LLV(L,5);L1:REF(LL,1);B1:EVERY(CL1,5);,连续5个周期中满足最新价小于其前5周期低点,HH:HHV(H,5);H1:REF(HH,1);A1:EXIST(CROSS(H,H1),5);,根据条件取值类函数,分钟周期上,取当天第一根K线的最高价H1:VALUEWHEN(DATEREF(DATE,1),H);,满足收盘价上穿五周期均线到当前的周期数MA5:MA(C,5);N1:BARSLAST(CROSS(C,MA5)

9、+1;,当天开盘以来的5周期均线(消除跳空影响),NN:=BARSLAST(DATEREF(DATE,1)+1;/开盘以来一共有多少K线N:=IFELSE(NN=5,5,NN);/开盘K线根数大于5时取5,否则取实际根数MA5:MA(CLOSE,N);/求均线,已经消除了跳空,练习,最高价上穿5周期均线并且K线收阳,或者5周期均 线上穿10周期均线5个变动价位。,MA5:=MA(C,5);MA10:=MA(C,10);AA:(CROSS(H,MA5),练习点:变量定义方式;操作符;常用函数;提示:清晰逻辑关系,适当使用“()”。,在编写前,需要将交易思想清晰量化后,通过语言函数编写完成交易模型

10、基本结构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;,定义思路中涉及到的变量,交易条件,写入交易指令,模型中使用的交易指令,编写练习:关键字:反手指令,均线上穿平空做多,均线下穿平多做空;,MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10),BPK;CROSS(MA10,MA5),SPK;,具体细化思路:5日均线上穿10日均线,平空

11、做多;5日均线下穿10日均线,平多做空;,模型中跨指标,是将多个指标交易思想结合在一起进行看盘断势。,关键词:多个交易条件以均线结合KD交叉指标为例:,3、跨指标模型的编写,均线结合KD交叉指标模型:,MA5:=MA(C,5);MA10:=MA(C,10);MA5MA10,BK;/5日均线大于10日均线买入。MA5MA10,SP;/10日均线大于5日均线卖出。模型中加入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

12、,D),BUY;/K,D金叉,买入。CROSS(D,K),SELL;/K,D死叉,卖出,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,4、跨周期模型的编写,引用某品种在某个周期上加载了某个指标的数据。用法:#IMPORT CODE,PERIOD,FORMULA AS VAR引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。CODE 文华码,PERIOD 周期,FORMULA 引用

13、指标名,VAR 定义变量名,编写规则:,1.只能引用如下周期:MIN1 MIN3 MIN5 MIN10 MIN15 MIN30 HOUR1 DAY WEEK MONTH 2.只能短周期引用长周期3.被引用的指标中不能存在引用4.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb12015.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外的名称。,同一合约不同周期的数据调用要求,当日线周期均线出现多头排列时,5分钟KD线金叉,做多。当日线周期均线出现空头排列时,5分钟KD线死叉,做空。,先建立一个指标 名称AAAMA5:=MA(C,5);MA10:=MA(C,10)

14、;MA30:=MA(C,30);,在建立你的模型#IMPORT,DAY,AAA AS VARDM5:=VAR.MA5;DM10:=VAR.MA10;DM30:=VAR.MA30;RSV:=(CLOSE-LLV(LOW,9)/(HHV(HIGH,9)-LLV(LOW,9)*100;K:SMA(RSV,3,1);D:SMA(K,3,1);J:3*K-2*D;DM5DM10,引用IF指数30分钟周期的KDJ指标中的值#IMPORT8600,MIN30,KDJ AS VARK1:VAR.K;D1:VAR.D;J1:VAR.J;,不同合约不同周期的数据调用,如何实现双跨周期调用(以KDJ为例)#IMPO

15、RT,MIN15,KDJ AS VAR1K1:VAR1.K;D1:VAR1.D;J1:VAR1.J;#IMPORT,MIN30,KDJ AS VAR2K2:VAR2.K;D2:VAR2.D;J2:VAR2.J;,第四章 如何使用画线函数编写模型,画线函数实例:趋势线函数:用法:TRENDLINES(COND1,DATA1,COND2,DATA2);,要求:1、5周期均线与30周期均线金叉k线最高点2、20周期均线与60周期均线金叉k线最高点3、将这两个高点连线做成一条趋势线4、高于趋势线并且最新价在30周期均线之上,平空做多。5、低于趋势线并且最新价在30周期均线之下,平多做空。,实例源码:M

16、A5:=MA(C,5);MA20:=MA(C,20);MA30:=MA(C,30);MA60:=MA(C,60);TMP:TRENDLINES(CROSS(MA5,MA30),H,CROSS(MA20,MA60),H);HTMP,黄金分割返回值。用法:GOLDENLINE(COND1,DATA1,COND2,DATA2,RATIO);从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在差额的RATIO比率处形成黄金分割线,该函数返回K线对应的黄金分割值。例:GOLDENLINE(OC,H,CO,H,0.3);相距最近的阴线和阳线,以

17、各自最高价作为起止点,在差额区间内的0.3比率处形成黄金分割线,该函数返回K线对应的黄金分割值。,MA5:=MA(C,5);GG:GOLDENLINE(CROSS(C,MA5),H,CROSS(MA5,C),H,0.382);/DRAWGOLDENLINE(CROSS(C,MA5),H,CROSS(MA5,C),H,0.382,COLORGREEN);CROSS(C,GG),BPK;CROSS(GG,C),SPK;AUTOFILTER;,第二讲 课 程 安 排,5、如何编写资金管理和止损策略模型6、如何进行多维的模型评估7、日内高频都能实现什么8、如何实现对下单过程的精细控制,第五章 资金管理

18、和止损的策略模型,课程内容,一、头寸函数介绍二、资金管理,止盈止损模型的编写思路及案例三、使用资金管理,止盈止损模型需要注意的问题,常用头寸函数介绍,一、资金管理模型的编写思路及案例,MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA20:=MA(CLOSE,20);CROSS(MA10,MA20),BK;CROSS(MA10,MA5),SP;CROSS(MA20,MA10),SK;CROSS(MA5,MA10),BP;,加仓:多单2手CMA10,减仓:多单1手CMA10,尾盘全部平仓TIME=1458,BP(SELLVOL);TIME=1458,SP(BUYVOL)

19、;,CMA10,如何实现加减仓,如何利用头寸函数实现对仓位的加减。,加仓模型,A:=多头开仓条件;A1:=多头加仓条件;B:=空头交易条件;B1:=空头加仓条件;D:=多头平仓条件;E:=空头平仓条件;A,注意,交易时要考虑前一信号方向防止锁仓。,例2:对交易资金的管理/过滤模型,每次下单使用当时资金的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:

20、=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);,/非过滤模型,H1:=REF(HHV(H,10),1);L1:=REF(LLV(L,10),1);,非过滤模型如何实现过滤,CROSS(C,H1),/最新价突破前10周期最高价且前一个指令不是开仓指令,则买开仓1手;/最新价跌破前10周期最低价且前一个指令不是开仓指令,则卖开仓1手;/连续3个周期持仓量不断减少且前

21、一个指令是卖开仓,则平1手空单;/连续3个周期持仓量不断增加且前一个指令是买开仓,则平1手多单;,ISLASTBK,ISLASTSK,ISLASTSP,ISLASTBP.,如何编写止损止赢模型,MA5:=MA(CLOSE,5);MA10:=MA(CLOSE,10);MA20:=MA(CLOSE,20);CROSS(MA10,MA20),BK;CROSS(MA20,MA10),SK;CROSS(MA5,MA10),BP;CROSS(MA10,MA5),SP;,CROSS(MA10,MA5)|CBKPRICE+5*MD,SP;CROSS(MA5,MA10)|CSKPRICE+10*MD|CSKPR

22、ICE-10*MD,BP;,增加买开价位上下5个点止赢止损,卖开价位上下10个点止赢止损,收盘价大于5周期均线,买开仓。收盘价小于5周期均线,平多仓。收盘价从高点回调30%,止盈。N:=0.3;/定义回撤幅度MA1:=MA(C,5);/5周期均线HH:=HHV(H,BARSBK+1);/取自开仓K线到现在的最高价CMA1,BK;(C=BKPRICE,回撤止损止盈模型,使用资金管理,止盈止损模型需要注意的问题编写加减仓位时要注意对信号的判断。(避免锁仓)编写止损时要注意回撤方向,以及多空止赢止损方向的判断,第六章 多维模型评估,多维的效果测试功能,第七章 日内高频能实现什么,日内高频有何优势?T

23、ICK图详细信息便捷的测算收益全面调用盘口数据程序化交易,K线显示区,盘口数据区,分笔数据区,信号区,持仓区,黄点:提示最新成交价格的成交量达到或超过了所设置“大单”量;红点:提示离最新成交价最近的,并且达到或超过所设置“大单”量的买盘报价具体价位;绿点:提示离最新成交价最近的,并且达到或超过所设置“大单”量的卖盘报价具体价位;,红色部分:当前实时买盘盘口挂单价格及挂单量;绿色部分:当前实时卖盘盘口挂单价格及挂单量;灰色部分:当日曾出现过的买、卖盘口挂单价格及挂单量;,日内高频模型举例,买卖人气型:根据盘口价量变化判断买卖双方的交易气氛,依此作为入场依据,可获得短暂盈利。可能用到的函数:各档位委托量、多空双方的大单价格、主动买卖的成交次数等。,A:=L2_BIDVOL1+L2_BIDVOL2+L2_BIDVOL3;/定义买盘前3档总量B:=L2_ASKVOL1+L2_ASKVOL2+L2_ASKVOL3;/定义卖盘前3档总量D:A-B;CROSS(D,0)/连续2个周期卖量不断增加且前一个指令是买开仓,则平1手多单;,第八章 关于下单组件,什么是下单组件,下单组件的作用,下单组件包括的系统函数,组件运行方式,谢 谢,祝大家交易顺利,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号