top of page
  • 執筆者の写真bookloveru2

株価をライン(Line)に通知しよう。

更新日:2021年1月2日

皆様、こんにちは。


今回は、pythonを使って、株価をラインに通知してみます。


対象銘柄は、

①S&P500

②日経平均株価

③Amazon

④半導体大手AMD

⑤イーロン・マスク最強!テスラ

⑥みんな大好きリンゴ


の6銘柄です。


コードを実行すると、下図の通り画像が通知されます。



何と!AMDは2018.1.1から7倍を達成‼テスラも6倍強!アップルとAmazonもスゲーなんじゃこりゃ~!ビットコインなんて買ってる場合じゃなかった(´・ω・`)的なことになっております。因みに、ビットコ大好きです。

そして、いきなりコードです。


ハイ。ドン!


#まずは必要なモジュールをインポートします。
import datetime
import fix_yahoo_finance as yf
import matplotlib.pyplot as plt
import argparse
import requests

#次に、株価を取得する開始日を決めます。今回は2018.1.1としています。
start = datetime.date(2018,1,1)
end = datetime.date.today()

#ここで、取得したい株価の銘柄を入力します。
#今回は、
#「①S&P500、②日経平均株価、③Amazon、④半導体大手AMD
#  ⑤イーロン・マスク最強!テスラ、⑥みんな大好きリンゴ」の6銘柄です。
codelist = ["SPY","^N225","AMZN","AMD","tsla","APPL"]

#data2に各銘柄の終値を格納。
data2 = yf.download(codelist, start=start, end=end)["Adj Close"]

#パーセント表記へ変換。
df_all=(1+data2.pct_change()).cumprod()
bairitu = df_all.iloc[-1]
print(bairitu)
#グラフを作成。
df_all.plot(figsize=(8,6),fontsize=18)
plt.legend(loc = 'upper left', bbox_to_anchor=(0, 1), borderaxespad=0, fontsize=16) 
plt.grid(True)
#ここで、plt.show()のコードを記述しないよう、注意してください。
#ラインへ画像が送信できません。
plt.savefig("test1.png")

#ここからは、ラインへ株価の変化を通知するコードになります。
def PythonNotify(message, *args):
 # 諸々の設定
    line_notify_api = 'https://notify-api.line.me/api/notify'
    line_notify_token = 'メモしておいたアクセストークンに置換' 
    headers = {'Authorization': 'Bearer ' + line_notify_token}
 # メッセージ
    payload = {'message': message}
 # 画像を含むか否か
 if len(args) == 0:
        requests.post(line_notify_api, data=payload, headers=headers)
 else:
 # 画像
        files = {"imageFile": open(args[0], "rb")}
        requests.post(line_notify_api, data=payload, headers=headers, files=files)


if __name__=='__main__':
    PythonNotify('これはテストです。\nブログって結構楽しいかも!(^^)!\nTwitterフォローもお願い致します。\n以下、倍率です。\n' + str(bairitu), 'test1.png')

※LINE Notify(らいん のーてぃふぃー)の設定方法は、ググれば沢山記事があります

 ので、ここでは省略しております。




 

pythonを使えば、ラインの通知も自動化できますね!(^^)!


因みに、Heroku等のサーバーにコードを置けば、対話型Botも作成できます。


以下、参考までにLINEBotとの会話を貼っておきます。


上記のイメージでは、


「ビットコ」と入力すれば、現在のbitflyerFXの価格を返してくれます。


また、それ以外の単語を入力した場合、Wikipediaで調べた結果を送り返してくれます。


なかなか面白いです!(^^)!


上記のコードについては、また別記事にて紹介していきたいと思います。


では、本日もお疲れ様でした。


バイちゃ。

 




閲覧数:428回0件のコメント
bottom of page