未来のヒントが見える?XRPの価格を追いかける特別な線「ハルMA」
この作戦は、「ハルMA」という特別な線を使って、XRPというコインの値段の動きを追いかけます。この線は、値段の元気の良さを素早くキャッチして、「いつ買うと良いかな?」「いつ売ると良いかな?」というタイミングのヒントを教えてくれます。今回は、4時間ごとの値段のグラフを使って、過去約1年間(2023年8月27日~2024年8月25日)のデータで、この作戦がうまくいったかどうかを試してみました。
導入と前提条件
この作戦は、「ハルMA」という特別な線を使って、XRPというコインの値段の動きを追いかけます。この線は、値段の元気の良さを素早くキャッチして、「いつ買うと良いかな?」「いつ売ると良いかな?」というタイミングのヒントを教えてくれます。今回は、4時間ごとの値段のグラフを使って、過去約1年間(2023年8月27日~2024年8月25日)のデータで、この作戦がうまくいったかどうかを試してみました。
【検証】戦略のバックテスト概要
- 戦略名: Hull MA を使用したトレンド追従戦略
- 対象銘柄: XRP/USDT
- 時間足: 4h
- 期間: 2024-08-27〜2025-08-25(362日間)
- 初期資金: $10,000
- 手数料・スリッページ: 0.1% / 0.1%
- 取引所: kucoin
Hull MA の理論的背景
この作戦は、「流れに乗る」という考え方が元になっています。これは、値段が上がっている波に乗って買い、下がっている波に乗って売ることで、もうけを狙うやり方です。ハルMAは、最近の値段の動きを特に大事にするので、流れの変わり目を早く見つけるのが得意です。だから、値段の元気の向きが変わるサインをいち早く見つけて、良いタイミングで売り買いを始めることを目指します。難しい計算はなくて、線がどっちを向いているかを見るだけで、今の全体の元気の良さがわかるんです。
具体的な売買ルール(今回の検証)
エントリー条件
- ハルMAの線が下向きから上向きに変わったとき(買うタイミングのしるし)
- そのときに、XRPの実際の値段がハルMAの線よりも上にあるとき(元気がある証拠!)
エグジット条件
- ハルMAの線が上向きから下向きに変わったとき(やめるタイミングのしるし)
- そのときに、XRPの実際の値段がハルMAの線よりも下にあるとき(元気がなくなってきた証拠)
リスク管理
もし、予想と反対に値段が動いて損をしてしまったら、「ここまで損したらやめる」と前もって決めておいたラインに来たときに、すぐに取引をやめます。これを「損切り」と言って、大きな失敗を防ぐための大事なルールです。
再現手順(HowTo)
- Python/依存(ccxt, pandas, ta)をインストール
- ccxtでXRP/USDTのOHLCVを取得して前処理
- 『Hull MA』に必要な指標を算出(ta 等)
- 閾値・クロス条件から売買シグナルを生成
- 手数料・スリッページを加味して検証・評価
【結果】パフォーマンス
価格の推移
資産の推移
パフォーマンス指標
指標 | 値 |
---|---|
総トレード数 | 107回 |
勝率 | 36.45% |
平均利益 | 9.61% |
平均損失 | -2.59% |
期待値 | 1.85% |
プロフィットファクター | 1.53 |
最大ドローダウン | 39.66% |
最終リターン | 330.56% |
シャープレシオ | 0.83 |
HODL(Buy&Hold) | 409.69% |
HODL戦略との比較
実装コード(Python)
#!/usr/bin/env python3
"""
Hull Moving Average戦略
遅延を減らした滑らかな移動平均線
"""
import pandas as pd
import numpy as np
def calculate_hull_ma_signals(df: pd.DataFrame, period: int = 20) -> pd.DataFrame:
"""
Hull Moving Averageシグナルを生成
Parameters:
-----------
df : pd.DataFrame
OHLCVデータ
period : int
HMA計算期間(デフォルト: 20)
Returns:
--------
pd.DataFrame
シグナル列が追加されたDataFrame
"""
df = df.copy()
# WMA(加重移動平均)計算関数
def wma(series, period):
weights = np.arange(1, period + 1)
return series.rolling(period).apply(lambda x: np.dot(x, weights) / weights.sum(), raw=True)
# Hull Moving Average計算
half_period = int(period / 2)
sqrt_period = int(np.sqrt(period))
df['wma_half'] = wma(df['close'], half_period)
df['wma_full'] = wma(df['close'], period)
df['raw_hma'] = 2 * df['wma_half'] - df['wma_full']
df['hma'] = wma(df['raw_hma'], sqrt_period)
# HMAの傾き(トレンド方向)
df['hma_slope'] = df['hma'] - df['hma'].shift(1)
# シグナル生成(HMAの方向転換)
df['is_buy'] = (
(df['hma_slope'] > 0) &
(df['hma_slope'].shift(1) <= 0) &
(df['close'] > df['hma'])
)
df['is_sell'] = (
(df['hma_slope'] < 0) &
(df['hma_slope'].shift(1) >= 0) &
(df['close'] < df['hma'])
)
# NaN値をFalseに置換
df['is_buy'] = df['is_buy'].fillna(False)
df['is_sell'] = df['is_sell'].fillna(False)
print(f"Hull MA: 期間={period}")
print(f"買いシグナル数: {df['is_buy'].sum()}")
print(f"売りシグナル数: {df['is_sell'].sum()}")
return df
なぜこの結果になったのか(3つの理由)
- 1ハルMAは値段の動きにすぐついていけるので、流れの変わり目を早く見つけられたからだと思います。
- 24時間ごとの値段の動きを見たことで、細かいギザギザした動きに惑わされず、大きな流れをつかみやすかったからだと思います。
- 3ルールがとても簡単で、わかりやすかったからだと思います。
この結果から学べる3つの教訓
- 1ハルMAみたいに、値段の動きを素早くキャッチできる道具を使うと、うまくいくことがあるってことですね。
- 2値段の大きな流れに乗る作戦は、うまくいくことが多いみたいです。
- 3「損切り」みたいに、もしもの時のルールをしっかり決めておくことで、大失敗を防いで、コツコツ成績を上げていけるってことです。
リスク管理の具体的手法
取引量の決め方
1回のチャレンジで使っていいお金を、持っているお金全体の少しだけ(例えば100分の1とか)に決めます。そうすれば、もし負けても、すぐにお金が全部なくなってしまうのを防げます。
損失が大きくなったときの対処法
もし、もうかっていたのに、だんだん損が大きくなってきたら、「ここまで減ったらやめる」というラインでストップします。これで、もっと大きな損になるのを防ぐんです。
資金管理の方法
持っているお金のうち、いくらを使って、1回のチャレンジで最大いくらまでなら損しても大丈夫か、前もって決めておきます。こうすることで、長く安定してチャレンジを続けられます。
改良案の具体的提案
- ほかの道具(指標)と組み合わせて、もっと良い売り買いのタイミングを探してみます。
- 「ここまで損したらやめる」という損切りのルールを、もっと上手な設定にできないか考えて、失敗を減らす工夫をします。
- 値段があまり動かない時や、すごく激しく動く時など、いろんな場面でこの作戦がうまくいくか試してみて、もっと良くしていきます。
実用性の向上(運用上の注意)
- この作戦は、値段がはっきりと上がり続けている時や、下がり続けている時みたいに、わかりやすい流れがある時に、特にうまくいきやすいです。
- 世の中の大きなニュースやイベントにも気をつけておきましょう。値段が急に大きく動くことがあるからです。
- まずは少ないお金で試してみて、やり方に慣れてきたら、少しずつ使うお金を増やしていくのがおすすめです。
検証の透明性と信頼性
- データの出所: 昔のXRPというコインの値段のデータ(4時間ごとの記録)を使いました。
- 検証のやり方: 昔の値段のデータを使って、「もしこの作戦で売り買いしていたら、どうなっていたかな?」という実験(バックテスト)をしました。
- コード: この作戦を動かすためのプログラムは、みんなが見られるように公開されています。
- 注意事項: この実験結果は、あくまで昔のデータで試したものです。だから、これからも同じようにうまくいくとは限りません。お金を使うときは、自分でよく考えて決めてくださいね。