df 登峰程序化交易平台 经典策略模型

17
DF 登登登登登登登登登 登登登登登登 ---------------- 登登登登登登登登登登

Upload: wan

Post on 14-Jan-2016

161 views

Category:

Documents


0 download

DESCRIPTION

DF 登峰程序化交易平台 经典策略模型. ---------------- 深圳登峰科技有限公司. 交易策略形象化. 我有想法和理论,怎么变成 DF 策略呢?. 交易策略. 一个设计良好的交易系统,必须对投资决策的各个相关环节做出相应明确的规定,同时还必须符合使用者的心理特征、投资对象的统计特征以及投资资金的风险特征。 ------------《 系统交易方法 》. R-Breaker. R-Breaker R-breaker 是一个专门使用在股票指数上的交易系统,该系统为日内交易策略,不持仓过夜。 R-Breaker 特点 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DF 登峰程序化交易平台 经典策略模型

DF 登峰程序化交易平台 经典策略模型

---------------- 深圳登峰科技有限公司

Page 2: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

我有想法和理论,怎么变成 DF 策略呢?

交易策略形象化

Page 3: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

交易策略

一个设计良好的交易系统,必须对投资决策的各个相关环节做出相应明确的规定,同时还必须符合使用者的心理特征、投资对象的统计特征以及投资资金的风险特征。

------------ 《系统交易方法 》

Page 4: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

R-Breaker R-Breaker R-breaker 是一个专门使用在股票指数上的交易系统,该系统为日内交易策略,不持仓过夜。 R-Breaker 特点 结合了趋势和反转两种交易方法,既进行趋势交易也进行反转交易。

观察区

Page 5: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

R-Breaker 交易原理R-Breaker 交易系统的基本原理: 当日内最高价超过观察卖出价 (Ssetup) 后,盘中价格出现回落,且进一步跌破反转卖出价 (Senter) 构成的支撑线

时,采取反转策略,即在该点位 ( 反手、开仓 ) 做空; 当日内最低价低于观察买入价 (Bsetup) 后,盘中价格出现反弹,且进一当日内最低价低于观察买入价 (Benter) 后

,盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,采取反转策略,即在该点位 ( 反手、开仓 ) 做多;

在空仓的情况下,如果盘中价格超过突破买入价 (Bbreak) ,则采取趋势策略,即在该点位开仓做多;在空仓的情况下,如果盘中价格跌破突破卖出价 (Sbreak) ,则采取趋势策略,即在该点位开仓做空。

设定止损条件。当亏损达到设定值后,平仓。 设定过滤条件。当前一个交易日波幅过小,该交易日不进行交易。 在每日收盘前,对所持合约进行平仓。

Page 6: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

DF 策略编写 ---R-Breaker

ParamsNumber notbef(90000), notaft(145500),f1(0.35), f2(0.07), f3(0.25); Number reverse0(1.00), rangemin(0.2), xdiv(3), lots(10), ATRLength(20), TrailStop(3);

VarsArraySeries ssetup(0), bsetup(0),senter(0),benter(0),bbreak(0),sbreak(0),ltoday(0),hitoday(9999); ArraySeries startnow(0),div(0), rfilter(0),ATRValue(0),HiAfterEntry,LoAfterEntry;ArraySeries ATRValue(0),HiAfterEntry,LoAfterEntry;Array i_reverse, i_rangemin, StopLine;Bool B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16,B17,B18,B19,B20;

Beginssetup=HIGHD(1)+f1*(CLOSED(1)-LOWD(1));// 昨日最高 +0.35* (昨天收盘 - 昨天最低)

senter=((1+f2)/2)*(HIGHD(1)+CLOSED(1))-(f2)*LOWD(1);// (( 1+0.07)/2*( 昨最高 + 昨最低) -0.07* 昨天最低

benter=((1+f2)/2)*(LOWD(1)+CLOSED(1))-(f2)*HIGHD(1);// (( 1+0.07)/2*( 昨最高 + 昨最低) -0.07* 昨天最高

bsetup=LOWD(1)-f1*(HIGHD(1)-LOWD(1));// 昨最低 -0.35* (昨最高 - 昨收盘)bbreak=ssetup+f3*(ssetup-bsetup);// ( ssetup+0.25*(ssetup-bsetup);

sbreak=bsetup-f3*(ssetup-bsetup);//bsetup-0.25*(ssetup-bsetup)

Page 7: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

DF 策略编写 ---R-Breaker

// 当日内最高价超过观察卖出价后,盘中价格出现回落,且进一步跌破反转卖出价构成的支撑线时,采取反转策略,即在该点位(反手、开仓)做空;

hitoday=HIGHD(0);ltoday=LOWD(0);

B2=hitoday>ssetup;IF(B2){

B3=CROSS(senter,CLOSE) AND B0 AND rfilter AND MARKETPOSITION==1;IF(B3){

SELLSHORT(lots,CLOSE);}

}// 当日内最低价低于观察买入价后,盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,采取反转策略,即在该点位(反手、开仓)做多;

B4= ltoday<bsetup;IF(B4){

B5=CROSS(CLOSE,benter) AND B0 AND rfilter AND MARKETPOSITION==-1;IF(B5){

BUY(lots,CLOSE);}

}

Page 8: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

DF 策略编写 ---R-Breaker

// 在空仓的情况下,如果盘中价格超过突破买入价,则采取趋势策略,即在该点位开仓做多; B6=MARKETPOSITION==0 AND CROSS(CLOSE,bbreak) AND B0 AND rfilter;IF(B6){

BUY(lots,CLOSE);}

// 在空仓的情况下,如果盘中价格跌破突破卖出价,则采取趋势策略,即在该点位开仓做空。

B7=MARKETPOSITION==0 AND CROSS(sbreak,CLOSE) AND B0 AND rfilter;IF(B7){

SELLSHORT(lots,CLOSE);}

Page 9: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

DF 策略编写 ---R-Breaker

// 设定止损条件。当亏损达到设定值后,平仓。B15 = MarketPosition == 1 and BarsSinceEntry == 0; IF(B15){

HiAfterEntry = High;}B16 = MarketPosition == 1 and BarsSinceEntry >= 1;If (B16){

HiAfterEntry = Max(HiAfterEntry,High);}B17 = MarketPosition == -1 and BarsSinceEntry == 0;If (B17){

LoAfterEntry = Low;}B18 = MarketPosition == -1 and BarsSinceEntry >= 1; If (B18){

LoAfterEntry = Min(LoAfterEntry,Low);}

ATRValue = ma(MAX(ref(close,1),h)-min(ref(close,1),l),ATRLength);B11 = BarssinceEntry > 0 and MarketPosition == 1;B12 = BarsSinceEntry > 0 and MarketPosition == -1;IF(B11){

StopLine = REF(HiAfterEntry,1) - TrailStop *REF(ATRValue,1);

B13 = Low <= StopLine;

IF(B13){

Sell(0, Min(Open, Stopline));

}}ELSE IF(B12){

StopLine = REF(LoAfterEntry,1) + TrailStop * REF(ATRValue,1);

B14 = High >= StopLine;If(B14){

BuyToCover(0, Max(Open,Stopline));

}}

Page 10: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

DF 策略编写 ---R-Breaker

// 指定日内交易B8=TIME>145500 AND TIME <150000;IF(B8){

B9=MARKETPOSITION==1;IF(B9){

SELL(0,CLOSE);}B10=MARKETPOSITION==-1;IF(B10){

BUYTOCOVER(0,CLOSE);}

}End

指定日内交易的部分

Page 11: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

Dual-Thrust

Dual-Thrust Dual-Thrust 是较为常见的日内交易策略之一,以今日开盘价加减一定比例的昨日振幅,确定上下轨。日内突破上轨时平空做多,突破下轨时平多做空。

Dual-Thrust 特点 Dual Thrust 在 Range 的设置上,引入前 N 日的四个价位,使得一定时期内的 Range 相对稳定,可以适

用于日间的趋势跟踪;

Page 12: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

Dual-Thrust 交易原理Dual-Thrus 交易系统的基本原理:•当日内最高价高于价格上轨后,在该点位开仓做多;•当日内最低价低于价格下轨后,在该点位开仓做空;•在持仓的情况下,如果盘中价格突破价格上下轨,则在该点位反手开仓。

Page 13: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

DF 策略编写 --- Dual-ThrustPARAMS

NUMBER k1(0.5);NUMBER k2(0.5);NUMBER Mday(1);NUMBER Nday(1);NUMBER lots(1);

VARSARRAY buyrange(0),sellrange(0),buytrig(0),selltrig(0),HH,LL,HC,LC,buypoint,sellpoint;BOOL B1,B2,B3,B4,B5,B6,B7;

BEGIN

HH=HHV(HIGHD(1),Mday);//M 日 high 的最高价HC=HHV(CLOSED(1),Mday); //M 日 close 的最高价LL=LLV(LOWD(1),Mday); //M 日 low 的最低价LC=LLV(CLOSED(1),Mday); //M 日 close 的最低价sellrange=max(HH-LC,HC-LL);// 计算空头触发区间

Page 14: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

DF 策略编写 --- Dual-ThrustHH=HHV(HIGHD(1),Nday);//N 日 high 的最高价HC=HHV(CLOSED(1),Nday);//N 日 close 的最高价LL=LLV(LOWD(1),Nday);//N 日 low 的最低价LC=LLV(CLOSED(1),Nday);//N 日 close 的最低价buyrange = max(HH-LC,HC-LL);// 计算多头触发区间

buytrig=k1*buyrange;selltrig=k2*sellrange;// 计算买入卖出触发条件

buypoint=OPEND(0)+buytrig;sellpoint=OPEND(0)-selltrig;// 计算买入卖出价格

OUTPUT("buypoint",buypoint);OUTPUT("sellpoint",sellpoint);// 输出买入卖出价格线

当 K1<K2 时,多头相对容易被触发 , 当 K1>K2 时,空头相对容易被触发。

因此,投资者在使用该策略时,一方面可以参考历史数据测试的最优参数。

另一方面,则可以根据自己对后势的判断,或从其他大周期的技术指标入手,阶段性地动态调整K1 和 K2 的值。

Page 15: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

DF 策略编写 --- Dual-ThrustB1=HIGH>=buypoint;B2=LOW<=sellpoint;

// 空仓状态下,日内价格突破价格区间,开仓B3=MARKETPOSITION==0 AND B1;IF(B3){

BUY(lots,MAX(open,buypoint));

} B4 = MARKETPOSITION==0 AND B2;

IF(B4){

SELLSHORT(lots,Min(open,sellpoint));}

// 持仓状态下,日内价格突破价格区间,反手开仓B4=MARKETPOSITION==-1 AND B1;IF(B4){

BUY(lots,Max(open,buypoint));| }

B5=MARKETPOSITION==1 AND B2;

IF(B5){

{SELLSHORT(lots,Min(open,sellpoint));

}END

Page 16: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

策略优化从哪些方面着手?

有完善的进出场规则

添加止盈止损条件

改成日内交易系统

通过 DF 参数优化,调试交易策略

配合 DF 风控系统运行策略

Page 17: DF 登峰程序化交易平台 经典策略模型

深圳登峰科技有限公司

Thank you!

深圳登峰科技有限公司