Skip to content

Harvester knob comparison — 3 sweeps on session 1778073881466125560 ​

Setup ​

  • Capture session: 1778073881466125560-directional (186 MB ws_market, 31 KB rtds, ~3.5 h span)
  • Strategy fixed: directional, side=winning, min_probability=0.94, min_size=5, exit=0.99, budget_per_market=$5
  • What varies: entry_mode + entry_price_base + offset + post_only + max_entry_price (only test 1 and 3 share post-only=true at max=0.99)
Testentry_modeentry_price_baseoffsetpost_onlymax_entry_price
1 — knob raiselimitbest-bid+1¢true0.99
2 — market-crossmarket(taker)(n/a)false0.99
3 — best-ask improverlimitbest-ask−1¢true0.99

Results ​

MetricTest 1 (post-only +1¢)Test 2 (market-cross)Test 3 (best-ask −1¢)
Frames processed10,524,55010,524,55010,524,550
RTDS events available in capture199199199
Decisions emitted12311398
Orders placed12311398
Fills simulated221
Fill rate (fills/orders)1.6%1.8%1.0%
Realised PnL−$9.78−$9.78−$4.85
Unrealised PnL$0$0$0
Avg slippage bps000
Duration (replay wall-time)515 s432 s518 s

Reports at:

Read ​

Admission rate ranking (decisions, higher = more candidates pass filters) ​

Test 1 (limit best-bid +1¢ post-only)   123  ← most permissive at 0.99 cap
Test 2 (market-cross)                    113
Test 3 (limit best-ask -1¢ post-only)    98  ← strictest at 0.99 cap

Все три открывают значительно больше candidates чем production-baseline MAX=0.98 + best-bid+1¢ который в исходном sweep test давал 39 decisions. Поднятие cap'a до 0.99 примерно 3× admission rate.

Fill rate is low because window is short ​

Замер depth в harvester-depth-summary-2026-05-06.md показал что fillable depth at ≤ 0.95 — 0.7% asset coverage. Эта capture session — 3.5 часа на ~1300 assets. Простая арифметика: ожидаемые fills ≈ 0.7% × 100 orders × 0.5 (наша orders на ≤0.95-0.99) = ~0.35 fills. Получили 1-2 — на верхней границе.

Realised PnL отрицательный из-за обрубленного hold-периода ​

Все 3 теста купили (1-2 buy fills), ни один не продал (fills_count_sell=0). Harvester дизайн: купил @ 0.97, держим, продали @ 0.99 при разрешении рынка через часы/дни. В 3.5-часовом окне sell-side fills не успевают произойти (требуется toxic flow на нашем asset_id с ценой ≥ 0.99).

realized_pnl = -$9.78 отражает cost-basis открытых позиций, а не реальный round-trip убыток. На полном horizon (24-72h capture) sell-fills должны дойти и PnL флипнется в плюс при разрешении в нашу сторону, или в минус при stop-loss/неблагоприятном движении.

Какие сравнения ВАЛИДНЫ из этого замера ​

СравнениеVerdict
Какой config admits больше candidatesTest 1 (123) > Test 2 (113) > Test 3 (98). Все 3 ~3× от baseline 0.98.
Какой config даёт более высокий fill rateTest 2 (market-cross, 1.8%) ≈ Test 1 (1.6%) > Test 3 (1.0%). Не статистически значимо при N=2 fills.
Какой config зарабатывает в 3.5hNone — все три закончили session с открытыми позициями.

Что потребуется для economic ranking ​

  1. Capture session ≥ 24-48 h с RTDS events (post-fix). Текущая maximum post-fix session = 3.5 h.
  2. OR mock-fill engine на book deltas — synthetic trades из book updates (proposal earlier), чтобы short capture могла дать fills.
  3. OR replay multiple parallel sessions для bigger sample.

Артефакты ​