python で株価指数の取得その2

python で株価指数の取得その2

日経平均株価とかダウはよくテレビとかででるけど
フランスとかイギリスなどのはネットで調べる必要があり
アプリなどでもあまりでないことが多いので表示できるように
investpy で実験

import investpy
from datetime import datetime, date, timedelta
from dateutil.relativedelta import relativedelta
import altair as alt
import pandas as pd

でライブラリをインポート

today = datetime.today().strftime('%d/%m/%Y')

で今日の日付を取得し
フォーマットを investpy で使う日付に変更

今回はイギリスの指標の
FTSE 100

フランスの
CAC 40

を取得

フランスは
france

イギリスは
united kingdom
が国名になるので

uk_index =investpy.indices.get_indices(country="united kingdom")
f_index =investpy.indices.get_indices(country="france")

で取得して

uk_index[uk_index['full_name'].str.contains('FTSE 100')]

で検索し 
name が FTSE 100 を確認

ftse = investpy.get_index_historical_data(index='FTSE 100',country='united kingdom',
                                        from_date='01/01/2010',to_date=today)

でFTSE 100の値を取得し

ftse.index = ftse.index.strftime('%Y/%m%d')
ftse = ftse.T
ftse = ftse.T.reset_index()

でDateをカラムに追加

chart =(
    alt.Chart(ftse)
    .mark_line(opacity=0.8,clip=True)
    .encode(
        x="Date:T",
        y=alt.Y("Close:Q",stack=None)
    )
)
chart

でチャートで表示

次にCAC 40

f_index[f_index['full_name'].str.contains('CAC 40')]

で検索

cac40 = investpy.get_index_historical_data(index='CAC 40',country='france',
                                        from_date='01/01/2010',to_date=today)

で値を取得

cac40.index = cac40.index.strftime('/%Y/%m/%d')
cac40 = cac40.T
cac40 = cac40.T.reset_index()

で日付フォーマット変更と
Date をカラムに追加

chart =(
    alt.Chart(cac40)
    .mark_line(opacity=0.8,clip=True)
    .encode(
        x="Date:T",
        y=alt.Y("Close:Q",stack=None)
    )
)
chart

でチャート表示

他にもアジアや中東などの株価指数なども
おなじ要領で調べてグラフ化が可能

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です