布林带指标公式及使用技巧(含Python代码)
由bqw9z8tc创建,最终由bqw9z8tc 被浏览 141 用户
布林带指标(Bollinger Bands,缩写BOLL)是一种流行的技术分析工具,由约翰·布林格(John Bollinger)在1980年代发明。
布林带主要用于评估股票或其他金融资产的价格波动性和市场趋势。一般由三条线组成:一个中间带(移动平均线)和两个外带(标准差带)。
BigQuant的金融市场数据因子平台以及AI量化策略平台(PC端),可以验证布林带BOLL指标因子组成的AI量化策略。
-
中间带(Moving Average,MA):
其中 Pi 是过去 n 个时间周期的收盘价,n 是移动平均的周期数(通常为20)。
-
上带(Upper Band): Upper Band=MA+(k×SD)
其中 k 是标准差乘数(通常为2),SD 是标准差。
-
下带(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)、成交量等,来确认更为准确的信号。