Python Colaboratory

mplfinance を使用

mplfinance モジュ-ルを使用してロ-ソク足チャ-トを表示してみます。
豪ドル/円 の約100日分の CSV デ-タを用意しました。
このデ-タは ここ をクリックするとダウンロードすることができますのでご利用ください。
Google ドライブをブラウザで開き、\Colab Notebooks の中に \my_data を作成し
このダウンロードしたデ-タ
colab_mane_chart_go.csv ファイル
をアップロ-ド(右クリックで可能)で、フォルダ my_data に送出します。
これで、必要なモジュ-ルとデ-タが準備できました。

ライブラリ取込み

取込む必要があるライブラリは4つです。
import pandas as pd
import matplotlib.pyplot as plt
from mplfinance.original_flavor import candlestick_ohlc
必要な CSV ファイル colab_mane_chart_go.csv を取込みます。
CSV の保存場所は絶対パスで表記する必要があります。
xl_df = pd.read_csv(
"drive/MyDrive/Colab Notebooks/my_data/colab_mane_chart_go.csv", encoding="cp932"
)

豪ドル/円 CSV デ-タでロ-ソク足表示

colab_mane_chart_go.csv デ-タをロ-ソク足表示していきます。
ロ-ソク足表示に必要なデ-タは
Open = xl_df["始値(売り)"].values
High = xl_df["高値(売り)"].values
Low = xl_df["安値(売り)"].values
Close = xl_df["終値(売り)"].values
Date = xl_df["日付"].values
Idx = xl_df.index
の6列です。

X 軸日付処理

mane_chart_go.csv デ-タの中の日付は
2020/10/20 00:00:00
のようになっており、そのまま X 軸日付表示をさせるには文字列が長すぎます。
よってこれを 10/20 のように短縮します。

  1. 型変換

    Pandas で抜き取った Date は リスト型になっています。
    これを str 型 に変換します。
    変換しても CSV 書式がそのまま残っていますので、
    2020/10/20 00:00:00
    のように変換されます。
    余計な文字列が沢山ありますので、これを削除していきます。
    必要なのは、月日の /10/20 です。
    左から 0~3 の 4 文字と10文字以降は必要ないので
    e4 = str(Date[i])[4:10]
    とすると、6文字が取得され
    e4 には /10/20 が入ります。

  2. 月日が1桁の時

    月日が1桁の時は、/01 のような形をしています。
    0 は余計なのでこれを削除します。
    Python 組込関数 replace()を使って、一旦 /0 を / に置き換えます。
    第一引数に置換元文字列、第二引数に置換先文字列を指定します。
    e6 = e4.replace("/0", "/")
    e6 には /10/20 が入りました。 もし /01/20 だったら /1/20 が e6 に入ります。

  3. 左端の / を削除

    Python 組込関数 lstrip() で、左端の / を削除します。
    e8 = e6.lstrip("/")
    e8 には 1/20 が入りました。

  4. 繰返して X 軸日付処理

    xData は X 軸の目盛り日付です。
    そして、Python 組込関数 enumerate()を使って Date デ-タがある限り、i = 0 から 順番に for 分で処理を繰り返します。
    Date の中に 101個のデ-タが存在するとすれば、i は 0~100 まで変化します。
    今回は 10日ごとに X 軸日付を付けたいので、
    if(i % 10 == 0):
    として 10日ごとに日付を作成します。
    また、xD は日付表示位置となります。
    まとめると以下のようになります。


  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)

以上でロ-ソク足表示の準備ができました。
引き続き、Google Colaboratory で動く、ロ-ソク足本体の表示方法について説明していきます。


  • ロ-ソク足本体の表示 に進む
  • CSV ファイルの読込 に戻る
  • Colab を始める に戻る
  • 70VPS に戻る