AI量化知识树

布林带指标公式及使用技巧(含Python代码)

由bqw9z8tc创建,最终由bqw9z8tc 被浏览 140 用户

布林带指标(Bollinger Bands,缩写BOLL)是一种流行的技术分析工具,由约翰·布林格(John Bollinger)在1980年代发明。

布林带主要用于评估股票或其他金融资产的价格波动性和市场趋势。一般由三条线组成:一个中间带(移动平均线)和两个外带(标准差带)。

BigQuant金融市场数据因子平台以及AI量化策略平台(PC端),可以验证布林带BOLL指标因子组成的AI量化策略。

  1. 中间带(Moving Average,MA):

    其中 Pi​ 是过去 n 个时间周期的收盘价,n 是移动平均的周期数(通常为20)。

  2. 上带(Upper Band): Upper Band=MA+(k×SD)

    其中 k 是标准差乘数(通常为2),SD 是标准差。

  3. 下带(Lower Band): Lower Band=MA−(k×SD)

    \

假设我们有一只股票,过去5天的收盘价分别为:$100, $102, $101, $103, $102。

计算移动平均(MA): MA=5100+102+101+103+102​=5508​=101.6

计算标准差(SD):

首先计算每个价格与平均值的差的平方,然后求其平均,最后取平方根。

计算上带和下带:

使用 k=2。

Upper Band=101.6+(2×SD)

Lower Band=101.6−(2×SD)


根据上述示例所示,可以得出:

移动平均(MA):101.6101.6 美元

标准差(SD):约 1.021.02 美元

上带(Upper Band):103.64103.64 美元(101.6 + 2 * 1.02)

下带(Lower Band):99.5699.56 美元(101.6 - 2 * 1.02)

这样就得到了布林带的三条线。中间带是移动平均,上带和下带分别代表了股价的高波动区域和低波动区域。

通常,股价在这两条带之间波动;如果股价触及或突破这两条带,可能预示着未来的市场趋势或波动性变化。

import numpy as np

# 数据
prices = np.array([100, 102, 101, 103, 102])
n = len(prices)

# 计算移动平均
MA = np.mean(prices)

# 计算标准差
SD = np.sqrt(np.sum((prices - MA) ** 2) / n)

# 计算上带和下带 (k = 2)
k = 2
upper_band = MA + (k * SD)
lower_band = MA - (k * SD)

MA, SD, upper_band, lower_band

输出结果Result

(101.6, 1.019803902718557, 103.63960780543711, 99.56039219456288)

布林带使用技巧

假设某股票的20日SMA为100美元,标准差为5美元。

中间线:20日SMA = 100美元。

上带:100美元 + 2 * 5美元 = 110美元。

下带:100美元 - 2 * 5美元 = 90美元。

**价格触及上带(110美元):**可能表示股票短期内被过度买入(超买状态)。可以考虑卖出股票,价格也会回落。

**价格触及下带(90美元):**股票短期内可能被过度卖出(超卖状态)。可考虑买入股票,预期价格会反弹。

**价格穿越中间线:**如果是价格从上方跌破中间线,可能是下跌趋势的开始;而价格从下方突破中间线,则表明有可能是上升趋势。

**带宽变化:**带宽(即上带和下带之间的差距)如果显著增大,表示市场波动性增加,价格可能大幅波动;带宽缩小,可能表明市场波动性减少,价格可能进入盘整状态。

价格长期处于在上带附近可能反映出市场的乐观情绪;而长期持续在下带附近可能反映出市场的悲观情绪。投资的时候仅凭布林带指标进行交易决策可能不够全面,应适当结合其他重要指标如相对强弱指数(RSI)、成交量等,来确认更为准确的信号。

标签

市场趋势移动平均线Python
{link}