シェア:

値段の動きとズレを見て、みんなと反対の取引をしてみよう!イーサリアムの5分間の値動きで作戦を考えます

この作戦は、イーサリアムという暗号資産の5分ごとの値動きグラフを使います。値段が「いつもの平均」から大きくズレたときに、元に戻る動きをねらって取引する方法です。びよーんと伸びたゴムが、パッと元に戻る力を使うイメージですね。

取引数
643
勝率
50.08%
最終リターン
-92.82%
最大DD
93.24%

導入と前提条件

この作戦は、イーサリアムという暗号資産の5分ごとの値動きグラフを使います。値段が「いつもの平均」から大きくズレたときに、元に戻る動きをねらって取引する方法です。びよーんと伸びたゴムが、パッと元に戻る力を使うイメージですね。

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

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

MA Distance Z-Score の理論的背景

この作戦の基本的な考え方は、「値段は、放っておくとだいたい平均に戻りやすい」というものです。値段が急に上がりすぎたり、下がりすぎたりすると、みんな「あれ、ちょっとやりすぎかな?」と感じて、元の値段に戻そうとする力が働くことがあるんです。この作戦では、値段が平均線からどれくらい「ズレているか」をZスコアという数字で確かめます。Zスコアが「2」より大きくなったら「上がりすぎ」、マイナスの「2」より小さくなったら「下がりすぎ」と判断します。そして、その反対の取引を始めることで、もうけを狙います。

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

エントリー条件

  • 値段が平均線からすごく下がって、「Zスコア」という数字がマイナス2より小さくなったとき(「今が買い時かも!」と考えるタイミングです)
  • 値段が平均線からすごく上がって、「Zスコア」という数字がプラス2より大きくなったとき(「今が売り時かも!」と考えるタイミングです)

エグジット条件

  • 値段が平均線まで戻ってきたときや、少しもうけが出始めたときに取引をやめます。
  • 時間がたってももうけが出なかったり、逆に損し始めたりしたときも取引をやめます。

リスク管理

損をなるべく小さくするために、もし予想と反対に値段が動いてしまったら、すぐに取引をやめるというルールを決めておきます。また、一度に大もうけしようとせず、小さなもうけをコツコツ積み重ねることを目指します。

再現手順(HowTo)

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

【結果】パフォーマンス

価格の推移

価格推移

資産の推移

資産推移

パフォーマンス指標

指標
総トレード数643回
勝率50.08%
平均利益0.82%
平均損失-1.6%
期待値-0.39%
プロフィットファクター0.52
最大ドローダウン93.24%
最終リターン-92.82%
シャープレシオ-0.23
HODL(Buy&Hold)95.51%

HODL戦略との比較

HODL戦略との比較

実装コード(Python)

strategy.py
"""
MA Distance Z-Score Reversion
移動平均からの乖離のz-scoreで逆張りするのだ。
"""
import pandas as pd


def calculate_ma_zscore_signals(df: pd.DataFrame, ma_period: int = 20, z_period: int = 60, z_threshold: float = 2.0) -> pd.DataFrame:
    out = df.copy()
    ma = out['close'].rolling(ma_period).mean()
    dist = (out['close'] - ma) / ma
    z = (dist - dist.rolling(z_period).mean()) / dist.rolling(z_period).std()
    out['zscore'] = z
    out['is_buy'] = z <= -abs(z_threshold)
    out['is_sell'] = z >= abs(z_threshold)
    return out

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

  1. 1この作戦を、過去約1年間のイーサリアムの5分ごとの値動きで試してみましたが、残念ながらうまくいきませんでした。最終的には、もとのお金が92.82%も減ってしまうという大きな損になりました。
  2. 2勝った割合は約50%で、勝ったり負けたりは半々くらいでした。でも、1回負けたときの損が大きすぎることが多くて、トータルでもうけを出すのが難しかったようです。
  3. 3一番大きく損したときには、もとのお金の約93%を失ってしまう可能性があったこともわかりました。これは、この作戦にはとても大きなリスクがあったということです。

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

  1. 1市場の値段は、いつも平均に戻るとは限らない、ということを学びました。ときには、一度動き出すと、そのまま同じ方向に進み続けることもあるんですね。
  2. 2勝つ回数が多くても、それだけではもうけは出せないことを学びました。1回あたりのもうけと損のバランスも、とても大切だということがわかりました。
  3. 3過去のデータでうまくいくように見えても、未来も同じ結果になるとは限らない、ということも学びました。

リスク管理の具体的手法

取引量の決め方

1回の取引で使うお金は、持っているお金全部ではなく、ほんの一部(例えば100分の1とか100分の2)だけにします。こうすることで、一度失敗しても大きな損をしないようにできます。

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

もし損が一定の金額(例えば持っているお金の10分の1)を超えたら、その日はもう取引しない、というようなルールを作ります。これで、損がどんどんふくらむのを防ぎます。

資金管理の方法

持っているお金のうち、いくらまでなら損しても大丈夫か、あらかじめ上限を決めておきます。また、もうけが出たら少しずつ使うお金を増やすなど、お金を大切に管理していきます。

改良案の具体的提案

  • 「Zスコア」の基準にする数字をもっと細かく変えたり、他の道具と組み合わせたりして、もっと確実な取引のタイミングを探すように改良してみます。
  • 「平均線」や「Zスコア」を計算する期間を変えてみて、イーサリアムの市場にピッタリ合う設定を見つけ出します。
  • みんなと反対の動きをねらうだけでなく、値段の勢いが続いているときに、その流れに乗ってもうけを出す作戦も組み合わせてみます。

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

  • この作戦はイーサリアムの5分ごとの値動きで試しましたが、市場の様子が変われば結果も大きく変わることがあります。実際のお金で試す前に、過去のデータでたくさん練習してみましょう。
  • 「Zスコア」の数字が基準をちょっと超えただけですぐに取引するのではなく、他の分析道具も見て、もっと「これはいける!」と思えるタイミングで取引するようにしましょう。
  • この作戦の成績は良くありませんでしたが、基本的な考え方(平均からのズレを見る)は、他の作戦にも応用できるかもしれません。いろいろな方法を試してみることが大切です。

検証の透明性と信頼性

  • データの出所: この説明は、もらったデータをもとに作っています。
  • 検証のやり方: 過去のデータ(2024年9月5日から2025年8月25日までのイーサリアムの5分ごとの値動き)を使って、この作戦の成績を計算しました。
  • コード: この作戦をコンピューターで動かすためのプログラムはあります。
  • 注意事項: この作戦は昔のデータにもとづいているので、将来も同じようにもうかることを約束するものではありません。投資は、自分でよく考えて、自分の責任で行ってくださいね。

よくある質問

Q.「移動平均線」って何ですか?

A.移動平均線は、決まった期間の値段の平均を計算して、それを線でつないだものです。値段が今上がっているのか、下がっているのか、その流れ(トレンド)を見るのに役立ちます。

Q.「Zスコア」ってどういう意味ですか?

A.Zスコアは、「平均からどれくらい離れているか」を教えてくれる数字です。この作戦では、今の値段のズレが、平均と比べてどれくらい「普通じゃないか」を表すために使っています。

Q.「逆張り」ってどういうことですか?

A.逆張りは、みんなが「上がる!」と思って買っているときに売ったり、みんなが「下がる!」と思って売っているときに買ったりすることです。市場全体の流れとは反対の取引をすることですね。「上がりすぎたから、そろそろ下がるだろう」と予想して行います。

Q.「PF」って何ですか?

A.PFは「プロフィットファクター」という言葉の略です。もうかった金額の合計を、損した金額の合計で割った数字のことです。この数字が1より大きければ、全体としてもうかっていることになります。

Q.「HODL」ってどういう意味ですか?

A.HODLは、暗号資産の世界で使われる言葉で、「売らずにずっと持っておく」という意味です。この場合、作戦を使わずにただイーサリアムを持っていたら、95.51%ももうかっていたことを示しています。つまり、今回の作戦の成績は、ただ持っているよりも悪かった、ということです。

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

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

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

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

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

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

Q.HODLとの比較結果は?

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

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

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

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

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

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

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

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

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

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

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

Q.改良の方向性は?

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

著者情報