FC2ブログ

関東在住福岡人のまったり投資日記

関東在住の三十路福岡人が海外ETF、インデックスファンド等の投資について語ります
MENU
【スポンサーリンク】
Top Page > 海外株式 > 米国株 > WindowsにPython(Anaconda)をインストールして、米国株や海外ETFの価格・配当を取得する方法
米国株

WindowsにPython(Anaconda)をインストールして、米国株や海外ETFの価格・配当を取得する方法

python-dividend-20190418.jpg

サクソバンク証券でこれまで投資していなかったETFも保有するようになりましたので、価格や分配金の確認とかいろいろと簡略化できないかなと考えていました。

iシェアーズMSCIスイスETF(EWL)を購入しました - 関東在住福岡人のまったり投資日記

アメリカ中心に投資をしていますが、今年以降は個人的には面白いと考えてる国にも投資を行う方針です。その1つが「スイス」ですね。産業として金融業も強いですし、通貨もドル以外でユーロでもない強い通貨を持ってます。...

5月の連休は長いですし、残業時間上限が大幅に下がったせいで強制年休消化の指令がでまして、多少なりとも学習時間ができました。

ということでサクソバンクで投資をしようと決めていた3月に本を買って4月からちまちまやってます。


プログラムを書ける人間ではありませんので、簡略化しかした文でいかに欲しい情報が取れるかということを優先でやってます。

とりあえずインストールから取得まで一通りできましたのでまとめてみました。

コーディングこうした方がいいとか、わたしPythonのプロとか、もっと他に取得方法あるという方は是非当方までご連絡・ご指導をお願いします。

スポンサードリンク

Anacondaをインストールする


PythonをWindows上ではAnacondaがいいかなと思いまして、以下のサイトからダウンロードしてきました。

Anacondaダウンロード

わたしが検証した環境は、Windows10 64bit、Python 3.7、Anaconda 2019.03のインストーラです。

株価の取得に必要なpandas-datareaderをインストールする


ただ、デフォルトでは株価が取得できないため、「pandas-dataread」をインストールする必要があります。

まずインストールされたAnaconda navigatorで「Environment」を選びます。

anaconda-navigator.png

右上で「Not installed」、検索で「pandas」を選んで「pandas-dataread」を選んで右下緑の「Apply」を押してインストールします。インストールが成功すると検索結果から消えます。

pandas-datereader.png

株価を取得して表示する、csv形式で出力する


株価を取得する環境が整いましたので、実際にプログラムを動かしてみます。

他のサイトを見て作ったプログラムが以下の通り。

import pandas as pd
import datetime as dt
import numpy as np
import pandas_datareader.data as web

start = dt.date(2019,4,10)
end = dt.date(2019,4,15)

tickerList = ['VT','BND','AMZN','VTI','JNJ','KO','VIG','VYM']

for i in tickerList:
stock = web.DataReader(i,'yahoo',start,end)
print(i,stock.loc[:,'Adj Close'])

stock2 = web.DataReader(tickerList,'yahoo',start,end)
stock2.to_csv("data.csv")

Anacondaのpromptを起動して、以下のようにコマンド叩くと各ETFや米国株の4/9~4/15までの終値の価格の値が出力されます。
data-test1.png
ちなみに最後の行でcsvに出力した結果は以下の通り。1日の高値なども出力されます。
data-csv.png

配当の取得にはfix-yahoo-financeがあるといい


ただ、これだと配当が取れないのでいろいろと調べていましたが、どうやら「fix-yahoo-finance」というのがあるといいようです。

Anaconda navigatorでは出てこないので、Anacondaのプロンプトを起動して「pip install fix-yahoo-finance」と入力します。
fix-yahoo-finance.png
インストールすると以下のようなプログラムが動作するようになります。

import pandas_datareader.data as pdr
import fix_yahoo_finance as yf
yf.pdr_override() # <== that's all it takes :-)

print(pdr.get_data_yahoo("BND", start="2007-01-01", end="2018-04-30", as_panel=False, group_by="ticker", auto_adjust=False, actions="only"))

BNDの配当を取得してみると以下の通りで四捨五入してはありますが、ちゃんとした値が取れました。
data-test2.png
ST Cap GainとLT Cap Gainは出力されないようですが、株式分割?と分配金が出力されてます。

注意点としてはGoogle financeのようにAPIの変更で取得できなる可能性がある


情報が取れるようになりましたので、情報を加工したり計算すると分布とかも見ることができるでしょうし、グラフプロットも可能でしょう。

昨年まではGoogle Financeも使えたようですが、APIの変更で値が取れなくなったようです。

yahooはfix-yahoo-financeがありますので大丈夫だとは思いますが、同じリスクはあるでしょうね。

APIの変更はAmazonもあって、ヨメレバのデフォルトが楽天になっちゃったりしましたし。

ともあれ作業の効率化していろいろとやりたいこともありますし、競馬の情報が取れるならばそれを使っていろいろとやっていきたいと考えています。

株価に関しては自作している人が結構いるようですし、パンローリングから書籍は定期的に出てるようです。

ただ、書籍に関しては情報が古い場合があるので、最新のものはGoogleで検索したりする必要はあるでしょうね。


Python3という意味では以下の本も参考になるかもしれません。
スポンサードリンク
↓よろしければ応援・シェアお願いします↓
にほんブログ村 株ブログ インデックス投資へにほんブログ村 株ブログ 米国株へ
フォローする

更新情報を受け取る
follow us in feedly
関連記事

Leave a reply






管理者にだけ表示を許可する

Trackbacks

trackbackURL:https://garboflash.blog.fc2.com/tb.php/2026-8ba7b7d8
該当の記事は見つかりませんでした。