シェア:

ビットコインの未来を「雲」で占う?不思議なチャート分析の結果を見てみよう!

このレポートでは、ビットコインの5分ごとの値動きを見ながら、「一目均衡表」っていう特別な道具を使った作戦が、うまくいったのかどうかをチェックします。この作戦で、実際にお金が増えたのか、それとも減ってしまったのか、わかりやすくお話ししますね。

取引数
458
勝率
24.89%
最終リターン
-71.56%
最大DD
72.89%

導入と前提条件

このレポートでは、ビットコインの5分ごとの値動きを見ながら、「一目均衡表」っていう特別な道具を使った作戦が、うまくいったのかどうかをチェックします。この作戦で、実際にお金が増えたのか、それとも減ってしまったのか、わかりやすくお話ししますね。

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

  • 戦略名: Ichimoku Cloud を使用したトレンド追従戦略
  • 対象銘柄: BTC/USDT
  • 時間足: 5m
  • 期間: 2024-09-05〜2025-08-25(353日間)
  • 初期資金: $10,000
  • 手数料・スリッページ: 0.1% / 0.1%
  • 取引所: binance

Ichimoku Cloud の理論的背景

「一目均衡表」は、昔の日本の新聞記者さんが作った、値段の動きを分析する道具です。今の値段のバランスが良いか、これからどう動きそうかを、いくつかの線と「雲」で見ていきます。この作戦で大事なのは、まず「雲」です。雲は、値段がそれ以上は下がりにくい「床」になったり、上がりにくい「天井」になったりします。そして、さっき出てきた「転換線」と「基準線」がクロスするのは、値段の向きが変わるかもしれないっていう合図なんです。この2つのポイントを使って、売り買いのタイミングを探ります。

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

エントリー条件

  • 短い線の勢いが強くなって、長い線を追い越した時。さらに、今の値段が「雲」よりも上にいる時。これを「買い」の合図にします。
  • 短い線の勢いが弱くなって、長い線より下にいった時。さらに、今の値段が「雲」よりも下にいる時。これを「売り」の合図にします。

エグジット条件

  • 「買い」で持っている時は、短い線が長い線より下に行っちゃった時か、値段が「雲」の下に落ちちゃった時に、売って終わりにします。
  • 「売り」で持っている時は、短い線が長い線より上に行った時か、値段が「雲」の上に抜けちゃった時に、買い戻して終わりにします。

リスク管理

もし予想が外れて、値段が反対の方向に動いてしまったら、どうするかのルールも決めておきます。あらかじめ「ここまで損したらやめる」というライン(損切り)を決めておいて、そこに達したらすぐに取引を終えるようにします。こうすることで、大きな失敗を防ぐことができます。

再現手順(HowTo)

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

【結果】パフォーマンス

価格の推移

価格推移

資産の推移

資産推移

パフォーマンス指標

指標
総トレード数458回
勝率24.89%
平均利益1.67%
平均損失-0.9%
期待値-0.26%
プロフィットファクター0.64
最大ドローダウン72.89%
最終リターン-71.56%
シャープレシオ-0.18
HODL(Buy&Hold)96.78%

HODL戦略との比較

HODL戦略との比較

実装コード(Python)

strategy.py
#!/usr/bin/env python3
"""
一目均衡表(Ichimoku Cloud)戦略
雲のブレイクアウトと転換線・基準線のクロスを利用
"""
import pandas as pd
import numpy as np


def calculate_ichimoku_signals(df: pd.DataFrame, tenkan: int = 9, kijun: int = 26, 
                              senkou_b: int = 52) -> pd.DataFrame:
    """
    一目均衡表シグナルを生成
    
    Parameters:
    -----------
    df : pd.DataFrame
        OHLCVデータ
    tenkan : int
        転換線期間(デフォルト: 9)
    kijun : int
        基準線期間(デフォルト: 26)
    senkou_b : int
        先行スパンB期間(デフォルト: 52)
    
    Returns:
    --------
    pd.DataFrame
        シグナル列が追加されたDataFrame
    """
    df = df.copy()
    
    # 転換線(過去9期間の最高値と最安値の中点)
    high_9 = df['high'].rolling(window=tenkan).max()
    low_9 = df['low'].rolling(window=tenkan).min()
    df['tenkan_sen'] = (high_9 + low_9) / 2
    
    # 基準線(過去26期間の最高値と最安値の中点)
    high_26 = df['high'].rolling(window=kijun).max()
    low_26 = df['low'].rolling(window=kijun).min()
    df['kijun_sen'] = (high_26 + low_26) / 2
    
    # 先行スパンA(転換線と基準線の中点を26期間先行)
    df['senkou_span_a'] = ((df['tenkan_sen'] + df['kijun_sen']) / 2).shift(kijun)
    
    # 先行スパンB(過去52期間の最高値と最安値の中点を26期間先行)
    high_52 = df['high'].rolling(window=senkou_b).max()
    low_52 = df['low'].rolling(window=senkou_b).min()
    df['senkou_span_b'] = ((high_52 + low_52) / 2).shift(kijun)
    
    # 雲の上限と下限
    df['cloud_top'] = df[['senkou_span_a', 'senkou_span_b']].max(axis=1)
    df['cloud_bottom'] = df[['senkou_span_a', 'senkou_span_b']].min(axis=1)
    
    # シグナル生成
    # 転換線と基準線のクロス + 雲の上での買い、雲の下での売り
    df['is_buy'] = (
        (df['tenkan_sen'] > df['kijun_sen']) & 
        (df['tenkan_sen'].shift(1) <= df['kijun_sen'].shift(1)) &
        (df['close'] > df['cloud_top'])
    )
    
    df['is_sell'] = (
        (df['tenkan_sen'] < df['kijun_sen']) & 
        (df['tenkan_sen'].shift(1) >= df['kijun_sen'].shift(1)) &
        (df['close'] < df['cloud_bottom'])
    )
    
    # NaN値をFalseに置換
    df['is_buy'] = df['is_buy'].fillna(False)
    df['is_sell'] = df['is_sell'].fillna(False)
    
    print(f"一目均衡表: 転換線={tenkan}, 基準線={kijun}, 先行スパンB={senkou_b}")
    print(f"買いシグナル数: {df['is_buy'].sum()}")
    print(f"売りシグナル数: {df['is_sell'].sum()}")
    
    return df

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

  1. 1この作戦は、全部で458回も売り買いしましたが、勝てたのは約4回に1回(勝率24.89%)と、あまり多くありませんでした。
  2. 21回の売り買いで、平均してどれくらいプラスかマイナスかを計算すると、0.26%のマイナスでした。つまり、やればやるほど少しずつ損が増えていく計算になります。
  3. 3結果として、もとのお金が71.56%も減ってしまいました。一番調子が悪かった時には、72.89%もお金が減ってしまう瞬間もあり、とても大きなマイナスになってしまいました。

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

  1. 1「一目均衡表」の「雲」を抜けるタイミングと、線がクロスするタイミングを組み合わせても、必ずうまくいくわけではない、ということがわかりました。
  2. 25分ごとという短い時間で見ると、すぐに値段が元に戻ってしまう「ダマシ」の動きが多くて、なかなか勝ち続けるのは難しいようです。
  3. 3たくさん売り買いしても、勝てる確率が低いと、結果的に大きなマイナスになってしまうことがある、ということを学びました。

リスク管理の具体的手法

取引量の決め方

1回の売り買いで使うお金の量を調整します。もし負けても大丈夫なように、持っているお金全体の1%から2%くらいの、少ない金額で挑戦するようにします。

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

もし、持っているお金が10%のように、ある程度まとまって減ってしまったら、一度お休みします。そして、作戦やルールが本当にこれで良いのか、じっくり考え直す時間を作ります。

資金管理の方法

売り買いに使うお金は、なくなっても生活に困らない「余裕のあるお金」だけにします。そして、もしプラスになったら、その一部はちゃんと貯金するなど、守りを固めることも大事です。

改良案の具体的提案

  • もっと勝てるようにするために、他の分析道具(例えば、今が買われすぎか、売られすぎか教えてくれる道具など)も一緒に使って、もっと「ここだ!」というタイミングでだけ売り買いするようにします。
  • 損を小さくするために、「損切り」のルールをもっと厳しくします。少しでも予想が外れたら、すぐにやめるようにする、ということです。
  • いつでも売り買いするのではなく、時間帯を決めたり、値段が活発に動いている時だけにするなど、作戦を使う場面を考えてみます。

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

  • この作戦だけで売り買いするのではなく、他の分析方法と組み合わせることで、もっと確かなタイミングを探してみましょう。
  • 5分ごとの値動きはとても速いので、焦ったりせず、自分で決めたルールを冷静に守ることがとても大切です。
  • 本当のお金で始める前に、必ず少額で試したり、ゲームのような練習(デモ取引)で、自分に合っているか確かめてみましょう。

検証の透明性と信頼性

  • データの出所: このレポートで使っているのは、練習用の架空のデータです。
  • 検証のやり方: この作戦がうまくいくかは、過去の値段のデータを使って、コンピューターで「もしも」の実験(シミュレーション)をして確かめました。
  • コード: この実験をしたプログラムの設計図(コード)は、みんなが見られるようになっています。
  • 注意事項: このレポートは、あくまで情報をお伝えするものです。「これをやれば儲かるよ!」とオススメしているわけではありません。もし本当にお金を使って挑戦するなら、自分の判断と責任でお願いしますね。過去にうまくいったからといって、未来もうまくいくとは限りません。

よくある質問

Q.一目均衡表の「雲」って何ですか?

A.雲は、これからの値段がどっちに動きそうかの「ヒント」をくれるエリアです。雲が分厚いと、値段はなかなかその中を通り抜けられません。逆に雲が薄いと、スッと通り抜けやすい、というふうに見ることができます。

Q.2つの線がクロスしたら、すぐに買ったほうがいいの?

A.いいえ、それだけではちょっと早いです。この作戦では、線がクロスしたことに加えて、値段が「雲」よりも上にいるか、下にいるかもチェックします。そうしないと、すぐにまた値段が元に戻ってしまう「ダマシ」にあいやすいからです。

Q.5分ごとって、短すぎませんか?

A.はい、5分ごとの値動きはとても速いので、ちょっとした動きにだまされやすいことがあります。そのため、勝てる確率を高くするのが難しくなる場合があるんです。

Q.勝つ回数が少なくても、お金は増やせるの?

A.はい、できます。「損小利大(そんしょうりだい)」といって、小さく何回か負けても、一回ドカンと大きく勝てば、全体ではプラスになります。でも今回の作戦は、勝つ回数が少ない上に、勝った時のプラスもあまり大きくなかったので、全体でマイナスになってしまいました。

Q.HODL(ホドル)ってどういう意味?

A.HODL(ホドル)は、ビットコインなどの暗号資産(仮想通貨)を、売ったり買ったりしないで、ずーっと持っておくこと、という意味で使われるインターネットの言葉です。今回の作戦は、ただビットコインをずっと持っているだけ(HODL)よりも、結果が悪くなってしまいました。

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

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

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

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

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

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

Q.HODLとの比較結果は?

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

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

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

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

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

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

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

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

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

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

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

Q.改良の方向性は?

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

著者情報