Python で 豪ドル/円チャ-ト を探求

豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化ファイルまとめ

ここまでで、豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化ファイルが完成しました。
引き続き、作成したファイル内容をまとめて表示します。


import datetime
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      
        
import pandas as pd
import numpy as np
from datetime import datetime as dt
import matplotlib.pyplot as plt #①
# import mplfinance as mpf
from mplfinance.original_flavor import candlestick_ohlc

xl_df = pd.read_csv(
 "/home/yamada/public_html/manep/mane_chart_go.csv", encoding="cp932")
# print(xl_df)
Close = xl_df["終値(売り)"].values
Idx = xl_df.index
# print(Idx)
# Idx は 0 スタ-ト
Idx5 = Idx[-5:] + 5
# print(Idx5)
z = np.polyfit(Idx, Close, 9)
p = np.poly1d(z)
print("予測値=最終日+1~+5日")
p_pand = np.round(p(Idx5),3)
# print(p_pand)
# ここから結果表示
Open = xl_df["始値(売り)"].values
High = xl_df["高値(売り)"].values
Low = xl_df["安値(売り)"].values
# Closea = xl_df["終値(売り)"].values
Date = xl_df["日付"].values
Idx = xl_df.index

tstr = Date[-1]
tdatetime = dt.strptime(tstr, '%Y/%m/%d %H:%M:%S')
# 文字列をdatetimeに変換するのがstrptime()関数
# datetime.datetime.strptime(文字列, 書式指定文字列)
lastday = addBusinessDays(tdatetime, 5)
# print(lastday)

# pandas concat 関数で横(列)方向へ連結する、axis=1 を忘れないこと
lastday_pd = pd.DataFrame(lastday[0])
p_pand_pd = pd.DataFrame(p_pand)
df_concat = pd.concat([lastday_pd, p_pand_pd], axis = 1)
print(df_concat)
df_concat.to_csv(
 '/home/yamada/public_html/manep-img/mane_chart_go.csv',
 header=False, index=False)

xDate = []
xD = []
for i, key in enumerate(Date):
  if(i % 10 == 0):
    e4 = str(key)[4:10]
    e6 = e4.replace("/0", "/")
    e8 = e6.lstrip("/")   
    xDate.append(e8)
    xD.append(i)

xDate.append(lastday[1][4])
xD.append(i + 5)

ohlc = zip(
 Idx, Open, High, Low, Close) #②
fig = plt.figure(
 figsize=(8.34, 5.56)) #③

# python スクリプトと Jupyter とでは、
# matplotlib の図のサイズが違うので注意
ax = fig.add_subplot(1,1,1)  #④
ax.grid()
plt.plot(
 Idx, p(Idx),
 Idx5, p(Idx5),'bo')
candlestick_ohlc(
 ax, ohlc, width=0.5, alpha = 1,   
 colorup='r', colordown='g') #⑤
plt.xticks(xD, xDate)        #⑥
plt.title('AUS$ / JPY chart')#⑦
plt.xlabel('Date')
plt.ylabel('Yen')
plt.savefig(
 '/home/yamada/public_html/manep-img/mane_chart_go.png') #⑧

上記ファイルは動作確認のため TeraPad 等で作成したら、ファイル名を適当に
mane_polyfit-7.py
として保存します。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
保存先はホスト Wimdows OS の 共有フォルダ c:\vb_public_html にしました。
なお、
c:\vb_public_html
はゲスト OS Ubuntu のなかの
/home/yamada/public_html
とリンクしていて共有フォルダの関係にあります。
詳細は ユ-ザ-ごとの公開ディレクトリを用意する を読んでみてください。

豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化ファイル動作確認

豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化ファイル
mane_polyfit-7.py
の動作確認をしていきます。
このファイルを動作させるには
pandas, pyplot(matplotlib), Numpy, mplfinance
の各パッケ-ジが必要です。
まだの方は豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化 を読んで、Ubuntu に必要パッケ-ジをインスト-ルしてください。
インスト-ル済みの方はこれはパスします。
Ubuntu ディスクトップにある □>_ アイコンから端末画面を開き、
yamada@ubuntu-20:~$ mkdir public_html/manep-img
として新規ディレクトリを作成しておきます。
/home/yamada/public_html/manep-img
が作成できました。
作成済みの方はこれはパスします。
次に、mane_polyfit-7.py を実行します。
$ python3 public_html/mane_polyfit-7.py
として確認します。
実行が完了したら
yamada@ubuntu-20:~$ ls -l public_html/manep-img
で作成した png ファイル

  /home/yamada/public_html/manep/mane_chart_go.png

を確認します。
下記の様な画像ができていれば OK です。

  • 豪ドル/円 予測
  • ダウンロ-ドデ-タグラフ化動作確認補足

    Matplotlib created a temporary config/cache directory
    at /tmp/matplotlib-qe2mmfev
    because the default path
    (/home/yamada/.cache/matplotlib)
    is not a writable directory;
    it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory,
    in particular to speed up the import of Matplotlib
    and to better support multiprocessing.
    和訳:
    デフォルト パス
    (/home/yamada/.cache/matplotlib)
    は書き込み可能なディレクトリではないため、
    Matplotlib は一時的な config/cache ディレクトリを
    /tmp/matplotlib-qe2mmfev に作成しました。
    MPLCONFIGDIR 環境変数を書き込み可能なディレクトリに設定することをお勧めします。
    特に、Matplotlib のインポートを高速化し、 マルチプロセッシングをより適切にサポートするためです。

    なる警告が出る時がありますが無視します。
    pipenv をインストールして仮想環境を作成し、
    ここに、matplotlib を入れるとこの警告はなくなるようです。
    私の場合、システムを一人で専有して使用しているので、 システムの python 実行環境と分離する必要が今のところはないので あえて仮想環境を構築してはいません。
    この先必要かも?・・・・

    ここまでで、豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化ファイル動作確認 を行なうことができました。
    引き続き、ここまでやってきた 豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化 の結果がどう見えるのか確認します。


  • 豪ドル/円 チャ-ト 予測表示 に進む
  • ロ-ソク足本体の表示 に戻る
  • 予測日/予測値の一覧表を作成 に戻る
  • 予測最終日取得 に戻る
  • Numpy polyfit 関数で豪ドル/円を予測 に戻る
  • 豪ドル/円 CSV ダウンロ-ドデ-タ グラフ化 に戻る
  • 豪ドル/円 CSV 改造ファイルまとめ に戻る
  • Python 豪ドル/円チャ-ト 概要 に戻る
  • 70VPS に戻る