目安:この記事は3分で読めます
前回の記事では、チャート描画ライブラリの『mplfinance』を使って、以下のコンテンツを簡単に作れるPythonコードを紹介しました。
前回のコンテンツ
- ローソク足
- ボリューム(出来高)
- 移動平均線(複数)
-
【Pythonコード集】『mplfinance』でボリュームチャートを描画してみよう それも一瞬で!
続きを見る
今回はー
今回使うライブラリ
Ta-lib
というライブラリを使って、テクニカル分析に特化したチャートを作ってみます。
色々なテクニカル分析指標の中から、今回は多くの投資家が使うー
今回の指標
MACD
をチャート上に描画してみます。
基本的なPythonコードを覚えるだけでも、あなただけのテクニカル分析チャートを作ることだってできます。
ぜひ、最後までお読みください!
今回のサマリー
・最初にPythonのコードを一気に紹介
・その後、ひとつひとつのコードを解説
・今回のテクニカル分析指標はMACD
▼ Udemyおすすめの講座 ▼
・Pythonの基礎から応用まで一気に学ぶならこのコース おすすめ度
▶現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
・データサイエンスを学ぶならこの2コース 2コースのおすすめ度
▶【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
▶【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門
・Python、ファイナンス、英語を一気に学ぶ ”欲張りコース” おすすめ度
▶Python for Finance: Investment Fundamentals & Data Analytics
※このコースには日本語の字幕がついています。
Python、ファイナンスそして英語の力を同時にレベルアップするコースとしては、Udemy最強のコースです。
ジェイもこのコースで学び、今も復習で使っているコースです。
この記事の対象となる人
こんな人におすすめ
- Pythonで株価チャートを作成したい人
- Pythonで株価の分析がしたい人
- Pythonを学びたいと思っている人
この記事でわかること
わかること
- Pythonでテクニカル分析のチャートを作成する方法
- PythonでMACDを描画する方法
Pythonコードの紹介
まずは、Pythonコードを一気にご紹介します。
今回採用した銘柄は、前回と同じくジェイが実際に投資をしている新興の米フィンテック企業『エヌシーノ(Ticker:NCNO)』です。
Pythonコード
#ライブラリ import yfinance as yf import mplfinance as mpf import talib as ta #株価データの取得 ticker = yf.Ticker("NCNO") df = ticker.history(period="1y") #MACDの各要素をひとつひとつ設定 df["macd"], df["macd_signal"], df["macd_hist"] = ta.MACD(df['Close']) colors = ['green' if v >= 0 else 'red' for v in df["macd_hist"]] macd = mpf.make_addplot(df["macd"], panel=1, color='#de1637', title="MACD") macd_signal = mpf.make_addplot(df["macd_signal"], panel=1, color='limegreen') macd_hist = mpf.make_addplot(df["macd_hist"], type='bar', panel=1, color=colors) #上で設定したコードをひとつのリストにまとめる macd_dataset = [macd, macd_hist, macd_signal] #チャートの描画 mpf.plot(df, type='candle', style='yahoo', title="NCNO", ylabel='Price', ylabel_lower='MACD', addplot = macd_dataset)
コードを実行
上のコードを実行すると、以下のチャートが描画されます。
株価チャートの下に、MACDが描画されていることがわかります。
次は、ひとつひとつのコードを詳しく見てみましょう!
Pythonコードの解説
ここからは5つのカテゴリーに分けて、一つ一つのコードについて解説していきます。
1:ライブラリ
import yfinance as yf import mplfinance as mpf import talib as ta
・コードの解説
▷import talib as ta
今回のポイントはここです!
Pythonでテクニカル分析をする際に必ず必要となるのがー
今回使うライブラリ
Ta-lib
というライブラリです。
2:株価データの取得
ここは前回と一緒です。
yticker = yf.Ticker("NCNO") data = yticker.history(period="1y")
・コードの解説
▷yticker = yf.Ticker("NCNO")
ティッカーコードを指定して株価データを取得するコードです。
ポイントはー
コード
yfinace.Tciker( "ティッカーコード")
と書くことです。これは定型文と考えてください。
株価データを入れる変数名は、お好みでOKです。
▷data = yticker.history(period="1y")
株価データの期間を設定するコードです。
ポイントはー
コード
株価データの変数名.history(period="取得したい期間")
と書くことです。これも定型文と考えてください。
今回は1年(1y)としました。
株価データを入れる変数名は、お好みでOKです。
3:MACDの設定
ここからが、今回のテクニカル分析指標『MACD』を設定するコードです。
#MACDを設定(空データ) df["macd"], df["macd_signal"], df["macd_hist"] = ta.MACD(df['Close']) #MACDヒストグラムの色を設定 colors = ['green' if v >= 0 else 'red' for v in df["macd_hist"]] #MACDライン、シグナルライン、ヒストグラムをひとつひとつ設定 macd = mpf.make_addplot(df["macd"], panel=1, color='#de1637', title="MACD") macd_signal = mpf.make_addplot(df["macd_signal"], panel=1, color='limegreen') macd_hist = mpf.make_addplot(df["macd_hist"], type='bar', panel=1, color=colors)
・コードの解説
▷df["macd"], df["macd_signal"], df["macd_hist"] = ta.MACD(df['Close'])
株価データのデータフレーム『df』に、MACDを構成する3つの要素を追加するコード。
MACDの3要素
- macd
- シグナルライン
- ヒストグラム
Ta-libでテクニカル分析のチャートを作成する場合は、基本的に以下のようにコードを書きます。
MACDの設定
Ta-lib(ta).描画したいテクニカル指標(株価データ)
上の書き方を参考にMACDを描画すると、以下となります。
MACDの設定
ta.MACD(df['Close'])
カッコの中をdf['Close']とすることで、株価の終値をベースにMACDが設定されます。
▷colors = ['green' if v >= 0 else 'red' for v in df["macd_hist"]]
MACDヒストグラムの色を設定するコード。
今回はif文とfor文を使って、1行(内包表記)で簡潔に書いてみました。
内包表記は定型文として憶えておくと良いでしょう。
内包表記
〇〇 if △△ else □□ for カウンタ変数 in イテラブルオブジェクト
上の定型文を簡単に訳すとー
・for文:『イテラブルオブジェエクトからデータをひとつひとつカウンタ変数に入れてください』
・〇〇 if △△:『もしデータが△△ならば〇〇と表示してください』
・else □□:『それ以外は□□としてください』
となります。
▷mpf.make_addplot
3つのMACD要素をひとつひとつ設定するコードです。
ポイントは引数の設定にあります。
make_addplotの引数
- data:一番最初に表示したいデータを設定
- panel:『1』とすることでMACD要素がひとつのパネルに描画される
- type:『bar』にすることでヒストグラムが描画される
- color:色の設定
上4つの引数を設定するだけでOKです。
なお、colorについては色の名前と#から始まる色のコード、どちらでもOKです。
4:MACDのデータセット
最後に、上で設定したMACDのコードをひとつのリストとしてまとめます。
macd_dataset = [macd, macd_hist, macd_signal]
それを変数『macd_dataset』に入れます。
変数名はお好みでOKです。
5:チャートの描画
いよいよ、チャートの描画です。
mpf.plot(data, type='candle', style='yahoo', title="NCNO", ylabel='Price', addplot = macd_dataset)
・コードの解説
前回と違う点は、以下のひとつだけです。
MACDの描画
addplot = macd_dataset
引数の『addplot』に、上で設定したMACDのデータセットを入れるだけです。
コードを実行すると、NCNOのMACDチャートが描画されます。
株価チャートの下に、MACDが描画されました!
▼ テクニカル分析のおすすめ本▼
テクニカル分析を学ぶならこの本で!
おすすめ本
効率よくPythonを学ぶ方法
Pythonって便利だな...
私もPythonを学んでみたい!
今回の記事を読んでそう思われた方は、以下のリンク先をご覧ください。
▼ 本気でPythonを学びたいなら ▼
Pythonを学ぼう
なぜPythonを学ぶ必要があるのか?その理由がわかります。
そして、『これがPythonを効率的に学ぶ方法だ!』と自信をもっておすすめする学習方法について解説しています。
この記事と出会ったのも何かの縁です。
ぜひチャレンジしてみてください!
注記事項
当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください。