icon
icon

Pythonでローソク足チャートと移動平均線描画する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonでローソク足チャートと移動平均線描画する方法について現役エンジニアが解説しています。ローソク足チャートとは、株価の表示に使用されている表記方法で、移動平均線とは期間の株価の移動平均をグラフ表示したものです。描画にはmplfinanceライブラリのplot()関数を使用します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonでローソク足チャートと移動平均線描画する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonでローソク足チャートと移動平均線描画する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

  1. ローソク足チャートとは
  2. 移動平均線とは
  3. ローソク足チャートを描画する方
  4. 移動平均線を描画する方法
  5. 実際に書いてみよう
  6. まとめ

 

ローソク足チャートとは

ローソク足チャートとは、株価の表示に使用されている表記方法です。

1つ1つの棒が1分や1日、1ヶ月などの期間を表します。それぞれの棒で期間内の値動きを表現しています。用語も独特ですので覚えておくと良いでしょう。

[PR] 未経験からWebエンジニアを目指す方法とは

移動平均線とは

移動平均線とは複数の期間の株価の移動平均をグラフ表示したものです。例えば以下は3日間の移動平均線をローソク足チャートに追加表示しています。

 

ローソク足チャートを描画する方法

Python でローソク足チャートを描画するにはmplfinance ライブラリの plot() 関数を使用します。typeの「candle」はローソク足を表します。typeを省略した場合は海外で多く使われている OHLC 形式で表示されます。

mpf.plot(data, type='candle')

なおローソク足チャートの描画には以前は mpl_finance というライブラリを使用していましたが非推奨となっていますので注意しましょう。mplfinance について、詳しくは公式サイトも参考にしてください。

matplotlib / mplfinance

 

移動平均線を描画する方法

移動平均線を描画するにはmavオプションを指定します。複数の移動平均線を指定することも可能です。

mpf.plot(data, type='candle', mav=(3))

 

実際に書いてみよう

今回のサンプルプログラムでは、電気自動車メーカーテスラの株価をローソク足チャートで表示してみます。ライブラリのインストールが未だの場合はpipコマンドなどでインストールしましょう。

pip install pandas_datareader
pip install mplfinance

はじめに株価データを取得します。

# ライブラリの読み込み
import pandas_datareader.data as dr

# stooqというデータ提供元からテスラの株価を取得する
df = dr.DataReader('TSLA' , "stooq" )
df.head()

実行結果は以下のとおりです。結果は日付によって異なります。

ローソク足チャートを表示してみましょう。

mpf.plot(df[:20],type='candle', mav=(3, 6, 9))

実行結果は以下のとおりです。

まとめ

今回の記事ではローソク足チャートと移動平均線描画する方法を学習しました。

 

監修してくれたメンター

太田和樹(おおたかずき)

ITベンチャー企業のPM兼エンジニア。

普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。

開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント。

地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。