こんにちは!!ようこそ、当ブログgcbgardenへ。管理人のsakurabaaa(@sakurabaaa_g)です。
Pythonを使って株価を取得して、ローソク足チャート(candlestick chart)を描いてみたので、備忘録メモ。
コードも用意してありますので、そのまま実行すると期待する出力を得ることができます。
Pythonでローソク足チャートを出力環境
バージョンについてはみなさんばらばらだと思うので、明記しません。
基本的に使ったツールやライブラリについては以下のとおりです。
◆環境
- Jupyter Notebook
- Python3
- NumPy
- matplotlib
- matplotlib.finance
- pandas
- pandas_datareader
ローソク足チャート(candlestick chart)とは
とりあえずwikipediaからの参照。
ローソク足チャート(ローソクあしチャート)は、株価などの相場の値動きを時系列に沿って図表として表す手法の一つ。ローソクチャートともいう。
単位期間を定め、単位期間中に初めに付いた値段を始値、最後に付いた値段を終値、最も高い値段を高値、最も安い値段を安値とし、この四種の値段(四本値)をローソクと呼ばれる一本の棒状の図形に作図し、時系列に沿って並べて株価の変動をグラフとして表したものである。
ざっくりとこんな感じのようです。
それぞれの言葉の定義は次のとおり。
- 始値:その日の最初に取引された価格。
- 終値:その日の最後に取引された価格。
- 高値:その日取引された中でもっとも高い価格。
- 安値:その日取引された中でもっとも安い価格。
このローソク足チャートをプログラムで一発で出力してやるということが目標です。
データ取得
まずはプロットするためにデータの取得です。
pandas_datareaderというライブラリを使用することで海外株を取得することができます。
pdr.DataReader("AMZN", "google", start, end)
Ticker symbol(ティッカーシンボル)を記入してgoogleファイナンスから株価を取得します。
今回は、Amazon.comの株価を取得します。
株価の推移をプロット
取得した株価をプロット。
データソース
pandas-datareaderは、以下の銘柄取り扱いサイトから株価のデータソースをインポートできるみたいです。
Yahooファイナンスは使えなくなってしまったみたいです。
(日本株情報は取れないですね。。。)
- Google Finance
- Morningstar
- IEX
- Robinhood
- Enigma
- Quandl
- St.Louis FED (FRED)
- Kenneth French’s data library
- World Bank
- OECD
- Eurostat
- Thrift Savings Plan
- Nasdaq Trader symbol definitions
- Stooq
- MOEX
ローソク足チャート
さて、本記事の本題でのローソク足チャートの出力です。
「mpf.candlestick_ochl」という関数が用意されていますので、日付と対応するデータを引数に入れると簡単に図を作成してくれます。
matplotlib.finance.candlestick_ochl(ax, quotes, width=0.2, colorup='k', colordown='r', alpha=1.0)
上記のコードを使ってティッカーシンボルを変えるだけで、対象企業の株価の推移のグラフを一発で出力することができます。
この記事を書いた人。
20代。とあるネットベンチャーでがんばる働き屋さん、ブロガー。
書きたいことを気ままに書いてます!
Python、プログラミング、米株、カメラ、野球観戦がすき。趣味は新宿散策。