こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
RSIとは
RSI(Relative Strength Index)とは、現在の相場に対して、仮想通貨が「買われすぎか」「売られすぎか」を判断するための指標です。日本語で相対力指数とも呼ばれ、仮想通貨に限らず株やFX等にも広く利用されている代表的なオシレータ系指標になります。
RSIの計算式
RSIは、ある期間の平均上昇幅を同じ期間の平均下落幅で引いた値(RS)に基づき、割合として表現した指標です。RSIが取りうる範囲は0~100[%]であり、その値は一般的に下記のように考察されます。
- RSI = 70 〜 80% : 買われすぎ(売りのサイン)
- RSI = 20 〜 30% : 売られすぎ(買いのサイン)
具体的な計算方法も確認し、RSIの算出イメージを掴んでおきましょう。
期間 | 価格 | 上昇・下落幅 |
---|---|---|
1日目 | 1,000円 | – |
2日目 | 1,020円 | +20円 |
3日目 | 1,010円 | -10円 |
4日目 | 1,050円 | +40円 |
5日目 | 1,090円 | +40円 |
6日目 | 1,080円 | -10円 |
7日目 | 1,110円 | +30円 |
上記表の場合、2日目からが前日比較できる起算日となるため、例えば5日間の価格データを取り込むには6日分のデータが必要になります。その上で期間を5日間としたRSIを計算する場合、下記のような手順で算出します。
- 5日間の平均上昇幅:(20 + 40 + 40 + 30)/5 = 26
- 5日間の平均下落幅:(10 + 10)/5 = 4
- RSを計算: RS = 26 – 4 = 22
- RSIを計算: RSI = 100 – 100/(1+22) = 95[%]
【参考】テクニカル分析採用の自動取引におすすめの暗号資産(仮想通貨)取引所
取引所名 | 最低取引量 | 現物取引手数料*1 | 入金手数料[円] | 入金手数料[BTC] | 出金手数料[円] | 送金手数料[BTC] | 信用取引 | API提供 | ccxt | 自動売買おすすめ |
---|---|---|---|---|---|---|---|---|---|---|
Coincheck | 0.005 BTC | 無料 | 無料 | 無料 | 407円 | 0.0005 BTC | × | ○ | ○ | ★★★★★ |
GMOコイン | 0.0001BTC | Maker:-0.01% Taker:0.05% | 無料 | 無料 | 0円/ 400円(大口出金) | 無料 | ○ | ○ | × | ★★★★☆ |
bitbank | 0.0001BTC | Maker:-0.02% Taker:0.12% | 無料 | 無料 | 550円/ 770円(3万円以上) | 0.0006 BTC | × | ○ | ○ | ★★★★☆ |
BITPOINT | 0.0001 BTC | 無料 | 無料 | 無料 | 330 円 | 無料 | × | ○ | × | ★★★☆☆ |
- 現物取引手数料の対象通貨はBTC/JPY。手数料は約定数量 × 上記記載の割合[%]として算出可能。
テクニカル分析を活用した自動取引を実践した場合、短期間での暗号資産の取引回数が増加する傾向にあります。さらに、自動取引の期間にデイトレードを採用した場合、なおさら増加すると言えます。
したがって、テクニカルトレードで取引利益を最大化したい場合は「取引手数料が安い取引所を選択する」ことを推奨します。
上記に示した暗号資産(仮想通貨)取引所は全てテクニカルトレードと相性が良いおすすめ取引所です。また、以下には仮想通貨の自動取引を実践する上で必須となるAPI利用方法についても言及しています。
APIの利用方法をマスターすると自動取引で実現できる幅も広がります。是非合わせてご参考下さい。
【事前準備】Python環境の構築
Ta-Lib
Ta-Libはテクニカル分析に役立つライブラリです。以下の手順に従いインストールしましょう。
共通
最も簡単な方法はAnaconda
をインストールしてTa-Libを使用する方法です。
① Anacondaをインストール
② Anacondaプロンプトを開き、以下を実行
conda install -c conda-forge ta-lib
Mac OSの方はこちら
①Ta-Lib本体をインストール
brew install ta-lib
②Ta-Lib Pythonパッケージをインストール
pip install TA-Lib
ccxt
Yahoo Finance
matplotlib
mlpfinance
【デイトレ向け】PythonによるビットコインのRSIテクニカル分析
この見出しでは、データの期間はデイトレード向けに秒単位を例として紹介します。スイング・長期トレードにも対応したプログラミング手法は後述の見出しで言及しています。
「コインチェックAPIの詳しい利用方法を知りたい」または「仮想通貨注文機能も理解して、本件紹介の移動平均線を組み合わせた自動売買ツールを完成させたい」という方向けに、下記の記事を配信しています。合わせてご覧ください。
【Python】コインチェックAPIの取得と自動売買の実践手順|Coincheck仮想通貨・ビットコイン取引機能入門
「Coincheck APIの取得方法」および「Python環境でAPI機能を利用する方法」を解説します。仮想通貨(ビットコイン等)の自動売買ツールを自作したい方必見です。
Pythonライブラリ呼出
ビットコインの価格情報取得
RSIの指標算出・グラフ可視化
【まとめ】プログラミングコード全量
【スイング・長期トレード向け】Pythonによる仮想通貨のRSIテクニカル分析
続いて、スイング・長期トレーダー向けに、上記のような広範囲のデータ期間を対象とするRSIのテクニカルチャート算出方法を解説します。
最下の赤い折れ線グラフがRSIのチャートを示したものです。最上のグラフは日足のビットコイン価格データであり、真ん中のグラフは出来高を表しています。
前述のデイトレ向けプログラムと近しい内容が多いため、こちらのコードは全量を下記に記載します。
import talib
import numpy as np
import pandas as pd
import yfinance
import mplfinance as mpf
"""
*******************************************************
① データ取得
*******************************************************
"""
# 引数情報
symbol = "BTC-JPY" # 仮想通貨の銘柄を指定
period = "max" # データ取得範囲を指定
data = yfinance.Ticker(symbol).history(period=period)
"""
*******************************************************
② RSI
*******************************************************
"""
# RSIの期間
period = 12
# RSIの算出プログラム
RSI = talib.RSI(data['Close'], # 価格データ
period) # データ取得期間
# データフレーム作成
data["RSI"] = RSI
"""
*******************************************************
③ グラフ可視化
*******************************************************
"""
# データ分析範囲(直近3ヶ月分を指定)
period = 90
data = data.tail(period)
# グラフ可視化
rsi = [
mpf.make_addplot(data["RSI"], panel=2, color='red'),
]
mpf.plot(data, # データ
type='candle', # グラフの種類('candle', 'line')
volume=True, # 出来高の表示有無
style='yahoo', # グラフスタイル
addplot=rsi, # 連結するグラフ情報
)
【仮想通貨・ビットコイン】自動取引実践法・その他優良情報
最後までご覧いただきありがとうございました。当サイトでは仮想通貨・ビットコインにおける多様な自動取引手法の解説記事を多数取り扱っております。
取引所別:APIの取得手順と使い方の解説記事
対応言語 | 記事名 |
---|---|
Python | 【GMOコイン】 APIで仮想通貨取引の自動化 |
Python | 【BitTrade】 APIで仮想通貨取引の自動化 |
Python | 【bitbank】 APIで仮想通貨取引の自動化 |
Python | 【Coincheck】APIで仮想通貨取引の自動化 |
Python | 【bitFlyer】APIで仮想通貨取引を自動化 |
Python | 【BITPOINT】APIで仮想通貨取引の自動化 |
機械学習やテクニカル分析を採用した仮想通貨取引の解説記事
対応言語 | 記事名 | 指標 |
---|---|---|
共通 | 自動売買の種類・自作時のポイント | 全て |
Python | リアルタイムチャート分析基礎 | トレンド |
Python | 移動平均線 | トレンド |
Python | ゴールデンクロス・デッドクロス | トレンド |
Python | アービトラージ(裁定取引) | 時間・値幅 |
Python | ボリンジャーバンド | オシレータ |
Python | MACD | オシレータ |
Python | RSI | オシレータ |
Python | 時系列予測モデルの構築 | 機械学習・AI |
【オシレータ】:現在の相場に対する買われすぎ・売られすぎの判断に有効
その他仮想通貨自動トレード解説記事
対応言語 | 記事名 |
---|---|
Python | 【データ収集】仮想通貨の過去データを大量取得する方法 |
Python | 【初心者向け】ccxtを活用した仮想通貨の自動取引 |
Node.js | 【初心者向け】ccxtを活用した仮想通貨の自動取引 |
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら
【仮想通貨・ビットコイン】自動取引実践法・その他優良情報
最後までご覧いただきありがとうございました。当サイトでは仮想通貨・ビットコインにおける多様な自動取引手法の解説記事を多数取り扱っております。
取引所別:APIの取得手順と使い方の解説記事
対応言語 | 記事名 |
---|---|
Python | 【GMOコイン】 APIで仮想通貨取引の自動化 |
Python | 【BitTrade】 APIで仮想通貨取引の自動化 |
Python | 【bitbank】 APIで仮想通貨取引の自動化 |
Python | 【Coincheck】APIで仮想通貨取引の自動化 |
Python | 【bitFlyer】APIで仮想通貨取引を自動化 |
Python | 【BITPOINT】APIで仮想通貨取引の自動化 |
機械学習やテクニカル分析を採用した仮想通貨取引の解説記事
対応言語 | 記事名 | 指標 |
---|---|---|
共通 | 自動売買の種類・自作時のポイント | 全て |
Python | リアルタイムチャート分析基礎 | トレンド |
Python | 移動平均線 | トレンド |
Python | ゴールデンクロス・デッドクロス | トレンド |
Python | アービトラージ(裁定取引) | 時間・値幅 |
Python | ボリンジャーバンド | オシレータ |
Python | MACD | オシレータ |
Python | RSI | オシレータ |
Python | 時系列予測モデルの構築 | 機械学習・AI |
【オシレータ】:現在の相場に対する買われすぎ・売られすぎの判断に有効
その他仮想通貨自動トレード解説記事
対応言語 | 記事名 |
---|---|
Python | 【データ収集】仮想通貨の過去データを大量取得する方法 |
Python | 【初心者向け】ccxtを活用した仮想通貨の自動取引 |
Node.js | 【初心者向け】ccxtを活用した仮想通貨の自動取引 |
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら