シェア:

ビットコイン投資の未来をのぞいてみよう!『ハースト指数』で値動きを予想!

ビットコインの値段って、これから上がるのかな?下がるのかな?そんな未来の動きを予想するのに役立つ「ハースト指数」という方法を紹介します。この方法で、上手な投資のヒントを見つけましょう!

取引数
38
勝率
18.42%
最終リターン
-9.09%
最大DD
18.34%

導入と前提条件

ビットコインの値段って、これから上がるのかな?下がるのかな?そんな未来の動きを予想するのに役立つ「ハースト指数」という方法を紹介します。この方法で、上手な投資のヒントを見つけましょう!

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

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

Hurst Exponent の理論的背景

ハースト指数は、値段の動きが「気まぐれ」なのか、それとも「一方向に進む勢い(トレンド)がある」のかを見分けるための道具です。もし動きが気まぐれなら、次にどう動くか予想するのは難しいですよね。でも、勢いがあるなら、そのまま進む可能性が高いと考えられます。ハースト指数は、この勢いの強さを数字で教えてくれます。この作戦では、ハースト指数と、期間の短い平均線と長い平均線がクロスするタイミングなどを合わせて、売り買いの判断をしています。

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

エントリー条件

  • 値段の勢いが良いというサイン(0.1より大きい)が出て、短い期間の平均線が長い期間の平均線を追い越したら、買うチャンスです。
  • もし、まだ何も買っていない状態で、このチャンスが来たら買います。

エグジット条件

  • 短い期間の平均線が長い期間の平均線を下回ったら、持っているものを売って取引を終えます(これを『手じまい』と言います)。
  • もし、何か持っている状態でこのサインが出たら、売って手じまいします。

リスク管理

損をできるだけ小さくするために、もし予想が外れて値段が反対に動いてしまったら、すぐに売って損を止めます。こうすることで、大きな失敗を防ぐことができるんです。

再現手順(HowTo)

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

【結果】パフォーマンス

価格の推移

価格推移

資産の推移

資産推移

パフォーマンス指標

指標
総トレード数38回
勝率18.42%
平均利益3.5%
平均損失-1.07%
期待値-0.23%
プロフィットファクター0.73
最大ドローダウン18.34%
最終リターン-9.09%
シャープレシオ-0.21
HODL(Buy&Hold)16.66%

HODL戦略との比較

HODL戦略との比較

実装コード(Python)

strategy.py
"""
Hurst Exponent Trading Signal
Hurst指数によるトレンド持続性判定
"""
import pandas as pd
import numpy as np


def calculate_hurst_exponent_signals(df: pd.DataFrame,
                                   period: int = 100,
                                   min_period: int = 10) -> pd.DataFrame:
    """
    Hurst Exponent戦略のシグナル生成
    
    Parameters:
    -----------
    df : pd.DataFrame
        OHLCVデータ
    period : int
        計算期間(デフォルト: 100)
    min_period : int
        最小期間(デフォルト: 10)
    
    Returns:
    --------
    pd.DataFrame
        シグナルが追加されたDataFrame
    """
    df = df.copy()
    
    # シンプルなトレンド強度計算
    df['returns'] = df['close'].pct_change()
    df['volatility'] = df['returns'].rolling(window=period).std()
    df['trend_strength'] = df['returns'].rolling(window=period).mean() / (df['volatility'] + 0.0001)
    
    # MA計算
    df['ma_short'] = df['close'].rolling(window=period//2).mean()
    df['ma_long'] = df['close'].rolling(window=period).mean()
    
    # シグナル初期化
    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['trend_strength'].iloc[i] > 0.1 and df['ma_short'].iloc[i] > df['ma_long'].iloc[i]:
            df.loc[df.index[i], 'is_buy'] = True
            df.loc[df.index[i], 'signal'] = 1
            position = 1
            
        # 売りシグナル
        elif position >= 0 and df['ma_short'].iloc[i] < df['ma_long'].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 "Hurst Exponent"


def get_strategy_description() -> str:
    """戦略の説明を返す"""
    return "Hurst指数によるトレンド持続性判定戦略"

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

  1. 1今回の作戦では、勝った割合(勝率)が18.42%と低く、1回の取引で儲かる見込みもマイナスだったので、全体として損をしてしまいました。
  2. 2儲かった合計金額と損した合計金額のバランス(PF)が0.73と、1より小さかったです。これは、残念ながらお金が減ってしまったことを表しています。
  3. 3一時的に一番大きく損した割合(最大DD)が18.34%と大きかったです。これは、作戦の途中で持っているお金がかなり減ってしまった時があった、ということです。

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

  1. 1ハースト指数という道具一つだけでは、未来の値段の動きを正確に当てるのは難しい場合がある、ということがわかりました。
  2. 2勝つ回数が少なくても、1回でとても大きく勝てればプラスになることもありますが、今回の作戦ではそれも難しかったようです。
  3. 3取引の回数が38回と少なかったのは、この作戦のルールに合う「チャンス!」というタイミングが、あまり来なかったからかもしれません。

リスク管理の具体的手法

取引量の決め方

1回の取引で使うお金の量を、自分が持っているお金全体のごく一部に抑えます。例えば、もし100万円持っているなら、1回の取引で使うのは1万円(1%)まで、というように決めます。

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

もし、一時的に損が続いてお金が大きく減ってしまったら、それ以上減らないように、一度取引をお休みするルールを決めておきます。これが「損のブレーキ」になります。今回の作戦では、最大で約18%もお金が減った時がありました。

資金管理の方法

投資全体で、「この金額までなら損しても大丈夫」という上限を決めておきます。例えば、持っているお金の20%まで、という感じです。こうすることで、一度の失敗で全てのお金を失うのを防ぎます。

改良案の具体的提案

  • ハースト指数を計算するときの数字の設定を変えて、もっと良い結果が出ないか試してみます。
  • 移動平均線だけでなく、値段の勢いや動きの大きさを測る他の道具も組み合わせて、売り買いの判断をもっと正確にすることを目指します。
  • 損が大きくなりすぎないように、「ここまで下がったら絶対に売る」というルール(損切り)を厳しくしたり、利益が出ている時に欲張らずに売るタイミングを考えたりします。

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

  • ハースト指数は、未来を予想するためのたくさんの道具の中の一つです。これだけで全部を決めつけず、他の情報も参考にすることが大切です。
  • この作戦は、ビットコインの1時間ごとの値段の動きで試しましたが、他の仮想通貨や、もっと長い時間(例えば1日ごと)の動きで試してみるのも面白いかもしれません。
  • 実際のお金で取引する前に、必ず過去のデータを使ってたくさん練習(テスト)をして、自分に合ったやり方を見つけることがとても大事です。

検証の透明性と信頼性

  • データの出所: この作戦をテストするために使ったのは、ビットコイン(BTC)の2025年4月28日から2025年8月26日までの、1時間ごとの値段のデータです。
  • 検証のやり方: ここに書いてある成績(勝率など)は、過去の値段のデータを使って、「もしこの作戦で取引していたらどうなっていたか?」をコンピューターで試してみた(シミュレーションした)結果です。
  • コード: この作戦を動かすためのコンピュータープログラム(Pythonという言葉で書かれています)は、誰でも見られるように公開されています。
  • 注意事項: これは「投資した方がいいよ!」とおすすめするものではありません。投資には損をする危険があり、最初のお金が減ってしまう可能性もあります。投資をするときは、必ず自分でよく考えて、自分の責任で行ってくださいね。

よくある質問

Q.ハースト指数って、そもそも何なの?

A.ちょっと難しい計算をするのですが、簡単に言うと、値段の動きの「クセ」を見つけるための道具です。「気まぐれに動いている」のか、「同じ方向に進む力がある」のかを数字で教えてくれます。

Q.この作戦で、ビットコインの値段は本当に予想できるの?

A.未来を100%当てることは誰にもできません。ハースト指数はあくまでヒントをくれる道具の一つです。市場の状況はいつも変わるので、この作戦だけで完璧に予想するのは難しいんです。

Q.「勝率18.42%」って、すごく低くない?

A.そうなんです。10回取引したら、8回は負けてしまう計算になります。勝つ回数が少なくても、勝った時にすごく大きな利益が出ればプラスになるのですが、今回はそうなりませんでした。

Q.「最大DD 18.34%」って、どれくらい危ないの?

A.「DD」は、持っているお金が一時的にどれくらい減ってしまったかを表す数字です。18.34%というのは、一番調子が悪かった時に、例えば100万円あったお金が約82万円にまで減ってしまった、ということを意味します。ちょっと怖い数字ですよね。

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

A.本来は、値段が上がったり下がったり、一方向に勢いよく動いている(トレンドがある)時に力を発揮するはずです。でも、今回のテストでは、その勢いをうまくつかむことができず、残念な結果になってしまいました。

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

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

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

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

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

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

Q.HODLとの比較結果は?

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

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

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

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

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

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

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

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

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

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

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

Q.改良の方向性は?

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

著者情報