前言
- 實作更多的技術分析工具,例如MACD、布林通道等,用於協助投資決策。
- 提供相應的圖表和視覺化介面,以方便使用者檢視股票趨勢和分析結果。
實作
- MACD(Moving Average Convergence Divergence): MACD是一個常用的趨勢指標,可以幫助辨識股票的轉折點和趨勢強度。
import pandas as pd
import matplotlib.pyplot as plt
# 獲取股票的歷史價格資料
# 讀取股票資料
data = pd.read_csv('data.csv')
# 計算MACD指標的三個指標值:快速移動平均(EMA12)、慢速移動平均(EMA26)和平均散佈(MACD)
# 計算快速移動平均(EMA12)
data['EMA12'] = data['Close'].ewm(span=12, adjust=False).mean()
# 計算慢速移動平均(EMA26)
data['EMA26'] = data['Close'].ewm(span=26, adjust=False).mean()
# 計算平均散佈(MACD)
data['MACD'] = data['EMA12'] - data['EMA26']
# 計算訊號線(MACD的9日移動平均)
data['Signal Line'] = data['MACD'].ewm(span=9, adjust=False).mean()
# 使用相應的圖表庫(如Matplotlib)來繪製這些圖表
# 繪製MACD圖表
plt.plot(data['Date'], data['MACD'], label='MACD')
plt.plot(data['Date'], data['Signal Line'], label='Signal Line')
plt.bar(data['Date'], data['MACD'] - data['Signal Line'], label='MACD Histogram')
plt.xlabel('Date')
plt.ylabel('MACD')
plt.title('MACD Indicator')
plt.legend()
plt.show()
- 布林通道(Bollinger Bands): 布林通道是一個用來衡量股票價格波動的指標,可以幫助判斷股票的超買或超賣狀態
import pandas as pd
import matplotlib.pyplot as plt
# 讀取股票資料
data = pd.read_csv('data.csv')
# 計算中線(MA)
data['MA'] = data['Close'].rolling(window=20).mean()
# 計算標準差(Standard Deviation)
data['std'] = data['Close'].rolling(window=20).std()
# 計算上軌道(Upper Band)
data['Upper Band'] = data['MA'] + 2 * data['std']
# 計算下軌道(Lower Band)
data['Lower Band'] = data['MA'] - 2 * data['std']
# 繪製布林通道圖表
plt.plot(data['Close'], label='Close')
plt.plot(data['MA'], label='MA')
plt.plot(data['Upper Band'], label='Upper Band')
plt.plot(data['Lower Band'], label='Lower Band')
plt.legend()
plt.show()