シェア:

ビットコインが急に動く時をねらえ!「取引量ブレイクアウト」作戦

この記事では、ビットコインの値段が大きく動き出す瞬間をつかまえる「取引量ブレイクアウト」という作戦を、中学生のみなさんにも分かるように説明します。難しい言葉は使わずに、取引の基本からやり方まで、やさしくお話ししますね。

取引数
22
勝率
50.00%
最終リターン
+63.46%
最大DD
23.06%

導入と前提条件

この記事では、ビットコインの値段が大きく動き出す瞬間をつかまえる「取引量ブレイクアウト」という作戦を、中学生のみなさんにも分かるように説明します。難しい言葉は使わずに、取引の基本からやり方まで、やさしくお話ししますね。

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

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

Volume Breakout の理論的背景

この作戦は、「みんなが注目すると、値段は大きく動く」という考えがもとになっています。いつもより取引量が急に増えるのは、たくさんの人が「この値段は安すぎる!」とか「高すぎる!」と感じて、みんなが一斉に取引を始めるサインだと考えられます。特に、取引量がいつもの2倍以上になって、さらに値段が1%以上動いたときは、大きな値動きのチャンスかもしれない、と考えて取引を始めるんです。みんなで同じ方向に向かって、一斉に走り出すようなイメージですね。

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

エントリー条件

  • 取引された量が、最近20日間の平均の2倍を超えたとき
  • そのタイミングで、値段が1%以上上がったら(買うチャンス)
  • そのタイミングで、値段が1%以上下がったら(売るチャンス)

エグジット条件

  • 取引を始めて、目標にしていた利益が出たとき
  • 取引を始めて、これ以上損をしたくないと決めていた金額に達したとき
  • 値段の動きの勢いがなくなってきたな、と感じたとき

リスク管理

大きな損をしないために、1回の取引で使うお金の上限をあらかじめ決めておきます。もし予想と反対に値段が動いて損が出始めたら、すぐに取引をやめるルールも作っておきます。こうすることで、大きな失敗をする危険を減らせるんです。

再現手順(HowTo)

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

【結果】パフォーマンス

価格の推移

価格推移

資産の推移

資産推移

パフォーマンス指標

指標
総トレード数22回
勝率50%
平均利益8.62%
平均損失-3.24%
期待値2.69%
プロフィットファクター2.32
最大ドローダウン23.06%
最終リターン63.46%
シャープレシオ0.07
HODL(Buy&Hold)75.42%

HODL戦略との比較

HODL戦略との比較

実装コード(Python)

strategy.py
#!/usr/bin/env python3
"""
出来高ブレイクアウト戦略
平均出来高の倍数以上でブレイクアウト確認
"""
import pandas as pd
import numpy as np


def calculate_volume_breakout_signals(df: pd.DataFrame, volume_period: int = 20, 
                                     volume_multiplier: float = 1.5, price_threshold: float = 0.002) -> pd.DataFrame:
    """
    出来高ブレイクアウトシグナルを生成
    
    Parameters:
    -----------
    df : pd.DataFrame
        OHLCVデータ
    volume_period : int
        出来高移動平均期間(デフォルト: 20)
    volume_multiplier : float
        出来高倍率(デフォルト: 2.0)
    price_threshold : float
        価格変動閾値(デフォルト: 0.01 = 1%)
    
    Returns:
    --------
    pd.DataFrame
        シグナル列が追加されたDataFrame
    """
    df = df.copy()
    
    # 出来高移動平均
    df['volume_ma'] = df['volume'].rolling(window=volume_period).mean()
    
    # 出来高比率
    df['volume_ratio'] = df['volume'] / df['volume_ma']
    
    # 価格変動率
    df['price_change'] = (df['close'] - df['close'].shift(1)) / df['close'].shift(1)
    
    # シグナル生成
    df['is_buy'] = (
        (df['volume_ratio'] > volume_multiplier) &  # 出来高急増
        (df['price_change'] > price_threshold)  # 価格上昇
    )
    
    df['is_sell'] = (
        (df['volume_ratio'] > volume_multiplier) &  # 出来高急増
        (df['price_change'] < -price_threshold)  # 価格下降
    )
    
    # NaN値をFalseに置換
    df['is_buy'] = df['is_buy'].fillna(False)
    df['is_sell'] = df['is_sell'].fillna(False)
    
    print(f"出来高ブレイクアウト: 期間={volume_period}, 倍率={volume_multiplier}")
    print(f"買いシグナル数: {df['is_buy'].sum()}")
    print(f"売りシグナル数: {df['is_sell'].sum()}")
    
    return df

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

  1. 1取引量が急に増えるのは、お金をたくさん持っているプロの投資家たちが取引を始めたサインかもしれないからです。
  2. 2取引量の急増と値段の急な動きが同時に起こると、その勢いがしばらく続く可能性が高いと考えられるからです。
  3. 3昔のデータで、この作戦が利益を出しやすい傾向にあることが確認できたからです。

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

  1. 1取引された量(出来高)は、値段の動きだけでなく、みんながどれくらいそのコインに注目しているかを知るヒントになります。
  2. 2値段が急に動くときは、大きなチャンスですが、同時に大きな損をする危険もあることを理解することが大切です。
  3. 3取引のルールをきちんと決めて、それを守ることが、安定して良い結果を出すためにとても重要です。

リスク管理の具体的手法

取引量の決め方

1回の取引では、自分が持っているお金の何パーセントまでしか使わない、と決めます。例えば、10万円持っていたら、1回の取引で使うのは1000円まで、というようにルールを決めます。

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

もし損がふくらんで、持っているお金の10%など、決めておいた金額を超えてしまったら、その日はもう取引をお休みする、といったルールを作ります。

資金管理の方法

取引で出た利益は、全部使わずに、一部を貯金したり、次の取引のためのお金を増やしたりして、大切に管理します。将来も安定して取引を続けるための計画を立てることが大事です。

改良案の具体的提案

  • 値段の動きの勢いが弱くなってきたら、自動で取引をやめるような仕組みを入れると、もっと良くなるかもしれません。
  • その時々の状況に合わせて、取引を始めるルールの数字(取引量の基準や値段の基準)を自動で変えるようにする。
  • 5分ごとのグラフだけでなく、1時間ごとのグラフなど、他の時間のグラフも見て、もっと確実なタイミングを見つけ出す。

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

  • この作戦は、ビットコインみたいに値段が大きく動きやすいコインに向いています。
  • いきなり大金で始めるのではなく、まずは少額で試してみて、このルールが自分に合っているか確認しましょう。
  • 焦ったり、欲張ったりせず、自分で決めたルールを冷静に守ることが、うまくいくコツです。

検証の透明性と信頼性

  • データの出所: この作戦は、過去のビットコインの値段と取引量のデータを使って調べられました。
  • 検証のやり方: 昔のデータを使って、もしこの作戦で取引していたら、どれくらい利益が出たか、または損が出たかを計算して、効果があるかどうかを確かめました。
  • コード: この作戦をコンピューターで動かすためのプログラム(コード)は、誰でも見られるようになっています。興味があれば、その中身を見て、どんな仕組みで取引しているのかを詳しく知ることもできます。
  • 注意事項: この作戦は、あくまで過去のデータにもとづいたもので、将来も同じように利益が出ることを保証するものではありません。取引には必ずリスクがあるので、自分自身でよく考えて、責任を持って行ってくださいね。

よくある質問

Q.「出来高」って何のこと?

A.「取引された量」のことです。たくさんの人が買ったり売ったりすると、出来高は多くなります。

Q.「ブレイクアウト」ってどういう意味?

A.値段が、これまであまり動かなかった範囲から、急に飛び出して大きく動くことです。

Q.この作戦は絶対に勝てるの?

A.いいえ、絶対に勝てるわけではありません。成績を見ると勝つ確率は50%なので、半分は勝って、半分は負ける感じです。でも、勝つ時の利益が負ける時の損失より大きいので、トータルで見るとプラスになりやすいと考えられています。

Q.ビットコインじゃなくても使える?

A.はい、他のコインや株などでも、取引量が急に増えるものなら使える可能性があります。ただ、そのコインや株と作戦の相性が良いかどうかは、確かめる必要があります。

Q.「最大DD」ってどういう意味?

A.「最大ドローダウン」という言葉の略です。これは、この作戦で取引していた期間中に、一番運が悪かった時に、一時的にどれくらいの損失が出たかを示しています。この作戦では、最大で資産が23.06%減ってしまった時があった、ということです。

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

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

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

A.最終リターンは63.46%、最大DDは23.06%です。

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

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

Q.HODLとの比較結果は?

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

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

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

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

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

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

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

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

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

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

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

Q.改良の方向性は?

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

著者情報