Bootstrap

布林带(Bollinger Bands)

布林带(Bollinger Bands)是一种技术分析工具, 由约翰·布林格(John Bollinger)在20世纪80年代提出。它主要用于衡量市场的波动性, 并识别价格可能的高低点。布林带由三条线组成:

中轨线(Middle Band):通常是一条简单移动平均线(SMA), 一般取20日收盘价的平均值。

上轨线(Upper Band):中轨线加上一定倍数的标准差。通常, 倍数为2。

下轨线(Lower Band):中轨线减去一定倍数的标准差。通常, 倍数也为2。

布林带的计算公式如下:

中轨线(MB)= N日收盘价的简单移动平均线

上轨线(UB)= 中轨线 + K * N日收盘价的标准差

下轨线(LB)= 中轨线 - K * N日收盘价的标准差

其中, N为计算周期, 通常取20; K为标准差的倍数, 通常取2。

布林带的主要作用有:

识别价格趋势:当价格在布林带中轨线以上时, 市场被认为是上涨趋势; 当价格在布林带中轨线以下时, 市场被认为是下跌趋势。

衡量波动性:布林带的宽度可以反映市场的波动性。当布林带变宽时, 市场波动性增加; 当布林带变窄时, 市场波动性减小。

识别超买超卖:当价格触及上轨线时, 市场可能处于超买状态, 价格可能会回调; 当价格触及下轨线时, 市场可能处于超卖状态, 价格可能会反弹。

在实际应用中, 投资者可以结合其他技术分析工具和指标, 如相对强弱指标(RSI)、移动平均线(MA)等, 来提高交易决策的准确性。

def stock_bob(stock_data, window=20, k_std=2):

rolling_mean = stock_data['close'].rolling(window=window).mean()

rolling_std = stock_data['close'].rolling(window=window).std()

upper_band = rolling_mean + (rolling_std * k_std)

lower_band = rolling_mean - (rolling_std * k_std)

return rolling_mean, upper_band, lower_band

def plot_stock_bob(stock_data):

rolling_mean, upper_band, lower_band = stock_bob(stock_data)

stock_data['trade_date'] = pd.to_datetime(stock_data['trade_date'], format='%Y%m%d')

plt.plot(stock_data['trade_date'], stock_data['close'], label='Close Price')

plt.plot(stock_data['trade_date'], rolling_mean, label='Middle Band')

plt.plot(stock_data['trade_date'], upper_band, label='Upper Band')

plt.plot(stock_data['trade_date'], lower_band, label='Lower Band')

plt.legend()

plt.title('Bollinger Bands')

plt.xlabel('Date')

plt.ylabel('Price')

plt.show()

;