SharpTrader Optimizer에서 Phantom Drift와 Lock 전략 최적화 7월 13, 2026 – Posted in: Arbitrage Software



BJF TRADING GROUP  ·  SHARPTRADER OPTIMIZER

Phantom Drift와 모든 Lock 전략 최적화: Martingale-Plus-Arbitrage가 레이턴시보다 더 정직한 백테스트를 필요로 하는 이유

당사의 라이브 레이턴시 테스트는 이미 파라미터 최적화가 실제 자금을 움직인다는 것을 입증했습니다. 같은 전략, 두 계좌, 그리고 튜닝된 세트가 평균 손실을 3분의 1로 줄였습니다. Lock 계열 전략에는 두 개의 수익 엔진이 겹쳐 있습니다. averaging ladder와 lock-arbitrage leg입니다. 따라서 정직한 최적화의 효과는 더 작아지는 것이 아니라 더 커집니다. 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 데이터, 모델링된 실행 latency, tick별 가변 spread, 양쪽 leg의 slippage를 기준으로 평가됩니다. RSI 지표 자체는 grid에 포함되지 않습니다. 대신 서로 다른 RSI 설정에서 별도 backtest를 실행하고 결과가 어떻게 달라지는지 비교합니다. 다중 구성 전략은 모든 averaging 단계와 hedge 양쪽에서 실행 비용을 지불하기 때문에 단일 leg latency arbitrage보다 정직한 backtest에 훨씬 더 민감하며, 제대로 수행된 최적화에서 더 큰 이익을 얻습니다.



이번에 출시된 기능

올해 초 SharpTrader Optimizer는 Hedge 전략 최적화를 추가했고, 전체 Lock 계열을 다음 마일스톤으로 예고했습니다. 그 마일스톤이 이제 제공됩니다. optimizer는 모든 Lock 계열 전략에서 실제 tick, 실행 인식 기반 파라미터 스윕을 수행할 수 있으며, 여기에는 Phantom Drift도 포함됩니다. Phantom Drift는 lock arbitrage를 RSI 트리거 averaging sequence 안에 감싸 broker risk system이 보기에는 일반적인 technical trader처럼 보이게 하는 전략입니다.

중요한 부분은 무엇이 최적화되는가입니다. Phantom Drift는 하나의 메커니즘이 아니라 순차적으로 작동하는 두 메커니즘입니다. 눈에 보이는 averaging ladder, 즉 drawdown depth를 만드는 martingale 부분, 그리고 fast-feed signal로 포지션을 unlock하는 lock-arbitrage leg, 즉 arbitrage 부분입니다. 지금까지는 이 구성 요소들을 손으로 조정하고 기대할 수밖에 없었습니다. 이제 optimizer는 두 부분의 결합 파라미터 공간을 검색하고, 라이브 시장이 실제로 부과하는 방식으로 모든 후보를 평가합니다.



레이턴시 테스트는 이미 원리를 입증했습니다

optimizer를 다중 구성 전략으로 확장하기 전에, 우리는 현실적 실행 평가가 라이브 결과로 이어진다는 증거를 명확히 측정 가능한 전략에서 확인하고 싶었습니다. 그래서 가능한 가장 단순한 실험을 진행했습니다. 동일한 latency arbitrage 로직을 두 개의 라이브 계좌에서 동시에 실행했습니다. 하나는 최적화된 파라미터, 하나는 기본값, 같은 instrument, 같은 lot size, 같은 starting balance였습니다. 유일한 변수는 파라미터 세트였습니다.

평균 손실 비용 감소
5.41→11.3Profit factor
−6.2→−2.0손실당 pips
0.42%최적화된 최대 DD

최적화된 계좌는 더 큰 승리를 쫓지 않았습니다. 손실 거래의 비용을 줄였고, 평균 손실 거래를 −6.2 pips에서 −2.0 pips로 낮췄으며, drawdown을 낮추면서 profit factor를 두 배 이상 높였습니다. 이는 단일 leg 전략으로, 한 번의 entry와 한 번의 exit입니다. 이제 이 결과를 포지션의 averaging ladder를 열고 그 전체 stack을 hedge하는 전략 옆에 놓고, 최적화의 레버리지가 어디에서 더 큰지 생각해 보십시오.



Lock 전략이 더 어렵고 더 중요한 최적화 문제인 이유

단일 leg latency 거래는 실행 비용을 두 번 지불합니다. 들어갈 때 한 번, 나올 때 한 번입니다. Phantom Drift cycle은 훨씬 더 자주 지불합니다. 모든 averaging layer는 실제 spread를 통과하고 실제 slippage를 받는 실제 주문입니다. 그런 다음 lock은 hedge position을 추가하고, unlock은 그것을 닫습니다. 각각은 고유한 fill cost가 있는 leg입니다. latency 계좌에서 손실 거래당 몇 pips를 비용으로 만들었던 동일한 실행 마찰이 이제 전체 ladder와 양방향 hedge 전반에 곱해집니다.

누적 문제를 한 줄로 설명하면

단일 leg latency arbitrage에서 실행 비용은 한 번의 왕복 거래에 대한 세금입니다. martingale-lock 전략에서는 실행 비용이 모든 averaging layer와 hedge의 양쪽 leg에 걸쳐 누적되므로, latency 계좌를 조용히 깎아낸 동일한 per-fill error가 ladder 전체의 risk profile을 다시 형성합니다.

이 누적은 양방향으로 작용합니다. 즉, bar data, zero-latency fills, fixed spread 같은 느슨한 가정으로 테스트한 Lock 전략은 실제 거래보다 훨씬 더 안전하고 매끄럽게 보입니다. layer-by-layer 마찰 비용이 전혀 청구되지 않기 때문입니다. 또한 정직한 실행 비용을 견디는 파라미터 세트를 찾는 가치는 여기서 다른 어디보다 큽니다. 잘못 계산될 수 있는 비용이 더 많기 때문입니다.



optimizer가 이제 함께 튜닝하는 두 부분

최적화 가능한 13개 파라미터는 두 개의 결합된 그룹으로 나뉩니다. optimizer는 이를 공동으로 검색합니다. averaging ladder의 간격과 크기가 각 leg가 흡수하는 실행 비용을 결정하고, spread 및 difference threshold가 ladder가 애초에 얼마나 자주 트리거되는지를 결정하기 때문입니다.

PART A · AVERAGING LADDER

martingale 구조

broker가 보는 가시적인 포지션 구축 시퀀스이자, lock이 필요로 하는 drawdown depth를 만드는 부분입니다. 스윕되는 파라미터:

  • MaxTrades – 시퀀스가 만들 수 있는 포지션 수 (2~6)
  • LotExponent – 추가 layer마다 적용되는 lot multiplier (1.5~3)
  • PipStep – averaging entry 간 pip 거리 (20~60)
  • StopLoss / TakeProfit – 포지션별 exit (50–100 / 200–500)
PART B · ARBITRAGE & EXIT

수익 메커니즘과 게이트

포지션을 열 가치가 있는지를 결정하는 difference 및 spread threshold와, 이를 닫는 profit control입니다. 스윕되는 파라미터:

  • DiffToOpen1 / DiffToOpen2 – entry를 트리거하는 가격 차이 threshold (10~100)
  • MaxSpreadFast / MaxSpreadSlow – fast 및 slow feed의 spread gate (1~50)
  • ArbProfit – arbitrage profit threshold (10~100)
  • MinProfit / PipsForMinProfit / MaxProfit – profit-taking controls

어느 한쪽만 따로 튜닝하면 가치를 놓치게 됩니다. 더 깊거나 더 넓은 averaging ladder는 arbitrage leg가 회복해야 하는 drawdown을 바꾸고, 더 엄격한 spread 또는 difference gate는 ladder가 처음부터 얼마나 자주 구축되는지를 바꿉니다. 공동 검색이 핵심입니다.

전체 최적화 grid

아래는 sweep이 변경하는 파라미터와 기본 min, step, max 범위입니다. 검색을 실행하기 전에 instrument와 계좌 크기에 맞게 범위를 넓히거나 좁히십시오.

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 지표가 grid에 없는 것은 의도된 것입니다

Phantom Drift의 entry indicator인 RSI는 스윕되는 숫자 파라미터 중 하나가 아닙니다. grid는 위의 포지션 구축, spread, difference, profit 파라미터를 튜닝합니다. RSI 설정이 결과에 어떤 영향을 주는지 확인하려면 테스트하려는 각 RSI 구성에서 최적화를 별도로 실행한 뒤, 해당 실행들 사이의 최고 점수 파라미터 세트를 비교하십시오.

이는 지표를 이해하는 데에도 더 유용한 방식인 경우가 많습니다. 하나의 grid에 섞는 대신, 더 타이트하거나 더 느슨한 RSI가 전체 최적화 표면을 어떻게 이동시키는지, 나머지는 정직하게 유지한 상태에서 명확히 읽을 수 있기 때문입니다.



표준 backtester가 martingale-lock 전략에서 오해를 만드는 이유

대부분의 retail strategy tester는 directional system을 위해 만들어졌으며, directional strategy에서는 단지 낙관적인 정도이지만 martingale-lock 전략에서는 실제로 위험한 세 가지 가정을 합니다. bar data로 가격을 매기고, zero-latency fills를 가정하며, 하나의 fixed spread를 적용합니다. averaging ladder에서는 이러한 오류 각각이 layer마다 한 번, 그리고 hedge의 양쪽 leg에서 다시 한 번 비용으로 청구됩니다.

M1 bars에서 매끄럽게 보이는 martingale equity curve도, 모든 averaging entry가 해당 tick에 실제로 존재했던 variable spread를 지불하고, lock과 unlock이 각각 독립적인 slippage를 지불하며, fill delay가 무시되지 않고 모델링되면 전혀 다른 모습이 될 수 있습니다. 차이는 단순히 숫자가 조금 낮아지는 것으로 나타나지 않습니다. 다른 risk profile로 나타납니다. 느슨한 backtest가 살아남는다고 말하는 layer가, 정직한 backtest에서는 equity-control level을 깨뜨리는 layer이기 때문입니다.

청구되는 항목 표준 backtester SharpTrader Optimizer
가격 해상도 M1 / M5 bar approximation 자신의 계좌에서 기록된 실제 ticks
주문 실행 시간 즉시 실행 가정 (zero latency) 밀리초 단위로 설정 가능한 latency
Spread 고정 broker default tick별 variable historical spread
각 averaging entry의 slippage 무시 또는 고정값 fill별로 모델링
Lock + unlock legs 무료 / 즉시로 처리 양쪽 leg를 독립적으로 청구
가능한 grid size 작고, single-threaded 모든 코어에서 100,000+ 조합
최적 trading hours 표시되지 않음 24시간 performance heatmap



정직한 실행 평가가 Lock 전략에서 바꾸는 것

latency 결과를 신뢰할 수 있게 만든 네 가지 요소는 Lock 전략에서 덜 중요해지는 것이 아니라 더 중요해집니다. 각 요소가 ladder와 hedge 전반에서 반복적으로 청구되기 때문입니다.

01

자신의 계좌에서 가져온 실제 tick data

ticks는 SharpTrader가 라이브 broker 계좌에서 기록하므로, 각 averaging entry는 bar의 open 또는 close가 아니라, 이상화된 feed가 아니라, 실제로 계좌가 본 가격에 도달합니다. broker의 실제 행동도 포함됩니다. ladder에서는 bar approximation이 arbitrage leg가 이어받는 drawdown을 조용히 잘못 측정합니다.

02

실행 시간 모델링

현실적인 fill delay를 밀리초 단위로 설정합니다. 전체 edge가 fast-feed advantage인 lock-arbitrage leg에서는 zero-latency 가정이 바로 종이 위에서는 좋게 보이지만 라이브에서는 실패하게 만드는 가정입니다.

03

tick별 variable spread

각 layer는 열릴 때 실제로 존재했던 spread를 지불합니다. 고정 default가 아닙니다. averaging은 대개 변동성이 크고 spread가 넓은 순간에 추가되며, 바로 그때 fixed-spread test가 실제 비용을 가장 크게 축소합니다.

04

양쪽 leg의 slippage

lock과 unlock은 독립적으로 모델링됩니다. 단순한 테스트에서 무료로 닫히는 hedge가 여기서는 정직하게 청구되므로, 테스트에서 cycle별 recovery는 실제로 기대할 수 있는 recovery가 됩니다.



Phantom Drift 최적화를 실행하는 방법

1. 자신의 tick history를 기록하십시오. SharpTrader는 broker가 제공하는 이상화된 feed가 아니라 라이브 broker 계좌에서 직접 ticks를 수집합니다. 즉 history에는 broker-side plugins, requotes, execution quirks를 포함해 계좌가 실제로 경험하는 것이 그대로 들어 있습니다. 깨끗한 실험실 feed가 아니라 실제 trading conditions를 기준으로 테스트하는 것입니다. 파라미터는 broker 간 이전되지 않으므로 실제 배포할 계좌에서 기록하고 테스트하십시오.

2. 현실적인 execution latency를 설정하십시오. fast feed가 execution broker보다 가지는 advantage를 반영하는 밀리초 단위 값입니다.

3. 13개 파라미터에 걸쳐 grid를 정의하십시오. ladder 쪽은 MaxTrades, LotExponent, PipStep, StopLoss, TakeProfit이고, arbitrage 및 exit 쪽은 DiffToOpen1/2, MaxSpreadFast/Slow, ArbProfit 및 profit controls입니다. 각 min, step, max를 instrument와 account size에 맞게 조정하십시오.

4. 모든 코어에서 sweep을 실행하십시오. 큰 multi-parameter grid도 몇 시간 안에 완료되며, tick별 variable spread와 two-legged slippage가 모든 후보에 청구됩니다.

5. heatmap과 score를 읽으십시오. 눈에 보이는 win rate가 아니라 profit factor와 drawdown 기준으로 순위를 매기고, 24-hour heatmap을 사용해 어떤 session이 실제 edge를 지탱하는지 확인하십시오.

6. RSI 설정별로 반복하십시오. RSI는 grid에서 스윕되지 않으므로 비교하려는 각 RSI 구성에서 sweep을 다시 실행하고, 최상의 파라미터 세트가 그 사이에서 어떻게 이동하는지 확인하십시오.

실무적으로 의미하는 것

  • arbitrage만이 아니라 두 부분 모두 최적화됩니다. 숨겨진 실행 비용 대부분은 averaging ladder에 있으므로, 정직한 fills를 기준으로 이를 튜닝하는 곳에서 많은 개선이 나옵니다.
  • 가려진 win rate가 아니라 profit factor와 drawdown을 기준으로 최적화하십시오. latency 테스트가 보여준 것처럼, 더 좋아 보이는 win rate가 더 많은 돈을 지키는 계좌는 아닙니다.
  • instrument별, broker별로 재보정하십시오. Lock 전략의 execution profile은 broker-specific입니다. 한 환경에서 튜닝된 세트는 다른 환경에서 유효하지 않습니다.
  • ladder에서 zero-latency, fixed-spread test를 절대 신뢰하지 마십시오. 이는 실제로 전략을 깨뜨리는 layer를 숨기도록 보장된 설정입니다.



자주 묻는 질문

SharpTrader Optimizer가 이제 Phantom Drift를 최적화할 수 있습니까?

예. Phantom Drift는 Lock 계열의 일부이며, 전체 Lock-family support가 이제 출시되었습니다. optimizer는 Latency 및 Hedge 전략에서와 같은 방식으로 Phantom Drift 전반에 실제 tick, 실행 인식 기반 파라미터 sweep을 실행합니다.

martingale averaging 부분을 최적화합니까, 아니면 arbitrage 부분만 최적화합니까?

둘 다이며, 공동으로 최적화합니다. optimizer는 averaging ladder 파라미터(MaxTrades, LotExponent, PipStep, StopLoss, TakeProfit)를 arbitrage 및 exit 파라미터(DiffToOpen1/2, MaxSpreadFast, MaxSpreadSlow, ArbProfit, MinProfit, PipsForMinProfit, MaxProfit)와 함께 스윕합니다. 두 그룹은 결합되어 있으므로 함께 튜닝하는 것이 핵심입니다. RSI entry indicator는 grid에 포함되지 않습니다.

왜 martingale-lock 전략은 latency arbitrage보다 더 정직한 backtesting이 필요합니까?

실행 비용이 누적되기 때문입니다. 단일 leg latency trade는 한 번의 round trip에서 spread와 slippage를 지불합니다. Lock 전략은 모든 averaging layer와 hedge의 양쪽 leg에서 이를 지불합니다. zero latency와 fixed spread를 가정하는 backtester는 latency에서는 그 비용을 한 번 과소평가하지만, ladder에서는 여러 번 과소평가합니다. 이는 단순히 bottom line만이 아니라 전략의 전체 risk profile을 바꾸기에 충분합니다.

Phantom Drift 전략에서 어떤 파라미터를 튜닝합니까?

13개의 숫자 파라미터입니다: StopLoss, TakeProfit, MinProfit, PipsForMinProfit, DiffToOpen1, DiffToOpen2, MaxSpreadSlow, MaxSpreadFast, MaxTrades, LotExponent, PipStep, MaxProfit, ArbProfit. 각각은 설정 가능한 min, step, max를 가집니다. RSI entry indicator는 grid에서 스윕되지 않습니다. 그 영향을 연구하려면 서로 다른 RSI 설정에서 최적화를 별도로 실행하고 비교하십시오.

tick data는 어디에서 옵니까?

자신의 계좌에서 옵니다. SharpTrader는 라이브 broker connection에서 직접 ticks를 기록하므로, 최적화하는 history는 broker가 계좌에서 plugins를 실행하는지 여부와 관계없이 실제 broker execution behavior가 포함된, 계좌가 받은 정확한 price stream입니다. broker가 공개하는 이상화되거나 정리된 feed에서 테스트하는 것이 아니라, 실제로 terminal에 도달한 것을 기준으로 테스트합니다. 이것이 파라미터를 broker-specific하게 만들고 결과를 live conditions를 대표하게 만듭니다.

RSI 지표 설정도 최적화할 수 있습니까?

13개의 숫자 position, spread, difference, profit 파라미터를 스윕하는 parameter grid 안에서는 아닙니다. RSI가 결과에 어떤 영향을 주는지 보려면 테스트하려는 각 RSI 구성에서 최적화를 별도로 실행한 뒤, 해당 실행들 사이의 최고 점수 파라미터 세트를 비교하십시오. 이는 하나의 grid에 섞는 것보다 더 타이트하거나 더 느슨한 RSI가 전체 optimized surface를 어떻게 이동시키는지 더 깔끔하게 읽게 해 줍니다.

파라미터가 broker 또는 instrument 간에 이전됩니까?

아니요. 각 instrument는 고유한 spread behavior와 volatility를 가지고, 각 broker는 고유한 execution profile을 가집니다. 파라미터 세트는 튜닝된 조건에서만 유효하므로 배포 전에 instrument별 및 broker environment별로 sweep을 다시 실행해야 합니다.

Lock-family optimization은 지금 사용할 수 있습니까?

예, 출시되었습니다. 기존 SharpTrader Optimizer 사용자는 최신 build를 요청할 수 있으며, 도구를 검토 중인 분은 제품 페이지에서 전체 기능 목록을 확인할 수 있습니다. build 또는 lock-strategy sweep 구성 지원이 필요하면 support@bjftradinggroup.com 으로 문의하십시오.





Phantom Drift 및 Lock 전략을 정직하게 튜닝하십시오

SharpTrader Optimizer는 이제 전체 Lock 계열, Hedge 및 Phantom Drift를 averaging ladder와 lock-arbitrage leg 양쪽에 걸쳐 스윕하며, 실제 tick data, 모델링된 execution time, variable spread, two-legged slippage로 모든 후보를 평가합니다. bars에서 매끄럽게 보이는 세트가 아니라 실제 운영을 견디는 파라미터 세트를 찾으십시오.

SharpTrader Optimizer 살펴보기