ローソク足チャートを描いてみた!
今回は株価チャートをpythonで描いていきます! 投資経験のある方は必ず見るであろうローソク足ですが、実はpythonのモジュールを使えば簡単に出力できるんです。
これは余談ですが、僕の祖父も株式投資をしています。祖父の凄いところは、自分が注視している銘柄を、何年も追い、手書きで方眼用紙に日足チャートを描いているのです!!!そこにテクニカル分析を書き込んでいつも睨めっこしています。僕が小さかった頃はナニしてるんだろーってくらいで大した関心もなかったんですけど、今考えるとめちゃめちゃ努力してる投資家で憧れます!
ネットで開示しているよりも過去のデータを持つことで、その銘柄の傾向を知ることができるなど、テクニカル分析で1%でも優位に立てるのではないかと考えます。そのため、株価チャートをローソク足表記でグラフ化し、保存する事を目的として行いました。
ローソク足
このブログではとりあえず日足のローソク足で説明します。 下の図にローソク足の構成要素である陽線と陰線を示します。色に関しては、証券会社の表示方法によって異なりますのでご注意ください。 ローソク足チャートのメリットは、チャートを見る事で大まかに株価の動きがわかる事です。 陽線、陰線ではそれぞれ始値、終値が逆転します。長方形になっている部分は、始値と終値の中間価格帯になっており、長方形から上下に出ている髭のような線は、中間価格帯からはみ出た株価を示します。ローソク足の右側に適当に1日の株価の推移を描きましたが、これがローソク足と一致します。
Pythonでローソク足チャート作成
では本題に入りましょう。コードを下に載せました。まずはモジュールのインポートから始めます。
モジュール
モジュールはpandas、matplotlib、mpl_finance、numpyです。mpl_financeは古いモジュールのようで実行すると古いという警告が出ますが無視して使います。
from pandas_datareader import data import matplotlib.pyplot as plt import mpl_finance as mpf import numpy as np from matplotlib.dates import date2num
株価取得
株価は、pandasを使って取得します。取得するためにはデータソースが必要なので、ここでは無料で使用できるstooqという世界各国の株価を掲載しているサイトを使用しました。取得する価格は終値です。今回は最近私がお世話になっていたワタベウェディングを例にやっていきます。
stockname='ワタベウェディング' df=data.DataReader('4696.JP','stooq') df=df.sort_index() date=df.index
グラフ化
最後にグラフ化していきます。ローソク足を描くためにはmpl_financeのcandlestickを使います。 横軸はdate2numをつかうことで日付にし、縦軸はdf.indexにより株価をローソク足としてプロットします。
xdate=[x for x in df.index] ohlc=np.vstack((date2num(xdate),df.values.T)).T fig=plt.figure() ax=plt.subplot() mpf.candlestick_ohlc(ax,ohlc,width=0.7,colorup='r',colordown='b') ax.grid() ax.set_xlim(df.index[-100].date(),df.index[-1].date()) fig.autofmt_xdate() plt.ylim(200,500) plt.ylabel('Stock Price[yen]') plt.show()
結果
上記プログラムを実行した結果を以下に示します。こんな感じで簡単に株価をローソク足で表すことができました!! 長期間の日足を見たいとき、証券会社(スマホ版?)によっては昔のものは見れない事がありますよね。そんな時はこのプログラムを実行して保存しちゃいましょう。グラフを描くのではなく、csvファイルで生データを保存する手もありですね!
まとめ
今回はローソク足チャートを描いてみました。それにしてもpython有能過ぎでしょって思っちゃいますよね(笑) 今後も自分がやりたいことをプログラミングで実現していきたいです!