google account:(5)程式化交易进行曲

来源:百度文库 编辑:中财网 时间:2024/04/30 15:57:34

第六章 程式化交易进行曲

1、完整交易系统的组成

“交易系统是完整的交易规则体系”,首先一套最简单的完整的交易系统,包括最基本的交易点组成的框架,也就是由两个点组成,一个是买入点的切入和卖出点的切出,整个的交易系统就是围绕着这两个基本的点形成的循环,整个的交易系统的确立、测试和优化,简单讲只是围绕这两个基本点的确认而展开。
但是,一个交易系统绝对不只是局限于得到两个点的工作,买入和卖出的有机结合,交易资金的合理分配使用,根据市场状况的变动相应的调整以适应新的变化等等后期的跟踪和再优化,以及保证交易循环的连续性都是一个“完整的交易规则体系”的要求。


一个完整的交易系统由以下的步骤组成:
1、交易策略的提出
2、交易对象的筛选
3、交易策略的公式化
4、交易系统的统计检验
5、交易系统的外推实验
6、交易系统的实战检验 (包括前期的实时行情模拟和小仓位实盘)
7、交易系统的检测与维护


实际上,简单的讲来就是将一些的经验和方法首先通过量化和公式化,变成计算机可以识别的语言,并且在历史的数据中进行统计和成功率检验。首先通过了不同的市场,不同的历史环境的数据检验后付之实战,最终在实践的考验中不断完善和进步。

 

 

2、如何把测试过的的交易模型转换成程式化交易系统?

 

唐奇安通道模型

input:N(20,5,100,1),NS(10,0,60,1);

资产:asset,noaxis,colorgreen;

持仓:HOLDING,LINETHICK0;

总次数: TOTALTRADE,LINETHICK0;

盈利:NUMWINTRADE,LINETHICK0;

胜率:ROUNDS(100*PERCENTWIN,1),LINETHICK0;

连亏:MAXSEQLOSS,LINETHICK0;

连盈:MAXSEQWIN,LINETHICK0;

 

BPK:=CROSS(H, hhv(ref(h,1),N));

SPK:=CROSS(llv(ref(l,1), N),L);

Price:=AVGENTERPRICE;//持仓价位

 

SELLSHORT(BPK and 持仓<0,持仓,market);

SELLSHORT(持仓<0,持仓,Stopr,Price+NS); //止损

BUY(BPK and 持仓=0,30%,market);

 

SELL(SPK and 持仓>0,持仓,market);

SELL(持仓>0,持仓,Stopr,Price-NS);//止损

BUYSHORT(SPK and 持仓=0,30%,market);

 

将交易模型转换成程式化交易系统,主要是涉及交易系统函数的转化,即在交易系统函数前加“t”,以及交易类型的改动;并且程式化交易函数都是在后台运行,不能在图表中显示;交易数量不能用30%的写法,只能用具体数量。

 

因此,唐奇安通道模型转化为可程式化交易的系统:

input:N(20,0,60,1) ,NS(30,0,100,1);

 

持仓:=tHOLDING,LINETHICK0;

KCS:= intpart(tasset*0.3/(close*multiplier));//也表示30%的开仓数

 

BUY1:=hhv(ref(h,1),N);

SELL1:=llv(ref(l,1),N);

BPK:=CROSS(H,BUY1);

SPK:=CROSS(SELL1,L);

Price:=tAVGENTERPRICE; //持仓价位

 

tSELLSHORT(BPK and 持仓<0,t持仓,mkt);

tSELLSHORT(持仓<0,持仓,Stp,Price+NS);

tBUY(BPK and 持仓=0, KCS,mkt);

 

tSELL(SPK and 持仓>0,持仓,mkt);

tSELL(持仓>0,持仓,Stp,Price-NS);

tBUYSHORT(SPK and 持仓=0, KCS,mkt);

 

若想与交易模型完全一样,后6句则需这样写:

tSELLSHORT(ref(BPK,1) and 持仓<0,t持仓,mkt);

tSELLSHORT(持仓<0,持仓,Stp,Price+NS);

tBUY(ref(BPK,1) and 持仓=0, KCS,mkt);

 

tSELL(ref(SPK,1) and 持仓>0,t持仓,mkt);

tSELL(持仓>0,持仓,Stp,Price-NS);

tBUYSHORT(ref(SPK,1) and 持仓=0, KCS,mkt);

 

 

同名交易系统函数与程式化交易函数的差别:

 

 

交易模型

程式化交易系统

开多

BUY

TBUY

平多

SELL

TSELL

开空

BUYSHORT

TBUYSHORT

平空

SELLSHORT

TSELLSHORT

其中TYPE:次周期限价

LIMIT

REF(条件,1),LMT

TYPE:本周期限价

LIMITR

LMT

TYPE:次周期停损

STOP

REF(条件,1),STP

TYPE:本周期停损

STOPR

STP

TYPE:次周期市价

MARKET

REF(条件,1),MKT

开仓百分比

30%

KCS:= intpart(tasset*0.3/MULTIPLIER/close);

语句

语句

T语句

函数

可在图表上显示

不能在图表上显示

 

总之,通过函数列表,了解他们的细微差别。

 

  

3、 程式化交易的前提、步骤

1) 有良好的交易策略,最好程式化交易前能够基本稳定盈利

2) 根据交易策略,进行量化,建立交易系统,年回报率可能降低,但可以扩大规模,提高绝对收益;
3) 用交易系统函数建立交易模型,按步骤,选定有关规则,进行交易评测
①  先按单手合约进行,若考虑的滑移后仍能取得稳定盈利,恭喜你!
②  根据测评报告的因素,如连续亏损次数、最大亏损、最大浮动亏损、平均盈亏比、平均交易周期等,将头寸调整(资金管理)加入交易策略,改进模型;
③  若改进模型能够取得更好的稳定盈利,恭喜你!
4)可使用前台图表程式化交易和程式化交易函数替代模型相关的几个交易系统函数,使用模拟账户进行实盘模拟测试和调试,经过一段时间的自动交易模拟,如果仍能取得稳定盈利,恭喜你,你离成功更近了;

5) 拿出资金的一小部分,进行实盘测试和和调试
6) 使用规模资金,进行实盘测试和和调试,稳定后数钱就是,恭喜你成功了!
当然能够成功的只是少数,但你可能就是其中一员。

在使用金字塔程式化交易之际,我们特别提醒任何一个交易策略如果测试结果过好,都可能存在某些不易发现的纰漏,一定要慎重, 金字塔和CTP提供了极接近实盘的模拟账户,请您一定要经过一段时间纸账户的运行,确保万无一失,再进行真实账户操作。为了您和家人,保护好您的财富。

 

另外不要过度优化,要保持相对稳定性,但使用过程中仍要注意交易系统的适用性,经过一段时间正常运行,若某些交易标的的特征明显变化,需做相应调整,其分寸较难掌握到火候,应逐渐积累经验。

在交易过程中,当个人盘感极强时,可以进行人工干预金字塔在这方面预留的相应功能,如直接开仓、平仓、撤单、暂停和调整某参数,而不影响交易系统正常运作,被视做交易系统的一部分,方便交易员发挥主观能动性,逐渐做到人机合一,达到更高境界。如图



当然也可以实现全自动无人值守。

也就是说:用金字塔,可以进行纯主观的手动交易(如炒单使用闪电下单等)、系统信号加主观过滤的交易程式化交易加主观干预的半自动或准自动交易全自动交易等多种交易方式,完全可以满足各类交易员的需求,也可供交易员自身转换手法。 

使用金字塔还有一种非常灵活的方式
-----良好头寸管理下的主观交易模式

利用一套具有良好头寸管理的交易策略,进行主观交易。

1、 启动该交易系统,在程式化交易过程中,暂停系统运行;
2、 根据有关图形和交易盘感进行交易;
3、 开仓后,再启动该交易系统;
4、 系统自动加码、止损、获利平仓;
5、 直至有盘感手工开仓,。。。,再启动,。。。
充分发挥主观能动性和头寸管理系统的长处,做到人机合一,达到更高境界。

用金字塔制作交易系统,就像飞行员、驾驶员的自动导航仪,特殊情况一定要经验丰富的人来驾驶,但到典型情况,如天气良好、路况很好可以暂时交给电脑自动导航,稍事休息、放松一下、听听音乐、看看电影。

听上去很美,问题是谁能事先知道前面是什么气象呢?

从气象良好到恶劣总有个演变过程,当不是良好,就已经预警,准备人工干预,不用等到较差、恶劣天气,再不知所措。可根据变化速度调整干预时机。
交易更多是反应式的。


总而言之,你有什么离奇古怪的想法,金字塔也有可能帮你实现。这样金字塔真正成为交易员的得力助手。

 

4图表程式化交易

为了基础用户的需要,我们特别增加了图表程式化交易,使程式化交易更为简单易用。

 

 

唐奇安通道模型可这样写:

input:N(20,5,100,1);

BPK:=CROSS(H, hhv(ref(h,1),N));

SPK:=CROSS(llv(ref(l,1), N),L);

{开多} ENTERLONG: BPK,TFILTER;

{平多} EXITLONG: SPK,TFILTER;

{开空} ENTERSHORT: SPK,TFILTER;

{平空} EXITSHORT: BPK,TFILTER;

 

注:程式化函数大部分在图表交易中无效。

为了充分发挥前台图表程式化交易潜力,金字塔特别设计,使46个交易系统函数可以在图表前台程式化交易中有效。这样,用交易系统函数编写的交易系统在测评报告的表现,与它在实际图表前台程式化交易基本一致。

它的好吃是:

1、图表程序化交易的好处是多个系统或者系统+人工同时交易同个品种不会出现“共振”;

2、资金管理就会有用,因为资金管理(头寸调整)是基于历史的;

3、更好的保持策略头寸和真实头寸的一致性。运用测试的系统投入使用不需要再更改,另外交易也更佳直观性;

4、是多重头寸管理(比如你开个多个头寸然后分别对其进行监控管理,如果不是基于历史数据是办不到的)和投资组合的基础,同时也比较适合长线交易。所以图表程序化交易支持新交易系统指令是非常有必要。

 

使用也很简单:

10)    选择要交易的模型

11)    选择【交易】---》【图表程式化交易】,将出现

3、设置好相关参数,点击【启动交易】,确认之后,将开始程式化交易,交易详情会记录在表格上。交易结束,点击【停止交易】