Win11 WSL2 Ubuntu Python yfinance Ⅱ
yfinance 相関係数豪ドル/円日足予測
これまで日足と4時間足で
多項式フィッティング 豪ドル/円
ガウスフィット-豪ドル/円
FFT 解析-豪ドル/円
RNN 豪ドル/円
LSTM 豪ドル/円
CNN 豪ドル/円
相関係数 豪ドル/円
7×2 種類のチャ-ト予測を作成してきました。
ピッタリ当てることの困難さを痛感します。
ここにきて、マネーパートナーズが6月末、外為どっとコムに吸収され消滅しました。
このため、豪ドル/円の為替データが取得できなくなり、
仕方なく、yfinance を導入して為替データ取得できるようにしました。
その方法については、
yfinance 概要
からご覧ください。
7×2 種類のチャ-ト予測の中で少し気にいったのが、相関係数 豪ドル/円 でした。
なので、yfinance で取得したデータで相関係数 豪ドル/円を行ってみたいと思います。
yfinance 相関係数豪ドル/円日足予測ファイル作成
相関係数豪ドル/円日足予測ファイルの原型 dsc-6.py が
相関係数予測精度向上ファイルまとめ
にあります。
これを yfinance 用に変更して行きます。
- conda 用に変更 ①
python3 のインストールされている場所を明確にします。
#!/home/yamada/miniconda3/bin/python3
#coding: utf-8
- csv ファイルフォルダ ②
日足データは
manep/yfin_audjp_d.csv
にありますので
df = pd.read_csv(
"/home/yamada /public_html/manep/yfin_audjp_d.csv")
とします。 - ロ-ソク日足データ取得
ロ-ソク足表示に必要なデ-タは
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日分予測日取得
マネパから取得した日時データは
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')
ここでは、
from datetime import datetime as dt
と宣言していますので
tdatetime = dt.strptime(tstr, '%Y-%m-%d %H:%M:%S')
となります。
これで、addBusinessDays(tdatetime, 5) で日足5本分の予測営業日を取得することができます。
例えば、
2025-05-30 16:00:00
の書式で渡すと、cur_date4 として
5/31, ・・・・・・・・
の書式で返ってきます。
詳細説明
相関係数予測
も参照してください。 - 相関係数の計算
この後はしばらく変更はありません。
詳細については
scikit-learn インストール
scikit-learn 動作ファイル確認
pandas を使う
データ結合ファイル動作確認
データのスライシング(1次元)
データのスライシング
すべての CSV データをスライシング
相関係数の応用
相関係数応用ファイルまとめ
相関係数予測
相関係数予測ファイルまとめ
相関係数予測ファイル動作確認
相関係数予測精度向上
相関係数予測精度向上ファイルまとめ
に説明がありますのでお読みください。 - 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 - 予測チャートの表題と保存 ④
表題は
plt.title('AUS$ / JPY Correlation Days Chart')
とし、チャートファイルは
plt.savefig(
'/home/yamada /public_html/manep-img/yfin_sou_d.png')
として保存します。 - 予測結果の保存 ⑤
df_concat.to_csv(
'/home/yamada/public_html/manep-img/yfin_sou_d.csv',
header=False, index=False)
詳細は
相関係数予測精度向上--結果の保存
を参照してください。
ここまでで、dsc-6.py からの変更点について説明しました。
引き続き、これらの変更点を加味して
yfinance 相関係数豪ドル/円日足予測ファイル
yfin_audjp_sou_d.py
をまとめます。