程序化模型中常用的止损策略

一.价差止损

最新价与基准价之间的价差触发设定的条件时进行止损平仓。我们将以资金盈亏额为条件的止损策略也归为这一类。比较常用的策略有限价止损、追踪止损、阶梯止损等。

优秀的止损策略,既要避免被无谓的随机波动震出局,又要起到保护交易者的作用。但是,鱼和熊掌不可兼得,所以交易者需要从中找到一个平衡点。体现在价差止损策略中,就是要甄选合适的基准价与价差。

常用的基准价有开仓价格、开仓后的最高价/最低价,和重要的支撑/压力位。

价差的选择主要与两个因素有关:一是交易者盈利预期和愿意并且能够承受的亏损。二是交易品种的随机波动性,可以通过经验总结、对历史数据分析等方法研究。ATR指标常被用来作为衡量随机波动性的标准。

除了基准价和价差之外,有时我们还会设置一个启动止损止盈的条件。例如我们通常会限制当最大盈利达到某一标准之后再启动跟踪止损。时间也经常被作为止损的触发发条件。

 

二、限价止损/止盈

限价止盈/止损的逻辑:以开仓价格为基准价,当前亏损或盈利超过固定的价差时进行止损/止盈。

例1:

A:=MINPRICE;//取模组交易合约的最小变动价位

C<=BKPRICE-10*A,SP;//最新价低于买开仓价10个最小变动价位,多头止损;

C>=BKPRICE+20*A,SP;//最新价高于买开仓价20个最小变动价位,多头止赢;

C>=SKPRICE+10*A,BP;//高于卖开仓价10个最小变动价位,空头止损;

C<=SKPRICE-20*A,BP;//低于卖开仓价20个最小变动价位,空头止赢;

 

三、跟踪止损

跟踪止损的逻辑:以开仓后的最高或者最低价为基准价,回撤超过价差后进行止损。

这里的价差可以使用固定价差,也可以是最大盈利的百分比。通常还会限制当最大盈利超过某一范围后再启动止盈止损策略。

例2:

A:=MINPRICE;//取模组交易合约的最小变动价位

BKHIGH-BKPRICE>50*A && C<bkhigh-0.3*(bkhigh-bkprice),sp;< p="" style="padding: 0px; margin: 0px; list-style: none;">

//触发条件:买开仓后的最高价减去买开仓价格大于50个最小变动价位

//止损条件:最新价小于基准价减价差。(基准价是买开仓后的最高价,价差是最大盈利的30%)

SKPRICE-SKLOW>50*A && C>SKLOW+0.3*(SKPRICE-SKLOW),BP;

//触发条件:卖开仓价格与卖开仓后的最低价的差值大于50个最小变动价位

//止损条件:最新价大于基准价加价差。(基准价是卖开仓后的最低价,价差是最大盈利的30%)

 

四、阶梯止损

阶梯止损的逻辑:以开仓价格为基准价,开仓时以M点固定价差设置止损,行情每向有利的方向波动N个点,将止损价格提高(多头)或者降低(空头)P个点。

例3:

C<bkpeice-30+intpart((bkhigh-bkprice) 10)*5,sp;

//买开仓后,初始止损价差30个点,行情每上涨10点,止损价格提高5点

C>SKPEICE+30-INTPART((SKPRICE-SKLOW)/10)*5,BP;

//卖开仓后,初始止损价差30个点,行情每下跌10点,止损价格降低5点

 

五、保本

保本的逻辑:开仓之后,最大盈利超过固定价差后,当盈利再次回到固定价差的水平时进行止损平仓。

例4:

BKHIGH-BKPRICE>10 && C-BKPRICE<=10,SP;

//买开仓后的最大盈利大于10,并且当前的盈利小于等于10,卖平仓

SKPRICE-SKLOW>10 && SKPRICE-C<=10,BP;

//卖开仓后的最大盈利大于10,并且当前的盈利小于等于10,买平仓

 

六、支撑/压力位

本质上,以支撑/压力位标准进行止损止盈也可认为是一种价差止盈止损,只不过这里研究的重点是基准价(支撑/压力)。

 

例5:

N1:=BARSLAST(DATE<>REF(DATE,1))+1;//开盘第一根K线到当前的K线根数

N2:=REF(N1,N1);//每个交易日K线的总数

HH:HV(H,N1-1);//当日最高价,不包含当前K线

LL:LV(L,N1-1);//当日最低价,不包含当前K线

OO:REF(O,N1-1);//当日开盘价

OZ:REF(O,N2+N1-1);//昨日开盘价

CZ:REF(C,N1);//昨日收盘价

HZ:REF(HHV(H,N1),N1);//昨日最高价

LZ:REF(LLV(L,N1),N1);//昨日最低价

HDN:IFELSE(N1>=5,VALUEWHEN(N1=5,HHV(H,5)),NULL);

//当N1>=5时,开盘前5根K线的最高价

LDN:IFELSE(N1>=5,VALUEWHEN(N1=5,LLV(L,5)),NULL);

//当N1>=5时,开盘前5根K线的最低价

 

七、时间止损

时间止盈止损逻辑:开仓后的时间(通常使用开仓K线到当前K线的区间内的K线数量)触发设定的条件时进行止损/止盈平仓,通常与价差条件结合使用。

例6:

BARSBK=1,SP;//开仓后下一根K线开始时平仓

BARSSK=1,BP;//开仓后下一根K线开始时平仓

 

八、时间+价差阶梯止损

时间+价差阶梯止损止盈逻辑:以买(卖)开仓价格为基准价,最新价小于(大于)开仓价减(加)价差时进行止损/止盈平仓。价差的浮动规则:开仓时固定价差M,随着时间的推移,每出现N根K线,将价差增加P个点。

例8:

C<bkpeice-30+intpart(barsbk 5)*10,sp;

//买开仓后,初始止损价差30个点,开仓之后每出现5根K线,止损价格提高10点

C>SKPEICE+30-INTPART(BARSSK/5)*10,BP;

//卖开仓后,初始止损价差30个点,开仓之后每出现5根K线,止损价格提高10点

 

九、ATR指标在止损中的应用

ATR指标源码:

TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));

//当前K线最高价减最低价,前一根K线的收盘价与当前K线最高价之差的绝对值,前一根K线的收盘价与当前K线的最低价之差的绝对值,TR返回这三个值中的最大值

ATR:MA(TR,26);

//TR的N周期简单移动平均

平均真实波幅均值(Average True Range)最早由J. Welles Wilder Jr提出,旨在判断价格波动率。在设计交易系统时,ATR指标有着广泛的应用,例如《海龟交易法则》中仓位管理就是以ATR指标为核心的。《通向金融王国的自由之路》的作者范·K·撒普使用的就是3倍ATR的吊灯止损策略。最常用的基于ATR的止损策略有三种:吊灯止损、YOYO止损、ATR棘轮止损。

 

吊灯止损

吊灯止损的逻辑:基准价为买开仓后的最高价和卖开仓后的最低价,价差由ATR确定,当最新价与基准价的关系满足价差条件时进行止损。吊灯止损策略一般应用于趋势跟踪系统。

例1:以开仓后的极值为基准价,价差3倍ATR止损策略

TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));

ATR:=MA(TR,N);

BKHIGH-BKPRICE>2*ATR && BKHIGH-C>3*ATR,SP;

SKPRICE-SKLOW>2*ATR && C-SKLOW>3*ATR,BP;

 

YOYO止损

YOYO止损的逻辑:基准价为前一根K线的收盘价,价差由ATR确定,当最新价与基准价的关系满足价差条件时进行止损。

YOYO止损与吊灯止损的区别在于:

1.基准价。前者的基准价是前一根K线的收盘价,后者的基准价是开仓后的极值。

2.适用。YOYO止损法是典型的波动性止损法,即用于辨别一个交易日内异常的不利的价格波动。这种异常波动往往是由于某一新闻事件,或是一种重要的技术性反转(是趋势结束的标志)。这种逻辑使得YO YO止损法非常有效,我们很少因为这种止损触发的退出交易而后悔。

综合两种止损方法:更有效。吊灯止损点往往设在距离最高点(或最高收盘价)3ATR或更多的地方,在市场向不利于我们的方向移动时,该止损点是不变的,因此他将保护我们免受趋势逐渐逆转的伤害。YOYO止损点往往设在离上一个收盘价仅1.5或2ATR处,它可以保护我们免受异常的日内价格的剧烈波动。当两者同时使用时,每天的止损价会是两者中最先被触发的那个。

例2:综合使用YOYO止损法和吊灯止损法

TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));

ATR:=MA(TR,N);

BKHIGH-BKPRICE>2*ATR && BKHIGH-C>3*ATR,SP;

SKPRICE-SKLOW>2*ATR && C-SKLOW>3*ATR,BP;

REF(C,1)-C>1.5*ATR,SP;

C-REF(C,1)>1.5*ATR,BP;

拓展阅读:

1.一个量化策略师的自白(好文强烈推荐)

2.市面上经典的量化交易策略都在这里了!(源码)

3.期货/股票数据大全查询(历史/实时/Tick/财务等)

4.干货| 量化金融经典理论、重要模型、发展简史大全

5.从量化到高频交易,不可不读的五本书

6.高频交易四大派系大揭秘

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值