作者:量化投资学
题图:量化投资学微信公众号
在上一篇文章《量化策略11—RSRS择时:预测市场阻力与支撑的全新方法(上)》中,我们介绍了基础版的RSRS(阻力支撑相对强度)指标的计算。基础版的RSRS是最高价与最低价的线性回归模型的斜率,计算过程是:
获取 N 日的最高价与最低价,建立线性回归模型,回归模型以最低价序列为自变量,以最高价序列为因变量,模型通常表示为:
high = ɑ + β×low + ɛ
求解回归模型的斜率(β)就是基础版RSRS指标值。
本文介绍如何对RSRS指标进行改进。改进的方法有加权回归和计算标准分。文章的最后还将讨论RSRS的各个参数的优化。
一 用加权回归计算RSRS指标
在基础版的RSRS指标中,回归模型中各个数据点的权重是相同的。我们还可以基于时间距离、成交额、或其他认为重要的市场因素来确定加权回归的权重。通过这种方式,RSRS指标可以更好地捕捉市场动态,从而为投资者提供更有效的择时信号。
基于时间距离的加权回归是赋予最近的数据点更高的权重,因为它们更能反映当前的市场情绪。
基于成交额加权回归则考虑了市场成交额对价格变动的影响。较高的成交额通常意味着更多的市场参与者和更强的价格发现机制,因此,具有较高成交额的交易日应该在模型中具有更大的权重。
用加权回归计算RSRS指标的步骤如下:
1. 获取一段时间的最高价与最低价
2. 确定各个数据点的权重,方法有:
1)基于时间距离的线性加权
权重公式为:
(N−𝑖) / (N+1) × 2/N
其中 N 是总的样本点数量。i 为距离当前交易日的天数。这种权重设置使得更近的样本点有更大的权重,但权重是等量递增的。所有数据点的权重之和为1。
2)基于时间距离的指数加权
权重公式为:
2/(𝑁+1) × ((𝑁−1)/(𝑁+1))^𝑖
指数加权与线性加权相比,越靠近当前交易日的样本点得到的权重更大。
3)基于成交额的加权
每个数据点的权重等于当日成交额除以回归样本内𝑁日的总成交额。
3. 构建加权线性回归模型
建立线性回归模型,回归模型以最低价序列为自变量,以最高价序列为因变量。在线性回归模型中应用计算出的权重,重新估计模型参数。
4. 计算RSRS指标
根据加权线性回归的结果,求解回归系数(斜率) β 作为RSRS指标值。
二 标准分的RSRS指标
标准分RSRS指标是指计算回归斜率的标准分(z-score)作为RSRS指标值。标准分(z-score)消除了原始数据的单位,能够将斜率值转换为一个标准化的量度,这使得不同时间点或不同资产的斜率值之间可以直接比较。这在金融数据分析中是一个常见的做法。
(一)RSRS的标准分
RSRS的标准分计算步骤如下:
1. 计算回归斜率(β)的时间序列数据
回归斜率(β)即用最低价和最高价建立的回归模型的斜率。回归模型可以用普通回归,也可以用加权回归。在滚动窗口内计算回归斜率,就能得到斜率的时间序列数据。
2. 计算标准分(z-score)
标准分公式为:
RSRS标准分 = (当日斜率值 − 斜率均值) / 斜率标准差
其中,斜率均值和标准差是基于过去 M 日的斜率时间序列计算得到的。
(二)RSRS的修正标准分
线性回归模型的拟合效果,通常用决定系数(R-squared)来衡量,它可以反映模型对数据拟合程度的好坏。一个高的R-squared值意味着模型对数据的解释程度高,而一个低的值则意味着模型拟合效果差。
为了将拟合效果纳入考量,修正标准分通过将标准分与决定系数相乘来构建,以减少拟合效果差的标准分对策略的影响。这样,即使标准分的绝对值较大,如果决定系数较低,表明拟合效果差,那么修正标准分也会受到压制,从而减少这种数据点对交易信号的影响。
RSRS修正标准分的计算方法如下:
1. 计算 RSRS的标准分
RSRS标准分的计算方法上文已讲述。
2. 获取线性回归决定系数
线性回归分析的决定系数(R-squared)在前述最低价和最高价的回归模型中计算得到,该系数反映了线性回归模型的拟合效果,其值介于0和1之间。
3. 计算RSRS的修正标准分
将计算出的标准分与线性回归的决定系数相乘,得到修正标准分。这一步骤的目的是通过决定系数对拟合效果差的斜率值进行惩罚,从而降低这些斜率值对最终交易信号的影响。
修正标准分的计算公式可以表示为:
RSRS修正标准分 = RSRS标准分 × 决定系数
(三)RSRS的右偏标准分
RSRS的右偏标准分是将修正标准分乘以回归斜率值而得。
由于最低价和最高价的特性,回归模型的斜率值本身几乎总是正值,这反映了价格变动的相对强度。将修正标准分乘以回归斜率使得标准分分布右偏,使得指标可能更好地捕捉市场的上涨动能,增强了指标对未来收益率的预测能力。
RSRS右偏标准分的计算方法如下:
1. 计算修正标准分
修正标准分的计算方法如上文所述。
2. 获取回归的斜率
该回归的斜率就是前述最低价和最高价的回归模型的斜率,也即基础版的RSRS指标值。
3. 计算RSRS右偏标准分
右偏标准分的计算公式为
RSRS右偏标准分 = RSRS修正标准分 × 回归斜率
(四)RSRS的钝化标准分
RSRS钝化标准分是在RSRS标准分指标的基础上,引入市场波动率的信息来调整指标的敏感度。这样做的目的是减少在市场震荡期间的误判,提高择时策略的稳定性。当市场波动率较高时,即市场处于震荡状态,RSRS指标会被钝化,即其影响力会被降低;相反,在市场波动率较低时,RSRS指标的值会更具影响力。
RSRS钝化标准分的公式为:
RSRS钝化标准分 = RSRS标准分 × 钝化因子
计算方法如下:
1. 计算RSRS的标准分
RSRS标准分的计算方法如上文所述。
2. 计算钝化因子
钝化因子的公式为:
𝑅^(4∗𝑞𝑢𝑎𝑛𝑡𝑖𝑙𝑒(𝑠𝑡𝑑(𝑟𝑒𝑡𝑢𝑟𝑛,N),𝑀))
其中:
𝑅 为最低价和最高价序列的相关系数
𝑠𝑡𝑑(𝑟𝑒𝑡𝑢𝑟𝑛,N) 为N日的市场波动率,用收益率的标准差表示
𝑞𝑢𝑎𝑛𝑡𝑖𝑙𝑒(𝑠𝑡𝑑(𝑟𝑒𝑡𝑢𝑟𝑛,N),𝑀) 为根据过去M日的波动率数据计算的波动率分位数
3. 计算RSRS的钝化标准分
将RSRS标准分与钝化因子相乘,得到RSRS的钝化标准分。由于 𝑅 大于 0 小于 1,当波动率的分位数越大时,震荡水平越高,此时 RSRS 指标将得到更大的钝化效果。
三 RSRS择时的参数优化
RSRS择时模型涉及多个参数,这些参数共同决定了模型的表现和择时效果。以下是RSRS择时模型中主要的参数及其优化方法:
1. N(最高价和最低价的数据窗口长度)
用于计算斜率的最近N日最高价与最低价序列。较大的N值有助于过滤市场噪声,因为它们考虑了更多的数据点。然而,如果N过大,可能会导致指标对市场变化的反应过于迟缓。参数N的选择通常基于历史数据的回测,选择能够最大化择时效果的N值。
2. M(标准分计算周期)
用于计算斜率的标准分,取过去M日的斜率时间序列。参数M的选择同样依赖于历史数据的回测,以确定最能反映市场状态的周期长度。
3. 钝化因子的参数
计算钝化因子需要两个参数,一个是用最近多少天的收益率数据来计算标准差,一个是用多少个标准差数据来计算分位数。为了尽量在信息来源上保持一致,这两个参数的值即选用与计算RSRS标准分时一样的 N 与 M。
4. S(RSRS的阈值)
用于生成买入或卖出信号的阈值。当RSRS指标超过S时,可能触发买入信号;当RSRS指标低于-S时,可能触发卖出信号。阈值S的选择通常基于优化模型表现。
四 RSRS指标跟其他的技术指标组合择时
RSRS指标可以和其他的技术指标综合使用,以下是一些思路:
1. RSRS指标与均线指标组合
用移动平均线(MA)来分析当前市场状态,比如:比较前一日的MA值与前三日的MA值。如果RSRS指标发出买入信号,同时前一日的MA值大于前三日的MA值(表明市场趋势向上),则执行买入操作。如果RSRS指标发出卖出信号,无论价格趋势如何,执行卖出操作。
2. RSRS指标与交易量指标组合
交易量是市场活跃度和买卖力量的直接反映,与价格变动有内在联系。通过分析交易量与RSRS指标之间的相关性,可以过滤掉一些可能基于单一价格信息产生的误判信号。计算过去一段时间内(如10天)交易量与RSRS修正标准分之间的相关性,如果RSRS指标发出买入信号,并且在过去10天内交易量与修正标准分之间的相关性为正,则执行买入操作。如果RSRS指标发出卖出信号,则执行卖出操作,而不进行相关性过滤。
在下一篇文章中将以具体的例子说明如何用Python实现RSRS择时,并观察RSRS择时的效果。
版权声明:文章版权归原作者所有,部分文章由作者授权本平台发布,若有其他不妥之处的可与小编联系。