過去記事でPythonで株価チャートを描けると紹介しました。
-
【初心者でも大丈夫】Pythonで出来ること5選【簡単に使える】
最近、Pythonと言うプログラム言語が流行っているらしいけど、『そもそもPythonってどんな言語?何が出来るんだろう?プログラムに触れたことがなくても大丈夫かな?効率よく学べるか心配・・・』 これ ...
続きを見る
でも、プログラムでチャートを表示するのは難しいのでは?
チャートだけでなく移動平均や出来高、トレンド系やオシレータ系といった
テクニカル分析はできるの?
毎日、日経平均やGAFAMの株価チャートをPythonで出力して
ツイートしている僕がそんな疑問に答えていきます。
mplfinanceを使ってローソク足チャートを描く
まずは全体のコードと出力結果を紹介します。
まだPyhtonをインストールしてなければ、下の記事を参考にしてください。
-
【すぐに使える】AnacondaでPythonをインストールする方法
『Pythonに興味がある』、『業務を自動化したい』でも、どうやってインストールするの? 東証プライム上場企業のメーカ開発職で、業務やツイッター運用などで約2年ほどPythonを使用した僕がPytho ...
続きを見る
import mplfinance as mpf
import datetime
import pandas_datareader.data as pdr
import yfinance as yf
yf.pdr_override()
# 期間
start="2021-10-01"
end = datetime.datetime.today()
# 銘柄(トヨタ自動車)
ticker="7203" + ".T"
# データ取得
df=pdr.get_data_yahoo(ticker,start,end)
df.sort_index(ascending=True,inplace=True)
# チャート描写
mpf.plot(df, type='candle',style='yahoo',tight_layout=True,title=str(7203),figsize=(6,3))
たった9行のコードで上のようなチャートが簡単なに描けます。
コードの流れ
- ①必要なモジュールを記述
- ②取得したい期間を指定
- ③銘柄の指定
- ④get_data_yahooを使ってデータ取得
- ⑤mplfinanceを使ってチャートを描写
となります。
手順1:必要なモジュールを記述
コードの内容ですが、
最初にチャート描写に必要なモジュールをインストールします。
mplfinance→ローソク足チャート描写。
datetime→日付や時刻を取得。
pandas_datareader.data→Webs上のいいろいろな情報を取得。
『エディタ画面』で
pip install mplfinance
と記述して実行します。
もしdatetime
やpandas_datareader.data
がインストールしていなければ
同様にpip install
でモジュールを取得しましょう。
import mplfinance as mpf
import datetime
import pandas_datareader.data as pdr
import yfinance as yf
yf.pdr_override()
mplfinance
と名前が長いときは『as』+別名で短い名前に変更できます。
今回はmpf
とリネームします。
同様にpandas_datareader.datato
と名前が長いのでpdr
とリネームします。
import yfinance as yf
yf.pdr_override()
※2023年1月16日追記
上2行のコードがなくても問題なく動いていましたがエラーがでるので、
以下のサイトを参考に追記しました。
参考サイト
手順2:取得したい期間を指定
次に取得する株価の期間を入力します。
# 期間
start="2021-10-01"
end = datetime.datetime.today()
end = datetime.datetime.today()
と記述するとプログラムを実行した日時を取得します。
※もちろんend=
で特定の日時を指もできます。
手順3:銘柄の指定
次は銘柄ですが、トヨタ自動車を選んでみました。
日本株は"証券コード"+ ".T"と記述します。
トヨタ自動車だとticker="7203" + ".T"
と記載します。
米国株はティッカーのみ記載します。
※ティッカーとは
日本株の証券コードのように個々の銘柄を識別するために付けられた記号です。
例:アップル→AAPL
手順4:get_data_yahooを使ってデータ取得
取得期間と銘柄を指定すれば次はデータを取得します。
# データ取得
df=pdr.get_data_yahoo(ticker,start,end)
df.sort_index(ascending=True,inplace=True)
df=pdr.get_data_yahoo(ticker,start,end)
は
ウェブ上の色々な情報を取得するモジュールpandas_datareader.data
をpdr
でリネームし、
ヤフーから指定した期間の銘柄情報を取得し、値をdf
とします。
カッコ内は銘柄と取得期間を記載します。
df.sort_index(ascending=True,inplace=True)
のascending=True
は
取得したデータ列を昇順に並べ替えし、inplace=True
は並べ替え結果を保存します。
手順5:mplfinanceを使ってチャートを描写
いよいよチャートの描写です。
# チャート描写
mpf.plot(df, type='candle',style='yahoo',tight_layout=True,title=str(7203),figsize=(6,3))
mpf
はmplfinance
をリネームでしたね。mpf.plot
で今まで取得したデータdf
を使ってローソク足を出力します。
typeでローソク足以外を指定する。
type='candle'
でローソク足チャートを描写できますが、
他にも以下の内容を選択できます。
typeの種類
- ohlc(4本値: default設定)
- line(折れ線グラフ)
- renko(練行足チャート)
- pnf(PnFチャート)
typeを指定するだけで簡単に変更できるので、普段使い慣れたチャートを使用してください。
styleでチャートの見た目を変更する
typeを選択したら次はチャートの見た目を変更するstyleを指定します。
指定できるのは以下の通りです。
styleの種類
- classic
- charles
- mike
- blueskies
- starsandstripes
- brasil
- binance
好みのstyleを選択しましょう。
※ちなみに僕はyahooが一番好きです。
株価データやチャートを保存する
ここまでひととおりデータを取得し、ローソク足が描写できたので、
データとローソク足のグラフを保存してみます。
株価データをCSVファイルで保存する
# チャート描写
mpf.plot(df, type='candle',style='yahoo',tight_layout=True,title=str(7203),figsize=(6,3))
# CSVファイルに保存
directry='C:/Document/メカタナブログ/'
df.to_csv(directry+'7203'+'.csv')
取得したデータをCSVファイルで保存するには
どこに保管するかdirectry
で指示します。
※directry='C:/Document/メカタナブログ/'
と記載していますが、
保存したい場所に変更して下さい。
df.to_csv(directry+'7203'+'.csv')
はdirectry
に'7203'
というファイル名で
CSVファイル形式で保存するコードとなります。
チャートを画像として保存する
# チャート描写 + グラフ保存
directry='C:/Document/メカタナブログ/'
mpf.plot(df, type='candle',style='binance',tight_layout=True,title=str(7203),figsize=(6,3),
savefig=directry+str(7203)+".jpeg")
チャートを画像として保存するにはmpf.plot
のカッコ内にsavefig=directry+str(7203)+".jpeg"
と追記します。
directry
にファイル名7203
としてjpeg
で保存します。
※jpegをpngにするとPNG形式で保存できます。
株価を分析する
チャートを出力し、データやグラフを保存したら株価分析する必要があります。
移動平均、ポリンジャーバンド、一目均衡表・・・・・などを使って現在の株価が安いのか?
または高いのか?を判断する必要がありますが、
Pythonを使用すれば簡単に上記のグラフを出力できるので判断材料になります。
下の記事を参考にしてください。
-
テクニカル分析に役立つ!Pythonで移動平均計算と実装方法
時系列データの分析には移動平均が不可欠です。 また、移動平均には複数の種類があり、それぞれに特徴があるのでどれを使うかはデータの性質によって異なります。 Pythonを使えば簡単に移動平均を計算し、デ ...
続きを見る
-
【ボリンジャーバンド】Pythonでの実装方法とコードを紹介
ボリンジャーバンドという名前を聞いたことがありますか? ボリンジャーバンドはトレンドの強さやトレンドやボラティリティを分析するためのテクニカル指標で相場の変動幅に応じて上下に動くバンドで表され、相場の ...
続きを見る
-
Pythonで学ぶMACDの使い方
『MACDって聞いたことはあるが、どう使えばいいかわからない。』こんな悩みはありませんか? MACDとは何か?さらにPythonを使って基本的な使い方を初心者でもわかりやすく解説します。 毎日、日経平 ...
続きを見る
おすすめのテクニカル分析とPython関連の書籍も紹介しておきます。
今回は以上です。