渦巻きサインで未来の値段を予想!『Vortex Indicator』を使ってみた結果
この実験では、「マティック」というデジタルなお金の値段がどう動くかを見てみました。「Vortex Indicator(ボルテックス・インジケーター)」という、未来を予想する道具を使っています。1時間ごとの値段の動きをチェックして、「いつ買うか」「いつ売るか」を判断する作戦です。2024年1月から約8ヶ月間、この作戦がうまくいったのかを調べてみました。
導入と前提条件
この実験では、「マティック」というデジタルなお金の値段がどう動くかを見てみました。「Vortex Indicator(ボルテックス・インジケーター)」という、未来を予想する道具を使っています。1時間ごとの値段の動きをチェックして、「いつ買うか」「いつ売るか」を判断する作戦です。2024年1月から約8ヶ月間、この作戦がうまくいったのかを調べてみました。
【検証】戦略のバックテスト概要
- 戦略名: Vortex Indicator を使用したトレンド追従戦略
- 対象銘柄: MATIC/USDT
- 時間足: 1h
- 期間: 2024-01-21〜2024-09-10(232日間)
- 初期資金: $10,000
- 手数料・スリッページ: 0.1% / 0.1%
- 取引所: binance
Vortex Indicator の理論的背景
この作戦の基本的な考え方は、「一度動き出した値段の流れは、しばらく続くことが多い」というものです。「Vortex Indicator」は、プラス線とマイナス線が入れ替わる瞬間を見て、値段の流れが変わるタイミングをつかまえようとします。例えば、プラス線がマイナス線を追い抜いたら、これから値段が上がりそうだと考えて「買い」の合図にします。反対に、マイナス線がプラス線を追い抜いたら、これから下がりそうだと考えて「売り」の合図にします。こうやって、大きな値段の流れに乗ってもうけを狙います。
具体的な売買ルール(今回の検証)
エントリー条件
- 【買うとき】プラス線がマイナス線の下から上に突き抜けたとき
- 【売るとき】マイナス線がプラス線の下から上に突き抜けたとき
エグジット条件
- 【買ったのをやめるとき】マイナス線がプラス線を追い抜いたとき
- 【売ったのをやめるとき】プラス線がマイナス線を追い抜いたとき
リスク管理
この作戦では、大損しないための工夫も考えます。例えば、「1回の取引で損してもいいのは、持っているお金のこれくらいまで」と、あらかじめ上限を決めておくことが大切です。また、いつでも取引するのではなく、勝てそうなチャンスの時だけにしぼることも重要です。
再現手順(HowTo)
- Python/依存(ccxt, pandas, ta)をインストール
- ccxtでMATIC/USDTのOHLCVを取得して前処理
- 『Vortex Indicator』に必要な指標を算出(ta 等)
- 閾値・クロス条件から売買シグナルを生成
- 手数料・スリッページを加味して検証・評価
【結果】パフォーマンス
価格の推移
資産の推移
パフォーマンス指標
指標 | 値 |
---|---|
総トレード数 | 276回 |
勝率 | 23.19% |
平均利益 | 2.54% |
平均損失 | -1.36% |
期待値 | -0.46% |
プロフィットファクター | 0.58 |
最大ドローダウン | 77.14% |
最終リターン | -74.15% |
シャープレシオ | -0.67 |
HODL(Buy&Hold) | -52.1% |
HODL戦略との比較
実装コード(Python)
#!/usr/bin/env python3
"""
Vortex Indicator戦略
トレンドの方向と強さを測定
"""
import pandas as pd
import numpy as np
def calculate_vortex_signals(df: pd.DataFrame, vi_period: int = 14) -> pd.DataFrame:
"""
Vortex Indicatorシグナルを生成
Parameters:
-----------
df : pd.DataFrame
OHLCVデータ
vi_period : int
VI計算期間(デフォルト: 14)
Returns:
--------
pd.DataFrame
シグナル列が追加されたDataFrame
"""
df = df.copy()
# Vortex Movement計算
df['vm_plus'] = np.abs(df['high'] - df['low'].shift(1))
df['vm_minus'] = np.abs(df['low'] - df['high'].shift(1))
# True Range
df['tr'] = np.maximum(
df['high'] - df['low'],
np.abs(df['high'] - df['close'].shift(1)),
np.abs(df['low'] - df['close'].shift(1))
)
# VI+ と VI- 計算
df['vi_plus'] = df['vm_plus'].rolling(window=vi_period).sum() / df['tr'].rolling(window=vi_period).sum()
df['vi_minus'] = df['vm_minus'].rolling(window=vi_period).sum() / df['tr'].rolling(window=vi_period).sum()
# シグナル生成(VI+とVI-のクロス)
df['is_buy'] = (
(df['vi_plus'] > df['vi_minus']) &
(df['vi_plus'].shift(1) <= df['vi_minus'].shift(1))
)
df['is_sell'] = (
(df['vi_plus'] < df['vi_minus']) &
(df['vi_plus'].shift(1) >= df['vi_minus'].shift(1))
)
# NaN値をFalseに置換
df['is_buy'] = df['is_buy'].fillna(False)
df['is_sell'] = df['is_sell'].fillna(False)
print(f"Vortex Indicator: 期間={vi_period}")
print(f"買いシグナル数: {df['is_buy'].sum()}")
print(f"売りシグナル数: {df['is_sell'].sum()}")
return df
なぜこの結果になったのか(3つの理由)
- 1この作戦を試した結果、勝てたのは4回に1回くらい(勝率 約23%)で、ほとんどが負けてしまったようです。
- 21回あたりのもうけや損を平均すると、取引すればするほど、お金が減っていく計算になっていました。
- 3一番大きく負けたときには、持っていたお金が77%も減ってしまうという、とても危険な場面があったことがわかりました。
この結果から学べる3つの教訓
- 1「Vortex Indicator」のサインが出たからといって、必ずもうかるとは限らないことがわかりました。
- 2たとえ勝つ回数が少なくても、1回で大きく勝てれば全体でプラスになることもありますが、この作戦ではそれも難しかったようです。
- 3「マティック」は値段の動きがとても激しいので、このシンプルな作戦では、その動きについていけなかったのかもしれません。
リスク管理の具体的手法
取引量の決め方
1回の取引に使うお金の量を、持っているお金全体のほんの一部(例えば1%や2%)に決めます。こうすれば、もし負けてしまっても、全体へのダメージを小さくできます。
損失が大きくなったときの対処法
もし損が続いて、持っているお金が一定の割合(例えば10%)減ってしまったら、一度全部の取引をやめて、作戦を見直す時間を作ります。これで、さらに損が大きくなるのを防ぎます。
資金管理の方法
取引でもうけたお金は、次への投資に回す分と、将来のためにとっておく分に分けるなど、上手にお金を管理する計画を立てます。損したからといって、焦って取り返そうと無茶な取引はしません。
改良案の具体的提案
- 「Vortex Indicator」のサインが出たあとに、本当にその方向に値段が動きそうか、別の道具(例えば、みんなが注目している平均の値段を示す線など)も使ってダブルチェックする。
- 「これ以上損したらやめる」というルールをもっとしっかり決めたり、「どこまでもうけを伸ばすか」というルールを工夫したりする。
- 「マティック」だけを見るのではなく、デジタルなお金の世界全体の雰囲気が良いときか悪いときかも考えて、取引するかどうかを決める。
実用性の向上(運用上の注意)
- この実験結果は、あくまで過去のデータで試したものです。未来も同じようにもうかることを保証するものではありません。
- 実際に自分のお金で試す前に、まずは少額でやってみたり、練習用の「デモ取引」で試したりすることをおすすめします。
- 世の中の状況はどんどん変わるので、この作戦が今も通用するか、定期的にチェックして見直すことが大切です。
検証の透明性と信頼性
- データの出所: この実験では、「マティック」というデジタルなお金の過去の値段のデータ(2024年1月21日〜9月10日の1時間ごとの動き)を使いました。
- 検証のやり方: 勝った回数やもうけのバランスなど、作戦の「成績表」を見て、うまくいったかどうかを判断しています。
- コード: この実験で使った「Vortex Indicator」の計算やサインを出すためのコンピュータープログラム(Pythonコード)もあります。
- 注意事項: このお話は、投資の勉強のために作られたもので、「こうすれば絶対もうかるよ」というアドバイスではありません。デジタルなお金の取引は、大きく損をしてしまう可能性もあります。もし挑戦するときは、ご自身の判断と責任でお願いします。