【量化笔记】波动volatility相关技术指标以其含义

Average True Range (ATR)

参考:https://www.thebalance.com/how-average-true-range-atr-can-improve-trading-4154923
https://school.stockcharts.com/doku.php?id=technical_indicators:average_true_range_atr

衡量波动率的指标。需要注意:ATR 不提供价格方向的指示,仅提供波动性。

计算

Current ATR = [(Prior ATR x 13) + Current TR] / 14

  - Multiply the previous 14-day ATR by 13.
  - Add the most recent day's TR value.
  - Divide the total by 14

操作

可以使用 ATR 来进行止损和止盈。

经验法则是将 ATR 乘以 2 以确定合理的止损点。因此,如果您购买股票,您可能会在低于入场价的 ATR 两倍的水平上设置止损。如果你做空一只股票,你会在比入场价高出两倍 ATR 的水平上设置止损。

日内交易者可以使用一分钟 ATR 来估计价格在 5 分钟或 10 分钟内可以移动多少。

Bollinger Bands

参考:https://www.investopedia.com/trading/using-bollinger-bands-to-gauge-trends/

布林带属于一种均值回归策略,适合用在区间波动行情上。

均值回归假设:如果价格显着偏离均值或平均值,则最终会回归均值。

计算

  * Middle Band = 20-day simple moving average (SMA)
  * Upper Band = 20-day SMA + (20-day standard deviation of price x 2) 
  * Lower Band = 20-day SMA - (20-day standard deviation of price x 2)

操作

当股票价格持续触及 Bollinger Band 上限时,价格被认为超买;相反,当它们持续触及下限时,价格被认为超卖,触发买入信号。

也可以设置多个不同阈值的布林带。比如用 +1 SD 和 +2 SD 来定义上升趋势,用 -1 SD 和 -2 SD 来定义下降趋势。

Bollinger BandWidth

带宽测量上频带和下频带之间的百分比差异。带宽随着布林带变窄而减小,随着布林带变宽而增加。因为布林带基于标准差,下降的带宽反映了波动性的下降,上升的带宽反映了波动性的增加。

( (Upper Band - Lower Band) / Middle Band) * 100

%B

高于 0.80 的读数表明价格接近上限。低于 0.20 的读数表明价格接近下限。向上波段的飙升显示出力量,但有时可以解释为超买。跌至较低的波段表明疲软,但有时可以解释为超卖。在很大程度上取决于潜在趋势和其他指标。虽然 %B 本身可以有一些价值,但最好与其他指标或价格分析结合使用。

%B = (Price - Lower Band)/(Upper Band - Lower Band)

Ulcer Index

只关注下行风险(downside risk)。原因是:该指数是共同基金(mutual funds)所设计,共同基金唯一的风险是唯一的风险是回撤或下跌。

计算

Percent-Drawdown = ((Close - 14-period Max Close)/14-period Max Close) x 100

Squared Average = (14-period Sum of Percent-Drawdown Squared)/14 

Ulcer Index = Square Root of Squared Average

操作

Ulcer Index 衡量价格从早期高点下跌的深度和持续时间。价值下降幅度越大,恢复到早期高点所需的时间越长,用户界面就越高。从技术上讲,它是价值下降的平方百分比平均值的平方根。平方效应对大回撤的惩罚比小回撤的比例要大。

Donchian Channels

参考:https://www.investopedia.com/terms/d/donchianchannels.asp

Donchian Channels 确定当前价格和预定时期内交易范围之间的比较关系。三个值构建了价格随时间变化的视觉图,类似于布林带,指示所选时期的看涨和看跌程度。

计算

在这里插入图片描述

在这里插入图片描述

操作

顶线确定了看涨能量的程度,突出了该时期通过牛熊冲突(bull-bear conflict)实现的最高价格。中心线标识了该时期的中值或均值回归价格,突出了该时期通过牛熊冲突实现的中间立场。底线确定了看跌能量的程度,突出了牛熊冲突期间达到的最低价格。

和布林带相比

布林带由于采用的是价格的标准差,因此更加平衡,能够减少极大值或极小值的影响。

Keltner Channels

Keltner Channels 是基于波动率的包络,设置在指数移动平均线之上和之下。该指标类似于布林带,后者使用标准差来设置带。Keltner Channels 不使用标准偏差,而是使用平均真实范围 (ATR)来设置通道距离

Keltner Channels 是一种趋势跟踪指标,用于识别通道突破和通道方向的反转。当趋势平坦时,通道还可用于识别超买和超卖水平。

计算

Middle Line: 20-day exponential moving average 
Upper Channel Line: 20-day EMA + (2 x ATR(10))
Lower Channel Line: 20-day EMA - (2 x ATR(10))

操作

主要看实际价格走势和区间的关系,注意一些突破性的价格趋势。(在这些突破点可以加上一些相关的features)

在平稳的区间内,可以用其确定超买、超卖水平。

与 Bollinger Bands 相比

布林带使用的是标准差,而Keltner Channels 使用的是 ATR 。ATR 相比于标准差更加稳定。因此 Keltner Channels 有更加恒定的宽度,非常适合趋势跟踪和趋势识别。

Trend 和 Momentum 的区别

参考:https://www.investopedia.com/ask/answers/121614/what-are-main-differences-between-momentum-and-trend.asp

尽管它们最初看起来很相似,但动量和趋势的概念之间存在真正的差异。它们是两种非竞争技术(non-competing techniques),旨在确定在上涨(upswing)时买入并在下跌(downswing)时卖出的机会,从而相互支持或拒绝对方。

动量如何在技术分析中发挥作用

动量是领先/向前的(forward-looking)

动量投资和交易依赖于价格对其供求强度做出反应(至少部分地)的假设(assumption that prices respond (at least in part) to the strength of their supply and demand inputs)

动量有多种形式。它可以基于上市公司的收益报告、市场买家和卖家之间的关系,甚至是历史价格上涨和下跌的典型速度。从某种意义上说,动量交易可能与技术分析的基本面自相矛盾。

动量没有内在的量化特性,因此大多数基于动量的交易工具将使用公式为不同程度的动量分配价值。这些振荡器中的许多 将在有界范围内进一步绘制这些值,从而允许过去和当前动量趋势之间的跨期比较。这样,动量成为技术分析中最常见的领先指标(leading indicators)

趋势如何在技术分析中发挥作用

趋势是滞后的(backward-looking)

趋势跟踪指标通常不那么主观和雄心勃勃(less subjective and ambitious than momentum indicators)。如果动量是基本的和偶然的,那么趋势就是大局和巧​​合。趋势不一定被视为因果关系,这可能是两者之间最基本的区别

最常见的趋势分析形式是移动平均指标。移动平均线只是将各个历史数据混合在一起以寻找有意义的模式的直观表示。这并不是说趋势不能预测——而是它们为其他指标(例如动量振荡器)奠定了基础(That is not to say that trends cannot be predictive – rather that they lay the groundwork for other indicators)。它们是典型的滞后工具(lagging tools)

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
课程概述教会学员快速学会python数据分析,覆盖python基础,pandas,seaborn,matplotlib,SQL,sqlite,lambda等知识。课程是数据科学家居家必备的军火库。课程定期更新,大部分视频分辨率支持2K超清,学员可以看清每一行代码。 适合人群python数据科学从业人员,数据分析师,统计 学习计划和方法1.每天保证1-2个小时学习时间,预计7-15天左右可以学习完整门课程(不同基础学生时间差异较大)。2.每节课的代码实操要保证,建议不要直接复制粘贴代码,自己实操一遍代码对大脑记忆很重要,有利于巩固知识。3.第二次学习时要总结上一节课内容,必要时做好笔记,加深大脑理解。4.不懂问题要罗列出来,先自己上网查询,查不到的可以咨询老师。 作者介绍Toby,持牌照金融公司担任模型验证专家,国内最大医药数据中心数据挖掘部门负责人!和清华大学出版社,重庆儿科医院,中科院教授,赛柏蓝保持慢病数据挖掘项目合作!管理过欧美日中印巴西等国外药典数据库,马丁代尔数据库,FDA溶解度数据库,临床试验数据库,WHO药物预警等数据库。原创公众号(python风控模型) 课程概述教会学员快速学会python数据分析,覆盖python基础,pandas,seaborn,matplotlib,SQL,sqlite,lambda等知识。课程是数据科学家居家必备的军火库。课程定期更新,大部分视频分辨率支持2K超清,学员可以看清每一行代码。
动量指标是金融技术分析中常用的一种工具,用于衡量股票价格或市场趋势的变动速度。在Python量化回测中,这些指标可以帮助交易策略识别入场和离场信号。以下是一些常用的动量指标及其在Python中的实现: 1. **简单移动平均(SMA)**:计算一段时间内资产价格的平均值,如使用pandas库的`rolling()`函数。 ```python import pandas as pd df['SMA'] = df['price'].rolling(window=10).mean() ``` 2. **指数移动平均(EMA)**:对价格的加权平均,更侧重于近期价格变化,`empyrical`库中的`exponential_moving_average`可以实现。 ```python from statsmodels.tsa.stattools import exponential_moving_average ema_values = exponential_moving_average(df['price'], span=10) ``` 3. **相对强弱指数(RSI)**:衡量资产超买或超卖程度,`ta`库提供了RSI的计算方法。 ```python from ta.momentum import RSI rsi_values = RSI(df['price'], window=14) ``` 4. **移动平均收敛/发散(MACD)**:由快线(短期EMA)和慢线(长期EMA)之差以及信号线(9日EMA)组成的三线系统,`ta`库同样支持。 ```python from ta.trend import MACD macd, signal, hist = MACD(df['price'], fast_length=12, slow_length=26, signal_length=9) ``` 5. **布林带(Bollinger Bands)**:由移动平均线和标准差计算出来的上下波动区间,`ta`库也有相关函数。 ```python from ta.volatility import BollingerBands bb_upper, bb_middle, bb_lower = BollingerBands(df['price'], window=20, stds=2) ``` 在进行量化回测时,通常会结合这些指标创建策略规则,比如当价格突破上轨时买入,跌破下轨时卖出。完成回测后,还要分析结果并根据表现优化策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值