Pythonライブラリを使って株価を自動取得!
株投資をする上でよく「自分ルール」を作れと言われていますよね。周りの雑多な情報に流されずに自分なりの基準で銘柄を選び、自分なりのタイミングで買い、自分なりのタイミングで売る。僕も自分の軸をしっかり持って取引することが大事だと思っています。
僕の自分ルールは機会があればいつか紹介したいのですが、今回はルール策定前に行った分析に株価データの取得方法を紹介したいと思います。
Stooq.comが無料で提供している株価データを使っています。Google翻訳のサジェスト言語にポーランド語と表示されるので、ポーランドで運営されていると思われます。
僕はもともとエクセルで過去データを捏ねくり回していたのですが、エクセルの関数には限界があり、やりたい分析ができませんでした。そこで勉強も兼ねてPythonを使って分析してみることにしました。ちなみにcsv形式で株価情報を取得できるサイトは他にも多数あります。Stooq.comを使用している理由としては、Pythonのライブラリを使えばAPIで株価を取得できるところです。
超簡単!Stooqから株価取得するスクリプト
株価の取得にはpandas_datareaderというライブラリのdata関数を使用します。関数で取得したい銘柄やインデックスを指定できます。僕はS&P500の株価を分析したかったので、1つ目の引数にS&P500のコードである^SPXを指定しました。
下記がサンプルコードです。
from pandas_datareader import data
start = '2022-01-01'
end = '2022-02-01'df = data.DataReader('^SPX', 'stooq', start, end)
すごくシンプルです。欲しい株価の日付範囲をstartとendで指定し、関数にぶち込むだけです。2つ目の引数をstooqとします。
例えばendの日付をdatetimeライブラリを使ってend = datetime.date.today()とすれば本日までの株価を取得できます。ちなみにpandas_datareaderで取得したデータの構造はseries型となり少し癖があります。
1つ目の引数は、もちろん個別の銘柄も指定できます。入力するコードはstooq.comの左上の検索により調べられます。例えばソフトバンクグループのコード9984.JPです。米国株など海外の株価情報も同様に取得可能です。
中長期投資や過去データの分析には超おすすめ!
APIの認証設定をする必要もないですし、Webスクレイピングのようにプログラミング初心者には少し敷居の高いコーディングをする必要もありません。Pythonで自動で株価情報を引っ張ってきたい人にStooq.comはかなりおすすめです。
一点欠点を挙げるとするならば、株価の更新に約一日かかることです。デイトレーダーがリアルタイムで株価をモニタリングすることには向いていません。しかし、過去データの分析や中長期的に株価をウォッチするには十分です。
みなさんの自分ルール作りや株価分析のお役に立てればと思います!
さらにこちらの記事ではpythonで為替レートを自動取得する方法を紹介しています。為替ヘッジをしながら株価を分析したいという人は参考にして頂ければと思います。
おまけ:おすすめの本紹介
蛇足ですが、なんとかして労働の檻から脱出したい僕がこれまで感銘を受けた本を紹介します。
金持ち父さん 貧乏父さん
マイホーム購入について一旦僕に待ったをかけてくれた本です。この本では資産と負債の違いを端的に分かりやすく説明していて、労働から脱出するためにはいかにお金に働いてもらうか(=資産を増やしていけるか)が重要であると説いています。お金の扱い方の基本を勉強する上でも役に立ち、いつか我が子にも読ませたい良書です。
コメント