SharpTrader OptimizerにおけるPhantom DriftとLock戦略の最適化 2026年07月13日 – Posted in: Arbitrage Software



BJF TRADING GROUP  ·  SHARPTRADER OPTIMIZER

Phantom DriftとすべてのLock戦略の最適化:Martingale-Plus-Arbitrageがレイテンシー以上に誠実なバックテストを必要とする理由

当社のライブ・レイテンシーテストは、パラメータ最適化が実際の資金に影響することをすでに証明しました。同じ戦略、2つの口座、そして最適化済みセットにより平均損失は3分の1に削減されました。Lockファミリーの戦略には、averaging ladderとlock-arbitrage legという2つの利益エンジンが重なっているため、誠実な最適化による効果は小さくなるのではなく、さらに大きくなります。SharpTrader Optimizerは現在、Hedge、Phantom Drift、すべてのLockバリアントについて、この両方を同時に調整します。

新機能:Lockファミリー全体
対象:Hedge、Phantom Drift、すべてのLockバリアント
両方の要素:martingale ladder + arbitrage leg
ステータス:提供開始済み



短い答え:SharpTrader Optimizerは現在、Phantom Driftを含むすべてのLockファミリー戦略に対して、現実的な約定を考慮したパラメータ検索を実行します。戦略の両側を制御する13個の数値パラメータをスイープします。つまり、averaging ladder(MaxTrades, LotExponent, PipStep, StopLoss, TakeProfit)と、arbitrageおよびexitロジック(DiffToOpen1/2, MaxSpreadFast/Slow, ArbProfit、および利益管理)です。各候補は、実際のtickデータ、モデル化された約定レイテンシー、tickごとの変動spread、両legのslippageを使って評価されます。RSIインジケーター自体はグリッドには含まれません。代わりに、異なるRSI設定で個別にバックテストを実行し、それらが結果をどう変えるかを比較します。複数要素の戦略は、各averaging層とhedgeの両側で約定コストを支払うため、単一legのlatency arbitrageよりもバックテストの誠実さに大きく影響され、適切に行われた最適化からより大きな恩恵を受けます。



今回提供開始されたもの

今年初め、SharpTrader OptimizerはHedge戦略の最適化を追加し、次のマイルストーンとしてLockファミリー全体を掲げていました。そのマイルストーンがいま実現しました。Optimizerは、すべてのLockファミリー戦略に対して、実tickかつ約定を考慮したパラメータスイープを実行できます。これには、Phantom Driftも含まれます。これは、lock arbitrageをRSIトリガーのaveragingシーケンス内に包み込み、ブローカーのリスクシステムからは通常のテクニカルトレーダーのように見える戦略です。

重要なのは、何が最適化されるかです。Phantom Driftは単一の仕組みではありません。順番に働く2つの仕組みです。1つは目に見えるaveraging ladder、つまりdrawdownの深さを作るmartingale部分。もう1つはfast-feedシグナルでポジションを解除するlock-arbitrage leg、つまりarbitrage部分です。これまでは、これらの要素を手作業で調整して期待するしかありませんでした。現在は、optimizerが両方の共同パラメータ空間を検索し、ライブ市場が実際に課すコストに沿って各候補を評価します。



レイテンシーテストはすでに原理を証明しています

optimizerを複数要素の戦略へ拡張する前に、現実的な約定評価がライブ結果に反映されることを、明確に測定できる戦略で証明したいと考えました。そこで最も単純な実験を行いました。同じlatency arbitrageロジックを2つのライブ口座で同時に稼働させ、一方は最適化済みパラメータ、もう一方はデフォルト、同じ銘柄、同じlotサイズ、同じ開始残高にしました。唯一の変数はパラメータセットでした。

平均損失コストを削減
5.41→11.3Profit factor
−6.2→−2.0損失あたりのpips
0.42%最適化後の最大DD

最適化済み口座は、より大きな勝ちを追ったわけではありません。負けトレードのコストを縮小し、平均負けトレードを−6.2 pipsから−2.0 pipsへ削減し、profit factorを2倍以上にしながらdrawdownも低下させました。これは単一legの戦略で、1回のentryと1回のexitです。では、この結果を、ポジションのaveraging ladderを開き、その後スタック全体をhedgeする戦略と並べてみてください。最適化のレバレッジがどこで大きくなるかが見えてきます。



Lock戦略がより難しく、より重要な最適化問題である理由

単一legのlatencyトレードは、約定コストを2回支払います。入るときに1回、出るときに1回です。Phantom Driftの1サイクルは、それをはるかに多く支払います。各averaging層は、実際のspreadをまたぎ、実際のslippageを受ける本物の注文です。その後、lockがhedgeポジションを追加し、unlockがそれを閉じます。それぞれが独自のfillコストを持つlegです。latency口座の負けトレードあたり数pipsを削った同じ約定摩擦が、いまやladder全体と両側hedgeにわたって増幅されます。

複利的な問題を一文で言うと

単一legのlatency arbitrageでは、約定コストは1回の往復取引への税金です。martingale-lock戦略では、約定コストは各averaging層とhedgeの両legで積み上がるため、latency口座を静かに削った同じper-fillエラーが、ladder全体のリスクプロファイルを作り変えてしまいます。

この積み上がりは両方向に作用します。つまり、bar data、zero-latency fills、固定spreadといった甘い前提でテストされたLock戦略は、実際の取引よりも劇的に安全で滑らかに見えます。層ごとの摩擦が一切課金されないからです。そして、誠実な約定コストを生き残るパラメータセットを見つける価値は、ここでは他のどこよりも大きくなります。間違え得るコストが多いからです。



optimizerが現在一緒に調整する2つの要素

最適化可能な13個のパラメータは、2つの結合したグループに分かれます。optimizerはそれらを共同で検索します。averaging ladderの間隔とサイズが各legの約定コスト吸収量を決め、spreadと差分のしきい値がladderがそもそもどれほど頻繁に起動するかを決めるからです。

PART A · AVERAGING LADDER

martingale構造

ブローカーから見えるポジション構築シーケンスであり、lockが必要とするdrawdownの深さを作る部分です。スイープされるパラメータ:

  • MaxTrades – シーケンスが構築できるポジション数(2から6)
  • LotExponent – 追加層ごとのlot倍率(1.5から3)
  • PipStep – averaging entry間のpip距離(20から60)
  • StopLoss / TakeProfit – ポジションごとのexit(50–100 / 200–500)
PART B · ARBITRAGE & EXIT

利益メカニズムとゲート

ポジションを開く価値があるかを決める差分およびspreadのしきい値と、それを閉じる利益管理です。スイープされるパラメータ:

  • DiffToOpen1 / DiffToOpen2 – entryをトリガーする価格差しきい値(10から100)
  • MaxSpreadFast / MaxSpreadSlow – fastおよびslow feedのspreadゲート(1から50)
  • ArbProfit – arbitrage利益しきい値(10から100)
  • MinProfit / PipsForMinProfit / MaxProfit – 利益確定管理

どちらか一方だけを調整すると、価値を取り逃します。より深い、または広いaveraging ladderは、arbitrage legが回復しなければならないdrawdownを変えます。より厳しいspreadまたは差分ゲートは、ladderがそもそも構築される頻度を変えます。共同検索こそが要点です。

完全な最適化グリッド

以下は、sweepが変化させるパラメータと、デフォルトのmin、step、max範囲です。検索を実行する前に、銘柄と口座サイズに合わせて各範囲を広げる、または狭めてください。

Parameter Min Step Max
StopLoss 50 10 100
TakeProfit 200 50 500
MinProfit 10 10 100
PipsForMinProfit 10 10 100
DiffToOpen1 10 10 100
DiffToOpen2 10 10 100
MaxSpreadSlow 1 5 50
MaxSpreadFast 1 5 50
MaxTrades 2 1 6
LotExponent 1.5 0.5 3
PipStep 20 10 60
MaxProfit 10 10 50
ArbProfit 10 10 100

RSIインジケーターはグリッドに含まれません。それは意図的です

Phantom DriftのentryインジケーターであるRSIは、スイープされる数値パラメータの1つではありません。グリッドは、上記のポジション構築、spread、差分、利益パラメータを調整します。RSI設定が結果にどう影響するかを調べるには、テストしたい各RSI設定で最適化を個別に実行し、それらの実行間で最高評価のパラメータセットを比較してください。

これは、インジケーターを考えるうえでも多くの場合より有用です。1つのグリッドに混ぜ込むのではなく、より厳しい、またはより緩いRSIが、他の条件を誠実に保ったまま、最適化された全体の面をどう動かすかを明確に読めるからです。



標準的なバックテスターがmartingale-lock戦略で誤解を招く理由

ほとんどの個人向けstrategy testerは方向性システム向けに作られており、方向性戦略では単に楽観的に過ぎないものの、martingale-lock戦略では積極的に危険となる3つの前提を置きます。bar dataで価格を付けること、zero-latency fillsを仮定すること、単一の固定spreadを適用することです。averaging ladderでは、これらの誤差が各層ごとに1回、さらに両方のhedge legで再び課されます。

M1 bars上では滑らかに見えるmartingaleのequity curveも、各averaging entryがそのtickに実際に存在した変動spreadを支払い、lockとunlockがそれぞれ独立したslippageを支払い、fill遅延が無視されるのではなくモデル化されると、まったく別物になり得ます。その違いは、単に少し低い数字として現れるのではありません。異なるリスクプロファイルとして現れます。甘いbacktestが生き残ると言う層こそ、誠実なbacktestではequity-control levelを破る層だからです。

課されるもの 標準backtester SharpTrader Optimizer
価格解像度 M1 / M5 bar近似 自分の口座から記録された実ticks
注文約定時間 即時と仮定(zero latency) ミリ秒単位で設定可能なlatency
Spread 固定のブローカー標準値 tickごとの過去変動spread
各averaging entryのslippage 無視または固定 fillごとにモデル化
Lock + unlock legs 無料 / 即時として扱う 両legを独立して課金
実行可能なグリッドサイズ 小規模、シングルスレッド 全コアで100,000以上の組み合わせ
最適な取引時間 表示されない 24時間パフォーマンスheatmap



誠実な約定評価がLock戦略で変えるもの

latency結果を信頼できるものにした4つの要素は、Lock戦略では重要性が低くなるのではなく、さらに高くなります。各要素がladderとhedge全体で繰り返し課されるからです。

01

自分の口座からの実tickデータ

ticksはSharpTraderによってライブブローカー口座から記録されるため、各averaging entryは、barのopenやcloseでも理想化されたfeedでもなく、口座が実際に見た価格に着地します。ブローカーの実際の挙動も含まれます。ladderでは、bar近似がarbitrage legに引き継がれるdrawdownを静かに誤って見積もります。

02

約定時間のモデル化

現実的なfill遅延をミリ秒単位で設定します。Lock-arbitrage legは、そのedge全体がfast-feedの優位性に依存しているため、zero-latencyの仮定は、紙の上では美しく見せ、ライブでは失敗させるまさにその仮定です。

03

tickごとの変動spread

各層は、開いたときに実際に存在したspreadを支払います。固定のデフォルトではありません。Averagingは多くの場合、変動が大きくspreadが広い瞬間に追加されます。これは、固定spreadテストが実際のコストを最も過小評価する場面です。

04

両legのslippage

lockとunlockは独立してモデル化されます。素朴なテストでは無料で閉じられるhedgeも、ここでは誠実に課金されるため、テスト上のサイクルごとの回復は、実際に期待できる回復になります。



Phantom Drift最適化の実行方法

1. 自分のtick履歴を記録します。 SharpTraderは、ブローカーが配布する理想化されたfeedではなく、ライブブローカー口座から直接ticksを収集します。つまり、その履歴には、ブローカー側のplugins、requotes、約定の癖を含め、あなたの口座が実際に経験するものが正確に含まれます。クリーンなラボfeedではなく、実際の取引条件に対してテストしているのです。パラメータはブローカー間で移植できないため、実際に運用する口座で記録し、テストしてください。

2. 現実的な約定latencyを設定します。fast feedが実行ブローカーに対して持つ優位性を反映するミリ秒単位の値です。

3. 13個のパラメータでグリッドを定義します。ladder側はMaxTrades、LotExponent、PipStep、StopLoss、TakeProfit。arbitrageおよびexit側はDiffToOpen1/2、MaxSpreadFast/Slow、ArbProfit、利益管理です。各min、step、maxを銘柄と口座サイズに合わせて調整します。

4. 全コアでsweepを実行します。 大規模な多パラメータグリッドでも数時間で完了し、各候補に対してtickごとの変動spreadと両legのslippageが課されます。

5. heatmapとscoreを読みます。 目に見えるwin rateではなく、profit factorとdrawdownで順位付けし、24時間heatmapでどのセッションが実際にedgeを支えているかを確認します。

6. RSI設定ごとに繰り返します。 RSIはグリッドでスイープされないため、比較したい各RSI設定でsweepを再実行し、最良のパラメータセットがそれらの間でどう変化するかを読み取ります。

実務上の意味

  • arbitrageだけでなく、両方の要素が最適化されます。 隠れた約定コストの大半はaveraging ladderにあるため、誠実なfillsに対してそれを調整することが、多くの改善を生みます。
  • 見かけのwin rateではなく、profit factorとdrawdownに合わせて最適化します。 latencyテストが示したように、見た目の良いwin rateの口座が、より多くのお金を残す口座とは限りません。
  • 銘柄ごと、ブローカーごとに再調整します。 Lock戦略の約定プロファイルはブローカー固有です。ある環境で調整されたセットは、別の環境では有効ではありません。
  • ladder上のzero-latency、fixed-spreadテストを決して信頼しないでください。 これは、戦略を実際に壊す層を隠すことが保証された設定です。



よくある質問

SharpTrader Optimizerは現在Phantom Driftを最適化できますか?

はい。Phantom DriftはLockファミリーの一部であり、Lockファミリー全体のサポートはすでに提供開始されています。optimizerは、LatencyおよびHedge戦略と同じ方法で、Phantom Drift全体に実tickかつ約定を考慮したパラメータスイープを実行します。

martingale averaging部分を最適化するのですか、それともarbitrage部分だけですか?

両方です。しかも共同で行います。optimizerはaveraging ladderのパラメータ(MaxTrades, LotExponent, PipStep, StopLoss, TakeProfit)を、arbitrageおよびexitパラメータ(DiffToOpen1/2, MaxSpreadFast, MaxSpreadSlow, ArbProfit, MinProfit, PipsForMinProfit, MaxProfit)と一緒にスイープします。2つのグループは結合しているため、一緒に調整することが要点です。RSI entryインジケーターはグリッドには含まれません。

なぜmartingale-lock戦略はlatency arbitrageよりも誠実なバックテストを必要とするのですか?

約定コストが積み上がるからです。単一legのlatencyトレードは、1回の往復取引でspreadとslippageを支払います。Lock戦略は、それを各averaging層とhedgeの両legで支払います。zero latencyと固定spreadを仮定するbacktesterは、latencyではそのコストを1回過小評価しますが、ladderでは何度も過小評価します。その結果、単なる損益ではなく、戦略全体のリスクプロファイルが変わってしまいます。

Phantom Drift戦略ではどのパラメータを調整しますか?

13個の数値パラメータです。StopLoss, TakeProfit, MinProfit, PipsForMinProfit, DiffToOpen1, DiffToOpen2, MaxSpreadSlow, MaxSpreadFast, MaxTrades, LotExponent, PipStep, MaxProfit, ArbProfitです。それぞれに設定可能なmin、step、maxがあります。RSI entryインジケーターはグリッドでスイープされません。その効果を調べるには、異なるRSI設定で個別に最適化を実行し、比較します。

tickデータはどこから来ますか?

あなた自身の口座からです。SharpTraderはライブブローカー接続から直接ticksを記録するため、最適化に使う履歴は、あなたの口座が受け取った正確な価格ストリームです。ブローカーが口座上でpluginsを動かしているかどうかに関係なく、実際の約定挙動も含まれます。ブローカーが公開する理想化またはクリーン化されたfeedでテストしているのではなく、実際にあなたのターミナルへ届いたものに対してテストしています。これにより、パラメータはブローカー固有となり、結果はライブ条件を反映したものになります。

RSIインジケーター設定も最適化できますか?

13個の数値的なポジション、spread、差分、利益パラメータをスイープするパラメータグリッド内ではできません。RSIが結果にどう影響するかを見るには、テストしたい各RSI設定で最適化を個別に実行し、それらの実行間で最高評価のパラメータセットを比較してください。これにより、RSIを1つのグリッドに混ぜるよりも、より厳しい、またはより緩いRSIが最適化面全体をどう動かすかをきれいに読み取れます。

パラメータはブローカー間または銘柄間で移行できますか?

いいえ。各銘柄には独自のspread挙動とvolatilityがあり、各ブローカーには独自の約定プロファイルがあります。パラメータセットは、それが調整された条件に対してのみ有効です。そのため、運用前に銘柄ごと、ブローカー環境ごとにsweepを再実行する必要があります。

Lockファミリー最適化は現在利用できますか?

はい、提供開始済みです。既存のSharpTrader Optimizerユーザーは最新buildをリクエストできます。また、ツールを検討している方は、製品ページで完全な機能一覧を確認できます。buildの入手やLock戦略sweepの設定支援については、support@bjftradinggroup.com までご連絡ください。





Phantom DriftとLock戦略を誠実に調整する

SharpTrader Optimizerは現在、Lockファミリー全体、Hedge、Phantom Driftを対象に、averaging ladderとlock-arbitrage legの両方をスイープし、実tickデータ、モデル化された約定時間、変動spread、両legのslippageで各候補を評価します。bar上で滑らかに見えるだけのセットではなく、本番環境を生き残るパラメータセットを見つけてください。

SharpTrader Optimizerを見る