Python

【コード解説】Pythonで株価チャートを描く【mplfinance編】

2021年5月27日

【コード解説】Pythonで株価チャートを描く【mplfinance編】

こんにちは。TATです。

今日は久々のPythonコード解説です。

テーマは「Pythonで株価チャートを描く」です。

株価チャートを描くライブラリーとしてmplfinanceをご紹介します。

 

過去記事でも似たようなものをご紹介しましたが、こちらはmpl_finance("_"がつきますw)です。

関連記事
【コード解説】Pythonで株価チャートを描く【mpl_finance編】

続きを見る

 

同じようなものに見えますが、完全別物です。

正確には、mpl_financeがリニューアルされてmplfinanceとなっています。mplfinanceが最新です。

mpl_financeに比べると使い勝手がかなりレベルアップしていて、少ないコードでサクッとローソク足チャートや移動平均線などを描くことができます。

これから学ぶという方はmplfinanceだけ知っておけば十分です。

 

また、Pythonで株価データを扱う記事については記事が散在しているのでこちらにまとめました!

株価データの取得方法やテクニカル分析の計算方法やその他の可視化方法についてはこちらからどうぞ。

関連記事
【まとめ】Pythonで株価データを扱う
【まとめ】Pythonで株価データを扱う

続きを見る

関連
【コード解説】Pythonで株価チャートを描く【mpl_finance編】

続きを見る

関連
【コード解説】Pythonで株価チャートを描く【plotly編】

続きを見る

 

【コード解説】Pythonで株価チャートを描く【mplfinance編】

おさらい:株価を取得する

まずはおさらいとして、チャートを描くための株価を取得します。

Pythonによる株価の取得方法についてはこちらの記事でご紹介済みです。

関連記事
【コード解説】Pythonで株価データを取得する!【3つの方法を解説】

続きを見る

関連記事
【Pythonコード解説】yahoo_finance_api2で日本株の株価データを取得する
【Pythonコード解説】yahoo_finance_api2で日本株の株価データを取得する

続きを見る

 

今回は例としてトヨタ自動車(証券コード: 7203)の株価をチャートに描いてみることにします。

ここでは過去13週分の日足データを取ります。

yahoo_finance_api2を使って株価データを取得します。

 

取得したデータを確認すると、きちんと株価データが取得できていることがわかります。(2021年5月20日20時あたりに取得しました)

まだ当日分のdatetimeが補正されてないですね。

気にせず進みます。

日足のチャート描くので、時間情報はそこまで気にする必要ありません。

 

こちらのデータを使ってチャートを描いていきます。

 

mplfinanceを使いこなす

株価データの準備ができたところで、mplfinanceでチャートを描いていこうと思います。

基本的な使い方はGitHubで紹介されています。

ここでは英語で説明されているので、よく使いそうな部分を日本語化してなおかつ日本株(トヨタ)を例にして解説していこうと思います。

 

下準備

まずはチャートを描くための下準備です。

mplfinanceでチャートを描く際には、引数として渡すDataFrameの形式を、indexをDatetimeとして、列を左から順番にOpen, High, Low, Closeの順番にしておく必要があります。

出来高を追加する場合は、Closeの右隣につけます。

 

ということでデータ整形です。

indexを変えるにはset_index、カラムの並び替えにはlocを使います。

整形されたDataFrameをdf_dailyとします。

一行で完了です。

きちんと整形されていることが確認できます。

 

ローソク足チャートを描く

まずは基本のローソク足チャートを描いてみます。

ローソク足チャートを描くためにはmplfinanceのplot関数を使います。

コードはとってもシンプルで、わずか一行で完了します。

plot関数にDataFrameを引き渡して、グラフのtypeをcandleとすれば完成です。

mpl_financeでは、datetimeの整形とかが必要でコードが長くなりがちでしたが、mplfinanceであればわずか一行で完了してしまいます。

素晴らしいですね。

 

ちなみにこのtypeという引数を変えるとチャートを描き方を変えることができます。

例えば、lineと指定すれば折れ線グラフとなり、renkoと指定すると練行足で表現できます。

 

DataFrameさえ用意してしまえば、わずか一行でローソク足チャートが描けてしまうとは、恐るべき進化です。

 

出来高を追加する

次に出来高を追加してみます。

これはvolume=Trueを追加するだけ完了です。

この場合には、Close列の右隣に出来高のカラムを用意しておく必要があります。

簡単すぎてびびりますね・・・

 

移動平均線を追加する

次にテクニカル分析を追加してみます。

基本となる移動平均線を追加してみます。

かつてのmpl_financeでは、移動平均線を計算してプロットする必要がありましたが、mplfinanceでは計算すら不要です。

移動平均線を描くには、mavという引数を使います。mavはmoving averageから来てると思われます。

 

ここでは5日移動平均線を描いています。

 

複数の移動平均線と描くには、()内に複数の期間を指定すればOKです。

5日と25日移動平均線を描いてみます。

 

このように、mplfinanceを使うと、ローソク足や移動平均線、出来高の表示がわずか一行で描くことができます。

 

応用編:複数のテクニカル分析を組み合わせる

mplfinanceの基本的な使い方がわかったところで、少しレベルアップします。

複数のテクニカル分析を組み合わせて表示させてみましょう。

 

おさらい:テクニカル分析を計算する

まずは、テクニカル分析を計算します。

計算方法についてはこちらの記事で解説しています。

関連記事
【コード解説】Pythonで株式投資に必要なテクニカル分析を計算する

続きを見る

 

今回は、上記の記事に基づいてMACDRSIを計算しました。

 

計算した結果はこんな感じです。

こちらをグラフにしていきます。

 

グラフを追加するにはaddplotを使う

グラフにテクニカル分析データを追加するにはaddplotという引数で指定します。

まずはMACDを追加してみます。

 

add_plotという変数を定義して、ここにリスト形式で追加したいデータを指定します。

カラムを指定して、線の色(rはred, gはgreen)、panelは何個目の枠に描くかを指定します。

最後にy軸を別軸にするかを指定するsecondary_yをセットすればOKです。

panelについては、1がローソク足チャートの次になります。以降2、3、4・・・と追加できます。

 

次にRSIを描いてみます。

 

このように、移動平均線以外のテクニカルチャートも簡単に描くことができます。

 

例:トヨタ自動車のグラフを描く

最後に総まとめとして、これまでご紹介してきたものを一気に描いてみます。

ローソク足には5日と25日移動平均線を追加して、さらに別枠でMACDとRSI、最後に出来高も表示します。

複数のpanelを追加する場合には、追加でvolume_panelを指定する必要があります。

 

MACDはpanel=1として、RSIをpanel=2とします。

さらにpanel3に出来高を表示するためにはvolume_panel=3と指定します。

 

このvolume_panelを付け忘れてしまうと、RSIに上書きされてしまいます。

こんな感じです。ご注意ください。

 

よってpanelを2つ以上を使う場合にはvolume_panelを設定する必要があります。

 

以上で、複数のテクニカルチャートをグラフに描くことができました。

mpl_financeを利用して時に比べて、コードの量が激減しました。

 

データの可視化にはPythonが最適です。

以上でmplfinanceで株価チャートを描く方法の解説はおしまいです。

 

Pythonを使うと、データの可視化などの複雑な処理も短いコードで実装することができます。

特にここで紹介したmplfinanceは、複雑なローソク足チャートをわずか数行でかけてしまいます。

Pythonは、データ分析やデータの可視化などを得意とするプログラミング言語で、さらにAI関連のライブラリーが豊富なので、昨今のAIブームで需要が爆発しています。

おすすめ
【いますぐ始められます】データ分析をするならPythonが最適です。【学習方法もご紹介します!】
おすすめ
【人気上昇中】今人気のプログラミング言語「Python」は何ができるのか?できることまとめます【転職でも有利です】

 

また、Pythonは、僕自身も独学で習得できたくらい初心者でも学びやすい言語です。

僕の場合は社会人になってから独学でPythonを習得して転職にも成功しました。Pythonをきっかけに人生が大きく変わりました。

おすすめ
【実体験】ゼロからのPython独学を決意してから転職を掴み取るまでのお話。
【実体験】ゼロからのPython独学を決意してから転職を掴み取るまでのお話。

続きを見る

 

僕自身の独学の経験をベースに、Python独学ロードマップをまとめたので、もしご興味があればご覧ください。

おすすめ
【決定版】Python独学ロードマップ【完全初心者からでもOKです】
【決定版】Python独学ロードマップ【完全初心者からでもOKです】

続きを見る

 

僕自身はUdemyでPythonを独学しました。

おすすめ
プログラミングの独学にUdemyをおすすめする理由!【僕はUdemyでPythonを独学しました!】
おすすめ
【目的別】Pythonが学べるUdemyのおすすめコースを紹介します【随時更新】

 

\30日返金保証/

Udemyを詳しく見る

セール中なら90%オフとかで購入可能です!

 

まとめ

いかがでしたでしょうか。

今回は、mplfinanceでPythonで株価チャートを描く方法について解説しました。

前回ご紹介したmpl_financeに比べて、はるかに少ないコードで複雑なグラフを作成することができます。

 

Pythonを使えば株価データを取得することも用意で、なおかつテクニカル分析の計算も簡単に行うことができます。

本記事で紹介したように可視化も簡単にできるので、株式投資やFXの分析にPythonは最適と言えます。

 

Pythonで株価データを扱う記事については記事が散在しているのでこちらにまとめています。

株価データの取得方法やテクニカル分析の計算方法やその他の可視化方法についてはこちらからどうぞ。

関連記事
【まとめ】Pythonで株価データを扱う
【まとめ】Pythonで株価データを扱う

続きを見る

 

ここまで読んでくださってありがとうございました。

関連
【コード解説】Pythonで株価チャートを描く【mpl_finance編】

続きを見る

関連
【コード解説】Pythonで株価チャートを描く【plotly編】

続きを見る





Pythonの独学ならUdemyがオススメです。



Udemyは動画教材でわかりやすく、セールで買うとコスパ最強です。



僕はUdemyでPythonを独学して転職にも成功して人生が大きく変わりました。



\30日返金保証/

Udemyを詳しく見る

セール中なら90%オフとかで購入可能です!




独学がきついならプログラミングスクールも検討の余地あり



独学がきつい、挫折した、という方はプログラミングスクールも検討の余地があります。



その際には、必ず無料体験レッスンを受けたうえで判断するようにしましょう。



決して安い料金ではないので、慎重に判断を下す方が無難です。



Pythonが学べるおすすめプログラミングスクール



TECH::CAMP(テックキャンプ)

  • 自習型なので自分のペースで学習を進めたい方におすすめ

  • 受講期間中はマンツーマンで最適な学習プランを提案してもらえる

  • 受講期間中はあらゆるテクノロジースキルが学び放題(他コースも受講できます)

  • 分からないところは何度でも質問ができるため、挫折することがない

  • 大手のスクールで安心


\チャットで質問し放題/

TECH::CAMPを詳しく見る!

自習型で自分のペースで学習を進めたい方にオススメ



 

CodeCamp(コードキャンプ)

  • オンラインによるマンツーマンレッスンが受けられる

  • レッスンごとに好きな講師を選択することができる

  • 講師は現役エンジニアなので、より実践的なスキルが学べる

  • オンラインで365日/7時〜24時迄、時間と場所を選ばずに学習できる

  • 就職/転職やキャリアについての相談が無料でできる

  • 無料体験レッスンを受講すると受講料が1万円引になる

  • 大手のスクールで安心


\マンツーマンレッスンで学べる/

CodeCampを詳しく見る!

無料体験レッスンを受けたら受講料が1万円引きに



 

キカガク

  • Pythonを基礎から学びたいという初心者にもおすすめです

  • 機械学習やAIに関心がある方におすすめ

  • E資格認定コースなので、熟語に試験に受かれば転職で有利です

  • 受講者はキカガクが提供する全ての講座が無期限で見放題

  • 受講者の多くが専門実践教育訓練給付金制度を使用して実質70%オフの料金で受講している


\AIや機械学習を本気で学びたい方へ/

キカガクを詳しく見る!

E資格認定コースでPythonの基礎からしっかりと学べる



 

.Pro

  • .Proの受講生の約90%は未経験からのスタートなので初心者でも安心

  • 完全対面式・少人数クラスの講義スタイル

  • 現役エンジニアやAIの研究者が教える実践形式のカリキュラムで、より実践的なスキルを獲得できる

  • キャリアアップ目的の為の提携企業への転職支援が受けられる

  • フリーランス・起業 の要となるマーケティングや案件受注の仕方等も身に付けることができる

  • WebフレームワークであるDjangoが学べる


\完全対面式の講義スタイル/

.Proを詳しく見る!

受講生の90%は未経験スタートからのスタートで初心者でも安心



データ販売を始めました


オニールとミネルヴィニの投資手法を日本株に適用するために必要なデータの販売を始めました。

あらゆるデータを集約して、誰でも簡単にスクリーニングできるようにCSV形式でデータを提供します。

オニールとミネルヴィニの投資手法を日本株に適用するために必要なデータを販売します!

続きを見る


-Python
-, , , , ,

© 2022 気ままなブログ