布林線(Bollinger Bands)是一種技術分析指標,由約翰·布林格(John Bollinger)在1980年代中期開發并廣泛應用于股市分析領域。布林線由三條帶狀線組成,其中中間線是簡單移動平均線(SMA),上下兩條線則是SMA加上和減去標準差(Standard Deviation)的結果,標準差用來衡量價格波動的大小。
import numpy as np import pandas as pd import yfinance as yf import matplotlib.pyplot as plt def bollinger_bands(data, window_size=20, num_std=2): rolling_mean = data['Close'].rolling(window_size).mean() rolling_std = data['Close'].rolling(window_size).std() upper_band = rolling_mean + (rolling_std * num_std) lower_band = rolling_mean - (rolling_std * num_std) return rolling_mean, upper_band, lower_band # 下載蘋果公司股票數據 apple = yf.download('AAPL',start='2020-01-01') # 計算布林線并繪制圖表 rolling_mean, upper_band, lower_band = bollinger_bands(apple) plt.plot(apple['Close'], label='AAPL') plt.plot(rolling_mean, label='rolling mean') plt.plot(upper_band, label='upper band') plt.plot(lower_band, label='lower band') plt.legend() plt.show()
如上所示,我們使用了Python的pandas、numpy、yfinance、matplotlib等庫來計算和繪制布林線。首先,我們下載了蘋果公司(AAPL)2020年1月1日至今的股票數據。然后,我們定義了一個函數bollinger_bands,用于計算布林線中的中間線、上限線和下限線。
在主程序中,我們調用該函數計算蘋果公司的布林線,并使用matplotlib庫進行可視化展示。其中,紅線是蘋果公司的股價,藍線是中間線,綠線是上限線,紫線是下限線。
布林線可用于判斷股價的超買和超賣情況,以及價格波動的趨勢和強度。在量化交易、股票風險控制和資產配置等方面都有廣泛應用。
上一篇python+圓形畫板
下一篇python 差分計算