人気記事

Python

Python pandasで米国S&P500全銘柄の株価をCSVファイルに出力する

投稿日:

米国株投資を行うにあたり、上昇トレンドにある銘柄を把握したいと思いました。証券会社から色々とツールは出ていますが、とりあえず全銘柄の株価を取得できれば自分でも色々できると考え、手始めにS&P500全銘柄の株価をCSVファイルに出力してみました。

結果イメージ

日付と各銘柄の株価一覧を取得します。

Date MMM AOS ABT ABBV ATVI
2021/1/20 169.039993 57.3800011 112.650002 112.910004 93.9599991
2021/1/21 170.220001 57.5600014 112.25 112.629997 95.4700012
2021/1/22 170.199997 57.8100014 113 110.650002 94.6800003
2021/1/25 168.880005 57.6100006 113.059998 109.730003 95.5299988
2021/1/26 173.779999 57.0400009 114.25 111.300003 93.3499985
2021/1/27 177.309998 53.7099991 115.199997 106.279999 91
2021/1/28 185 55.4799995 117.910004 104 89.5699997
2021/1/29 182.289993 56.3199997 120.25 104 90

 

環境

・Mac Sierra バージョン 10.12.6

・jupyter 

 

ソースコード

動作説明

取得する銘柄を指定するCSVファイルを作成する。

以下リンクのようにCSVファイルを作成します。

S&P500.csv

 

取得する期間をstart,endで指定する。

daysを変更することで取得期間を調整します。

 

株価をpandas.datareaderで取得する

以下の処理で株価を取得しています。

取得までに数分〜数十分かかります。

stockの中身を見ると銘柄毎にOpen,High,Low等の株価が取得できています。

 

Open時のみの株価を抽出

 今回はOpen時のみの株価を使うことにします。

    以下の処理で抽出します。

 

日付を抽出

 うまい方法が思いつかず変換づくしで何とか抽出しました。

日付と株価を結合

日付(df_date)と株価(df_stockj)を両方ともデータフレーム型としてのでjoinで結合しました。

CSV出力

データフレームなのでto_csvの1行で出力できます。

 

 出力結果

出力したCSVファイルを添付しておきます。

S&P500銘柄.csv

 

グラフ化したら下図のようになりました。

 

最後に

自分が探した限りでは株価の生データ一覧をサクッと取得できなかったので、今回試してみましたが、pandasのdatareaderという便利機能のおかげで思ったより簡単に達成できました。株価データさえ取れればあとはグラフで可視化したり株価上昇率でフィルタリングしたりと自由にデータ分析ができそうです。

 

以上。

-Python
-, , , ,

Copyright© ITエンジニアへの転身 , 2021 All Rights Reserved Powered by STINGER.