シェア:

【残念なお知らせ】魔法の投資法のはずが…?仮想通貨ETHで「EMAリボン」を試したら大失敗した話

「EMAリボン」っていう、たくさんの線を使って値動きの方向を読む投資のやり方を試してみました。インターネット上のお金の一つ、ETH/USDTで、短い時間(5分ごと)にたくさん売り買いしたんです。でも、残念ながら結果はうまくいきませんでした。どうして失敗しちゃったのか、わかりやすく説明しますね。

取引数
1071
勝率
22.41%
最終リターン
-96.84%
最大DD
97.01%

導入と前提条件

「EMAリボン」っていう、たくさんの線を使って値動きの方向を読む投資のやり方を試してみました。インターネット上のお金の一つ、ETH/USDTで、短い時間(5分ごと)にたくさん売り買いしたんです。でも、残念ながら結果はうまくいきませんでした。どうして失敗しちゃったのか、わかりやすく説明しますね。

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

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

EMA Ribbon の理論的背景

このやり方は、「流れに乗る」っていう考え方が基本です。つまり、値段が上がっているときは「もっと上がるかも」と考えて買い、下がっているときは「もっと下がるかも」と考えて売ることで、もうけを狙います。「EMAリボン」では、線がきれいに並んだときを「はっきりした流れが来た!」と判断します。そして、一番上の線を値段が超えたら買い、下回ったら売る、という簡単なルールで、流れの始まりをつかまえようとするんです。

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

エントリー条件

  • たくさんの線が、上から下へきれいに並んでいて、値段が一番上の線をピョンと超えたとき(買うチャンス!です)
  • たくさんの線が、下から上へきれいに並んでいて、値段が一番上の線を下回ったとき(売るチャンス!です)

エグジット条件

  • 「買っている」状態で、値段が下がり始めて、一番上の線を下回っちゃったとき(ここでやめておこう、という合図です)
  • 「売っている」状態で、値段が上がり始めて、一番上の線を上回っちゃったとき(ここでやめておこう、という合図です)

リスク管理

一度にたくさんのお金を使うのはやめましょう。もし負けても大丈夫なように、少しずつ売り買いの量を調整することが大事です。あと、「これ以上損したら絶対やめる」という自分ルールを決めておくと、大きな失敗を防げますよ。

再現手順(HowTo)

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

【結果】パフォーマンス

価格の推移

価格推移

資産の推移

資産推移

パフォーマンス指標

指標
総トレード数1071回
勝率22.41%
平均利益1.71%
平均損失-0.89%
期待値-0.31%
プロフィットファクター0.43
最大ドローダウン97.01%
最終リターン-96.84%
シャープレシオ-0.36
HODL(Buy&Hold)76.48%

HODL戦略との比較

HODL戦略との比較

実装コード(Python)

strategy.py
"""
EMA Ribbon Breakout
複数EMAの整列でトレンド判定するのだ。
"""
import pandas as pd


def _ema(s: pd.Series, n: int) -> pd.Series:
    return s.ewm(span=n, adjust=False).mean()


def calculate_ema_ribbon_signals(df: pd.DataFrame, periods = (8,13,21,34)) -> pd.DataFrame:
    out = df.copy()
    emas = []
    for p in periods:
        out[f'ema_{p}'] = _ema(out['close'], p)
        emas.append(out[f'ema_{p}'])
    ascending = True
    descending = True
    for i in range(1, len(periods)):
        ascending = ascending & (out[f'ema_{periods[i-1]}'] > out[f'ema_{periods[i]}'])
        descending = descending & (out[f'ema_{periods[i-1]}'] < out[f'ema_{periods[i]}'])
    out['is_buy'] = ascending & (out['close'] > out[f'ema_{periods[0]}'])
    out['is_sell'] = descending & (out['close'] < out[f'ema_{periods[0]}'])
    return out

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

  1. 1今回は5分ごとという短い時間で、たくさん売り買いしました。でも、値動きの勢いがすぐに変わっちゃうので、「こっちだ!」と思ったら逆に行く、みたいな「ウソのサイン」がたくさん出てしまいました。それで、勝てる回数が少なくなっちゃったんだと思います。
  2. 2勝てたのは5回に1回くらい(勝率約22%)と、とても低かったです。だから、たまに勝っても、負けたときのダメージが大きくて、結局は損してしまったんだと考えられます。
  3. 3もし、何もしないでずっと持っているだけの「ガチホ作戦」と比べても、成績がすごく悪かったです。これは、たくさん売り買いしたことが、逆に損を大きくしてしまったということかもしれません。

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

  1. 1EMAリボンは、値段がどんどん上がったり下がったりしているときはうまくいくこともあります。でも、値段があまり動かず、行ったり来たりしているときは、「ウソのサイン」が出やすいんだとわかりました。
  2. 2短い時間で売り買いすると、チャンスは多いけど、関係ないちょっとした値動きも多くて、正しい判断が難しくなるんだなと実感しました。
  3. 3このやり方を続けると、長期的には損が増えていってしまう可能性が高いということがわかりました。どんなに簡単なルールでも、必ずうまくいくわけじゃないんですね。
  4. 4このやり方を続けると、長期的には損が増えていってしまう可能性が高いということがわかりました。どんなに簡単なルールでも、必ずうまくいくわけじゃないんですね。

リスク管理の具体的手法

取引量の決め方

1回の売り買いで使うお金は、自分が持っているお金全体の100分の1か100分の2くらいにしましょう。そうすれば、もし負けても、全体のお金への影響は小さいです。

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

もし、損した金額が持っているお金の10分の1とか10分の2を超えてしまったら、いったんお休みするルールを決めましょう。冷静になる時間を作ることが大切です。

資金管理の方法

もうかっているときも、損しているときも、ドキドキする気持ちに負けないでください。最初に決めたルール通りにお金を管理することが、一番大事です。欲張ったり、怖がったりしないで、落ち着いて続けましょう。

改良案の具体的提案

  • 見る時間を長くしてみる(例えば1時間ごとや4時間ごと)と、もっと大きな値動きの流れをつかまえて、「ウソのサイン」を減らせるかもしれません。
  • 他の道具(RSIやMACDといった分析ツール)も一緒に使って、「今が本当にチャンス!」というサインをもっと確かめる工夫が必要ですね。
  • 「このくらい損したらやめる」っていう損切りのルールをもっと厳しくして、1回の失敗で失うお金を少なくすることが大切です。

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

  • EMAリボンの線の数や設定は、どの仮想通貨をやるか、どれくらいの時間で見るかによって、一番いいものが違います。いろいろ試してみることが大切ですよ。
  • この作戦だけで勝負するんじゃなくて、世の中のニュースや専門家の意見とか、他の情報も参考にしながら、全部合わせて判断するのが成功への近道です。
  • まずは、なくなっても大丈夫なくらいの少ないお金で試してみましょう。それで、自分にこのやり方が合っているか確かめてから、少しずつお金を増やしていくのがおすすめです。

検証の透明性と信頼性

  • データの出所: このお話は、もらったデータをもとにしています。
  • 検証のやり方: 昔のデータを使って、「もしこの作戦で売り買いしていたら、どうなっていたかな?」という実験(シミュレーション)をしました。
  • コード: 実験には、もらったPythonというプログラムのコードを使いました。
  • 注意事項: この分析は、昔のデータで試しただけなので、未来も同じようにうまくいくとは限りません。投資は、自分の判断と責任でお願いしますね。

よくある質問

Q.EMAリボンって、どういう時に使うのが一番いいの?

A.値段がどんどん上がっていたり、下がっていたり、どっちかに向かっているのがはっきりしているときに使うのがおすすめです。値段が上がったり下がったり、行ったり来たりしているときは、うまくいかないことが多いです。

Q.勝率が低くても、利益は出せるの?

A.はい、出せることもあります。勝つ回数が少なくても、1回勝ったときのもうけが、負けたときの損よりすごく大きければ、全部合わせるとプラスになります。でも、今回の実験では、それもできませんでした。

Q.HODLって何?

A.HODL(ホドル)は、英語の「Hold(持つ)」から来た言葉で、「ガチでホールドする(ずっと持ち続ける)」という意味のインターネットスラングです。買った仮想通貨が将来値上がりすると信じて、売らないでずっと持っておく作戦のことです。

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

A.最大DD(さいだいドローダウン)は、お金が一番多かった時から、一番少なくなった時までの、一番大きな下落率のことです。この数字が大きいほど、「あんなに儲かってたのに、こんなに減っちゃった…」というガッカリが大きかった、ということです。

Q.この検証結果は、他の仮想通貨でも同じ?

A.いいえ、そうとは限りません。他の仮想通貨で試したり、見る時間を変えたりすれば、結果は全然違うかもしれません。この話は、あくまで「ETH/USDT」を「5分ごと」に見たときの結果だと思ってくださいね。

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

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

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

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

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

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

Q.HODLとの比較結果は?

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

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

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

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

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

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

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

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

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

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

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

Q.改良の方向性は?

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

著者情報