はじめに
株価を分析する際にいろいろな指標が使われます。
いざ自分で計算しようと思うと、難しいだけでなく調べるだけでも大変です。
そんな折、TA-Libという便利なライブラリを見つけました。
本記事ではTA-Libを使用していろいろな指標を計算させ、グラフ化してみます。
また、計算した指標は後で再利用できるようにCSVで保存しておきます。
たくさんのグラフを作成してみましたが、私が知っているのはごく一部だけでした。
ほとんどの指標は意味もわからず、名前さえ知りませんでした。
ソースはGitHubに置いてます。
TA-Libのインストール
Macであればbrewでインストールできます。
$ brew install ta-lib
Pythonから使えるようにラッパーをインストールします。
$ pip install TA-Lib
基本的な使い方
株価の取得
株価はpandas_datareaderを使用してYahoo Financeから取得しました。
取得したのは日経平均株価です。
import datetime
import pandas_datareader
start_date = datetime.date(2020, 1, 1)
end_date = datetime.date(2020, 12, 31)
ticker = '^N225'
df = pandas_datareader.data.DataReader(ticker, "yahoo", start_date, end_date)
TA-Libの使い方
TA-Libをインポートします。
import talib
そして、指標を求めます。
sma = talib.SMA(df['Close'], timeperiod=30)
これだけです。楽です。
指標のグラフ
ここからは指標のグラフだけ載せます。
BBANDS - Bollinger Bands
DEMA - Double Exponential Moving Average
EMA - Exponential Moving Average
HT_TRENDLINE - Hilbert Transform - Instantaneous Trendline
KAMA - Kaufman Adaptive Moving Average
MA - Moving average
MAMA - MESA Adaptive Moving Average
使い方が悪いのか、ライブラリが古いのか、エラーとなります。
深追いはせず次に進みます。
Error occured: Exception: TA_MAMA function failed with error code 2: Bad Parameter (TA_BAD_PARAM)
MAVP - Moving average with variable period
periodsに何を指定すればよいかわからなかったのであきらめました。
MIDPOINT - MidPoint over period
MIDPRICE - Midpoint Price over period
SAR - Parabolic SAR
SAREXT - Parabolic SAR - Extended
SMA - Simple Moving Average
T3 - Triple Exponential Moving Average (T3)
TEMA - Triple Exponential Moving Average
TRIMA - Triangular Moving Average
WMA - Weighted Moving Average
RSI - Relative Strength Index
STOCH - Stochastic
STOCHRSI - Stochastic Relative Strength Index
MACD - Moving Average Convergence/Divergence
ADX - Average Directional Movement Index
WILLR - Williams' %R
CCI - Commodity Channel Index
ATR - Average True Range
ULTOSC - Ultimate Oscillator
ROC - Rate of change : ((price/prevPrice)-1)*100
おわりに
今回の目的は株価指標の収集です。
また、視覚化してこんな感じなのかなということが何となくわかりました。
この収集したデータをどのように料理するか。これからの課題です。