収益化へのステップ

【 Python 】Ta-Libを用いた、テクニカル分析 6選

【 Python 】Ta-Libを用いた、テクニカル分析 6選

「Ta-Libライブラリ」を用いた、頻繁に使用されているテクニカル分析の実装方法を、ご紹介します。

本記事の対象者は

  • Python初心者を想定しています。
  • (Pandasの知識が少しでもあると、なおGood)

「Ta-Lib」って何???

という方でも、大丈夫な内容になっています。

テクニカル分析は、以下の6種類を紹介しました。

  • SMA ( 単純移動平均 )
  • EMA ( 指数平滑移動平均 )
  • MACD
  • RSI
  • BB ( ボリンジャーバンド )
  • ATR

<スポンサー>

ライブラリ「Ta-Lib」の紹介とインストール方法

「Ta-Lib」とは?

Ta-Libは、テクニカル分析を算出するための、ライブラリです。

特徴としては

  • C++ で作られているので、算出時間が爆速ですが、
  • Pythonで使うには、設定が少し面倒くさい

といったものが挙げられます。

Ta-Libを使うのと、Pythonのみのコードに比べ、処理時間が10倍ほど速くなります。

処理時間の比較は、こちらのサイトが参考になると思います。

  • そもそも、テクニカル分析って何??
  • この際、テクニカル分析を、ちゃんと学習したい

という方は、下記Udemy講座が、非常に参考になります。

株式投資で本当のテクニカル分析ができるようになる

「Ta-Lib」のインストール手順

インストールは、以下の手順になります。

  1. 各OSに「Ta-Lib」本体をインストールしてから
  2. Pythonから使えるようにする

各OS別に、順番にインストール方法を解説していきます。

各OS別、インストール方法

Mac への「Ta-Lib」インストール方法

brewでインストールできます。

# ① 「Ta-Lib」 本体のインストール
brew install ta-lib

# ② Pythonから使えるようにする
pip install TA-Lib

Linux への「Ta-Lib」インストール方法

サイトより、ta-lib-0.4.0-src.tar.gz をDLしてくる。

# ① 「Ta-Lib」 本体のインストール
tar -zxvf ta-lib-0.4.0-src.tar.gz
cd ta-lib
./configure --prefix=/usr
make
sudo make install 

# ② Pythonから使えるようにする
pip install TA-Lib

Windows への「Ta-Lib」インストール方法

WIndowsの場合は、手順①と②が同時に行えます。

自分のPython、Windowsのバージョンにあった、ファイルをこちらのサイトよりDLしてくる。

Pythonが3.10でWindosが32bitの場合:

  • TA_Lib‑0.4.23‑cp310‑cp310‑win32.whl

Pythonが3.10でWindosが64bitの場合:

  • TA_Lib‑0.4.23‑cp310‑cp310‑win64.whl

をDLしてきます。

次に DLしてきたwhlファイルを、インストールする事で完了です。

# pip install whlファイル名
# 下記は 1例です。 バージョンを適したファイルをインストールして下さい。
pip install TA_Lib‑0.4.23‑cp310‑cp310‑win32.whl

株価データの準備

ここではdf[‘Close’]に、下記のように、株価データが入っているとします。

print(df['Close'])

# ⬆︎ 出力結果
Date
2021-01-07    379.100006
2021-01-08    381.260010
2021-01-11    378.690002
2021-01-12    378.769989
2021-01-13    379.790009
    ...           ...    

株価データの収集方法に関しては、下記記事が参考になります。

【 pandas_datareader 】 株価・コモディディー・FXデータを、日足・週足・月足で取得する方法 まとめ
【 pandas datareader 】 株価・コモディディー・FXデータを、日足・週足・月足で取得する方法 まとめ Pythonのpandasライブラリーを使用して、 株価、コモディティー(金、ビットコインなど)、FXデータ(USDJPYなど)...

各テクニカル分析の算出コード

下記コードを実行する前に、下記をimportして下さい。

import talib
import numpy as np

下記コードの、各テクニカル分析結果は、「Numpyのndarray」型で取得できます。

SMA ( 単純移動平均 ) 算出コード

period = 10  # 任意の値を設定
sma_value = talib.SMA(np.array(df['Close']), period)

EMA ( 指数平滑移動平均 ) 算出コード

period = 10 # 任意の値を設定
ema_value = talib.EMA(np.array(df['Close']), period)

MACD 算出コード

fast_period = 8  # 任意の値を設定
slow_period = 18  # 任意の値を設定
signal_period = 6  # 任意の値を設定
macd, macd_signal, macd_hist = talib.MACD(np.array(df['Close']), fast_period,
                                          slow_period, signal_period)

RSI 算出コード

period = 10  # 任意の値を設定
rsi_values = talib.RSI(np.array(df['Close']), period)

BB 算出コード

period = 10  # 任意の値を設定
sigma = 2  # 任意の値を設定

# 下記は移動平均の種類
# 0:単純移動平均
moving_average_type = 0

bb_up, bb_middle, bb_down = talib.BBANDS(np.array(df['Close']),
                                         period, sigma, sigma, moving_average_type)

talib.BBANDS(real[, timeperiod=?, nbdevup=?, nbdevdn=?, matype=?])の引数に関して

  • real: 株価データ
  • timeperiod: 期間
  • nbdevup: upper-band導出のための標準偏差
  • nvdeddn: down-band導出のための標準偏差 
  • matype: 移動平均の種類を指定

ATR 算出コード

period = 3  # 任意の値を設定
atr_value = talib.ATR(np.array(df['High']), np.array(df['Low']), np.array(df['Close']), timeperiod=period)

まとめ

テクニカル分析を算出するための、Pythonコードをご紹介しました。

ご紹介した通り、talibライブラリを使用すると、数行で簡単に実装する事ができます。

これらの分析は、株やビットコインの自動売買にも活用できます。

ビットコインの自動取引システムに興味がありましたら、下記記事が参考になります。

自動取引に必要な、Pythonコードを、具体的に紹介しております。

bitFlyerのAPIを使用して、Pythonにより自動取引システムを作る
bitFlyerのAPIを使用して、Pythonにより自動取引システムを作るbitFlyerのAPIを使用して、Pythonにより自動取引システムを作り方を、わかりやすく紹介した記事です。...

それでは、またです!

<スポンサー>