株式アルゴリズムトレードへの道
finance.yahoo.comからAPIをコールして株価データを取得しグラフ化するコード
パイソンプログラムを走らせて、ticker(株コード)を入力するだけ。
tickerがわからなければ list と入力してエンターで一覧のサイトを開きます。
日本株もOK,トヨタなら 7203.T と日本の証券コード+.Tとします。
ループしますので、終えるときは end と入力
例:qcomと入力しクァルコム株価2年分のチャートを表示
(qcom 10株持ってます、爆騰がりだウシシ)
わざわざfnance.yahoo.comである理由は、日本のサイトにはAPIを無料でコールできるサイトがないの情報が少ないからです。
ソースコード
コードは↓たったこれだけです。python恐るべし。
#pandas_datareaderをインストール↓ #pip install git+https://github.com/pydata/pandas-datareader.git import pandas_datareader.data as web #要pip↑ import datetime import matplotlib.pyplot as plt import webbrowser#標準モジュールpip不要 end = datetime.datetime.today() #今日の日付を取得 start = end-datetime.timedelta(days=732)#遡る日数 while True: stock1=input('input ticker (h=help) > ')#ticker,日本で言う証券コード if stock1=='end': break elif stock1=='list': webbrowser.open('https://search.sbisec.co.jp/v2/popwin/info/stock/pop6040_usequity_list.html') elif stock1=='h' or stock1=='help': print (''' [h] help [list] open listing site(SBI証券アメリカ株一覧のページを勝手に開くぞよ) [end] END ''') else : try: f1 = web.DataReader(stock1, 'yahoo', start, end) print(f1.tail()) f1['Close'].plot(title='YAHOO finance '+stock1, grid=True) plt.show() except: print('SYMBOL名が間違っていませんか?')
ヘルプ類を取ったシンプルなコード
import pandas_datareader.data as web #要pip import datetime import matplotlib.pyplot as plt end = datetime.datetime.today() start = end-datetime.timedelta(days=732)#日数 while True: stock1=input('input ticker (h=help) > ')#ticker,日本で言う証券コード try: f1 = web.DataReader(stock1, 'yahoo', start, end) f1['Close'].plot(title='YAHOO finance '+stock1, grid=True) except: print('SYMBOL名が間違っていませんか?')
コメント