-
NO.1
QUANT.LA 量化干货聚集地
前言
一名合格的交易者,不会因为自己的经验,而有所偏见,而是尊重事实,并做出理性客观的决策。 但大部分投资者总是在潜意识中存在这样那样的偏见,而这些偏见就是交易路上的绊脚石。
很多人都有这样的偏见:「都已经连续跌了这么长时间了,并且跌到前期低点,肯定是底部了,正是抄底的时候」。据此轻易的作出判断,下更大赌注,这种做法,华尔街戏称「徒手接天上掉下来的刀子」。价格之所以下跌,背后肯定有不为所知的原因,价格总是走它自己的路,更不会听任你的偏见。
所以,在交易中,判断归判断,但始终要尊重事实。牢记风控第一,判断****第二。一旦市场走势与自己的判断不符,承认错误,不断的修正自己,作出客观理性的决策,才是交易正途。
-
NO.2
QUANT.LA 量化干货聚集地
概述
回到正题,本篇将为大家带来:基于抛物线转向的交易策略。
抛物线转向(SAR)是一个计算非常复杂的分析工具,由美国威尔斯·威尔德发明。「抛物线」这个名字只是一个描述,实际上在指标中并不涉及抛物线的数学计算,它只是在图表上的形状跟抛物线比较相像。
有意思的是,当你在图标上手动绘制趋势线时,它们通常与抛物线转向指标的点对齐。
蓝色虚线——抛物线转向(SAR)
image数据来源:宽客在线(www.quant.la)
抛物线转向最大的特点是:内置加速因子,将趋势方向与趋势强度相结合。在算法中,不仅利用价位变动的动能,还利用了时间变动性质来调整价位上设定的止损点。其中,递减或递增与实际价格之升跌幅度及时间长短有密切关系,可以很好的适应不同形态价格的波动。
-
NO.3
QUANT.LA 量化干货聚集地
原理及算法
抛物线转向原理
简单概括为:首先需要确定极值点(最高价或最低价 EP)。然后在它的基础上加上从 0.02 起步的加速因子(AF),然后每当触及下一个极值点时,再加 0.02。AF的最高为 0.20。然后用极点价与前一时段 SAR 之间的差值乘以加速因子,然后再加上前一时段的 SAR。
涨势中的算法
第一步:假设时间段是t。SAR(t)等于前面N个时间段的最低价格。Af(t)的初始值为0.02。
-
如果SAR(t)大于t时间段的最低价L(t),则发生跳转,在下一个时间段时进入跌势;
-
如果SAR(t)不大于t时间段的最低价L(t),在下一个时间段时进入涨势;
-
极值Ep(t)等于最近N个时间段的最高价格;
第二步:时间段是t+1,即:
SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
-
如果SAR(t+1)大于t+1时间段的最低价L(t+1),则发生跳转,在下一个时间段时进入跌势;
-
如果SAR(t+1)不大于t+1时间段的最低价L(t+1),进入涨势下一步;并且,极值Ep(t+1)等于最近N个时间段的最高价格;
-
如果该时间段的最高价,即H(t+1)比前面N个时间段的最高价高,则AF(t+1)=AF(t)+0.02,否则,AF(t+1)=AF(t)。
第三步:在后面的时间段t+2,t+3,……,上重复涨势第二步中的算法,直到发生跳转为止。另外,AF的最大值是0.2。
跌势中的算法
第一步:假设时间段是t。SAR(t)等于前面N个时间段的最高价格。Af(t)的初始值为0.02。
-
如果SAR(t)小于t时间段的最高价H(t),则发生跳转,在下一个时间段时进入涨势;
-
如果SAR(t)不小于t时间段的最高价H(t),在下一个时间段时进入跌势;
-
极值Ep(t)等于最近N个时间段的最低价格;
第二步:时间段是t+1,即:
SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
-
如果SAR(t+1)小于t+1时间段的最高价H(t+1),则发生跳转,在下一个时间段时进入涨势;
-
如果SAR(t+1)不小于t+1时间段的最高价L(t+1),进入跌势下一步;并且,极值Ep(t+1)等于最近N个时间段的最低价格;
-
如果该时间段的 最低价 L(t+1),比前面N个时间段的最低价低,则AF(t+1)=AF(t)+0.02,否则,AF(t+1)=AF(t)。
第三步:在后面的时间段t+2,t+3,……,上重复涨势第二步中的算法,直到发生跳转为止。另外,AF的最大值是0.2。
关于SAR的算法,有很多种版本,上面这种算法只是其中之一,算法结构都差不多,区别是在细节上,比如:加速因子的触发条件、Ep(t)的确定算法等,会有所区别。
-
NO.4
QUANT.LA 量化干货聚集地
SAR实例
上述的算法过程,你可能会看的云里雾里。不过你可以利用BotVS量化交易平台,直接引用talib库中的SAR指标:
首先引用:☑商品期货交易类库
image.png由上述几行代码就可以获取SAR指标:
-
第一行:程序主函数;
-
第二行:调用商品期货交易类库中的CTA框架,并传入两个参数(合约代码,回调函数);
-
第三行:获取K线数组;
-
第四行:控制K线数组的长度;
-
第七行:调用talib库中的SAR函数;第一个参数是K线数组,第二个参数是加速因子的起始值,第三个参数是加速因子的最大值。
-
第八行:测试,把计算好的SAR数组打印到日志上;
-
NO.5
QUANT.LA 量化干货聚集地
SAR优缺点
SAR优点
-
一定程度上减少了趋势型指标的滞后性。通过加速因子,每当行情快速波动的时候,SAR的变动速度也会加快,一旦价格失速或者反转,SAR都会紧贴价格走势,保护好利润或防止亏损扩大。
-
尽管SAR算法很复杂,但从图形和运用上,与均线类似,属于价格与时间并重的趋势型分析系统,即使是初学者,使用起来也非常简单。
-
一般的技术指标只有在K线走完后才能确定,而SAR在当根K线走完后就能确定下根K线的停损点,止盈止损可以做到提前心中有数,保持操作的主动性,避免被动追随的缺点。
SAR缺点
-
当行情陷入窄幅整理时,SAR经常会交替出现买卖信号,导致信号失效。
-
计算SAR需要一定的周期数据,这也代表了它并不能完全消除滞后性。
-
NO.6
QUANT.LA 量化干货聚集地
策略构建
单独的SAR是一套「反转系统」,即价格在止损点之上是多头,价格在止损点之下是空头,也就是说头寸永远停留在市场内,趋势向上就作多,趋势向下就作空,但是如果行情在盘整时就会来回亏损。
事实上在策略构建中,SAR更适合作为出场点:
-
在行情上涨走势中,每根K线的SAR 都高于上一根K线的SAR,止损点在逐步上移,从而保证浮盈也在逐步上移,这就是典型的移动止损。
-
在行情加速上涨走势中,AF 加大,EP 增大,从而进一步加速止损点上移的速度,保证在强势情况下,止损点能紧密跟随股价的走势,并锁定更多的收益。
所以,为了避免过于频繁短线,限制交易次数,同时过滤震荡行情,在进场点上,加入了长期移动平均线(MA)。
入场点
-
多头买入开仓:如果当前无持仓,并且收盘价高于对应的SAR值,并且收盘价格大于长周期移动平均线,就在下一根K线开盘买入;
-
空头卖出开仓:如果当前无持仓,并且收盘价低于对应的SAR值,并且收盘价格小于长周期移动平均线,就在下一根K线开盘卖出;
出场点
-
多头卖出平仓:如果当前持有多单,并且收盘价低于对应的SAR值,就在下根K线开盘卖出;
-
空头买入平仓:如果当前持有空单,并且收盘价高于对应的SAR值,就在下根K线开盘买入;
-
NO.7
QUANT.LA 量化干货聚集地
策略源码
模板引用:☑ 商品期货交易类库
策略源码:
image参数设置:
image图片来源:BotVS量化交易平台
回测设置:
image图片来源:BotVS量化交易平台
回测绩效:
image image图片来源:BotVS量化交易平台
-
NO.8
QUANT.LA 量化干货聚集地
总结
抛物线转向指标有一项哲学假设:只有继续高于最新抛物线转向指标的走势才值得您花费时间和资金。另外,它还可以作为出场条件,可以与其他条件组成攻守兼备的交易策略。
交易者最难克服的就是:在盈利时落袋为安的心里,一点蝇头小利就想及早卖出。在亏损时固执侥幸的心里,小的亏损积累成大亏损。你如果没有一个相当明确的买卖法则,一定受不了心里的诱惑或恐惧,乱买卖一通。使用正期望的交易规则来约束自己,才是广大散户最捷径的道路。共勉!
作者: Hukybo
由 BotVS 宽客在线 首发授权刊载
网友评论