Win11 WSL2 Ubuntu Python yfinance Ⅱ

yfinance 相関係数豪ドル/円4時間足予測

これまで日足と4時間足で
多項式フィッティング 豪ドル/円
ガウスフィット-豪ドル/円
FFT 解析-豪ドル/円
RNN 豪ドル/円
LSTM 豪ドル/円
CNN 豪ドル/円
相関係数 豪ドル/円
7×2 種類のチャ-ト予測を作成してきました。
ピッタリ当てることの困難さを痛感します。
ここにきて、マネーパートナーズが6月末、外為どっとコムに吸収され消滅しました。
このため、豪ドル/円の為替データが取得できなくなり、 仕方なく、yfinance を導入して為替データ取得できるようにしました。
その方法については、 yfinance 概要 からご覧ください。
7×2 種類のチャ-ト予測の中で少し気にいったのが、相関係数 豪ドル/円 でした。
なので、yfinance で取得したデータで相関係数 豪ドル/円を行ってみたいと思います。

yfinance 相関係数豪ドル/円4時間足予測ファイル作成

相関係数豪ドル/円4時間足予測ファイルの原型 dsc-4h_3.py が
相関係数豪ドル/円4時間足予測ファイルⅡまとめ
にあります。
これを yfinance 用に変更して行きます。

  1. conda 用に変更 ①

    python3 のインストールされている場所を明確にします。
    #!/home/yamada/miniconda3/bin/python3
    #coding: utf-8

  2. def addBusinessDays_4h ②

    def addBusinessDays_4h( ) の定義分文に関しての詳細については
    X 軸日付予測4時間足最終日時取得
    に説明がありますのでお読みください。
    今回は
    cur_date14 = [] # 30 12:
    のような X 軸日付予測書式を追加します。
    e11 = current_date.strftime("%y/%m/%d %H")
    # 25/07/30 00
    e12 = e11[6:] # 25/07 削除 /30 00
    e13 = e12.replace("/0", "") # /0 削除 /30 00
    e14 = e13.replace("/", "")+ ":" # / 削除 30 00:
    cur_date14.append(e14)

  3. csv ファイルフォルダ ③

    4時間足データは
    manep/yfin_audjp_4h.csv
    にありますので
    df = pd.read_csv(
    "/home/yamada /public_html/manep/yfin_audjp_4h.csv")
    とします。

  4. ロ-ソク4時間足データ取得 ④

    ロ-ソク足表示に必要なデ-タは
    Open = df["open"].values
    High = df["high"].values
    Low = df["low"].values
    Close = df["close"].values
    Date = df["Datetime"].values
    Idx = df.index
    の6列です。

  5. ロ-ソク4時間足6本分予測日時取得 ⑤

    マネパから取得した日時データは
    2025/05/30 04:00:00
    のような書式でした。
    一方 yfinace からの日時データは
    2025-05-30 00:00:00+00:00
    のようになっていて書式が違います。
    最後(最新)のデータ日時 tstr は
    Date[-1] から +00:00 を削除する必要があります。
    頭から19文字分を取り出して
    tstr = Date[-1][:19]
    とし、日付時刻の文字列表現を strptime メソッドで datetime 型のオブジェクトに変換します。
    datetime ではモジュール名と日時を扱うクラス名が同じ datetime なので注意が必要です。
    tdatetime = datetime.datetime.strptime(tstr, '%Y-%m-%d %H:%M:%S')
    これで、addBusinessDays_4h(tdatetime, 6) で4時間足6本分の予測営業日時を取得することができます。
    例えば、
    2025-05-30 16:00:00
    の書式で渡すと、
    25/5/30 16~, ・・・・・・・・
    及び、
    5/30 16~, ・・・・・・・・
    の書式で返ってきます。
    詳細説明
    X 軸日付予測4時間足最終日時取得
    も参照してください。

  6. X軸処理、日が変わるごとに日付付与 ⑥

    取得した日時データは
    マネパ書式   2025/05/30 00:00:00
    yfinace 書式 2025-05-30 00:00:00+00:00
    なのでこの違いに対応します。
    -0 を / に置換えます。
    - も / に置換えます。
    e4 = str(key)[4:10]     # -05-30
    e6 = e4.replace("-0", "/") # /5-30
    e7 = e6.replace("-", "/")  # /5/30
    e8 = e7.lstrip("/")     # 5/30

  7. ラストの X 軸日付処理

    予測日ラストの日付に時刻を含めた X 軸日付を付与します。
    def addBusinessDays_4h( )
    の中で、cur_date14 として
    日付 + 時刻 30 12:
    の書式で return しています。
    lastday = addBusinessDays_4h(tdatetime, 6)
    とすると
    cur_date14 は lastday[2] から取出すことができますから
    予測日ラストの 日付+時刻 lastday_l は
    lastday_l = lastday[2][5]
    となり、表示位置は(i + 6) となります。
    xDate.append(lastday_l)
    xD.append(i + 6)

  8. 相関係数の計算

    この後はしばらく変更はありません。
    詳細については
    データのスライシング
    すべての CSV データをスライシング
    相関係数の応用
    相関係数豪ドル/円4時間足予測豪--相関係数豪ドル/円4時間足予測ファイルⅠ
    に説明がありますのでお読みください。

  9. 予測結果の保存 ⑦

    予測結果の保存場所は変更します。
    df_concat.to_csv(
    '/home/yamada/public_html/manep-img/yfin_sou_4h.csv',
    header=False, index=False)
    詳細は
    相関係数豪ドル/円4時間足予測ファイルⅡ--予測結果の保存
    を参照してください。


ここまでで、dsc-4h_3.py からの変更点について説明しました。
引き続き、これらの変更点を加味して
yfinance 相関係数豪ドル/円4時間足予測ファイル
yfin_audjp_sou_4h.py
をまとめます。


  • yfinance 相関係数豪ドル/円4時間足予測ファイルまとめ に進む
  • 70VPS に戻る