Win11 WSL2 Ubuntu Python yfinance

4時間足為替情報取得ファイル作成

ここまでで、yFinance 日時調査が終わりました。
引き続き、豪ドル/円 4時間足取得ファイルを作成していきます。


  1. 作法通り始める

    python3 のインストール場所を示して、文字コードも明らかにしておきます。
    yfinance も import しておきます。
    #!/home/yamada/miniconda3/bin/python3
    #coding: utf-8
    import yfinance as yf
    import pandas as pd
    import datetime
    from pandas.tseries.offsets import Hour
    データ表示、保存のため pandas 及び、時刻シフトのため Hour も import しました。
    print("日本標準時(JST)現在時刻")
    print(datetime.datetime.now())

  2. オプション設定

    オプション設定をします。 豪ドル/日本円為替情報を取得します。
    pair = "AUDJPY=X"
    取得期間は最大とします。
    period = "max"
    とすると730日までしかできないとエラーが出ます。
    period='730d'
    とします。
    取得期間中の足の長さは4時間足とします。
    interval = "4h"

  3. download モジュール

    オプション条件を( )内に記述して download モジュールを実行します。
    df = yf.download(pair, period='730d', interval='4h', auto_adjust=True)
    auto_adjust=True
    は本来いらないのですが、ないとエラーがでますので書きます。

  4. Volume 列削除

    Volume は必要ないので pandas で削除します。
    df.drop(labels=['Volume'], axis=1, inplace=True)
    axis=1 で列削除
    inplace=True で直接データフレームを処理してくれます。

  5. 列 Close と 列 Open 入替

    FX データは
    Open High Low Close
    の順に並んでいるのが一般的ですので
    列 Close と 列 Open を入替えます。
    df = df[['Open', 'High', 'Low', 'Close']]
    次にカラムラベルをの小文字に変更します。
    これは、4時間足から日足に変換するときに大文字が混在すると上手く変換できないためです。
    df.columns = ['open', 'high', 'low', 'close']

  6. 4時間足一旦保存

    この先で日時調整を行って行くのですが作成した4時間足を一旦保存しておきます。
    df0 = df.copy()
    print(df0.tail(20))

  7. 世界時(UTC)から日本時間へ変更

    取得した日時データは世界時(UTC)となっていますのでこれを日本時間(JST)に変更します。
    UTC と JST との時差は
    (+9時間)[JST は UTC より9時間進んでいます]
    df.index = df.index + Hour(9)

  8. 必要に応じて4時間足データ保存

    必要に応じて4時間足データ dfd を csv ファイルとして保存します。
    ファイル置場、ファイル名は適当です。 df.to_csv('/home/yamsda/public_html/manep/yfin_audjp_4h.csv')

4時間足為替情報取得ファイル作成まとめ

以上をまとめるとファイル内容は以下のようになります。

#!/home/yamada/miniconda3/bin/python3
#coding: utf-8

import yfinance as yf
import pandas as pd
import datetime
from pandas.tseries.offsets import Hour

print("日本標準時(JST)現在時刻")
print(datetime.datetime.now())

pair='AUDJPY=X'
df = yf.download(pair, period='730d', interval='4h', auto_adjust=bool)
# 4時間足の時 max 730d まで
print('4時間足データ表示')
print(df.tail())

print('Volume 削除')
df.drop(labels=['Volume'], axis=1, inplace=True)
print(df.tail())

print("列 Close と 列 Open を入替")
df = df[['Open', 'High', 'Low', 'Close']]
print(df.tail())

print("カラムラベルの変更")
df.columns = ['open', 'high', 'low', 'close']
print(df.tail())

df0 = df.copy()
print("df0 元の4h足 一旦保存")
print(df0.tail())

# df.to_csv('/home/yasuhiro/public_html/manep/yfin_audjp_4h.csv')
# 世界時(UTC)からの日本時間時差(+9時間)調整
df.index = df.index + Hour(9)
print('9H shift')
print(df.tail())
# df.to_csv('/home/yamada/public_html/manep/yfin_audjp_4h.csv')

上記のファイル内容の
#!/home/yamada/miniconda3/bin/python3
~・・・~
最後までをすべてをコピ-し、Python ファイルを作成します。
自分の PC Windows で TeraPad 等を使用して作成できたら
\\wsl.localhost\Ubuntu-22.04\home\yamada\public_html
に保存します。
ファイル名は
yfin_audjp_test2.py
とします。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。

4時間足為替情報取得ファイル実行確認

yfin_audjp_test.py ファイルを実行確認します。
WSL2 Ubuntu のターミナルを立ち上げます。
立ち上げ方がわからない方は
Ubuntu の起動 を見てください。
yamada@yama:~$ conda activate
として conda 環境を有効にします。
public_html/yfin_audjp_test2.py ファイルを実行します。
(base) yamada@yama:~$ python3 public_html/yfin_audjp_test2.py
[結果]

yasuhiro@ysenba:~$ conda activate
(base) yasuhiro@ysenba:~$ python3 public_html/yfin_audjp_test2.py
日本標準時(JST)現在時刻
2025-07-24 15:08:05.472748
[*********************100%***********************]  1 of 1 completed
4時間足データ表示
Price                          Close       High        Low       Open   Volume
Ticker                      AUDJPY=X   AUDJPY=X   AUDJPY=X   AUDJPY=X AUDJPY=X
Datetime
2025-07-23 11:00:00+00:00  96.446999  96.636002  96.372002  96.487000        0
2025-07-23 15:00:00+00:00  96.635002  96.648003  96.334999  96.445000        0
2025-07-23 19:00:00+00:00  96.672997  96.742996  96.521004  96.635002        0
2025-07-23 23:00:00+00:00  96.540001  96.684998  96.390999  96.670998        0
2025-07-24 03:00:00+00:00  96.697998  96.753998  96.482002  96.541000        0
Volume 削除
Price                          Close       High        Low       Open
Ticker                      AUDJPY=X   AUDJPY=X   AUDJPY=X   AUDJPY=X
Datetime
2025-07-23 11:00:00+00:00  96.446999  96.636002  96.372002  96.487000
2025-07-23 15:00:00+00:00  96.635002  96.648003  96.334999  96.445000
2025-07-23 19:00:00+00:00  96.672997  96.742996  96.521004  96.635002
2025-07-23 23:00:00+00:00  96.540001  96.684998  96.390999  96.670998
2025-07-24 03:00:00+00:00  96.697998  96.753998  96.482002  96.541000
列 Close と 列 Open を入替
Price                           Open       High        Low      Close
Ticker                      AUDJPY=X   AUDJPY=X   AUDJPY=X   AUDJPY=X
Datetime
2025-07-23 11:00:00+00:00  96.487000  96.636002  96.372002  96.446999
2025-07-23 15:00:00+00:00  96.445000  96.648003  96.334999  96.635002
2025-07-23 19:00:00+00:00  96.635002  96.742996  96.521004  96.672997
2025-07-23 23:00:00+00:00  96.670998  96.684998  96.390999  96.540001
2025-07-24 03:00:00+00:00  96.541000  96.753998  96.482002  96.697998
カラムラベルの変更
                                open       high        low      close
Datetime
2025-07-23 11:00:00+00:00  96.487000  96.636002  96.372002  96.446999
2025-07-23 15:00:00+00:00  96.445000  96.648003  96.334999  96.635002
2025-07-23 19:00:00+00:00  96.635002  96.742996  96.521004  96.672997
2025-07-23 23:00:00+00:00  96.670998  96.684998  96.390999  96.540001
2025-07-24 03:00:00+00:00  96.541000  96.753998  96.482002  96.697998
df0 元の4h足 一旦保存
                                open       high        low      close
Datetime
2025-07-23 11:00:00+00:00  96.487000  96.636002  96.372002  96.446999
2025-07-23 15:00:00+00:00  96.445000  96.648003  96.334999  96.635002
2025-07-23 19:00:00+00:00  96.635002  96.742996  96.521004  96.672997
2025-07-23 23:00:00+00:00  96.670998  96.684998  96.390999  96.540001
2025-07-24 03:00:00+00:00  96.541000  96.753998  96.482002  96.697998
9H shift
                                open       high        low      close
Datetime
2025-07-23 20:00:00+00:00  96.487000  96.636002  96.372002  96.446999
2025-07-24 00:00:00+00:00  96.445000  96.648003  96.334999  96.635002
2025-07-24 04:00:00+00:00  96.635002  96.742996  96.521004  96.672997
2025-07-24 08:00:00+00:00  96.670998  96.684998  96.390999  96.540001
2025-07-24 12:00:00+00:00  96.541000  96.753998  96.482002  96.697998

うまく実行できました。
特に赤字部分に注目してください。
日本標準時(JST)現在時刻
2025-07-24 15:08:05.472748
の時の4時間足は
2025-07-24 12:00:00+00:00
となっており、日時調整が正常に動作したことが確認できます。

ここまでで、4時間足為替情報取得ファイルが作成できました。
引き続き日足為替情報取得ファイルを作成して行きます。


  • 日足為替情報取得ファイル作成 に進む
  • 為替情報取得ファイル に戻る
  • yfinance 概要 に戻る
  • 70VPS に戻る