Windows11 WSL2 Ubuntu Python Ⅱ

相関係数予測

ここまでで相関係数による予測ができるようになりました。
引き続き、元データをロ-ソク足表示にして予測が見やすいチャートにしてみます。
ロ-ソク足表示にについては ロ-ソク足表示ファイル作成の中で説明しました。
ここで作成した mplf-t.py を 相関係数応用ファイルまとめで作成した dsc-4.py をもとにして合体します。

ライブラリ追加

元となる相関係数応用ファイル dsc-4.py にはロ-ソク足表示に必要となるライブラリが不足しています。
これらをインポートします。
import matplotlib.pyplot as plt
import datetime
from datetime import datetime as dt
from mplfinance.original_flavor import candlestick_ohlc

予測最終日取得関数

mane_chart_go.csv デ-タの中の日付は
2020/10/20 00:00:00
のようになっており、そのまま X 軸日付表示をさせるには文字列が長すぎます。
よってこれを 10/20 のように短縮します。
また、予測最終日取得も行う必要があります。
これらの内容を定義関数 addBusinessDays としてまとめます。
ファイル内容については
Numpy polyfit 関数で豪ドル/円を予測 X 軸日付処理
予測最終日取得
の中で説明しています。
参考にしてください。
引数は datetime 型です。
from_date 日から add_days 平日後の日が
cur_date8 に、年/月/日 の文字列型
cur_date4 に、月/日 の文字列型
が返されます。
例えば、
from_date→ 2023/8/21日
add_days → 5 日
とすると
cur_date4 → 8/22, 8/23, 8/24, 8/25, 8/28
(土日を除く)
となります。

 
def addBusinessDays(from_date, add_days):
  cur_date8 = [] # 21/03/30
  cur_date4 = [] # 3/30
  business_days_to_add = add_days
  current_date = from_date
  while business_days_to_add > 0:
    current_date += datetime.timedelta(days=1)
    weekday = current_date.weekday()
    if weekday >= 5: # sunday = 6
      continue
    #土日は以下はスキップ
    # 年/月/日として文字列にする
    #例 21/03/30      
    e11 = current_date.strftime("%y/%m/%d")
    e22 = e11.replace("/0", "/")
    e33 = e22[3:] # 21/ 削除
    cur_date8.append(e22)
    cur_date4.append(e33)
    business_days_to_add -= 1
  return cur_date8, cur_date4  

予測最終日取得関数使用

dsc-4.py の中で、mane_chart_go.csv デ-タの中の日付のラストは
Datea[-1] として取得しましたので、
この日から5平日後の予測最終日を求めます。
関数 addBusinessDays(from_date, add_days)
に渡す引数は datetime 型である必要があります。
Datea[-1] は文字型ですので、これを datetime 型に変換します。
文字列を datetime に変換するのが strptime() 関数です。
書式は
datetime.datetime.strptime(文字列, 書式指定文字列)
です。
ライブラリを取り込む時に、
import datetime
from datetime import datetime as dt
と書くと
dt.strptime(文字列, 書式指定文字列)
と省略して書くことができます。
Datea[-1] は
2020/04/15 10:00:00
のように年月日と時分秒が記述されていますので
tstr = Datea[-1]
tdatetime = dt.strptime(tstr, '%Y/%m/%d %H:%M:%S')
とすると日付のラストは datetime 型の日付に変換されます。
後は、予測最終日取得関数を呼び出すだけで予測最終日 lastday を求めることができます。
lastday = addBusinessDays(tdatetime, 5)
答えは
lastday[1] に予測最終日までの5日間が 月/日 の文字列型で入っています。
予測最終日は lastday[1][4] に入っています。
ちなみに lastday[0] には予測最終日までの5日間が 年/月/日 の文字列型で入っています。
xData の X 軸の目盛り日付と
xD の日付表示位置に lastday を付け加えます。
xDate.append(lastday[1][4])
xD.append(i + 5)
これで予測最終日と X 軸の目盛り位置を求めることができました。

ここまでで、mplf-t.py と dsc-4.py を合体する時のポイントを説明しました。
引き続き、これらをまとめ合体ファイルを表示します。


  • 相関係数予測ファイルまとめ に進む
  • 相関係数応用ファイルまとめ に戻る
  • 相関係数の応用 に戻る
  • すべての CSV データをスライシング に戻る
  • データのスライシング に戻る
  • データのスライシング(1次元) に戻る
  • データ結合ファイル動作確認 に戻る
  • pandas を使う に戻る
  • scikit-learn 動作ファイル確認 に戻る
  • scikit-learn インストール に戻る
  • 相関係数まとめ に戻る
  • NumPy を使う に戻る
  • ロ-ソク足表示ファイル作成 に戻る
  • pandas インスト-ル に戻る
  • Windows11 WSL2 Ubuntu Python パッケージ に戻る
  • 70VPS に戻る