时间止损认为时间是有价值的,若在一定的时间内某股票的回报收益低于一个预设值就认为该交易低于预期,选择卖出。 这是一个非常简单的止损策略, 由于止损线是固定的, 所以不能很好的减少回撤。若不是专门研究时间止损, 不建议使用。
伪代码:
if 持仓时间> X 天 and 区间涨幅 小于Y% :
卖出止损
else:
继续持有
时间+阶梯 止损是将“时间有价值” 和 “动态止损” 这两个思路结合在一起的策略。 止损价会随着 持股周期的变化而变化, 一旦跌破止损价,则卖出。 良好的止损策略。
止损价 =fx ( 持股周期, 期望回报率)
if 现价< 止损价:
卖出止损
阶梯次数= floor(log(1+最大涨幅%)/log(1+阶梯长度%))
止损价位=初始止损价*(1+Y%)^阶梯次数
if 现价<止损价位:
卖出止损
阶梯次数= floor (持股时间(天)/周期X(天))
止损价= 买入价*(1+阶梯次数* Y%)
if 持股时间>周期 X and 现价< 止损价:
卖出止损
else if 持股时间<周期X and 现价<买入价*预设止损比例:
在第一个周期内亏损过多, 卖出止损
else:
继续持有
限价止损 将买入价设置为基准价, 一旦股价上涨大于X% 或下跌大于 Y% 就卖出该股。这是也是一个固定止损/止盈价位的止损方案, 和时间止损存在相同问题:不能有效减少回撤。
if 现价>(1+X%)*买入价: 卖出 止盈 else if 现价<(1-Y%)*买入价: 卖出止损 else: 继续持有
跟踪止损 考虑的是该股的回撤, 若回撤大于某预设值X% 就将其卖出。 此方案的止损价会随着最高价的变化而变化, 在股灾和熔断中有很好的表现。
X=允许最大回撤
if 现价<持股周期内最高价*(1-X %):
卖出止损
else:
继续持有
阶梯止损是一种 动态止损策略。 止损价会根据持股周期内最高价的变化而变化。 和跟踪止损的思路类似, 但是止损价的计算方式略有不同, 股灾期间表现良好。 但不及阶梯止损。
M= 初始止损比例
X= 阶梯长度
Y= 阶梯变化率 (阶梯每改变一次, 止损线上涨的幅度)
止损线改变次数=floor[log(周期内最高股价/买入价)/log(1+ X%)]
止损价= M * [1+Y%] ^ 止损线改变次数
if 现价< 止损价:
直接跌破止损价, 卖出止损。
else:
继续持有
ATR止损 会先计算 一个叫做平均真实波幅 (Average True Range )的指标,ATR止损是根据这一指标发散出来编写的策略。
Raw_ATR=max(|今日振幅|, |昨天收盘-今日最高价|,|昨天收盘-今日最低价|) # 未处理ATR = 这三个指标的最大值
ATR=moving_average (ATR ,N) #真实ATR 为 Raw_ATR 的N 日简单移动平均,默认N=22
转载自 量化投资与机器学习