シェア:

ビットコインの値段は上がりすぎ?下がりすぎ? AIが売買のヒントを教えてくれる作戦

「ビットコイン、いつ買ったらいいんだろう?」「いつ売るのが正解?」なんて、迷っていませんか?ここで紹介するのは、AIがあなたに代わって「今は値段が下がりすぎだから買い時かも」「上がりすぎだから売り時かも」と判断してくれる、一つの作戦です。この作戦の仕組みをのぞいてみましょう。

取引数
17
勝率
58.82%
最終リターン
-4.35%
最大DD
14.41%

導入と前提条件

「ビットコイン、いつ買ったらいいんだろう?」「いつ売るのが正解?」なんて、迷っていませんか?ここで紹介するのは、AIがあなたに代わって「今は値段が下がりすぎだから買い時かも」「上がりすぎだから売り時かも」と判断してくれる、一つの作戦です。この作戦の仕組みをのぞいてみましょう。

【検証】戦略のバックテスト概要

  • 戦略名: Kairi Relative Index を使用したトレンド追従戦略
  • 対象銘柄: BTC/USDT
  • 時間足: 1h
  • 期間: 2025-04-28〜2025-08-26(119日間)
  • 初期資金: $10,000
  • 手数料・スリッページ: 0.1% / 0.1%
  • 取引所: binance

Kairi Relative Index の理論的背景

物の値段は、急に上がったり下がったりすることがありますよね。ビットコインも同じで、急に値段が下がって「売られすぎ」になったり、逆に急に上がって「買われすぎ」になったりします。こういう時、多くの人は焦って売ったり、乗り遅れまいと買ったりしがちです。でもこの作戦では、その逆を狙います。みんなが売っている時に「そろそろ元に戻るかも」と考えて買い、みんなが買っている時に「そろそろ下がるかも」と考えて売るのです。これは、伸ばしたゴムが元に戻ろうとするのに似ています。

具体的な売買ルール(今回の検証)

エントリー条件

  • ビットコインの値段が、これまでの平均的な値段よりも、大きく下がり「売られすぎ」の状態になったら、買うことを考えます。
  • 「乖離率(かいりりつ)」という数字が、あらかじめ決めておいた「売られすぎ」のラインよりも下になったら、買うサインです。

エグジット条件

  • 逆に、ビットコインの値段が平均よりも大きく上がり「買われすぎ」の状態になったら、売って利益を自分のものにするタイミングです。
  • 「乖離率」の数字が、決めておいた「買われすぎ」のラインを上回ったら、売るサインです。

リスク管理

もし、予想とは反対に値段が動いて損が出そうになっても、被害を大きくしないためのルールも決めておきます。たとえば、「これ以上損したら、今回はあきらめて取引をやめる」というラインを決めておくんです。こうすることで、大失敗を防ぐことができます。

再現手順(HowTo)

  1. Python/依存(ccxt, pandas, ta)をインストール
  2. ccxtでBTC/USDTのOHLCVを取得して前処理
  3. 『Kairi Relative Index』に必要な指標を算出(ta 等)
  4. 閾値・クロス条件から売買シグナルを生成
  5. 手数料・スリッページを加味して検証・評価

【結果】パフォーマンス

価格の推移

価格推移

資産の推移

資産推移

パフォーマンス指標

指標
総トレード数17回
勝率58.82%
平均利益1.35%
平均損失-2.53%
期待値-0.25%
プロフィットファクター0.76
最大ドローダウン14.41%
最終リターン-4.35%
シャープレシオ-0.07
HODL(Buy&Hold)16.67%

HODL戦略との比較

HODL戦略との比較

実装コード(Python)

strategy.py
"""
Kairi Relative Index Trading Signal
乖離率指標による逆張りトレード
"""
import pandas as pd
import numpy as np


def calculate_kairi_relative_index_signals(df: pd.DataFrame,
                                         period: int = 14) -> pd.DataFrame:
    """
    Kairi Relative Index戦略のシグナル生成
    
    Parameters:
    -----------
    df : pd.DataFrame
        OHLCVデータ
    period : int
        移動平均期間(デフォルト: 14)
    
    Returns:
    --------
    pd.DataFrame
        シグナルが追加されたDataFrame
    """
    df = df.copy()
    
    # SMA計算
    df['sma'] = df['close'].rolling(window=period).mean()
    
    # Kairi Relative Index
    df['kri'] = ((df['close'] - df['sma']) / df['sma']) * 100
    
    # シグナルライン
    df['kri_upper'] = 0.8
    df['kri_lower'] = -0.8
    
    # シグナル初期化
    df['signal'] = 0
    df['is_buy'] = False
    df['is_sell'] = False
    
    position = 0
    
    for i in range(period, len(df)):
        # 買いシグナル(売られ過ぎ)
        if position <= 0 and df['kri'].iloc[i] < df['kri_lower'].iloc[i]:
            df.loc[df.index[i], 'is_buy'] = True
            df.loc[df.index[i], 'signal'] = 1
            position = 1
            
        # 売りシグナル(買われ過ぎ)
        elif position >= 0 and df['kri'].iloc[i] > df['kri_upper'].iloc[i]:
            df.loc[df.index[i], 'is_sell'] = True
            df.loc[df.index[i], 'signal'] = -1
            position = -1
        else:
            df.loc[df.index[i], 'signal'] = position
    
    df['signal'] = df['signal'].fillna(0)
    
    return df


def get_strategy_name() -> str:
    """戦略名を返す"""
    return "Kairi Relative Index"


def get_strategy_description() -> str:
    """戦略の説明を返す"""
    return "乖離率指標による逆張りトレード戦略"

なぜこの結果になったのか(3つの理由)

  1. 1今回のテストでは、取引の回数は17回で、少し少なめでした。これは、この作戦のルールに合う「今だ!」というタイミングがあまり多くなかった、ということです。
  2. 2勝てた割合(勝率)は約59%で、10回やれば6回くらいは勝てていました。でも、全部の取引を合計すると、結果はマイナス4.35%の損になりました。これは、勝った時の儲けよりも、負けた時の損の方が大きかったことを意味しています。
  3. 3儲けと損のバランスを示すPFという数字も0.76で、1を下回っていました。これも、全体として見ると損の方が大きかったことを示しています。つまり、「小さな勝ち」は多かったけれど、「大きな負け」がそれを上回ってしまったようです。

この結果から学べる3つの教訓

  1. 1みんなが売っている時に買う、というような「逆張り」という方法は、うまくいくと大きな利益につながる可能性があることを学びました。
  2. 2でも、この「逆張り」がいつでもうまくいくわけではなく、損が大きくなってしまう危険もあることが分かりました。特に、値段がずっと上がり続けたり、下がり続けたりしている時には注意が必要です。
  3. 3勝つ回数が多くても、一回ごとの儲けが小さく、負けた時の損が大きいと、最終的には損してしまうことがある、ということを学びました。勝つ回数と、一回ごとの勝ち負けの大きさ、両方が大事なんですね。

リスク管理の具体的手法

取引量の決め方

一度に使うお金は、持っているお金のほんの一部だけにします。例えば、10000円持っていたら100円だけ使う、という感じです。こうすれば、もし取引がうまくいかなくても、持っているお金が急に大きく減ることはありません。

損失が大きくなったときの対処法

もし損が続いて、持っていたお金が14%以上減ってしまったら、一度取引をお休みします。そして、冷静になって作戦を考え直します。これは、大きな損が続くのを防ぐための大切なストップです。

資金管理の方法

取引に使うお金は、自分の全財産の中から「これくらいなら、なくなっても生活に困らない」という金額だけを使います。毎月のおこづかいの一部を使う、というようなイメージです。生活に必要なお金には、絶対に手をつけません。

改良案の具体的提案

  • 「売られすぎ」「買われすぎ」の判断ラインを、その時のビットコインの値段の動きに合わせて自動で変えるようにすると、もっと成績が良くなるかもしれません。
  • 値段がものすごい勢いで上がり続けたり、下がり続けたりしている時は、この作戦はお休みする、というルールを加えるのも良いかもしれません。
  • 勝った時の儲けはできるだけ大きく、負けた時の損はできるだけ小さくするために、取引を「いつ終えるか」について、もっと上手なルールを探すことも大切です。

実用性の向上(運用上の注意)

  • この作戦は、ビットコインの値段があまり大きくは動かず、行ったり来たりしているような、落ち着いている時に使いやすいかもしれません。
  • もし、値段が急に上がり始めたり、下がり始めたりしたら、作戦のルール通りに動くのではなく、一度立ち止まって様子を見ることも大事です。
  • この作戦の成績は、あくまで昔のデータで試した結果です。未来も同じようにうまくいくとは限りません。もし試すなら、少しずつ慣れていくのがおすすめです。

検証の透明性と信頼性

  • データの出所: 使ったデータは、ビットコインが1時間ごとにいくらで取引されていたか、という記録です。
  • 検証のやり方: 「もし昔、この作戦通りに取引していたら、どうなっていたかな?」という計算をしています(これをバックテストと言います)。期間は2025年4月28日から2025年8月26日までの約4ヶ月間です。
  • コード: この作戦の計算方法は、誰でも見られるように公開されています。なので、気になる人は自分で同じように計算して確かめることができます。
  • 注意事項: この作戦は、「こうすれば必ず儲かる」というものではありません。投資には、お金が増える可能性もあれば、減ってしまう可能性もあります。最後は、自分自身でよく考えて判断することが大切です。

よくある質問

Q.「Kairi Relative Index」って、結局どういうもの?

A.簡単に言うと、「今の値段」が「平均の値段」から、どれくらいプラスに、またはマイナスに離れているかを示す数字です。この数字を見ることで、「売られすぎ」や「買われすぎ」の度合いを知る手がかりになります。

Q.みんなと逆の行動をとる「逆張り」って、こわくないの?

A.はい、少し勇気がいる方法です。値段がどんどん一方向に進んでいる時(トレンドが強い時)に逆張りをすると、うまくいかずに損をしてしまうこともあります。だからこそ、損を大きくしないためのルールが重要になります。

Q.PFって何の役に立つの?

A.PFは「プロフィットファクター」の略で、儲けと損のバランスを見るための成績表のようなものです。儲けの合計を、損の合計で割って計算します。この数字が1より大きければ全体で儲かっていて、1より小さければ全体で損している、ということが一目で分かります。

Q.HODLってどういう意味?

A.HODL(ホドル)は、仮想通貨の世界で「買ったままずっと長く持っておくこと」を意味する言葉です。今回の結果を、ただずっと持っていた場合(HODL)と比べて、この作戦が良かったのか悪かったのかを判断する材料にします。

Q.この作戦は、どんな時に使うのがいいの?

A.ビットコインの値段が、一定の範囲を行ったり来たりしているような、落ち着いた動きの時に力を発揮しやすい作戦です。逆に、急に値段が大きく動き始めた時には、あまり向いていないかもしれません。

Q.検証に使用した期間と時間足は?

A.1h足で検証しました。期間は記事内の概要をご確認ください。

Q.最終リターンと最大ドローダウンは?

A.最終リターンは-4.35%、最大DDは14.41%です。

Q.勝率やPFはどの程度?

A.勝率は58.82%、プロフィットファクターは0.76です。

Q.HODLとの比較結果は?

A.HODLは16.67%でした。記事内の比較表をご覧ください。

Q.手数料やスリッページは考慮済み?

A.はい。バックテスト設定の手数料・スリッページを損益に反映しています。

Q.市場環境はトレンド/レンジどちらに近かった?

A.期間中はトレンド優勢と推測されます。

Q.この戦略は初心者でも扱える?

A.基礎的な指標と検証環境の知識があれば扱えます。まずは少額・デモから。

Q.推奨のリスク管理は?

A.最大DDを踏まえた損切り・ポジションサイジングと、システム停止基準の設定を推奨します。

Q.将来の結果は期待できる?

A.過去の結果は将来を保証しません。市場環境やパラメータ適合性に大きく依存します。

Q.改良の方向性は?

A.トレンド・ボラティリティのフィルター併用、パラメータの再最適化、取引頻度の制御を検討してください。

著者情報