はじめに
ゴールデンクロスは、テクニカル分析の一部であり、株価チャートの移動平均線が上向きに交差する現象を指します。この記事では、Pythonを使用して株価のゴールデンクロス情報を取得し、1日1回メールで通知するシステムを作成する方法を説明します。
必要なライブラリ
このシステムを作成するには、以下のPythonライブラリが必要です。
yfinance
:株価データを取得するためのライブラリpandas
:データ処理のためのライブラリsmtplib
:メール送信のためのライブラリdatetime
:日付と時刻の操作のためのライブラリ
手順
-
株価データを取得する
yfinance
ライブラリを使用して、指定した銘柄の株価データを取得します。 -
移動平均を計算する
-
ゴールデンクロスの条件をチェックする
-
メールで通知する
smtplib
ライブラリを使用して、ゴールデンクロスが発生した場合にメールで通知します。通知は1日1回行われます。
コード例
import yfinance as yf
import pandas as pd
import smtplib
from datetime import datetime
from email.mime.text import MIMEText
def check_golden_cross(stock_symbol):
# 株価データを取得
data = yf.download(stock_symbol, start="2023-01-01", end=datetime.today().strftime('%Y-%m-%d'))
# 移動平均を計算
data['Short_MA'] = data['Close'].rolling(window=50).mean()
data['Long_MA'] = data['Close'].rolling(window=200).mean()
# ゴールデンクロスの条件をチェック
if data['Short_MA'].iloc[-1] > data['Long_MA'].iloc[-1] and data['Short_MA'].iloc[-2] <= data['Long_MA'].iloc[-2]:
return True
else:
return False
def send_email(subject, body):
# メールの設定
password = "your_email_password"
message = MIMEText(body)
message['Subject'] = subject
message['From'] = sender_email
message['To'] = receiver_email
# メール送信
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message.as_string())
def main():
stock_symbol = "AAPL" # 対象の銘柄
subject = "Golden Cross Alert" # メールの件名
if check_golden_cross(stock_symbol):
body = "Golden Cross occurred for " + stock_symbol
send_email(subject, body)
if __name__ == "__main__":
main()
おわりに
以上で、Pythonを使用してゴールデンクロスの情報を1日1回メールで通知するシステムの作成手順がわかりました。このシステムを使えば、株価の重要なトレンド変化を見逃すことなく、効率的に投資判断を行うことができます。