SOLという仮想通貨を「TRIX」で買ってみた!中学生でもわかる投資の作戦
「TRIX(トリックス)」という、値段の元気さを測る道具を使って、「SOL(ソル)」という仮想通貨を売り買いしてみました。これは、過去の約1年8ヶ月のデータで、どんな結果になったのかをわかりやすく説明するものです。
取引数
63
勝率
44.44%
最終リターン
+37.45%
最大DD
51.95%
導入と前提条件
「TRIX(トリックス)」という、値段の元気さを測る道具を使って、「SOL(ソル)」という仮想通貨を売り買いしてみました。これは、過去の約1年8ヶ月のデータで、どんな結果になったのかをわかりやすく説明するものです。
【検証】戦略のバックテスト概要
- 戦略名: TRIX Oscillator を使用したトレンド追従戦略
- 対象銘柄: SOL/USDT
- 時間足: 4h
- 期間: 2024-06-26〜2025-08-25(424日間)
- 初期資金: $10,000
- 手数料・スリッページ: 0.1% / 0.1%
- 取引所: bybit
TRIX Oscillator の理論的背景
この作戦は、TRIXが示す「今の元気さ」と「平均の元気さ」を比べるものです。「今の元気さ」が「平均の元気さ」を追い越したら、「これから値段が上がっていくかも!」と考えて買います。逆に下回ったら売ります。こうすることで、値段が上がっていく良い波に乗ろうとする作戦です。
具体的な売買ルール(今回の検証)
エントリー条件
- TRIXという道具が「これから値段が上がりそうだよ!」というサインを出したとき。
エグジット条件
- TRIXが「もう元気がないよ」というサインを出したとき。
- もし予想がはずれても、大きな損にならないように「ここまで値段が下がったら自動で売る」とあらかじめ決めておくこと(損切り)。
リスク管理
大失敗しないための大事なルールです。1回の取引で使うお金は、持っているお金全体のほんの一部に決めておきます。こうすることで、もし負けてしまっても、ダメージが少なくすみます。
再現手順(HowTo)
- Python/依存(ccxt, pandas, ta)をインストール
- ccxtでSOL/USDTのOHLCVを取得して前処理
- 『TRIX Oscillator』に必要な指標を算出(ta 等)
- 閾値・クロス条件から売買シグナルを生成
- 手数料・スリッページを加味して検証・評価
【結果】パフォーマンス
価格の推移
資産の推移
パフォーマンス指標
指標 | 値 |
---|---|
総トレード数 | 63回 |
勝率 | 44.44% |
平均利益 | 7.09% |
平均損失 | -4.24% |
期待値 | 0.8% |
プロフィットファクター | 1.2 |
最大ドローダウン | 51.95% |
最終リターン | 37.45% |
シャープレシオ | 0.26 |
HODL(Buy&Hold) | 48.55% |
HODL戦略との比較
実装コード(Python)
strategy.py
#!/usr/bin/env python3
"""
TRIX(Triple Exponential Average)戦略
トリプル指数移動平均の変化率
"""
import pandas as pd
import numpy as np
def calculate_trix_signals(df: pd.DataFrame, trix_period: int = 14,
signal_period: int = 9) -> pd.DataFrame:
"""
TRIXオシレーターシグナルを生成
Parameters:
-----------
df : pd.DataFrame
OHLCVデータ
trix_period : int
TRIX計算期間(デフォルト: 14)
signal_period : int
シグナルライン期間(デフォルト: 9)
Returns:
--------
pd.DataFrame
シグナル列が追加されたDataFrame
"""
df = df.copy()
# トリプル指数移動平均
df['ema1'] = df['close'].ewm(span=trix_period, adjust=False).mean()
df['ema2'] = df['ema1'].ewm(span=trix_period, adjust=False).mean()
df['ema3'] = df['ema2'].ewm(span=trix_period, adjust=False).mean()
# TRIX(変化率)
df['trix'] = (df['ema3'] - df['ema3'].shift(1)) / df['ema3'].shift(1) * 10000
# シグナルライン
df['trix_signal'] = df['trix'].ewm(span=signal_period, adjust=False).mean()
# シグナル生成(TRIXとシグナルラインのクロス)
df['is_buy'] = (
(df['trix'] > df['trix_signal']) &
(df['trix'].shift(1) <= df['trix_signal'].shift(1))
)
df['is_sell'] = (
(df['trix'] < df['trix_signal']) &
(df['trix'].shift(1) >= df['trix_signal'].shift(1))
)
# NaN値をFalseに置換
df['is_buy'] = df['is_buy'].fillna(False)
df['is_sell'] = df['is_sell'].fillna(False)
print(f"TRIX: 期間={trix_period}, シグナル期間={signal_period}")
print(f"買いシグナル数: {df['is_buy'].sum()}")
print(f"売りシグナル数: {df['is_sell'].sum()}")
return df
なぜこの結果になったのか(3つの理由)
- 1値段がグングン伸びそうなタイミングで買うことで、上がり始めた波にうまく乗ろうとしたからです。
- 2値段の元気がなくなってきたサインで売ることで、得た利益をしっかり確保したり、損を小さくしたりできると考えたからです。
- 34時間ごとという、短めの時間で値段をチェックすることで、売り買いのチャンスをたくさん見つけられたのかもしれません。
この結果から学べる3つの教訓
- 1TRIXという道具は、いつ買ったり売ったりすればいいかを考えるのに役立つことがわかりました。
- 2どんなに良い作戦でも、必ず負けることはあります。だから、損をできるだけ小さくする工夫(損切り)がすごく大切だと学びました。
- 3勝つ回数だけでなく、取引の回数を重ねることが、最終的な利益につながる可能性があるとわかりました。
リスク管理の具体的手法
取引量の決め方
1回の取引で使うお金は、持っているお金全部の、ほんの少し(例えば100分の1とか)にすることです。こうすれば、もし負けても、次もチャレンジできます。
損失が大きくなったときの対処法
もし、うまくいかなくて全体の資金が大きく減ってしまったら、一度お休みするルールです。熱くなって大きな失敗をするのを防ぎ、冷静に作戦を考え直す時間を作ります。
資金管理の方法
お財布の管理のことです。もし資金が減ってしまったら、一度に使うお金も減らして慎重になります。逆に、うまくいって資金が増えたら、少しだけ使うお金を増やしていく、というやり方です。
改良案の具体的提案
- 「買い」のサインが出たときの中でも、「すごく元気があるときだけ買う」というようなルールを加えると、もっと良い結果になるかもしれません。
- 売るときに、「ここまで値段が上がったら売る」という利益の目標をあらかじめ決めておくと、もっとうまく利益を伸ばせるかもしれません。
- TRIXという道具の設定を少し変えてみると、さらに成績が良くなる可能性を探ることができます。
実用性の向上(運用上の注意)
- この話は、あくまで過去のデータを使った練習試合のようなものです。もし実際に試すなら、なくなっても困らない少額のお金から始めるのが絶対に大切です。
- TRIXのサインだけでなく、世の中のニュースや、他の仮想通貨の動きなども一緒に見ると、もっと確かな判断ができるようになるかもしれません。
- 他の仮想通貨や、見る時間を4時間ごとから1日ごとなどに変えて、同じ作戦を試してみるのも面白いでしょう。
検証の透明性と信頼性
- データの出所: 昔の値段のデータを使って計算しました。
- 検証のやり方: 過去のデータを使って、この作戦がうまくいったかどうかのお試し計算(シミュレーション)をしました。
- コード: このお試し計算をしたときのプログラム(コード)も、見ようと思えば見ることができます。
- 注意事項: これは「こうすれば儲かるよ」とオススメするものではありません。投資には、お金が減ってしまうリスクが必ずあります。もし挑戦するときは、必ず自分でよく考えて、自分の責任でお願いします。
よくある質問
Q.TRIXって、いったい何なの?
A.値段の「元気さ」を測る道具だよ。値段がグングン上がっているのか、それともだんだん元気がなくなっているのかを、グラフでわかりやすく教えてくれるんだ。
Q.SOL/USDTって何のこと?
A.「SOL(ソル)」という仮想通貨を、ドルと同じような価値を持つ「USDT(テザー)」という別の仮想通貨で買うときの値段のことだよ。「1ソルが何USDTか」を表しているんだ。
Q.「4時間足」ってどういう意味?
A.値段のグラフを、4時間ごとのひとまとまりとして見ることだよ。4時間の間に値段がどう動いたかを1本のローソク足という棒で表して、それを見ながら売り買いのタイミングを考えるんだ。
Q.総取引63回って、多いの?少ないの?
A.約1年8ヶ月で63回だから、月に2〜3回くらい取引している計算だね。多すぎず少なすぎず、という感じかな。
Q.勝率44.44%って、負けてる回数の方が多いよね?
A.その通り!でも、投資では「勝ち負けの回数」よりも「合計でいくらプラスになったか」が大事なんだ。10回負けて合計1万円損しても、1回勝って3万円の利益が出れば、トータルでは2万円のプラスになる、ということもあるんだよ。
Q.検証に使用した期間と時間足は?
A.4h足で検証しました。期間は記事内の概要をご確認ください。
Q.最終リターンと最大ドローダウンは?
A.最終リターンは37.45%、最大DDは51.95%です。
Q.勝率やPFはどの程度?
A.勝率は44.44%、プロフィットファクターは1.20です。
Q.HODLとの比較結果は?
A.HODLは48.55%でした。記事内の比較表をご覧ください。
Q.手数料やスリッページは考慮済み?
A.はい。バックテスト設定の手数料・スリッページを損益に反映しています。
Q.市場環境はトレンド/レンジどちらに近かった?
A.期間中はトレンド優勢と推測されます。
Q.この戦略は初心者でも扱える?
A.基礎的な指標と検証環境の知識があれば扱えます。まずは少額・デモから。
Q.推奨のリスク管理は?
A.最大DDを踏まえた損切り・ポジションサイジングと、システム停止基準の設定を推奨します。
Q.将来の結果は期待できる?
A.過去の結果は将来を保証しません。市場環境やパラメータ適合性に大きく依存します。
Q.改良の方向性は?
A.トレンド・ボラティリティのフィルター併用、パラメータの再最適化、取引頻度の制御を検討してください。