経済指標カレンダーの取得
スクレイピングだけだとあっているかわからないので
Investor でも取得してみる
[Python]investpyで株、為替、経済指標データを取得する
を参考に
1 2 3 | economic_data = invest.economic_calendar(time_zone = 'GMP +9:00' , countries = [ 'japan' , 'united states' ], from_date = '01/02/2021' , to_date = '28/03/2021' ) economic_data.tail( 5 ) |
としたがエラー
1 2 3 | economic_data = investpy.economic_calendar(countries = [ 'japan' , 'united states' ], from_date = '01/02/2021' , to_date = '28/03/2021' ) economic_data.tail( 5 ) |
というように
time_zone を省略したらできた
1 2 3 | today = datetime.date.today().strftime( '%d/%m/%Y' ) today |
で今日の日付を investor で検索する形式に変換して取得
1 2 3 | economic_data = investpy.economic_calendar(countries = [ 'japan' , 'united states' ], from_date = today, to_date = today) economic_data.tail( 5 ) |
とすると今日のカレンダーと思ったけど出ない
1 2 3 | economic_data = investpy.economic_calendar(countries = [ 'japan' , 'united states' ], from_date = '23/03/2022' , to_date = today) economic_data.tail( 5 ) |
というように前日の日付にすればできる
1 2 3 4 5 | economic_data = investpy.economic_calendar(countries = [ 'japan' , 'united states' ], from_date = '23/03/2022' , to_date = today) economic_data.tail( 5 ) economic_data[economic_data[ 'importance' ] = = 'high' ] |
で日本とアメリカだけ出てくる
なので国コードを外してしてしてみる
まずは昨日の日付をオートで取れるようにする
[Python]昨日や明日、月末などの日付を取得したい
を参考に
1 2 3 | import datetime from dateutil.relativedelta import relativedelta |
を追加
1 2 3 4 5 6 7 8 | # 今日# => 2020-04-02 today = datetime.date.today() # 昨日# => 2020-04-01 yesterday = today + relativedelta(days = - 1 ) |
で昨日の日付を取れる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | today = datetime.date.today() print (today) deel_today = datetime.date.today().strftime( '%d/%m/%Y' ) print (deel_today) yesterday = today + relativedelta(days = - 1 ) print (yesterday) deel_yesterday = yesterday.strftime( '%d/%m/%Y' ) print (deel_yesterday) |
とすれば取引の当日、前日を取得できる
1 2 3 | economic_data = investpy.economic_calendar(countries = [ 'japan' , 'united states' ], from_date = deel_yesterday, to_date = deel_today) economic_data.tail( 5 ) |
で同じ結果であることを確認した
次に国コードを外してみる
1 2 3 4 5 6 7 8 9 | # economic_data = investpy.economic_calendar(countries=['japan', 'united states'], from_date=deel_yesterday, to_date=deel_today) # economic_data.tail(5) economic_data = investpy.economic_calendar(countries = None , from_date = deel_yesterday, to_date = deel_today) economic_data.tail( 5 ) economic_data[economic_data[ 'importance' ] = = 'high' ] |
で経済指標カレンダー取得はできたけど
ミシガン消費者信頼感指数が出ない
結果として対応するのは
通貨コード
指標名
予測値
前回の値
今回の値となっているが
これが遅延があるのか調べないとわからない
遅延が数秒程度なら
Twitter より早いと思う
1 | economic_data.dtypes |
でデータ型を調べたら
全て object
この中で検索などの処理で使うのは
Date
Time
Event
の3つをキーにして検索する