Site Overlay

一般サラリーマンがテクニカル戦略の為替・レバレッジを検証してみた話 -為替・レバレッジ編-

こんにちは。BTC-USD/ETH-USDのMACD戦略バックテストを検証している連載の第6回です。前回の日中監視・データ粒度編では、監視の頻度を上げても結論は銘柄によって割れる、という話をしました。今回はさらに一歩踏み込んで、「そもそもこれまでのUSD建ての検証は、実際に円で取引したときも同じ結論になるのか」「もっと機動的なパラメータや、下落局面でも儲かるショートを組み合わせれば弱点は補えるのか」という4つの検証をまとめます。

先に結論だけ言ってしまうと、今回はどれも「はい、それで解決です」という前向きな話にはなりませんでした。ただその過程で、「条件をひとつ変えるだけで結論が反転しうる」という、このシリーズを通じて何度も出てくる注意点が改めて浮き彫りになりました。今日はその実例をいくつか紹介します。

検証1: 円建てで検証しても同じ結論になるのか

これまでのBTC-USDの検証は、すべてyfinanceが提供するUSD建ての価格データを使っていました。でも実際に発注するのは、GMOコインの現物(BTC/JPY)です。USD建てのリターンを、そのまま円建ての取引に読み替えていいのでしょうか。

GMOコインの公開APIからBTC/JPYの日足データを取得できるようにし、本番構成(MACD(12,26,9) + ボラティリティ連動サイジング + ストップロス15%)をUSD建て・JPY建ての両方に適用して比較しました。GMOコインの現物データが2018-09-05以降しか取得できない制約上、比較期間はこの日から2026-08-11までの約8年間に揃えています。

Buy & Hold USDBuy & Hold JPYMACD USDMACD JPY
CAGR32.89%39.76%24.43%22.26%
年率ボラティリティ61.24%60.81%29.28%29.93%
Sharpe Ratio0.770.860.890.82
Maximum Drawdown-76.63%-71.38%-40.18%-39.14%
売買回数11103107

まず良い知らせから。ドローダウン抑制効果は円建てでもしっかり健在です。MaxDDはUSD建てで-76.63%→-40.18%、JPY建てで-71.38%→-39.14%と、通貨建てによらずMACDがBuy & Holdの半分近くまで下落を抑えています。

一方で、Sharpe Ratioで見た優位性は円建てだと逆転します。USD建てではMACD(0.89)がBuy & Hold(0.77)を上回るのに対し、JPY建てではBuy & Hold(0.86)がMACD(0.82)をわずかに上回るのです。これはMACD戦略自体の実力が変わったわけではなく、この期間の円安がJPY建てのBuy & Holdを押し上げているだけです(USD建てCAGR 32.89%→JPY建て39.76%)。正直にいうと、「USD建てだけ見てMACDはリスク調整後リターンでBuy & Holdに勝る」と結論づけるのは、為替という第三の変数を見落とした楽観的な判断になりかねません。

ちなみに、エントリー日そのものも通貨建てで結構ずれます。103(USD)〜107(JPY)トレード中、日付が完全一致したのはわずか19件(約18%)でした。ドル円の日々の変動がMACDのクロスタイミングに影響するため、当たり前と言えば当たり前ですが、シグナル発生日自体が通貨建てに依存するという点は覚えておく必要があります。

検証2: 銘柄ごとに最適なリスク許容度は同じなのか

第2回(リスク管理編)で、ボラティリティに応じて建玉を増減させるサイジングのパラメータ(目標ボラティリティ40%、ストップロス15%)は「Sharpe最大化」で選ぶとwinner’s curse(過去に良かったパラメータほど未来では裏切られやすい罠)にハマることが分かり、消極的な理由で据え置いていました。今回は評価軸を「Sharpe最大化」から「最大ドローダウンを一定以下に抑えつつCAGRの目減りを最小化する」に変え、改めてBTC-USD/ETH-USDそれぞれで最適なパラメータを選び直してみました。

銘柄MaxDD制約付き選定test CAGRtest Sharpetest MaxDD本番構成(目標vol40%/ストップ15%)のtest成績
BTC-USD目標vol=40%, ストップ=25%8.58%0.44-30.56%8.58% / 0.44 / -30.56%(一致)
ETH-USD目標vol=30%, ストップなし5.57%0.34-35.74%5.09% / 0.31 / -45.22%

BTC-USDは、既存の本番構成(目標vol40%)がこの評価軸でもそのまま選ばれました。つまり「無難だから」という消極的な理由で据え置いていた設定が、MaxDD制約という物差しで見ても実は妥当だったということです。

ところがETH-USDは違いました。より保守的な目標vol30%(ストップロスなし)の方が、CAGR・Sharpe・MaxDDの3指標すべてで本番構成を上回ったのです。しかも本番構成のtest MaxDD(-45.22%)は、想定していた-40%という制約を実際には超えていました。目標vol40%という設定は、ETH-USDに対しては「ドローダウンを40%程度に抑える」という当初の設計意図を実現できていなかったことになります。

ざっくりいえば、BTC-USDに最適化された共通パラメータが、ETH-USDには少し過大だったということです。ただしCLAUDE.mdの設計方針(過剰な作り込みを避ける)と、検証サンプルが単一のtrain/test分割・2銘柄に限られることを踏まえ、今回は既定値そのものは変更しませんでした。「銘柄ごとに別のパラメータを持たせるべきか」は今後の検討課題として残しています。

なお、この選定方法自体の頑健性も確認しました。学習期間の分割数を2〜5で振ると、ETH-USDの選定(目標vol30%)は終始安定していた一方、BTC-USDは分割を5つに増やすと選定が変わってしまいました。学習期間を細かく刻みすぎると、個々の区間のドローダウン推定自体がノイズを拾い、選定が揺れるという点も分かっています。また、2014〜2018年のビットコイン初期急騰局面を除いた期間や、円建て(GMOコイン)でも同じ選定を試しましたが、「目標vol40%を変えるべき」という一貫した結論には至らず、結局のところ選ばれる値は通貨建てよりもサンプル期間の取り方・区間の刻み方に左右されやすいということが分かった、というのが今回の副産物です。

検証3: もっと素早いMACDに切り替えるべきか

これまでのパラメータ探索は、spec.mdに定めた範囲(short 5〜30 / long 20〜100 / signal 5〜30)に限定していました。今回はユーザーから「MACD(12,26,9)を半分にした(6,13,4)のような、より素早く反応するパラメータはどうか」という提案があり、探索範囲を長期線の下限20→10まで広げて検証しました。

まずは固定パラメータ同士のフル期間比較です。

Buy & HoldMACD(12/26/9)MACD(6/13/4)
BTC-USD CAGR / Sharpe / MaxDD51.65% / 0.96 / -83.40%43.66% / 1.35 / -40.18%42.68% / 1.34 / -36.80%
ETH-USD CAGR / Sharpe / MaxDD22.66% / 0.67 / -93.96%19.00% / 0.70 / -45.22%21.73% / 0.79 / -45.35%

この期間だとBTC-USDはSharpeでほぼ互角、ETH-USDは(6,13,4)の方がCAGR・Sharpeとも優れています。ただし売買回数は倍以上に増えるため、コスト負担が効果を相殺している可能性もあります。

ここで検証2でも出てきた「2014〜2018年のビットコイン初期急騰局面を除いたらどうなるか」を試したところ、面白い逆転が起きました

Buy & HoldMACD(12/26/9)MACD(6/13/4)
BTC-USD CAGR / Sharpe / MaxDD(2018-09-05〜)32.89% / 0.77 / -76.63%24.43% / 0.89 / -40.18%26.01% / 0.94 / -36.80%
ETH-USD CAGR / Sharpe / MaxDD(2018-09-05〜)30.49% / 0.74 / -79.35%25.23% / 0.86 / -45.22%24.68% / 0.87 / -45.35%

急騰局面を除くと、今度はBTC-USDでCAGR・Sharpe・MaxDDの3指標すべてで(6,13,4)が(12,26,9)を上回ります。フル期間の比較ではわずかに劣っていたのと正反対です。つまり「(6,13,4)の方が優れている」とも「劣っている」とも、この結果だけでは言い切れません。

さらにややこしいのは、「固定パラメータとして(6,13,4)を採用する」場合と「Walk-forwardの探索対象に高速パラメータを含めて機械的に選ばせる」場合とで、示唆する方向が逆になったことです。2018年開始のBTC-USDでは、探索に高速パラメータを含めるとOut-of-sample成績はむしろ悪化しました(CAGR 5.44%→1.59%、Sharpe 0.33→0.22)。学習期間の中で選ばれた高速パラメータは、必ずしも(6,13,4)と同じ性質を持つ「安定して速いパラメータ」ではなく、過学習しやすい別物である可能性があります。

この検証を通じてもうひとつ確認できたのは、期間の取り方によらず、Buy & Hold自体がMACD(12/26/9・6/13/4のいずれも)をCAGRで一貫して上回っているという点です。これはこれまでの回で何度も出てきた「本番構成のCAGRはBuy & Holdに構造的に劣後する」という結論の延長線上にあります。結局のところ、既定パラメータ(12,26,9)を(6,13,4)に変更する明確な根拠は今回も得られず、既定値は維持しています。

検証4: レバレッジでショートを取れば弱点は補えるのか

ここまでの3つの検証、そして過去の回で繰り返し出てきたように、本番構成のCAGRはBuy & Holdに構造的に劣後します。現状のMACD戦略はロングか現金保有のどちらかしか取れず、下落トレンドから収益を得る手段がないことがその一因ではないか、という仮説のもと、GMOコインのレバレッジ取引を使ってショートも取れるようにしたらどうなるかを検証しました。

MACDが下抜けたら現金保有ではなくショートに転換する戦略を実装し、ショート建玉の維持コスト(レバレッジ取引特有の追加コスト、感度分析用の仮置きパラメータ)を1日あたり0〜20bpで振って本番構成(ロングのみ)と比較しました。個人向けレバレッジ規制の上限を踏まえ、露出上限は現行のロングのみと同じ水準(最も有利な条件)にしています。

Buy & HoldMACD ロングのみ(本番構成)ロング/ショート carry=0bpcarry=5bpcarry=20bp
BTC-USD CAGR51.65%43.66%36.45%28.66%7.84%
BTC-USD Sharpe0.961.350.940.800.39
BTC-USD MaxDD-83.40%-40.18%-57.04%-69.21%-88.92%
ETH-USD CAGR22.66%19.00%16.31%10.84%-4.10%
ETH-USD Sharpe0.670.700.560.450.12
ETH-USD MaxDD-93.96%-45.22%-67.38%-69.75%-80.66%

建玉維持コストが完全にゼロという、レバレッジ取引としては最も甘い前提でさえ、ロングのみの本番構成に対してCAGR・Sharpe・MaxDDのすべてが悪化しました。理由は主に3つあります。

  • 常に建玉を持ち続けることで、ロングのみが持っていた「方向感がはっきりしない局面は現金で様子見する」という効果が失われ、年率ボラティリティが常態的に上昇する
  • 現金↔ロングの一方向切り替えだった売買が、ロング↔ショートの双方向切り替えになり売買回数がほぼ倍増し、コスト負担も倍増する
  • BTC-USD・ETH-USDは長期的な片方向(上昇)トレンドが支配的で、MACDが下抜けと判定する局面は上昇局面に対称する持続的下落というより、より短く騙しの多いレンジ・調整であることが多い

念のため、足の粒度(1時間/6時間/12時間/24時間)とMACDパラメータ(12,26,9)/(6,13,4)を組み合わせた16通りでも同じ比較をやり直しましたが、Sharpeは16通り全てでロング/ショートがロングのみを下回りました(carry=0bpという最も有利な前提でもゼロ勝16敗)。「ショート追加はSharpe・MaxDDを一貫して悪化させる」という結論は、粒度やパラメータを変えても揺らぎませんでした。

MACDの方向転換ロジックをそのままショートに流用するという設計では、本番構成のCAGR劣後という課題は解決しないという、はっきりした否定的な結論です。この方向性は見送りとし、CAGR劣後への対応は別の方向性(たとえばポートフォリオ分散としての位置づけ直しなど)を優先することにしました。

検証で気をつけていること

今回の4つの検証を通じて改めて意識したのは、「期間の取り方」「サブ期間の分け方」「通貨建て」といった、一見すると些細な条件の違いだけで結論が反転しうるということです。検証3では、2014年開始と2018年開始で(6,13,4)の優劣がまるごと逆転しました。検証2では、学習期間の分割数を1つ変えただけでBTC-USDの最適パラメータが変わりました。ひとつの区切り方・ひとつの期間だけを見て「これが結論だ」と決めつけないよう、複数の切り口(期間・分割数・通貨建て・足の粒度)で同じ検証を繰り返し、結論がどこまで揺れずに残るかを確かめる、という姿勢を今回も徹底しました。

もうひとつは、「良い前提条件でもダメなら、悪い前提条件を精査するまでもなく見送る」という判断の仕方です。検証4のレバレッジショートは、建玉維持コストゼロという実際にはあり得ないほど有利な前提でさえ悪化したため、実際の手数料体系や追証リスクを詳しく調べるまでもなく見送りと判断できました。すべての可能性を律儀に潰しにいくのではなく、「最も有利な条件で負けるなら、それ以上検証する意味は薄い」と早めに見切りをつけることも、限られた時間で検証を進めるうえでは大事な判断だと思っています。

次回予告

次回は「代替インジケーター編」です。SMA/EMAクロス、モメンタム、部分手仕舞いといった候補は、単体で見ると良さそうに見える場面があるものの、今回・前回までに確立してきた本番のサイジング構成を組み合わせると軒並み優位性が消えてしまいます。そんな中、RSI(14)だけがMACDを上回る初めての候補として浮上した経緯を紹介する予定です。

最後まで読んでいただきありがとうございます。ご質問やコメントはお問い合わせからよろしくおねがいします。