iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

前言

  • 實作更多的技術分析工具,例如MACD、布林通道等,用於協助投資決策。
  • 提供相應的圖表和視覺化介面,以方便使用者檢視股票趨勢和分析結果。

實作

  1. 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()
  1. 布林通道(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()

上一篇
Day 7: 實作股票通知功能
下一篇
Day 9: 實作基本面分析功能
系列文
30天打造理財機器人阿達.Mx.Ada30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言