S
strat-decoder
hyperliquid · reverse-engineer
Completed 2 months ago

High Frequency Taker

0xdc83cb546ab87ced1d2c53caa4606b4cf7e20a8e

← New
Window
90.0d
Fills
5,735
Closed PnL
$-1.26K
Win rate
50.2%

TL;DR

High-frequency taker rotating a 32-asset perp basket at 76.5 fills/day with a $639 median clip. The signature is symmetric P/L (avg winner $43.22 vs avg loser -$44.52, 50.2% win rate) on $14.0M of volume that grossed roughly +$5.2k but paid $6.4k in fees, ending the 90-day window at -$1,255 closed PnL and a -$12.2k peak drawdown.

How they trade

Entries are almost entirely long (buy/sell ratio 1.09, and every pivotal trade in the sample was a Close Long) and are built by firing 15–30 taker child orders within seconds — the HYPE 2026-02-15 sample stacked 27 Open Long fills in 16 seconds across 31.256–31.288. Parent positions are assembled from ~$640 median clips into $10k–$70k of notional, with no volatility scaling: HYPE clips run ~$3k, ZEC ~$300, and equity-style xyz: tickers $5k–$30k. Activity concentrates in UTC 13–15 (1,595 fills) and 03–05 (1,101 fills), with Friday alone carrying 33.5% of fills and hours 19–22 effectively dead. Exits are short-horizon: median hold 7.4 hours, p95 4.3 days, and winners are truncated at roughly the same magnitude as losers, so the profit factor sits at 0.979. Losses are taken in single large taker prints (SNDK -$2,841 on a $30.7k clip; SKHX -$2,276; HYPE -$909) rather than scaled out. The account holds zero open positions at snapshot — there is no overnight book, just repeated intraday cycles across HYPE (29.3% of volume), ZEC (21.9%), BTC (18.3%), and a long tail of tokenized equities.

Edge hypothesis

The plausible edge is short-horizon momentum capture via aggressive sweeps during US/EU overlap and Asia open, and it does generate positive gross trading PnL on crypto majors (HYPE +$3.95k, ZEC +$3.04k, BTC +$2.77k). That edge is destroyed by two leaks: $6,415 in fees from 78.9% taker flow, and a structurally losing tokenized-equity sleeve (SNDK -$3.39k, USAR -$2.04k, MU -$1.35k, MSFT -$0.98k). Funding is a minor headwind at -$522, not a thesis.

Numbers that matter

Metric Value
Fills / day 76.54
Median clip size $638.82
Maker % 20.9%
Win rate 50.2%
Avg winner / avg loser $43.22 / -$44.52
Profit factor 0.979
Total fees vs closed PnL $6,415 / -$1,255
Max drawdown -$12,214 (2026-03-27)
Asset HHI (32 assets) 0.176

What we cannot conclude

High Frequency Taker conf 0.7 also: Scalper
  • 76.5 fills/day across 32 assets
  • maker_pct only 20.9% (mostly taker)
  • median hold ~7.4 hours, but high fill cadence and small median clip $639
  • profit_factor 0.979, expectancy -$0.46, win_rate 50.2% — churn-like
  • total volume $14M vs $6.4k fees — fee drag dominates
  • HHI 0.176, diversified across HYPE/ZEC/BTC and equity-style xyz: tickers

Entry rules

  • Long-only directional bias

    Open positions almost exclusively long (every pivotal winner & loser is 'Close Long' i.e. opened with a buy). buy_count 2991 vs sell_count 2744 → buy_sell ratio 1.09.

    Evidence: pivotal_trades: 10/10 winners and 10/10 losers are dir='Close Long'; feature buy_sell_ratio=1.09.

  • Burst-fill taker entry

    Open a target position by firing 15–30 taker market-buy child orders within the same second across the order book (TWAP/sweep style), e.g. HYPE opened with 27 'Open Long' fills all stamped 2026-02-15T01:40:47Z–01:41:03Z across prices 31.256–31.288.

    Evidence: sample_fills HYPE 2026-02-15 shows 27 Open Long fills in ~16s, maker=false; maker_pct overall only 20.9%.

  • Active-session trigger

    Concentrate entries during US/EU overlap and Asia open: UTC hours 13–15 (1595 fills) and 03–05 (1101 fills); avoid 19–22 UTC (<25 fills). Friday is dominant (1921 fills, 33.5%).

    Evidence: rhythm.fills_by_hour_utc peaks at h15=625, h14=525, h03=522; fills_by_dow Friday=1921 vs Saturday=394.

  • Clip sizing per child order

    Each child clip ≈ $640 median ($2,445 average) notional; aggregate parent order ≈ 15–30× clip → ~$10k–$70k position (e.g. HYPE entry built to 1500 units ≈ $47k).

    Evidence: trading.median_fill_size_usd=638.82, avg_fill_size_usd=2445.21; HYPE sample shows start_pos building from 0 → 1500.

Exit rules

  • Same-session profit take

    Close longs the same UTC day or next session when price has moved ≥0.3–3% in favor, again via taker sweeps. Median hold ≈ 7.4h; p95 hold ≈ 4.3 days.

    Evidence: positions.median_hold_seconds=26804 (7.45h); ZEC sample: open 2026-02-17 17:01 @286.4, close 2026-02-18 04:01 @295.8 (+3.3%, +$258 across clips).

  • Stop-out via large taker dump

    When trade goes against position by ~1–4%, exit entire size in one large taker print rather than scaling. Losers show single-clip notional of $30k–$50k (e.g. SNDK 55.6 @ 552.79 = $30.7k for -$2,841).

    Evidence: pivotal losers: xyz:SNDK single fill -$2841, xyz:SKHX 50.0 @630.1 single fill -$2276; HYPE 1000@40.556 single fill -$909.

  • Symmetric P/L truncation

    Avg winner $43.22 ≈ |avg loser| $44.52, win_rate 50.2% → no asymmetric trend-following exit; exits triggered by short-horizon targets/stops not letting winners run.

    Evidence: pnl.avg_winner_usd=43.22, avg_loser_usd=-44.52, profit_factor=0.979.

Sizing

Roughly constant notional per parent trade ($10k–$50k), built from ~$640 child taker clips. No volatility scaling apparent — HYPE clips ~$3k notional, ZEC clips ~$300, equity-tickers ~$5k–$30k. Largest single closing prints reach $30k (SNDK) to $54k (CHIP 56,183 @0.10458). With current_value=0 and 14M total volume in 90 days, implied turnover ≈ 100–300× a ~$50k working bankroll.

Edges

  • Hypothesized intraday momentum/breakout chase on liquid perps during US session — but edge is negative net of costs (expectancy -$0.46/close).
  • Possible directional view on tokenized equities around US cash open (h13–15 UTC), but xyz:* basket is -$6.9k cumulative, indicating no edge there.
  • Funding is a minor headwind, not the strategy: total_funding=-$522 (0.04% of volume).
  • Real 'edge' if any is execution speed/burst-taker fills capturing micro-momentum; gross trading PnL +$5.2k is fully erased by $6.4k fees → net -$1.25k.

Risk Management

  • No persistent overnight book: 0 open positions at snapshot despite 5,735 fills.
  • Hard size cap per ticker: largest single-clip notional ~$50k; no martingale doubling observed.
  • Drawdown tolerance ~$12.2k (max_drawdown_usd=-12214 on 2026-03-27) before pulling back activity (last fill 2026-04-27, then stop).
  • Diversification across 32 assets keeps HHI=0.18 — single-name blowups (SNDK -$2.8k, SKHX -$2.3k) capped at <25% of max DD.

Caveats

  • Cannot observe limit-order placement/cancellation, so we infer maker_pct=20.9% but can't tell if there's a passive layer that's getting adversely selected.
  • No order-book or quote data — we can't verify whether bursts coincide with volume spikes, news, or funding-rate flips.
  • Account snapshot shows $0 equity; we don't know starting bankroll or whether withdrawals occurred, so leverage/risk-per-trade is estimated.
  • Tokenized-equity (xyz:*) liquidity, funding mechanics, and price reference are unclear, so PnL attribution there may include hidden basis/funding effects.
  • 90-day window only; can't tell if this is a paused strategy, a strategy under iteration, or a single losing regime.
!

Backtest skipped for this strategy class.

high_frequency_taker strategies depend on orderbook depth and maker-fill probability that aren't recoverable from OHLCV alone. Generating runnable code would be a fiction. Surfacing this honestly instead.

Raw feature profile
{
  "pnl": {
    "losers": 1356,
    "winners": 1368,
    "win_rate": 0.502,
    "avg_loser_usd": -44.52,
    "closing_fills": 2724,
    "profit_factor": 0.979,
    "avg_winner_usd": 43.22,
    "expectancy_usd": -0.4608,
    "largest_win_usd": 2358.54,
    "largest_loss_usd": -2841.06,
    "closed_pnl_total_usd": -1255.14
  },
  "fees": {
    "maker_pct": 0.209,
    "total_fees_usd": 6415.11,
    "avg_fee_per_fill_usd": 1.1186
  },
  "rhythm": {
    "fills_by_dow": {
      "Friday": 1921,
      "Monday": 495,
      "Sunday": 627,
      "Tuesday": 1010,
      "Saturday": 394,
      "Thursday": 722,
      "Wednesday": 566
    },
    "fills_by_hour_utc": {
      "0": 195,
      "1": 380,
      "2": 127,
      "3": 522,
      "4": 136,
      "5": 443,
      "6": 179,
      "7": 284,
      "8": 364,
      "9": 322,
      "10": 110,
      "11": 284,
      "12": 356,
      "13": 445,
      "14": 525,
      "15": 625,
      "16": 187,
      "17": 130,
      "19": 10,
      "20": 5,
      "21": 5,
      "23": 101
    },
    "quietest_hour_utc": 20,
    "most_active_hour_utc": 15
  },
  "window": {
    "to": "2026-05-11T12:22:54Z",
    "days": 90.0,
    "from": "2026-02-10T12:22:54Z"
  },
  "account": {
    "leverage": null,
    "snapshot_at": "2026-05-11T12:22:47Z",
    "open_positions": 0,
    "margin_used_usd": 0.0,
    "current_value_usd": 0.0
  },
  "funding": {
    "funding_payments": 370,
    "total_funding_usd": -521.93,
    "funding_vs_trading_pnl": 0.416,
    "avg_funding_per_payment_usd": -1.4106
  },
  "trading": {
    "buy_count": 2991,
    "sell_count": 2744,
    "total_fills": 5735,
    "last_fill_at": "2026-04-27T13:45:02Z",
    "fills_per_day": 76.54,
    "first_fill_at": "2026-02-11T15:21:43Z",
    "buy_sell_ratio": 1.09,
    "distinct_assets": 32,
    "total_volume_usd": 14023303.21,
    "avg_fill_size_usd": 2445.21,
    "median_fill_size_usd": 638.82
  },
  "drawdown": {
    "max_drawdown_at": "2026-03-27T00:20:53Z",
    "max_drawdown_usd": -12214.15,
    "ending_cumulative_pnl_usd": -1255.14
  },
  "asset_mix": {
    "top_assets": [
      {
        "asset": "HYPE",
        "fills": 2280,
        "win_rate": 0.414,
        "volume_pct": 0.293,
        "volume_usd": 4108898.16,
        "closed_pnl_usd": 3946.33
      },
      {
        "asset": "ZEC",
        "fills": 1279,
        "win_rate": 0.567,
        "volume_pct": 0.2193,
        "volume_usd": 3075288.34,
        "closed_pnl_usd": 3038.28
      },
      {
        "asset": "BTC",
        "fills": 307,
        "win_rate": 0.406,
        "volume_pct": 0.1828,
        "volume_usd": 2562874.9,
        "closed_pnl_usd": 2772.72
      },
      {
        "asset": "xyz:SKHX",
        "fills": 259,
        "win_rate": 0.471,
        "volume_pct": 0.0624,
        "volume_usd": 875508.43,
        "closed_pnl_usd": 847.89
      },
      {
        "asset": "xyz:MU",
        "fills": 101,
        "win_rate": 0.569,
        "volume_pct": 0.0359,
        "volume_usd": 503768.35,
        "closed_pnl_usd": -1349.07
      },
      {
        "asset": "xyz:GOLD",
        "fills": 101,
        "win_rate": 0.577,
        "volume_pct": 0.0279,
        "volume_usd": 390622.98,
        "closed_pnl_usd": 73.72
      },
      {
        "asset": "AZTEC",
        "fills": 408,
        "win_rate": 0.53,
        "volume_pct": 0.0266,
        "volume_usd": 373554.5,
        "closed_pnl_usd": -638.07
      },
      {
        "asset": "xyz:USAR",
        "fills": 39,
        "win_rate": 0.438,
        "volume_pct": 0.0182,
        "volume_usd": 255565.18,
        "closed_pnl_usd": -2035.49
      },
      {
        "asset": "xyz:MSFT",
        "fills": 65,
        "win_rate": 0.41,
        "volume_pct": 0.0179,
        "volume_usd": 251036.44,
        "closed_pnl_usd": -975.23
      },
      {
        "asset": "xyz:SNDK",
        "fills": 40,
        "win_rate": 0.579,
        "volume_pct": 0.0179,
        "volume_usd": 250904.29,
        "closed_pnl_usd": -3389.0
      }
    ],
    "distinct_assets": 32,
    "concentration_hhi": 0.1757
  },
  "pnl_curve": [
    {
      "t": "2026-02-11T15:21:43Z",
      "pnl": -1767.58
    },
    {
      "t": "2026-02-15T12:17:18Z",
      "pnl": -1498.77
    },
    {
      "t": "2026-02-15T13:15:08Z",
      "pnl": -967.24
    },
    {
      "t": "2026-02-15T15:17:53Z",
      "pnl": -536.23
    },
    {
      "t": "2026-02-17T14:46:30Z",
      "pnl": 1104.59
    },
    {
      "t": "2026-02-18T04:01:45Z",
      "pnl": -60.22
    },
    {
      "t": "2026-02-19T05:29:39Z",
      "pnl": 659.84
    },
    {
      "t": "2026-02-19T09:27:17Z",
      "pnl": 617.1
    },
    {
      "t": "2026-02-20T00:24:53Z",
      "pnl": 2279.2
    },
    {
      "t": "2026-02-20T03:17:02Z",
      "pnl": 2272.28
    },
    {
      "t": "2026-02-20T03:17:41Z",
      "pnl": 1639.8
    },
    {
      "t": "2026-02-20T03:34:32Z",
      "pnl": 1506.72
    },
    {
      "t": "2026-02-20T05:57:44Z",
      "pnl": 1045.83
    },
    {
      "t": "2026-02-20T08:21:31Z",
      "pnl": 1578.52
    },
    {
      "t": "2026-02-20T08:56:23Z",
      "pnl": 1407.28
    },
    {
      "t": "2026-02-20T09:02:27Z",
      "pnl": 1179.71
    },
    {
      "t": "2026-02-20T09:31:48Z",
      "pnl": 1268.63
    },
    {
      "t": "2026-02-20T11:25:53Z",
      "pnl": 1013.28
    },
    {
      "t": "2026-02-20T12:48:19Z",
      "pnl": 1069.26
    },
    {
      "t": "2026-02-20T13:09:39Z",
      "pnl": 790.58
    },
    {
      "t": "2026-02-20T15:16:13Z",
      "pnl": 1018.03
    },
    {
      "t": "2026-02-20T16:14:20Z",
      "pnl": 2296.44
    },
    {
      "t": "2026-02-21T05:05:10Z",
      "pnl": 3273.06
    },
    {
      "t": "2026-02-21T12:31:42Z",
      "pnl": 3189.79
    },
    {
      "t": "2026-02-22T03:39:28Z",
      "pnl": 3525.2
    },
    {
      "t": "2026-02-22T13:35:11Z",
      "pnl": 2946.2
    },
    {
      "t": "2026-02-23T13:19:22Z",
      "pnl": 1015.98
    },
    {
      "t": "2026-02-24T03:09:06Z",
      "pnl": -1001.62
    },
    {
      "t": "2026-02-24T05:40:09Z",
      "pnl": -330.49
    },
    {
      "t": "2026-02-24T05:51:13Z",
      "pnl": -214.03
    },
    {
      "t": "2026-02-24T05:51:19Z",
      "pnl": -97.34
    },
    {
      "t": "2026-02-24T11:19:23Z",
      "pnl": 1001.3
    },
    {
      "t": "2026-02-24T13:27:01Z",
      "pnl": 1058.2
    },
    {
      "t": "2026-02-24T14:13:39Z",
      "pnl": 566.42
    },
    {
      "t": "2026-02-25T14:40:16Z",
      "pnl": 1427.86
    },
    {
      "t": "2026-02-27T11:59:57Z",
      "pnl": 994.61
    },
    {
      "t": "2026-02-28T10:00:40Z",
      "pnl": 1924.43
    },
    {
      "t": "2026-03-01T02:16:04Z",
      "pnl": 1915.17
    },
    {
      "t": "2026-03-01T03:18:14Z",
      "pnl": 2695.09
    },
    {
      "t": "2026-03-05T00:57:42Z",
      "pnl": 4137.31
    },
    {
      "t": "2026-03-06T14:00:17Z",
      "pnl": 1321.26
    },
    {
      "t": "2026-03-08T00:40:21Z",
      "pnl": 2110.93
    },
    {
      "t": "2026-03-09T07:41:58Z",
      "pnl": -151.07
    },
    {
      "t": "2026-03-10T08:50:57Z",
      "pnl": -2464.43
    },
    {
      "t": "2026-03-10T09:21:32Z",
      "pnl": -1980.7
    },
    {
      "t": "2026-03-10T14:20:13Z",
      "pnl": -2219.71
    },
    {
      "t": "2026-03-12T11:00:38Z",
      "pnl": -3163.95
    },
    {
      "t": "2026-03-13T12:06:34Z",
      "pnl": -2283.72
    },
    {
      "t": "2026-03-18T07:11:30Z",
      "pnl": 2314.48
    },
    {
      "t": "2026-03-18T13:41:10Z",
      "pnl": 6826.42
    },
    {
      "t": "2026-03-19T07:14:14Z",
      "pnl": 4554.39
    },
    {
      "t": "2026-03-19T08:54:57Z",
      "pnl": 1422.03
    },
    {
      "t": "2026-03-19T12:30:34Z",
      "pnl": -206.43
    },
    {
      "t": "2026-03-19T15:22:05Z",
      "pnl": -443.32
    },
    {
      "t": "2026-03-22T03:40:27Z",
      "pnl": -2810.79
    },
    {
      "t": "2026-03-26T02:35:50Z",
      "pnl": -2051.1
    },
    {
      "t": "2026-04-14T05:43:49Z",
      "pnl": -3383.64
    },
    {
      "t": "2026-04-19T23:28:18Z",
      "pnl": -1378.77
    },
    {
      "t": "2026-04-22T12:27:26Z",
      "pnl": -2702.74
    },
    {
      "t": "2026-04-27T13:45:02Z",
      "pnl": -130.69
    },
    {
      "t": "2026-04-27T13:45:02Z",
      "pnl": -1255.14
    }
  ],
  "positions": {
    "holds_observed": 168,
    "avg_hold_seconds": 91700.54,
    "max_hold_seconds": 3199922.69,
    "p95_hold_seconds": 375227.14,
    "median_hold_seconds": 26804.31
  }
}
Agent Status Duration Input Output Cache R / W
classifier completed 8.6s 461 505 0 / 5,998
synthesizer completed 36.1s 7,786 2,481 5,710 / 6,855
narrator completed 17.9s 3,049 1,350 0 / 5,100