qbuntuqbuntu
marginalno_edge· fx· carry· fx· macro

FXキャリートレード(円クロス)のバックテスト

FX Carry Trade (JPY Crosses)

slug: fx-carry-jpy-crosses

円クロスでFXキャリートレードをバックテストした。1,200通りの中央値 Sharpe は +0.64。p-value は 0.12。Max DD は -32.9%。期間は 2020-08-18〜2026-05-22。最良 Sharpe +1.36 は代表値ではない。

判定は marginal。どこかのパラメータでは p-value が 0.10 を下回るが、中央値自体は promising の基準(Sharpe > 0.5 かつ p-value < 0.05)に届いていない。主因は no_edge。レジーム・取引回数・コストには分類されず、中央値が採用ラインに届いていない。

何を検証したか

FXキャリーは、金利の高い通貨を買い、低い通貨を売る取引です。このレコードは円が絡むクロスに限っています。中央値の Sharpe が 0.5 を超えても、中央値の p-value が 0.05 を下回らなければ promising にはしません。金利差は急に消えるので、Max DD と一緒に読んでください。

成績の中央値

Sharpe(中央値)
+0.64
Max DD
-32.9%
勝率
—
Alpha(年率)
—
p-value
0.12
期間: 2020-08-18 → 2026-05-22
1200通りの Sharpe:中央値 0.63最良 1.36 (代表値ではない)最悪 -0.45p25–p75 0.35–1.14

仮説

原文は英語。

FX carry trade: borrow low-yield JPY, invest in higher-yield currencies. Tests carry, Bollinger, MA crossover, and combined strategies on JPY pairs. Includes BOJ intervention risk filter (USD/JPY threshold → force FLAT).

採用しなかった理由

Across 1200 grid combinations, median Sharpe=0.63, best=1.36. Primary failure mode: no_edge.

検証ファクト (4)

Best grid Sharpe ratio is 1.36 (p=0.00095).
period 2020-08-18–2026-05-22; cost=1bps
sharpe_ratio1.36
Median Sharpe across 1200 grid runs is 0.63.
Full grid of 1200 parameter combinations.
sharpe_ratio0.63
Median Sharpe in DOWN regime is -0.74 across 1200 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.74
Median Sharpe in UP regime is 2.31 across 1200 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio2.31

検証ラン (30)

runparamssharpeUPFLATDOWN
leverage=1, strategy=carry, pairs=USD, cost_bps=1
r-fx-carry-jpy-crosses-0000
pairs: "USD"
cost_bps: 1
leverage: 1
+1.11+3.36—-2.06
leverage=1, strategy=carry, pairs=USD, cost_bps=3
r-fx-carry-jpy-crosses-0001
pairs: "USD"
cost_bps: 3
leverage: 1
+1.11+3.36—-2.06
leverage=1, strategy=carry, pairs=USD, cost_bps=5
r-fx-carry-jpy-crosses-0002
pairs: "USD"
cost_bps: 5
leverage: 1
+1.11+3.36—-2.06
leverage=1, strategy=carry, pairs=USD, intervention_threshold=150, cost_bps=1
r-fx-carry-jpy-crosses-0003
pairs: "USD"
cost_bps: 1
leverage: 1
+1.26+3.44—-1.51
leverage=1, strategy=carry, pairs=USD, intervention_threshold=160, cost_bps=1
r-fx-carry-jpy-crosses-0012
pairs: "USD"
cost_bps: 1
leverage: 1
+1.18+3.44—-1.98
leverage=1, strategy=carry, pairs=USD+GBP, cost_bps=1
r-fx-carry-jpy-crosses-0045
pairs: "USD+GBP"
cost_bps: 1
leverage: 1
+1.24+3.29—-1.72
leverage=1, strategy=bollinger, pairs=USD, cost_bps=1
r-fx-carry-jpy-crosses-0060
pairs: "USD"
cost_bps: 1
leverage: 1
-0.19-0.19—-0.18
leverage=1, strategy=bollinger, pairs=USD, intervention_threshold=150, cost_bps=5
r-fx-carry-jpy-crosses-0065
pairs: "USD"
cost_bps: 5
leverage: 1
-0.45-0.67—-0.16
leverage=1, strategy=ma_cross, pairs=USD, cost_bps=1
r-fx-carry-jpy-crosses-0120
pairs: "USD"
cost_bps: 1
leverage: 1
+0.71+1.55—-0.53
leverage=1, strategy=ma_cross, pairs=USD, intervention_threshold=150, cost_bps=5
r-fx-carry-jpy-crosses-0125
pairs: "USD"
cost_bps: 5
leverage: 1
+0.64+1.41—-0.39
leverage=1, strategy=combined, pairs=USD, intervention_threshold=150, cost_bps=3
r-fx-carry-jpy-crosses-0184
pairs: "USD"
cost_bps: 3
leverage: 1
+0.56+2.95—-0.89
leverage=2, strategy=carry, pairs=USD, intervention_threshold=150, cost_bps=1
r-fx-carry-jpy-crosses-0243
pairs: "USD"
cost_bps: 1
leverage: 2
+1.26+3.44—-1.51
leverage=2, strategy=bollinger, pairs=USD, cost_bps=5
r-fx-carry-jpy-crosses-0302
pairs: "USD"
cost_bps: 5
leverage: 2
-0.23-0.24—-0.22
leverage=2, strategy=ma_cross, pairs=USD, cost_bps=3
r-fx-carry-jpy-crosses-0361
pairs: "USD"
cost_bps: 3
leverage: 2
+0.68+1.53—-0.56
leverage=2, strategy=combined, pairs=USD, cost_bps=1
r-fx-carry-jpy-crosses-0420
pairs: "USD"
cost_bps: 1
leverage: 2
+0.62+3.34—-1.21
leverage=2, strategy=combined, pairs=USD+GBP, intervention_threshold=160, cost_bps=5
r-fx-carry-jpy-crosses-0479
pairs: "USD+GBP"
cost_bps: 5
leverage: 2
+1.10+3.77—-0.87
leverage=3, strategy=carry, pairs=USD+GBP, intervention_threshold=150, cost_bps=1
r-fx-carry-jpy-crosses-0528
pairs: "USD+GBP"
cost_bps: 1
leverage: 3
+1.36+3.36—-1.43
leverage=3, strategy=carry, pairs=USD+GBP, intervention_threshold=160, cost_bps=5
r-fx-carry-jpy-crosses-0539
pairs: "USD+GBP"
cost_bps: 5
leverage: 3
+1.29+3.34—-1.68
leverage=3, strategy=bollinger, pairs=USD, intervention_threshold=150, cost_bps=5
r-fx-carry-jpy-crosses-0545
pairs: "USD"
cost_bps: 5
leverage: 3
-0.45-0.67—-0.16
leverage=3, strategy=bollinger, pairs=USD+GBP, intervention_threshold=160, cost_bps=5
r-fx-carry-jpy-crosses-0599
pairs: "USD+GBP"
cost_bps: 5
leverage: 3
+0.32+0.39—+0.23
leverage=3, strategy=ma_cross, pairs=USD+GBP, intervention_threshold=160, cost_bps=3
r-fx-carry-jpy-crosses-0658
pairs: "USD+GBP"
cost_bps: 3
leverage: 3
+0.40+1.07—-0.71
leverage=3, strategy=combined, pairs=USD+GBP, intervention_threshold=160, cost_bps=1
r-fx-carry-jpy-crosses-0717
pairs: "USD+GBP"
cost_bps: 1
leverage: 3
+1.14+3.81—-0.85
leverage=5, strategy=carry, pairs=USD+GBP, intervention_threshold=158, cost_bps=5
r-fx-carry-jpy-crosses-0776
pairs: "USD+GBP"
cost_bps: 5
leverage: 5
+1.34+3.37—-1.60
leverage=5, strategy=bollinger, pairs=USD+GBP, intervention_threshold=158, cost_bps=3
r-fx-carry-jpy-crosses-0835
pairs: "USD+GBP"
cost_bps: 3
leverage: 5
+0.27+0.35—+0.15
leverage=5, strategy=ma_cross, pairs=USD+GBP, intervention_threshold=158, cost_bps=1
r-fx-carry-jpy-crosses-0894
pairs: "USD+GBP"
cost_bps: 1
leverage: 5
+0.50+1.15—-0.56
leverage=5, strategy=combined, pairs=USD+GBP, intervention_threshold=155, cost_bps=5
r-fx-carry-jpy-crosses-0953
pairs: "USD+GBP"
cost_bps: 5
leverage: 5
+1.10+3.67—-0.77
leverage=10, strategy=carry, pairs=USD, cost_bps=1
r-fx-carry-jpy-crosses-0960
pairs: "USD"
cost_bps: 1
leverage: 10
+1.11+3.36—-2.06
leverage=10, strategy=carry, pairs=USD+GBP, intervention_threshold=155, cost_bps=5
r-fx-carry-jpy-crosses-1013
pairs: "USD+GBP"
cost_bps: 5
leverage: 10
+1.34+3.38—-1.52
leverage=10, strategy=bollinger, pairs=USD+GBP, intervention_threshold=155, cost_bps=3
r-fx-carry-jpy-crosses-1072
pairs: "USD+GBP"
cost_bps: 3
leverage: 10
+0.33+0.38—+0.26
leverage=10, strategy=ma_cross, pairs=USD+GBP, intervention_threshold=155, cost_bps=1
r-fx-carry-jpy-crosses-1131
pairs: "USD+GBP"
cost_bps: 1
leverage: 10
+0.49+1.14—-0.55

対象ユニバース

FX pairs: USD/JPY, EUR/JPY, GBP/JPY, AUD/JPY
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T21:54:28

関連する戦略