0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TAlibチートシート(作成途中)(最終更新:2021/02/04)

Last updated at Posted at 2021-02-02

#はじめに
TAlibについて、国内での記事もそこそこありますが、完全にOut of Dateなものも結構出てきます。
さらに言えば、古い情報も新しい情報も、バージョン情報とか書いてないものが多いです。
そのため、個人的にいったんまとめてみることにしました。

テクニカル分析などは自分で関数作ってもいいのですが、巨人の肩に立つのが一番の近道かなと。
ただ、このパッケージ自体のDocumentationはクソちゃんとまとまってないので、参照しづらいです。

現在の環境は、Windows10 64bit、Python 3.8、TAlib 0.4.19です。
(Python 3.9はnumpyが投稿日現在使用できないので使用していません)

#TAlibとは
Documentation
Technical Analysis Libraryの略で、その名の通りテクニカル分析ができるパッケージです。
これ自体はC/C++用のTA-libのラッパーです。
元のDocumentationもクソ。

やりとりできるデータ型はnumpyのarrayです。
(python3.9でも使えるならlistでもいいのでは…?)
各関数はオプション引数を持っていますが、Documentationにも大した内容が書いていないので自力で調べる必要があります

今のところ使用できた関数は以下の通りです(追記予定)。

関数名 実行内容
abstract.SMA 単純移動平均を計算
abstract.BBANDS ボリンジャーバンドの基準線および上下線

#インストール
ここではあらかじめビルドされたパッケージを使用しています(参考元)。

ダウンロード元より、自分の環境に合ったファイルをダウンロードします。
バージョンの読み方は次の通りです。
TA_Lib‑0.4.19‑cp39‑cp39‑win32.whl
→TAlib 0.4.19、python3.9、windows 32bit用
TA_Lib‑0.4.19‑cp38‑cp38‑win_amd64.whl
→TAlib 0.4.19、python3.8、windows 64bit用

その後、Promptにてダウンロード先のフォルダに移動し、インストールします。

pip install TA_Lib‑0.4.19‑cp38‑cp38‑win_amd64.whl

condaではインストール不可なのであしからず。
依存しているパッケージはないみたいです~~(だってDocumentationにそう書いてあるんだもん)~~。

#基本の使い方

from talib import abstract

sma = abstract.SMA(hoge, huga)

import talibで書いてる記事が多いですが、現在はモジュール化してあるのでinportできません。
使用できる関数の一覧はimport talib; talib.get_functions()で取得できます。
が、モジュールが不明なので手さぐりで探すことになります。

#各指標紹介
ここでは次のようなPandas.Dataframe型の変数historical_data(極洋 1301.Tの株価)から各指標を計算する方法を説明します。
記載されている方法だとnumpy.array型で指標を取得できます。

historical_data
              Open    High     Low   Close  Volume Currency
Date
1991-01-04  7780.0  8000.0  7770.0  7990.0   10000      JPY
1991-01-07  7990.0  8000.0  7750.0  7800.0    8000      JPY
1991-01-08  7700.0  7700.0  7400.0  7450.0   14200      JPY
1991-01-09  7350.0  7750.0  7350.0  7750.0    9500      JPY
1991-01-10  7450.0  7750.0  7450.0  7750.0   14300      JPY
...            ...     ...     ...     ...     ...      ...
2021-01-28  3035.0  3080.0  3030.0  3080.0   39100      JPY
2021-01-29  3080.0  3080.0  3020.0  3030.0   21300      JPY
2021-02-01  3025.0  3030.0  3005.0  3020.0   17400      JPY
2021-02-02  3020.0  3040.0  3010.0  3025.0   15900      JPY
2021-02-03  3030.0  3070.0  3030.0  3055.0   13600      JPY

####SMA 単純移動平均

SMA
from talib import abstract
import numpy as np

data = np.array(historical_data['Close']

#timeperiod:単純移動平均をとる期間(ここでは20日)
sma = abstract.SMA(data, timeperiod=20)

####BBANDS ボリンジャーバンド

BBANDS
from talib import abstract
import numpy as np

data = np.array(historical_data['Close']

#upper_band, middle_band, lower_band:アッパーバンド、基準線、ロワーバンド
#timeperiod:移動平均をとる期間(ここでは20日)
#nbdevup, nbdevdn:σのn倍をアッパーバンド、ロワーバンドとするかのn
#                  nbdevupがアッパーバンド、nbdevdnがロワーバンド
upper_band, middle_band, lower_band = abstract.BBANDS(row_data, timeperiod=20, nbdevup=float(2), nbdevdn=float(2))

#Q&A
####インストールできないんだけど
ダウンロードファイルをきちんと確認してください。
私が一回やらかしたときは、

pip install TA_Lib‑0.4.19‑cp39‑cp39‑win_amd64.whl

を実行して、3.9用のwhlは対応してないよ!って言われました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?