金字塔程式化交易设计指南高级篇1.docx
- 文档编号:24903848
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:69
- 大小:1.23MB
金字塔程式化交易设计指南高级篇1.docx
《金字塔程式化交易设计指南高级篇1.docx》由会员分享,可在线阅读,更多相关《金字塔程式化交易设计指南高级篇1.docx(69页珍藏版)》请在冰豆网上搜索。
金字塔程式化交易设计指南高级篇1
第一章程序化交易的原理..................................3
第二章程序化交易的启用..................................4
开启交易软件..........................................4
启动图表程序化交易...................................5
启动后台程序化交易..................................6
第三章交易系统的编写规则..............................9
1、数据引用............................................12
2、特殊数据引用........................................12
3、公式体构成结构......................................13
4、快速入门.............................................15
第四章 交易测试系统和程式化交易函数....................20
1、测试平台的基本内容和架构..............................20
2、交易测试系统函数(43)..................................22
3、程式化交易函数(41)...................................28
4、账户函数介绍(37).....................................33
第五章交易系统编写范例和常见问题.......................35
1、趋势交易............................................35
2、振荡交易............................................43
3、日内交易............................................46
4、套利交易和多账户交易................................49
5、常见问题............................................51
第六章程式化交易进行曲.................................57
1、完整交易系统的组成...................................57
2、如何转换为程式化交易系统.............................58
3、程式化交易的前提、步骤..............................60
4、图表程式化交易.....................................64
第一章程序化交易的原理
程序化交易是金字塔在成功运行盈透(IB)外盘自动交易系统的基础上,进一步研发、升级,智能连接到上海期货信息技术有限公司的综合交易平台(CTP)实现的。
综合交易平台借鉴代表了目前国际衍生品领域交易系统先进水平的上期所“新一代交易所系统”的核心技术,采用的创新的完全精确重演的分布式体系架构,其保证所有输入经系统分布式并行处理后均有确定结果,并能自适应UDP可靠多播通讯技术,构建交易系统的核心信息总线,改进了内存数据库的多重索引技术、直接外键技术和高效事务管理技术,并首创了多业务主机同时工作、互为备份和自由加入的集群容错可靠性保障机制,攻克了性能和可靠性关键技术难关,获得5项软件著作权。
系统并发处理能力强大,委托性能超过2000笔/秒,软件本身可达8000笔/秒,支持同时在线客户并发数为1万个客户/秒,且可以通过增加前置机进一步扩充。
系统主要面向期货公司,也可用于基金公司、投资公司等进行期货交易。
原理图如下:
从以上原理图可以看出,程序化交易是金字塔软件和上期技术公司的综合交易平台协同工作来实现的。
客户通过程序化交易系统发出的委托指令仍然是通过上期技术公司的综合交易平台远程交易系统进入期货公司和交易所的撮合中心的。
通过程序化交易来进行下单和客户通过上期技术公司的综合交易平台下单具有同等的安全性和可靠性。
第二章程序化交易的启用
1、开启金字塔软件
2、点击【连接】---“国内期货”行情
3、启动委托交易平台,点击【委托】
选定期货公司,输入账号、密码和验证码后,点击“登陆”
4、启动图表交易
1)选择要交易的模型
2)选择【交易】---》【图表程式化交易】,将出现
3)设置好相关参数,点击【启动交易】,确认之后,将开始程式化交易,交易详情会记录在表格上。
交易结束,点击【停止交易】
5、启动后台程式化交易,按Ctrl+A
1)选“新增条件”,将出现
2)参数设置
a)按“指标公式”,选择你的模型和使用周期;
b)再加入选定的品种;
c)其它各种设置,注意:
打勾“允许程式化交易”;
其中,可将“下单需手工确认”关闭;设定“预警时间间隔”及“时间范围启用”;
。
。
。
;然后按“确认”;
最后点击“启动预警”。
3)在程式化交易过程中,用户可随时点击【监控】,观察系统运行情况,并可在信心爆棚时,手工加减仓干预。
如图所示
第二章交易模型的编写规则
在金字塔的主图分析界面,按功能键F3就会出现公式编辑器的界面,
在“交易系统”上按鼠标右键,选“新建公式”
通过该界面我们可以了解该系统的公式设定的内容和相关规则:
A:
每一个指标公式必须有一个名称,这个名称由字母和数字组成,公式名称在同类公式中必须是唯一的,例如不能同时存在两个AAA系统公式,公式名称最多16个字符。
B:
公式说明是一段文字,用来简单描述该公式的含义,在公式列表时显示这段文字,这段文字不宜过长。
C:
计算参数:
计算参数用来替代公式中所需要的常数,在使用时可以方便地调节参数,不必修改公式就可以对计算方法进行调节。
计算参数包括参数名称、最小值、最大值、缺省值四个部分,参数名称用于标识参数,计算公式时采用缺省值计算,而最小值和最大值是参数的调整范围。
D:
公式编辑栏,本栏为公式编辑的文本区。
E:
密码保护,选中该栏目为指标公式加密。
F:
公式注释是一段文字,相对于公式描述而言它可以很长,主要用来描述一个公式如何使用、注意事项、计算方法等等。
G:
周期的设定:
数据分析周期就是相邻两组数据的时间间隔,可能是从几秒、1分钟到1000天间的任意间隔;还可以是分笔成交分析周期,这种情况下时间间隔不定。
公式系统的引用周期:
应不同的使用者在分析周期习惯上的差异,金字塔特别设定了周期选择。
这主要是针对在引用类函数在引用数据时锁定自己所需要的周期,例如在日线上,或者在周线上等等的要求。
H:
费率设置和平仓止损
所有的公式系统都是遵守统一的运算法则,统一的格式进行函数之间的计算,所以我们掌握了技术指标公式的基本原理,其他的公式也不会出脱其外。
例如我们在指标公式系统内写下公式:
A:
=X+Y;B:
=A/Z; C:
=B*0.618;
分析以上公式,我们可以引出以下相关的格式和法则的结论:
1、数据引用
A、数据来源
公式中的基本数据来源于接收的每日行情数据,这些数据有行情函数从数据库中按照一定的方式提取,例如,高开低收,成交量,成交额等等。
B、数据类型
按照公式使用的数据类型,系统可以处理的数据分为两类:
变量和常量。
所谓变量就是一个随着时间变化而变化的数据,例如成交量;常量就是一个永远不变的数据。
例如3,每个函数需要的参数可能是变量也可能是常量,不能随便乱用,函数计算的结果一般是一个变量。
例如计算收盘价均线MA(CLOSE,5),MA函数要求第一个参数为变量,而CLOSE函数返回的正是一个变量;MA函数要求的第二个参数是常量,5就是一个常量,所以我们就不能这样书写:
MA(5,CLOSE)。
2、特殊数据引用
A、指标数据引用
经常地编制公式的过程当中,需要使用另外一个指标的值,如果按照通常的做法,重新编写过这个指标显得很麻烦,因此有必要学习使用如何调用别的指标公式。
基本格式为:
“指标.指标线”(参数)
a、指标和指标线之间用逗号分开,一个指标不一定只有一条指标线,所以有必要在指标后标注指标线的名称,但是如果缺失则表示引用最后一条指标线。
b、参数在表达式的末尾,必须用括号括起来,参数之间用逗号分开,通过参数设置可以选择设定该指标的参数,如果参数缺失则表示使用该指标的默认参数设置。
c、整个表达式用引号引在其中,除参数以外。
例如:
“MACD.DEF”(26,12,9)表示计算MACD指标的DEA指标线,计算参数为26、12、9,“MACD”(26,12,9)表示该指标的最后一条指标线,计算参数是26、12、9,“MACD”表示该指标的最后一条指标线并且使用公式的默认参数。
B、跨周期引用指标数据
在金字塔当中允许使用不同分析周期上的指标数据,但是只能是向上引用,不能在原周期上使用比现在周期长度小的周期上的指标数据。
a、基本格式为:
“指标.指标线#周期(参数)”,格式上只是比上面指标引用多了一个周期设定其他内容和方法一样,在周期调用上存在以下对应关系:
MIN1:
1分钟 MIN5:
5分钟......DAY:
日线WEEK:
周线MONTH:
月线YEAR:
年线
如上图所示,MIN1表示的分析周期为1分钟,那么只能是在当前周期为分笔成交图时才可以实现对该周期指标线数据的引用。
例如:
当前周期为日线,那么在公式中使用“MACD.DEA#WEEK”(26,12,9)表示使用了当天所在的本周的MACD指标中的数据。
b、以上格式的扩展格式为:
“指标.指标线##周期”(参数),该格式比基本格式采用了不同的对齐方式,简而言之,就是说“#”的格式调用的本周期所在的上一级周期的指标数据,那么“##”的格式则表示调用了前一种格式的前一周期的指标数据,举上例而言,“MACD.DEF##WEEK”(26,12,9)表示的是从当天看来的上一周的数据,而基本格式就是当天看来的本周的数据。
C、其他数据引用
使用以下的格式可以在当前的分析界面下引用大盘的数据或者其他个股的数据实现横向上的对比,
a、引用大盘数据引用大盘数据时使用下列函数:
INDEXC/INDEXV,等等!
b、引用个股数据引用个股数据时使用下列格式:
“品种代码$数据”,在以上格式当中调用CLOSE,VOL,AMOUNT等等!
例如“0002$VOL”表示0002该股本周期的成交量,“1A0001$CLOSE”同样也可以表示为大盘本周期的收盘价,此时的大盘被视为一只个股。
3、公式体构成结构
A、公式语句
所有的公式体由若干语句按照一定的格式组成,每个语句表示一个计算结果,根据各个语句的功能分为两大类语句,一类是赋值语句,一类是中间表达式。
B、赋值语句
在技术指标“B;A/Z”和“C;B*0.618”就是分别两条指标线,语言间用分号隔开。
该语句被称为赋值语句,在技术指标当中,赋值语句的计算结果将会被计算机执行并形成相应的图形。
每个语句可以有一个名称,改名称写在语句的最前面,并用一个冒号将它与语句分隔开。
例如:
ST:
MA(CLOSE,5);表示该语句求收盘价的五日均线,语句的名称为ST,在该语句后的语句中可以直接用ST来替代MA(CLOSE,5),例如:
MA(ST,5)表示对收盘价的五日均线再求五日平均。
C、中间语句
一个语句如果不需要显示,可以将它定义为中间语句,例如在上例当中的第一句“A:
=X+Y;”,这样该语句就不会被系统辨认为是指标线了,中间语句用“:
=”替代冒号,其他与一般语句完全一样,使用中间语句可以有效降低公式的书写难度,还可以将需要重复使用的语句定义成中间语句以减少计算量。
每个公式最多可以分6个语句,中间公式数量没有限制,所有语句之间需要使用分号隔开。
D、公式计算符
公式计算符将函数连接成为公式,计算分为算术计算符和逻辑计算苻。
a、算术计算符:
包括+、-、*、/,它们分别对计算符两边的数据进行加减乘除计算,这同一般意义上的算术计算没有差异。
b、逻辑计算苻
包括>、<、<>、≥、≤、=、AND、OR八种,分别表示大于、小于、不等于、大于等于、小于等于、等于、逻辑与、逻辑或运算,如果条件成立计算结果就等于1,否则等于0,例如:
3+4等于7,4>3就等于1,3≤12就等于0,“逻辑与”表示两个条件都成立时结果才成立;“逻辑或”表示两个条件中只要有一个成立结果成立。
例如,4>3AND12≥4的结果等于1,4>3OR3>12的结果等于1。
E、线形描述符
对于技术指标公式可以在语句加上线形描述符,用来表示如何画该语句描述的指标线。
线形描述符号包括以下7种。
描述符写在语句后分号前,用逗号将它们与语句分隔开,例如在上例当中加入一句线形描述符,C:
B*0.618,COLORSTICK;该语句在被执行时,会在图中添加色彩柱线,该功能在编制MACD等指标的时候会显出它的用处。
STICK:
柱状线
COLORSTICK:
彩色柱状线,当值为正时显示红色,否则显示绿色
COLORRED:
为线形色,RED表示红色
COLORBLUE:
为线形色,BLUE表示蓝色
COLORYELLOW:
为线形色,YELLOW表示黄色
VOLSTICK:
成交量柱状线,当股价上涨时显示红色空心柱,否则绿色
LINESTICK:
同时画出柱状线和指标线
LINETHICK:
对线体的粗细作出描述
CROSSDOT:
小叉线
CIRCLEDOT:
小圆圈线
POINTDOT:
小圆点线
a、COLORRED等三个线形描述符还可以自定义颜色,格式为COLOR+“BBGGRR”;BB、GG、RR表示蓝色,绿色和红色的分量,每种颜色的取值范围是00-FF,采用了16进制,例如:
MA5:
MA(CLOSE,5)COLOR00FFFF表示纯红色与纯绿色的混合色;COLOR808000表示淡蓝色和淡绿色的混合色。
b、LINETHICK可以允许对线型的粗细进行自定义的描述,格式“LINETHICK+(0/7)”:
参数的取值范围在0-7之间,“LINETHICK0”表示最细的线,而“LINETHICK7”表示最粗的线。
4、快速入门
1)如何把熟悉的技术指标转换成交易模型?
第一步:
把KDJ指标公式COPY过来,或按“引入公式”按钮,引入
RSV:
=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//算出(收盘价-N周期内的最低价)/(N周期的最高价N周期内的最低价)*100的值,用RSV来表示。
K:
SMA(RSV,M1,1),COLORWHITE;//RSV的移动加权平均的值用K表示,并且画白色的线。
D:
SMA(K,M2,1),COLORYELLOW;//K的移动加权平均的值用D表示,并且画黄色的线。
J:
3*K-2*D,COLORMAGENTA;//3倍的K减去2倍的D的值用J表示,并且画紫色的线。
第二步:
原有公式主要是画线,所以稍作修改。
如下:
RSV:
=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;//第一行不需要修改
K:
=SMA(RSV,M1,1);//在:
后加上=变为只定义不用画线,把后面的颜色函数(COLORWHITE)也去掉
D:
=SMA(K,M2,1);//同上
J:
=3*K-2*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;
{开多}ENTERLONG:
CROSS(K,D),TFILTER;//K向上穿越D,发出开多操作
{平多}EXITLONG:
CROSS(J,100),TFILTER;//J向上穿越100,发出平多操作
{开空}ENTERSHORT:
CROSS(D,K),TFILTER;//K向下穿越D,发出开空操作
{平空}EXITSHORT:
CROSS(0,J),TFILTER;//J向下穿越0,发出平空操作
图表交易模型就完成了,其仓位控制在第5页图中设置
对于新交易系统模型,可用下面4句代替
SELLSHORT(CROSS(0,J)andHOLDING<0,HOLDING,market);//J向下穿越0,发出平空操作
BUY(CROSS(K,D)and HOLDING=0,30%,market);//K向上穿越D,发出开多操作
SELL(CROSS(J,100)andHOLDING>0,HOLDING,market);//J向上穿越100,发出平多操作
BUYSHORT(CROSS(D,K)andHOLDING=0,30%,market);//K向下穿越D,发出开空操作
其中,HOLDING为持仓函数,30%表示按可用资金的30%交易,market表示交易类型为市价委托。
后为文字说明,编写模型时不用写出。
2)如何把自编变色K线转换成交易模型?
模型说明:
第一根K线变红时买,第一根K线变蓝时卖
指标源码:
HH1:
=IF(H LL1: =IF(L>REF(L,2)ANDREF(L,1)>REF(L,2),REF(L,2),0); HH2: =VALUEWHEN(HH1>0,HH1); LL2: =VALUEWHEN(LL1>0,LL1); K1: =IF(CLOSE>HH2,-3,IF(CLOSE K2: =VALUEWHEN(K1<>0,K1); G: =IF(K2=1,HH2,LL2); G1: =VALUEWHEN(ISLASTBAR,G); W1: =K2; W2: =OPEN-CLOSE; HT: =IF(OPEN>CLOSE,OPEN,CLOSE); LT: =IF(OPEN //以上是在定义变量,转换成模型时直接引用 STICKLINE(W1>0,OPEN,CLOSE,8,1),COLORCYAN; STICKLINE(W1<=0,OPEN,CLOSE,8,1),COLORRED; STICKLINE(W2>0ANDW1<=0,OPEN,CLOSE,8,0),COLORRED; STICKLINE(W2>0ANDW1>0,OPEN,CLOSE,8,0),COLORCYAN; 利用STICKLINE里的条件W1,再加上交易指令即可改写为交易模型 修改为交易模型如下: HH1:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 金字塔 程式化 交易 设计 指南 高级