iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0

上一篇介紹了價量分析 前幾篇也稍微提到了RSI 和均線的作用
這篇想要再講一些技術分析的東西,非常紅的MACD指標

當談到技術分析中的指標時,MACD(移動平均匯聚多標準差,Moving Average Convergence Divergence)是一個常見且受歡迎的工具之一。MACD指標通常由三個部分組成,讓我們逐一來詳細介紹:

快速EMA(Exponential Moving Average):MACD的第一個元件是快速EMA,它通常計算在12個交易日內的價格移動平均。快速EMA反應較快,因此可以更敏感地追蹤股價的變化。

慢速EMA:第二個元件是慢速EMA,通常計算在26個交易日內的價格移動平均。慢速EMA反應較慢,平滑了價格波動,有助於確定長期趨勢。

DIF(差離值,Divergence):DIF是MACD的快速EMA減去慢速EMA的差值,即DIF = 快速EMA - 慢速EMA。DIF反映了短期和長期移動平均之間的價格差異。

DEA(信號線,Signal Line):DEA是DIF的九個交易日的EMA,通常稱為「信號線」。DEA有助於平滑DIF,使其更容易閱讀。DEA的計算方式類似於計算快速EMA和慢速EMA。

MACD的主要用途是:
趨勢追蹤:當MACD的DIF線交叉DEA線向上,這可能是一個買入信號,表示股價可能上升。相反,當DIF線向下交叉DEA線,這可能是一個賣出信號,表示股價可能下跌。

多空對比:MACD柱狀圖(DIF與DEA的差值)的變化可以用來評估多頭(看漲)和空頭(看跌)的勢頭。當柱狀圖變大時,多空對比可能加劇。

超買和超賣:當DIF和DEA的數值遠離零線時,可能表示股價已超買或超賣,這可能預示著反轉的可能性。

背離分析:當股價形成高或低,但MACD指標未能確認相應的高或低時,這可能是背離的信號,暗示著趨勢的反轉。

總之,MACD是一個多功能的技術分析指標,可用於評估股價趨勢、多空勢頭和市場的超買/超賣情況。然而,它應與其他指標和分析工具一起使用,以做出更全面的交易決策。

這邊介紹一下

如何整合爬蟲模組和資料庫模組(MYSQL)

連接到MySQL資料庫

pip install mysql-connector-python
import mysql.connector
# 連接到MySQL資料庫
conn = mysql.connector.connect(
    host="your_host",
    user="your_username",
    password="your_password",
    database="your_database"
)

# 創建游標對象
cursor = conn.cursor()
# 執行查詢
cursor.execute("SELECT * FROM your_table")

# 查詢結果
result = cursor.fetchall()

# 查詢結果
for row in result:
    print(row)

使用爬蟲模組獲取股票市場數據
爬蟲模組可以用來獲取各種金融數據,包括股票價格、成交量、財報等。我們可以使用Python的庫(如requests、BeautifulSoup等)來編寫爬蟲程序。
如何使用Python獲取股票價格數據:

import requests
from bs4 import BeautifulSoup

# 指定股票代碼
stock_code = 'AAPL'

# 構建URL
url = f'https://www.example.com/stock/{stock_code}'

# 發送HTTP請求
response = requests.get(url)

# 解析HTML頁面
soup = BeautifulSoup(response.text, 'html.parser')

# 提取股票價格信息
price = soup.find('span', {'class': 'stock-price'}).text
print(f'{stock_code}的股價為:{price}')

將股票價格數據插入到MySQL資料庫中

# 獲取股票價格
price = 100.0  # 假設這是獲取的價格數據

# 創建插入數據的SQL語句
insert_sql = "INSERT INTO stock_price (stock_code, price, date) VALUES (%s, %s, NOW())"

# 執行插入操作
cursor.execute(insert_sql, (stock_code, price))

# 提交事務
conn.commit()

print(f'{stock_code}的股價已成功插入到資料庫中')

繪製MACD指標線
計算MACD指標數據
首先,我們需要計算MACD指標的數據。這包括計算短期(12日)和長期(26日)的指數平滑移動平均線(EMA),然後計算MACD線、信號線和MACD柱狀圖。我們可以使用Python的庫(如pandas)來執行這些計算。

計算MACD指標的數據

import pandas as pd

# 讀取股票數據
data = pd.read_csv('stock_data.csv')

# 計算短期(12日)和長期(26日)的指數平滑移動平均線(EMA)
data['EMA12'] = data['Close'].ewm(span=12).mean()
data['EMA26'] = data['Close'].ewm(span=26).mean()

# 計算MACD線
data['MACD'] = data['EMA12'] - data['EMA26']

# 計算信號線(9日EMA)
data['Signal Line'] = data['MACD'].ewm(span=9).mean()

# 計算MACD柱狀圖
data['MACD Histogram'] = data['MACD'] - data['Signal Line']

# 結果
print(data[['日期', 'MACD', 'Signal Line', 'MACD Histogram']])

如何使用matplotlib繪製MACD指標線

import matplotlib.pyplot as plt

# 繪製MACD指標線
plt.figure(figsize=(12, 6))
plt.plot(data['日期'], data['MACD'], label='MACD線', color='blue')
plt.plot(data['日期'], data['Signal Line'], label='信號線', linestyle='--', color='orange')
plt.bar(data['日期'], data['MACD Histogram'], label='MACD柱狀圖', color='green')
plt.title('MACD指標線')
plt.xlabel('日期')
plt.ylabel('數值')
plt.legend()
plt.show()

驗證以MACD指標為基礎的買賣點

MACD指標經常用於制定買賣策略,因為它可以幫助我們識別股票價格的趨勢和反轉點。在這一節中,我們將探討如何驗證以MACD指標為基礎的買賣點策略,例如底頂背離

底頂背離策略
底頂背離策略是一種基於MACD指標的交易策略,它通常包括以下規則:

買進信號:當MACD柱狀圖由負轉正,同時價格創造較低的底部時。
賣出信號:當MACD柱狀圖由正轉負,同時價格創造較高的頂部時。
我們可以使用Python來驗證這些信號,以確定它們是否有效。

# 創建一個空的欄位來存儲交易信號
data['交易信號'] = None

# 底頂背離策略示例
for i in range(1, len(data)):
    if data['MACD'][i] > 0 and data['MACD Histogram'][i] < 0 and data['MACD Histogram'][i-1] > 0:
        data['交易信號'][i] = '買進'
    elif data['MACD'][i] < 0 and data['MACD Histogram'][i] > 0 and data['MACD Histogram'][i-1] < 0:
        data['交易信號'][i] = '賣出'

# 包含交易信號的數據
print(data[['日期', 'MACD', 'Signal Line', 'MACD Histogram', '交易信號']])

總結來說,今天稍微紀錄了如何使用Python來連接MySQL資料庫、整合爬蟲模組和資料庫模組、繪製MACD指標線以及驗證以MACD指標為基礎的買賣點策略。這些技巧可以更好地理解和應用MACD指標,從而提高股票交易策略的效益。


上一篇
建立投資策略規劃
下一篇
投資策略:型態學
系列文
嘗試使用Python與Open Data 打造自動化投資30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言