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 用に変更して行きます。
- conda 用に変更 ①
python3 のインストールされている場所を明確にします。
#!/home/yamada/miniconda3/bin/python3
#coding: utf-8
- 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) - csv ファイルフォルダ ③
4時間足データは
manep/yfin_audjp_4h.csv
にありますので
df = pd.read_csv(
"/home/yamada /public_html/manep/yfin_audjp_4h.csv")
とします。 - ロ-ソク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列です。 - ロ-ソク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時間足最終日時取得
も参照してください。 - 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 - ラストの 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)
- 相関係数の計算
この後はしばらく変更はありません。
詳細については
データのスライシング
すべての CSV データをスライシング
相関係数の応用
相関係数豪ドル/円4時間足予測豪--相関係数豪ドル/円4時間足予測ファイルⅠ
に説明がありますのでお読みください。 - 予測結果の保存 ⑦
予測結果の保存場所は変更します。
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
をまとめます。