ラベル mplfinance の投稿を表示しています。 すべての投稿を表示
ラベル mplfinance の投稿を表示しています。 すべての投稿を表示

2022年3月23日水曜日

Jupyter・mplfinace・yahoo_finance_api2を使用して、米国株価・日本株価・通貨レートをローソク足で描画する

Jupyter・mplfinace・yahoo_finance_api2を使用して、米国株価・日本株価・通貨レートをローソク足で描画するには、以下の手順を実行します

実行手順

1. パッケージの導入
Jupyterがインストールされている仮想環境に以下のコマンドで、mplfinanceとyahoo_finance_api2を導入します(pipenvの場合)。
pipenv install mplfinance

pipenv install yahoo_finance_api2
※依存関係でインストールできない場合は、以下のコマンドでインストールしてみてください。
pipenv install --skip-lock mplfinance

pipenv install --skip-lock yahoo_finance_api2

2. ノートブックに以下のサンプルコードを張り付けて実行するとUSDJPY通貨レートが1時間足で取得できます(Shareの引数で通貨ペアに=Xを付加します)。Shareで"AAPL"などのストックコードを入れると米国株価、"7074.T"(任天堂)のように、銘柄コードに「.T」をつけると日本株のデータが取得できます。

from yahoo_finance_api2 import share
from yahoo_finance_api2.exceptions import YahooFinanceError
import datetime as datetime
import pandas as pd
import mplfinance as mpf

my_share = share.Share('USDJPY=X')
result = my_share.get_historical(share.PERIOD_TYPE_DAY,
  3,
  share.FREQUENCY_TYPE_HOUR,
  1)
df = pd.DataFrame(result)
# JSTへ変換
df["jst"] = pd.to_datetime(df.timestamp, unit="ms") + datetime.timedelta(hours=9)

df2 = pd.DataFrame(df, columns=['jst', 'open', 'high', 'low', 'close'])
df2 = df2.set_index("jst")

# 色の指定
mc = mpf.make_marketcolors(up='#049DBF', down='#D93D4A', 
    edge='#F2CED1', wick={'up':'#049DBF', 'down':'#D93D4A'})
cs  = mpf.make_mpf_style(marketcolors=mc, gridcolor="lightgray")
mpf.plot(df2,type='candle', style=cs)

〇実行画面

関連情報

・mplfinanceの他の情報は以下のまとめページを参照してください。
mplfinanceまとめ

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance

2022年3月11日金曜日

Microk8sでローソク足グラフを描画できるmplfinanceをインストールしたJupyterLabをデプロイする

Microk8sでローソク足グラフを描画できるmplfinanceをインストールしたJupyterLabをデプロイするには、以下の手順を実行します。データはlocal永続ボリュームに保存します。

実行手順

1. local永続ボリュームで使用するディレクトリの作成
以下のコマンドでlocal永続ボリュームで使用するディレクトリを作成します。
sudo mkdir -p /var/nb_jovyan
sudo mkdir -p /var/start-notebook.d

sudo chown 1000:100 /var/nb_jovyan

cat << EOF | sudo tee /var/start-notebook.d/install_packages.sh
conda install -c conda-forge mplfinance
EOF
sudo chmod +x /var/start-notebook.d/install_packages.sh

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
※jovyan用の永続ボリューム
cat << EOF > local-jovyan-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-jovyan-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/nb_jovyan
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-jovyan-pv.yml

※スタートアップスクリプト用の永続ボリューム
cat << EOF > local-startnb-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-startnb-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/start-notebook.d
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - `hostname`
EOF
※`hostname`は今ログオンしているMicrok8sがインストールされているホスト名になります。適宜変更してください。
microk8s kubectl apply -f ./local-startnb-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
※jovyan用の永続ボリューム
cat << EOF > local-jovyan-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-jovyan-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-jovyan-pv
EOF

microk8s kubectl apply -f ./local-jovyan-pvc.yml

※スタートアップスクリプト用の永続ボリューム要求
cat << EOF > local-startnb-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-startnb-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-startnb-pv
EOF

microk8s kubectl apply -f ./local-startnb-pvc.yml

4. Deploymentの作成
以下のコマンドでjupyterのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > jupyter-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jupyter-deployment
  labels:
    app: jupyter
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jupyter
  template:
    metadata:
      labels:
        app: jupyter
    spec:
      containers:
      - name: jupyter
        image: jupyter/scipy-notebook:latest
        ports:
        - containerPort: 8888
        env:
        - name: JUPYTER_TOKEN
          value: "jupyter"
        - name: DOCKER_STACKS_JUPYTER_CMD
          value: "lab"
        volumeMounts:
        - name: nb-jovyan
          mountPath: /home/jovyan/work
        - name: startnb
          mountPath: /usr/local/bin/start-notebook.d
      volumes:
      - name: nb-jovyan
        persistentVolumeClaim:
          claimName: local-jovyan-pvc
      - name: startnb
        persistentVolumeClaim:
          claimName: local-startnb-pvc
EOF

microk8s kubectl apply -f ./jupyter-deployment.yml

5. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > jupyter-service.yml
apiVersion: v1
kind: Service
metadata:
  name: jupyter-service
spec:
  selector:
    app: jupyter
  type: LoadBalancer
  externalIPs:
  - xxx.xxx.xxx.xxx # 外部からアクセスできるMicrok8sをインストールしたホストのIPを設定します。
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8888
EOF

microk8s kubectl apply -f ./jupyter-service.yml

6. 動作確認
以下のページを参考にして、mplfinanceの動作を確認します。
mplfinanceのロウソク足チャートにボリュームも表示する

関連情報

・mplfinanceに関する他の情報は以下のまとめページを参照してください。
mplfinanceまとめ

2022年2月19日土曜日

Minikubeでローソク足グラフを描画できるmplfinanceをインストールしたJupyterLabをデプロイする

Minikubeでローソク足グラフを描画できるmplfinanceをインストールしたJupyterLabをデプロイするには、以下の手順を実行します。データはlocal永続ボリュームに保存します。

実行手順

1. local永続ボリュームで使用するディレクトリの作成
以下のコマンドでlocal永続ボリュームで使用するディレクトリを作成します。
minikube ssh

sudo mkdir -p /var/nb_jovyan
sudo mkdir -p /var/start-notebook.d

sudo chown 1000:100 /var/nb_jovyan

cat << EOF | sudo tee /var/start-notebook.d/install_packages.sh
conda install -c conda-forge mplfinance
EOF
sudo chmod +x /var/start-notebook.d/install_packages.sh

exit

2. local永続ボリュームの作成
以下のコマンドでlocal永続ボリュームを作成します。
※jovyan用の永続ボリューム
cat << EOF > local-jovyan-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-jovyan-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/nb_jovyan
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-jovyan-pv.yml

※スタートアップスクリプト用の永続ボリューム
cat << EOF > local-startnb-pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-startnb-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  local:
    path: /var/start-notebook.d
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - minikube
EOF

kubectl apply -f ./local-startnb-pv.yml

3. 永続ボリューム要求の作成
以下のコマンドで永続ボリューム要求を作成します。
※jovyan用の永続ボリューム
cat << EOF > local-jovyan-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-jovyan-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-jovyan-pv
EOF

kubectl apply -f ./local-jovyan-pvc.yml

※スタートアップスクリプト用の永続ボリューム要求
cat << EOF > local-startnb-pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: local-startnb-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 5Gi
  volumeName: local-startnb-pv
EOF

kubectl apply -f ./local-startnb-pvc.yml

4. Deploymentの作成
以下のコマンドでjupyterのイメージと作成したlocal永続ボリュームを使用するDeploymentを作成します。
cat << EOF > jupyter-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jupyter-deployment
  labels:
    app: jupyter
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jupyter
  template:
    metadata:
      labels:
        app: jupyter
    spec:
      containers:
      - name: jupyter
        image: jupyter/scipy-notebook:latest
        ports:
        - containerPort: 8888
        env:
        - name: JUPYTER_ENABLE_LAB
          value: "1"
        - name: JUPYTER_TOKEN
          value: "jupyter"
        volumeMounts:
        - name: nb-jovyan
          mountPath: /home/jovyan/work
        - name: startnb
          mountPath: /usr/local/bin/start-notebook.d
      volumes:
      - name: nb-jovyan
        persistentVolumeClaim:
          claimName: local-jovyan-pvc
      - name: startnb
        persistentVolumeClaim:
          claimName: local-startnb-pvc
EOF

kubectl apply -f ./jupyter-deployment.yml

5. サービスの作成
以下のコマンドでサービスを作成します。
cat << EOF > jupyter-service.yml
apiVersion: v1
kind: Service
metadata:
  name: jupyter-service
spec:
  selector:
    app: jupyter
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8888
EOF

kubectl apply -f ./jupyter-service.yml

6. Port-Fowardingで外部からアクセスできるようにする
kubectl port-forward --address 0.0.0.0 service/jupyter-service 8080:8080
ブラウザからhttp://<ホスト名:8080/?token=jupyter にアクセスします

7. 動作確認
以下の記事を参考にして、mplfinanceの動作を確認します。
mplfinanceのロウソク足チャートにボリュームも表示する

関連情報

・mplfinanceに関する他の情報は以下のまとめページを参照してください。
mplfinanceまとめ

2020年10月20日火曜日

mplfinanceまとめ

mplfinanceを使用する事で株式やFXの取引情報を休場を考慮した形でローソク足を簡単に描画する事が出来ます。mplfinanceに関する記事を纏めました。

〇インストール方法
Jupyterにmplfinanceインストールする方法は以下を参照してください。もちろん、jupyterを利用しなくてもmplfinanceを使用する事ができます。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

Minikubeでローソク足グラフを描画できるmplfinanceをインストールしたJupyterLabをデプロイする

〇軸の設定
軸に関する設定・制御に関する記事です。
mplfinanceのロウソク足チャートの日付形式を設定する

mplfinanceのチャートのY軸を右側に表示する

mplfinanceのチャートの日付ラベルの回転角度を変更する

mplfinanceのチャートの軸を非表示にする

〇チャートの比率・大きさ
チャート全体の設定は以下を参照してください。
mplfinanceのチャートを拡大縮小表示する

mplfinanceのチャートの縦横比を設定する

mplfinanceのチャートの端の余白を狭くする

〇色の変更
背景色やグラフの色を変更します。
mplfinanceのロウソク足チャートのスタイルを設定して見た目を変える

mplfinanceのチャートの背景色や軸の色・サイズを設定する

mplfinanceのロウソク足チャートの色を設定する

〇グリッド線の設定
グリッド線の設定に関する記事です。
mplfinanceのチャートのグリッドを破線・点線に変更する

mplfinanceのチャートのグリッドを水平線のみ・垂直線のみ・両方に変更する

〇データ表示の制御
データ表示の制御に関する記事です。
mplfinanceのロウソク足チャートにボリュームも表示する

mplfinanceのチャートに休場日などのデータのない日付を表示する

mplfinanceのチャートのY軸表示範囲を設定する

〇折れ線グラフの追加
ローソク足に追加で指標などの棒グラフを表示する方法には、以下の様なものがあります。
mplfinanceのチャートに折れ線グラフを追加する

mplfinanceのチャートに移動平均線を追加する

mplfinanceのチャートに凡例を追加する

mplfinanceのチャートにマーカーを追加する

〇その他
mplfinanceのチャートのタイトル・Priceラベル・Volumeラベルに日本語を設定する

mplfinanceのチャートを画像ファイルとして保存する

Jupyter・mplfinace・yahoo_finance_api2を使用して、米国株価・日本株価・通貨レートをローソク足で描画する

2020年10月19日月曜日

mplfinanceのチャートに凡例を追加する

mplfinanceのチャートに凡例を追加するには、plotメソッドでreturnfig引数を使用します。

サンプルコード

以下のサンプルでは移動平均2, 4, 6に対応する凡例ma2, ma4, ma6を表示しています。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")
cs  = mpf.make_mpf_style(gridcolor="lightgray", mavcolors=['red', 'green', '#405173'])
fig, axes = mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', mav=(2,4,6), returnfig=True)
legend=["ma2", "ma4", "ma6"]
axes[0].legend(legend)
fig.show()

・実行結果

○2021/12/08追記: モジュールの仕様が変わったのか、凡例の色が正しく表示されなくなったのでソースコードを修正しました。
from datetime import datetime
import pandas as pd
import mplfinance as mpf
import matplotlib.patches as mpatches

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")
cs  = mpf.make_mpf_style(gridcolor="lightgray", mavcolors=['red', 'green', '#405173'])
fig, axes = mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', mav=(2,4,6), style=cs, returnfig=True)
legend=["ma2", "ma4", "ma6"]

# 移動平均凡例の色を指定
ma2_patch = mpatches.Patch(color='red', label='ma2')
ma4_patch = mpatches.Patch(color='green', label='ma4')
ma6_patch = mpatches.Patch(color='#405173', label='ma6')
axes[0].legend(handles=[ma2_patch, ma4_patch, ma6_patch])

fig.show()

○実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance

Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月17日月曜日

mplfinanceのチャートにマーカーを追加する

mplfinanceのチャートにマーカーを追加するには、plotメソッドでaddplot引数を使用します。
addplot引数には配列でmake_addplotメソッドで作成した辞書データを渡します。
make_addplotメソッドに以下の引数を渡します。
・1番目の引数 : マーカーを表示するためのデータ。df["列名"]で渡すことができます。
・type : "scatter"を指定します。
・color : マーカーの色
・markersize : マーカーのサイズ
・marker : マーカーのパターン。使用できるパターンはhttps://matplotlib.org/3.2.2/api/markers_api.htmlを参照してください。

サンプルコード

下記サンプルをノートブックに貼り付けて、実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253, None, None, None],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201, 107.201, None, None],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93, None, None, None],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283, None, None, None],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236, 107.236, None, None],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939, None, None, None],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272, None, None, None],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986, None, None, None],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279, None, None, None],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803, None, None, None],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153, None, None, None],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865, None, 107.231, None],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052, None, None, 105.681]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close', 'signal1', 'signal2', 'signal3'])
df = df.set_index("date")

series = [
    mpf.make_addplot(df["signal1"],type='scatter',markersize=200,marker='o',color='#D93D4A'),
    mpf.make_addplot(df["signal2"],type='scatter',markersize=200,marker='v',color='orange'),
    mpf.make_addplot(df["signal3"],type='scatter',markersize=200,marker='*',color='#049DBF')
]
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', addplot=series)

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月16日日曜日

mplfinanceのチャートに折れ線グラフを追加する

mplfinanceのチャートに折れ線グラフを追加するには、plotメソッドでaddplot引数を使用します。
addplot引数には配列でmake_addplotメソッドで作成した辞書データを渡します。
make_addplotメソッドに以下の引数を渡します。
・1番目の引数 : グラフを表示するためのデータ。df["列名"]で渡すことができます。
・color : グラフの色
・width : グラフの線
・linestyle : デフォルトは実線ですが、dashedで破線、dottedで点線にすることができます。

サンプルコード

下記サンプルでは本数3のボリンジャーバンドを追加しています。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")

# 実際は20本くらいが良いがデータが少ないので3本に設定
df["ma3"] = df["close"].rolling(3).mean()
df["std3"] = df["close"].rolling(3).std()
df["s1u"] = df['ma3'] + df['std3']
df["s1L"] = df['ma3'] - df['std3']
df["s2u"] = df['ma3'] + df['std3'] * 2
df["s2L"] = df['ma3'] - df['std3'] * 2

series = [
    mpf.make_addplot(df["s1u"], color="#F27649", width=1, linestyle="dashed"),
    mpf.make_addplot(df["s1L"], color="#F27649", width=1, linestyle="dashed"),
    mpf.make_addplot(df["s2u"], color="#D94E41", width=1, linestyle="dotted"),
    mpf.make_addplot(df["s2L"], color="#D94E41", width=1, linestyle="dotted")
]
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', addplot=series)

・実行結果


関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月15日土曜日

mplfinanceのチャートのY軸表示範囲を設定する

mplfinanceのチャートのY軸表示範囲を設定するには、plotメソッドでylim引数を使用します。
ylim引数にはタプルで(下限値, 上限値)の形式で指定します。

サンプルコード

以下のコードをノートブックに張り付けて実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', ylim=((105, 110)))

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月14日金曜日

mplfinanceのチャートの端の余白を狭くする

mplfinanceのチャートの端の余白を狭くするには、plotメソッドでtight_layout引数を使用します。

サンプルコード

以下のコードをノートブックに張り付けて実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', tight_layout=True)

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月13日木曜日

mplfinanceのチャートの軸を非表示にする

mplfinanceのチャートの軸を非表示にするには、plotメソッドでaxisoff引数を使用します。

サンプルコード

以下のコードをノートブックに張り付けて実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', axisoff=True)

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月12日水曜日

mplfinanceのチャートの日付ラベルの回転角度を変更する

mplfinanceのチャートの日付ラベルの回転角度を変更するには、plotメソッドでxrotation引数を使用します。

サンプルコード

以下のサンプルでは日付のラベルの回転を90度に設定しています。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', xrotation=90)

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月11日火曜日

mplfinanceのチャートを画像ファイルとして保存する

mplfinanceのチャートを画像ファイルとして保存するには、plotメソッドでsavefig引数を使用します。
savefig引数は辞書で以下の様なパラメータを設定します。
fname : 出力ファイル名
dpi : DPIの値
また、上記と合わせてfigsizeで画像サイズを制御できます。

〇サンプルコード
以下のサンプルでは800x500ピクセルの画像を生成しています。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")
# 800x500 pixelsのpng画像を生成
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', figsize=(8,5), savefig=dict(fname='test.png',dpi=100))

・出力画像


関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月10日月曜日

mplfinanceのチャートに移動平均線を追加する

mplfinanceのチャートに移動平均線を追加するには、plotメソッドにmav引数を設定します。
指定した数値がデータ個数分の移動平均になります。
移動平均線の色はmake_mpf_styleのmavcolors引数で指定します。

サンプルコード

・移動平均線が1つの場合(1つの場合はタプルでなくても良いが1つの要素のタプルにしています)
以下のコードをノートブックに入力して実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close'])
df = df.set_index("date")
cs  = mpf.make_mpf_style(gridcolor="lightgray", mavcolors=['#F27649'])
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', mav=(3), style=cs)

・実行結果

・3つの移動平均線(2日,4日,6日)の場合
cs  = mpf.make_mpf_style(gridcolor="lightgray", mavcolors=['red', 'green', '#405173'])
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', mav=(2,4,6), style=cs)

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月9日日曜日

mplfinanceのチャートのタイトル・Priceラベル・Volumeラベルに日本語を設定する

mplfinanceのチャートのタイトル・Priceラベル・Volumeラベルに日本語を設定するには、japanize-matplotlibを導入した後、rcParamsのfont.familyを設定します。

japanize-matplotlibのインストール方法

jupyterの仮想環境フォルダに移動後、以下のコマンドを実行します。
pipenv install japanize-matplotlib

サンプルコード

以下のコードをノートブックに入力して実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf
import japanize_matplotlib  

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253, 1000],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201, 1100],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93, 1200],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283, 1300],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236, 1400],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939, 1500],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272, 1600],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986, 1700],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279, 1800],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803, 1900],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153, 2000],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865, 2100],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052, 2200]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close', 'volume'])
df = df.set_index("date")
cs  = mpf.make_mpf_style(rc={"font.family":'IPAexGothic'})
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, 
         title="サンプル", ylabel="ドル/円", ylabel_lower="ボリューム", style=cs)

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月8日土曜日

mplfinanceのチャートの縦横比を設定する

mplfinanceのチャートの縦横比を、plotメソッドのfigratioに横・縦のタプルまたは配列で指定します。

サンプルコード

以下のコードをノートブックに入力して実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253, 1000],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201, 1100],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93, 1200],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283, 1300],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236, 1400],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939, 1500],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272, 1600],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986, 1700],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279, 1800],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803, 1900],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153, 2000],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865, 2100],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052, 2200]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close', 'volume'])
df = df.set_index("date")

mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, figratio=(7,3))

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月7日金曜日

mplfinanceのチャートを拡大縮小表示する

mplfinanceのチャートの拡大縮小表示するには、plotメソッドのfigscaleに倍率を設定します。

サンプルコード

以下のコードをノートブックに入力して実行します。
・50%に縮小表示
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253, 1000],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201, 1100],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93, 1200],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283, 1300],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236, 1400],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939, 1500],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272, 1600],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986, 1700],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279, 1800],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803, 1900],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153, 2000],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865, 2100],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052, 2200]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close', 'volume'])
df = df.set_index("date")
# 図の大きさを50%に設定
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, figscale=0.5)

・実行結果


・75%に縮小表示
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, figscale=0.75)

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月6日木曜日

mplfinanceのチャートに休場日などのデータのない日付を表示する

mplfinanceのチャートに休場日などのデータのない日付を表示するには、plotメソッドのshow_nontradingにTrueを設定します。

サンプルコード

以下のコードをノートブックに入力して実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253, 1000],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201, 1100],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93, 1200],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283, 1300],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236, 1400],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939, 1500],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272, 1600],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986, 1700],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279, 1800],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803, 1900],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153, 2000],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865, 2100],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052, 2200]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close', 'volume'])
df = df.set_index("date")
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, show_nontrading=True)

・実行結果


関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月5日水曜日

mplfinanceのチャートのY軸を右側に表示する

mplfinanceのチャートのY軸を右側に表示するには、make_mpf_styleメソッドのy_on_rightにTrueを設定します。

サンプルコード

以下のコードをノートブックに入力して実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253, 1000],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201, 1100],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93, 1200],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283, 1300],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236, 1400],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939, 1500],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272, 1600],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986, 1700],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279, 1800],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803, 1900],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153, 2000],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865, 2100],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052, 2200]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close', 'volume'])
df = df.set_index("date")
cs  = mpf.make_mpf_style(gridcolor="gray", y_on_right=True)
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, style=cs)

・実行結果

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月4日火曜日

mplfinanceのチャートのグリッドを水平線のみ・垂直線のみ・両方に変更する

mplfinanceのチャートのグリッドを水平線のみ・垂直線のみ・両方に変更するには、make_mpf_styleメソッドのgridaxisを使用します。
・horizontal : 水平線
・vertical : 垂直線
・both : 両方(デフォルト)

サンプルコード

・グリッドを水平線のみに変更する例
以下のコードをノートブックに入力して実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253, 1000],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201, 1100],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93, 1200],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283, 1300],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236, 1400],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939, 1500],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272, 1600],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986, 1700],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279, 1800],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803, 1900],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153, 2000],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865, 2100],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052, 2200]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close', 'volume'])
df = df.set_index("date")
cs  = mpf.make_mpf_style(gridcolor="gray", gridaxis='horizontal')
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, style=cs)

・グリッドを垂直線のみに変更する例
cs  = mpf.make_mpf_style(gridcolor="gray", gridaxis='vertical')
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, style=cs)

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする

2020年8月3日月曜日

mplfinanceのチャートのグリッドを破線・点線に変更する

mplfinanceのチャートのグリッドを破線・点線に変更するには、make_mpf_styleメソッドのgridstyleを使用します。
・'-'または'solid' : 実線
・'--'または'dashed' : 破線
・'-.'または'dashdot' : 破線と点線の組み合わせ
・':'または'dotted' : 点線

サンプルコード

・グリッドを破線に変更する例
以下のコードをノートブックに入力して実行します。
from datetime import datetime
import pandas as pd
import mplfinance as mpf

fx_data = [
    [datetime(2020, 7, 8), 107.475, 107.711, 107.202, 107.253, 1000],
    [datetime(2020, 7, 9), 107.231, 107.398, 107.097, 107.201, 1100],
    [datetime(2020, 7, 10), 107.169, 107.264, 106.639, 106.93, 1200],
    [datetime(2020, 7, 13), 106.861, 107.319, 106.787, 107.283, 1300],
    [datetime(2020, 7, 14), 107.227, 107.427, 107.119, 107.236, 1400],
    [datetime(2020, 7, 15), 107.205, 107.309, 106.666, 106.939, 1500],
    [datetime(2020, 7, 16), 106.895, 107.401, 106.833, 107.272, 1600],
    [datetime(2020, 7, 17), 107.250, 107.360, 106.938, 106.986, 1700],
    [datetime(2020, 7, 20), 107.011, 107.537, 106.970, 107.279, 1800],
    [datetime(2020, 7, 21), 107.193, 107.367, 106.681, 106.803, 1900],
    [datetime(2020, 7, 22), 106.789, 107.288, 106.705, 107.153, 2000],
    [datetime(2020, 7, 23), 107.124, 107.231, 106.711, 106.865, 2100],
    [datetime(2020, 7, 24), 106.826, 106.872, 105.681, 106.052, 2200]
]

df = pd.DataFrame(fx_data, columns=['date', 'open', 'high', 'low', 'close', 'volume'])
df = df.set_index("date")
cs  = mpf.make_mpf_style(gridcolor="gray", gridstyle='--')
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, style=cs)

・グリッドを破線と点線に変更する例
cs  = mpf.make_mpf_style(gridcolor="gray", gridstyle='-.')
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, style=cs)

・グリッドを点線に変更する例
cs  = mpf.make_mpf_style(gridcolor="gray", gridstyle=':')
mpf.plot(df,type='candle', datetime_format='%Y/%m/%d', volume=True, style=cs)

関連情報

・mplfinanceのインストール方法は以下の記事を参照してください。
JupyterLabにmplfinance、pandas、matplotlibをインストールして、ロウソク足チャートを表示する

・mplfinanceのgithubリポジトリ
https://github.com/matplotlib/mplfinance
Ubuntu 20.04にJupyter Labをインストールする(pipenv版)

Raspberry Pi(Raspbian Buster)にJupyter Labをインストールする