ビットコインの値段の勢いに乗る!「トレンドフォロー」作戦を学ぼう
この作戦は、ビットコインの値段が「どれくらいの勢いで動いているか」を見て、買うか売るかのタイミングを探す方法です。1時間ごとの値段の動きをチェックして、大きな波に乗ることを目指します。
取引数
453
勝率
21.63%
最終リターン
-81.81%
最大DD
81.90%
導入と前提条件
この作戦は、ビットコインの値段が「どれくらいの勢いで動いているか」を見て、買うか売るかのタイミングを探す方法です。1時間ごとの値段の動きをチェックして、大きな波に乗ることを目指します。
【検証】戦略のバックテスト概要
- 戦略名: True Range Expansion を使用したトレンド追従戦略
- 対象銘柄: BTC/USDT
- 時間足: 1h
- 期間: 2024-07-21〜2025-08-25(399日間)
- 初期資金: $10,000
- 手数料・スリッページ: 0.1% / 0.1%
- 取引所: binance
True Range Expansion の理論的背景
この作戦の基本は、「トレンドフォロー」、つまり「大きな流れに乗る」という考え方です。ビットコインなどの値段は、一度どちらかに動き出すと、しばらく同じ方向に進みやすいことがあります。この作戦では、値段の動きが激しくなっている時を、「大きな波が来ているサイン」だと考えます。そして、その波が上に向かっているか、下に向かっているかを見て、買うか売るかを決めるんです。
具体的な売買ルール(今回の検証)
エントリー条件
- 値段の動きの激しさを示すメーター(ATR)の数字が、前よりも大きくなってきたら
- そして、今の値段が、いつもの平均的な値段の動きよりも上にあるとき(買う場合)
エグジット条件
- 買った時と反対の、値段が下がる勢いが強まってきたら
- 「この値段になったら売る」と決めておいた目標に届いたときや、これ以上損しないように決めた値段になったとき
リスク管理
大きな損をしないように、一度に使うお金は少しだけにします。また、「もしこれくらい損をしたら、今回はやめておこう」というストップするルールも決めておきます。
再現手順(HowTo)
- Python/依存(ccxt, pandas, ta)をインストール
- ccxtでBTC/USDTのOHLCVを取得して前処理
- 『True Range Expansion』に必要な指標を算出(ta 等)
- 閾値・クロス条件から売買シグナルを生成
- 手数料・スリッページを加味して検証・評価
【結果】パフォーマンス
価格の推移
資産の推移
パフォーマンス指標
指標 | 値 |
---|---|
総トレード数 | 453回 |
勝率 | 21.63% |
平均利益 | 1.91% |
平均損失 | -0.99% |
期待値 | -0.36% |
プロフィットファクター | 0.53 |
最大ドローダウン | 81.9% |
最終リターン | -81.81% |
シャープレシオ | -0.73 |
HODL(Buy&Hold) | 69.09% |
HODL戦略との比較
実装コード(Python)
strategy.py
"""
True Range Expansion Signal
ATRの上昇(ボラ拡大)と方向でトレンド判定するのだ。
"""
import pandas as pd
def _tr(df: pd.DataFrame) -> pd.Series:
prev_close = df['close'].shift(1)
tr = (df['high'] - df['low']).abs()
tr2 = (df['high'] - prev_close).abs()
tr3 = (df['low'] - prev_close).abs()
return pd.concat([tr, tr2, tr3], axis=1).max(axis=1)
def calculate_tr_expansion_signals(df: pd.DataFrame, atr_period: int = 14) -> pd.DataFrame:
out = df.copy()
atr = _tr(out).rolling(atr_period).mean()
out['atr'] = atr
out['atr_slope'] = atr.diff()
ma = out['close'].rolling(atr_period).mean()
out['is_buy'] = (out['atr_slope'] > 0) & (out['close'] > ma)
out['is_sell'] = (out['atr_slope'] > 0) & (out['close'] < ma)
return out
なぜこの結果になったのか(3つの理由)
- 1この作戦が成功する確率は、約22%と少し低めです。でも、これは「流れに乗る」タイプの作戦ではよくあることなんです。負けることは多いけど、勝つときは大きく勝って、全体でプラスにすることを目指します。
- 2しかし、今回のテストでは、453回も取引したのに、残念ながらお金が約82%も減ってしまうという結果になりました。これは、この作戦が得意な「大きな値段の波」があまり来なかったか、波の終わりをうまくつかめなかったのかもしれません。
- 3もし、この作戦を使わずに、ただビットコインをずっと持っていただけ(これをHODLと言います)だったら、お金は約69%増えていました。この結果と比べても、今回の作戦はうまくいかなかったことがわかります。
この結果から学べる3つの教訓
- 1どんなに良さそうに見える作戦でも、本当にうまくいくか、過去のデータで試してみることがとても大切です。
- 2勝つ確率が低いからといって、必ずしもダメな作戦とは限りません。でも、勝った時の利益が負けた時の損よりずっと大きくないと、全体でプラスにするのは難しいです。
- 3値段がどんどん上がったり下がったりしている時と、あまり動かない時では、作戦の効き目が変わってきます。この作戦は、値段が大きく動いている時に力を発揮するタイプかもしれません。
リスク管理の具体的手法
取引量の決め方
一度の取引で使うお金は、自分が持っているお金のほんの一部だけにします。そうすれば、もし負けても大きなダメージを受けずに済みます。
損失が大きくなったときの対処法
もし、テストのようにお金がどんどん減ってしまったら、一旦取引をお休みします。そして、なぜうまくいかなかったのかを考えて、作戦を見直します。
資金管理の方法
始める前に、「最悪いくらまでなら損しても大丈夫か」という金額を決めておきます。その範囲の中で、できるだけ利益を大きくできるように工夫することが大切です。
改良案の具体的提案
- 「こういう時に買う」というルールを少し変えてみて、もっとうまくいくタイミングを探します。
- 値段の動きの平均を見る「移動平均線」のような、他の分析ツールと組み合わせて、もっと正確に流れを読みます。
- 「これ以上損したらやめる」というルール(損切り)をもっと厳しくして、大きな損を防ぐようにします。
実用性の向上(運用上の注意)
- この作戦は、ビットコインのように値段が激しく動くものや、1時間ごとの短い時間の動きを見るときに、うまくいくかもしれません。
- でも、今回のテスト結果を見ると、このまま使うのは危ないです。まずは、失っても大丈夫な少額のお金で試してみるのがいいでしょう。
- 作戦がうまくいくかどうかは、その時々で変わります。だから、いつも結果をチェックして、今の状況に合っているか確認することが大事です。
検証の透明性と信頼性
- データの出所: このテストでは、TradingViewというサイトなどで見られる、ビットコインの過去の1時間ごとの値段のデータを使いました。
- 検証のやり方: 2024年7月21日から2025年8月25日までの約1年間のデータを使って、この作戦を試したらどうなるかを計算しました。
- コード: この計算をしたプログラムは、誰でも見ることができるように公開されています。
- 注意事項: これは、昔のデータで試した結果です。未来も同じようにうまくいくとは限りません。お金を使うときは、自分でよく考えて決めましょうね。
よくある質問
Q.「ATR」って何ですか?
A.ATRは、値段が「どれくらい激しく動いているか」を表すメーターのようなものです。この数字が大きいほど、動きが活発だということです。
Q.「勝率が低い」ってことは、ダメな作戦なんですか?
A.いいえ、必ずしもそうとは限りません。例えば、10回中2回しか勝てなくても、その2回の勝ちがすごく大きければ、負けた8回分の損を取り返して、さらに利益が出ることもあります。大事なのは、全体で見てプラスになるかどうかです。
Q.「HODL(ホドル)」ってどういう意味ですか?
A.HODLは、ビットコインなどを売ったり買ったりしないで、ずーっと「持ち続ける」という意味で使われるインターネットの言葉です。
Q.「最大DD」って何のことですか?
A.DDは「ドローダウン」の略で、テスト期間中に、お金が一番多かった時から、一番大きく減ってしまった時の割合のことです。この作戦では、一時的にお金が最大で約82%も減ってしまった時期があった、という意味になります。
Q.この作戦で勝てるようになるには、どうしたらいいですか?
A.今回のテスト結果のままでは、勝つのは難しいかもしれません。例えば、取引のルールをもう少し厳しくしたり、他の分析方法と組み合わせたり、「これ以上損はしない」と決めるルールをしっかり守ったり、といった工夫が必要になりそうです。
Q.検証に使用した期間と時間足は?
A.1h足で検証しました。期間は記事内の概要をご確認ください。
Q.最終リターンと最大ドローダウンは?
A.最終リターンは-81.81%、最大DDは81.90%です。
Q.勝率やPFはどの程度?
A.勝率は21.63%、プロフィットファクターは0.53です。
Q.HODLとの比較結果は?
A.HODLは69.09%でした。記事内の比較表をご覧ください。
Q.手数料やスリッページは考慮済み?
A.はい。バックテスト設定の手数料・スリッページを損益に反映しています。
Q.市場環境はトレンド/レンジどちらに近かった?
A.期間中はトレンド優勢と推測されます。
Q.この戦略は初心者でも扱える?
A.基礎的な指標と検証環境の知識があれば扱えます。まずは少額・デモから。
Q.推奨のリスク管理は?
A.最大DDを踏まえた損切り・ポジションサイジングと、システム停止基準の設定を推奨します。
Q.将来の結果は期待できる?
A.過去の結果は将来を保証しません。市場環境やパラメータ適合性に大きく依存します。
Q.改良の方向性は?
A.トレンド・ボラティリティのフィルター併用、パラメータの再最適化、取引頻度の制御を検討してください。