Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

Market Makers ఎందుకు నష్టపోతారు: ప్రతికూల ఎంపిక

Market makers నష్టాలకు ప్రతికూల ఎంపిక ప్రధాన కారణం. Markout curves దాన్ని ఎలా కొలుస్తాయో, inventory risk మరియు queue position costs ప్రభావాన్ని తెలుసుకోండి.

Market makers ప్రతికూల ఎంపిక కారణంగా డబ్బు కోల్పోతారు: offerను వెంటనే కొనుగోలు చేసే traderకు ఆ offer పాతదని ఇప్పటికే తెలిసి ఉండే అవకాశం ఎక్కువ. ప్రతి fill సాధారణంగా spreadలో సగానికి సమీపమైన చిన్న creditతో ప్రారంభమవుతుంది. ఆ creditలో ఎంత మిగులుతుందో తర్వాతి కొన్ని సెకన్లు నిర్ణయిస్తాయి. దీన్ని కొలిచే సాధనం markout. ఇది fill తర్వాత నిర్ణయించిన కాలవ్యవధిలో ధరలో వచ్చిన, దిశను పరిగణనలోకి తీసుకున్న మార్పు. కింది panels trade prints, quote prints ఆధారంగా వాస్తవ markout curvesను రూపొందిస్తాయి. ఇదే లెడ్జర్‌లో revenue వైపు గురించి మా సహాయక కథనం market makers ఎలా డబ్బు సంపాదిస్తారు వివరిస్తుంది.

ట్రేడింగ్‌లో ప్రతికూల ఎంపిక అంటే ఏమిటి?

Market maker ఒకేసారి రెండు ధరలను ప్రకటిస్తాడు: కొనుగోలు చేయడానికి bid, విక్రయించడానికి offer. రెండూ నిర్ణయించిన పరిమాణానికి వర్తిస్తాయి. వాటి మధ్య అంతరాన్ని bid ask spread అంటారు. ఈ వ్యాపారం లెక్కలపై ఆధారపడి ఉంటుంది. bid వద్ద కొనుగోలు చేసి, offer వద్ద విక్రయించి, రోజుకు పదివేల సార్లు పునరావృతం చేస్తే, ప్రతి round tripలో సగటున spreadకు దగ్గరైన మొత్తాన్ని పొందవచ్చు.

రెండు వైపుల ఆర్డర్లు సమతుల్యంగా వస్తాయని ఈ లెక్క భావిస్తుంది. వాస్తవంలో అలా జరగదు. అమలుకాని quote అనేది ఎవరైనా తమకు నచ్చిన క్షణంలో అమలు చేయగల standing option వంటిది. ఎక్కువ శ్రద్ధగా గమనించే traders ఉత్తమ క్షణాలను ఎంచుకుంటారు. పెద్ద parent orderను అమలు చేస్తున్న fund, offer తక్కువగా ఉన్నంతకాలం కొనుగోలు చేస్తూనే ఉంటుంది. Correlated instrumentలో ధర ఇప్పటికే మారిందని చూసిన system, ఇంకా repricing కాని వైపు తీసుకుంటుంది.

ప్రతికూల ఎంపిక అనేది ఈ మిశ్రమంలో ఏర్పడే వాలుదల. Market maker పొందే fills, ఆ fillsను అత్యంతగా కోరుకున్న traders వైపు ఎక్కువగా ఉంటాయి. దీని లక్షణం market maker ప్రకటించిన spreadకు, వాస్తవంగా నిలుపుకునే spreadకు మధ్య ఉండే అంతరం.

Market makingలో markout అంటే ఏమిటి?

ప్రతి fill తర్వాత అడిగే ఒక ప్రశ్నకు markout సమాధానం ఇస్తుంది: నేను ఉన్న వైపు నుంచి కొలిచినప్పుడు, నిర్ణయించిన కొన్ని సెకన్ల తర్వాత ధర ఎక్కడ ఉంది? ఉదాహరణకు, midpoint $50.00 వద్ద ఉన్నప్పుడు market maker 100 షేర్లను $50.02కు విక్రయించాడని అనుకుందాం. ఆ fill ప్రతి షేర్‌కు రెండు cents creditతో ప్రారంభమవుతుంది. Desk unitsలో ఇది 20 mils. ఒక mil అనేది centలో పదో వంతు. అరవై సెకన్ల తర్వాత midpoint $50.04కు పెరిగితే, 60 second markout minus 20 mils అవుతుంది. ప్రారంభ credit పూర్తిగా పోయింది. దానికి సమానమైన మరో మొత్తమూ పోయింది.

ఒక వ్యవధిలోని ప్రతి fillపై ఈ విలువను సగటు చేసి, కాలవ్యవధికి అనుగుణంగా చిత్రిస్తే markout curve వస్తుంది. కింది panel గురువారం, మే 14, 2026న మధ్యాహ్నం మూడు గంటల వ్యవధిలో AAPL కోసం ఒక curveను రూపొందిస్తుంది. ప్రతి print జరిగిన సెకనులోని midpointతో పోల్చి దాని దిశను నిర్ణయించారు. Midpoint కంటే ఎక్కువగా ఉన్న printను taker కొనుగోలుగా పరిగణించారు. అందువల్ల market maker sell sideలో ఉన్నట్లు అర్థం.

క్వెరీస్ప్రెడ్‌లో ఎంత భాగం మిగులుతుంది: AAPL మార్కౌట్ వక్రరేఖ, 1 సెకను నుంచి 5 నిమిషాల వరకు
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH
  qs AS (
    SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
           avg((toFloat64(bid_price) + toFloat64(ask_price)) / 2) AS mid
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-05-14 14:00:00'
      AND sip_timestamp <  '2026-05-14 17:06:00'
      AND bid_price > 0 AND ask_price > bid_price
    GROUP BY ts
  ),
  fills AS (
    SELECT t.ts AS ts, t.px AS px, t.shares AS shares, q.mid AS mid_at_fill,
           if(t.px > q.mid, 1, -1) AS taker_side
    FROM (
      SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
             toFloat64(price) AS px, toUInt64(size) AS shares
      FROM global_markets.stocks_trades
      WHERE ticker = 'AAPL'
        AND sip_timestamp >= '2026-05-14 14:00:00'
        AND sip_timestamp <  '2026-05-14 17:00:00'
        AND size > 0
    ) AS t
    INNER JOIN qs AS q ON q.ts = t.ts
    WHERE t.px != q.mid AND abs(t.px / q.mid - 1) < 0.02
  )
SELECT
  concat('+', toString(e.secs), 's')                          AS horizon,
  round(1000 * avg(e.taker_side * (e.px - e.mid_at_fill)), 2) AS edge_at_fill_mils,
  round(1000 * avg(e.taker_side * (e.px - f.mid)), 2)         AS edge_after_mils
FROM (
  SELECT toUInt32(ts + secs) AS future_ts, secs, px, mid_at_fill, taker_side
  FROM (SELECT *, arrayJoin([1, 5, 15, 30, 60, 300]) AS secs FROM fills)
) AS e
INNER JOIN qs AS f ON f.ts = e.future_ts
GROUP BY e.secs
ORDER BY e.secs
Run this yourself

మొదటి series fill జరిగిన క్షణంలోని credit. ఇది printకు, midpointకు మధ్య దూరం. సగటు విలువ 19.66 mils per share. రెండో series అదే fillsకు midpoint మారిన తర్వాత ఉన్న విలువ. ఒక సెకను తర్వాత అది 20.5 mils, ఐదు నిమిషాల తర్వాత 9.81 mils. ఏ కాలవ్యవధిలోనైనా ఈ రెండు seriesల మధ్య దూరమే markout. అది market maker ప్రకటించిన spread నుంచి తగ్గుతుంది.

ఒక curve వేగంగా పడిపోయి, తర్వాత స్థిరపడితే, market maker తక్షణ repricing ఖర్చును భరించి మిగిలిన creditను నిలుపుకున్నట్లు అర్థం. ప్రతి కాలవ్యవధిలోనూ curve అదే దిశలో వాలుతూ ఉంటే, నిరంతరం కదులుతున్న ధరకు market maker తప్పు వైపున fills పొందుతున్నట్లు అర్థం. మొదటి ఆకృతి వ్యాపారం నిర్వహణలో భాగమైన ఖర్చు. రెండోది quoteను మార్చాల్సిన అవసరాన్ని సూచిస్తుంది.

ఏ fills toxic flowగా పరిగణించబడతాయి?

ఇక్కడ toxic అనే పదానికి సాంకేతిక అర్థం ఉంది. పెద్ద నమూనాలో, ప్రతి కాలవ్యవధిలోనూ fill చేసిన market makerకు వ్యతిరేకంగా markout curve వాలితే ఆ flow toxicగా పరిగణించబడుతుంది. Desks కనిపించే ప్రతి గుర్తు ఆధారంగా fillsను వర్గీకరిస్తాయి: print size, venue, order type, counterparty identifier. Public tapeలో కనిపించే గుర్తు size.

క్వెరీప్రింట్ పరిమాణం ఆధారంగా AAPL ఫిల్స్: ఫిల్ సమయంలో క్రెడిట్ మరియు 60 సెకన్ల తర్వాత విలువ
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH
  qs AS (
    SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
           avg((toFloat64(bid_price) + toFloat64(ask_price)) / 2) AS mid
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-05-14 14:00:00'
      AND sip_timestamp <  '2026-05-14 17:06:00'
      AND bid_price > 0 AND ask_price > bid_price
    GROUP BY ts
  ),
  fills AS (
    SELECT t.ts AS ts, t.px AS px, t.shares AS shares, q.mid AS mid_at_fill,
           if(t.px > q.mid, 1, -1) AS taker_side
    FROM (
      SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
             toFloat64(price) AS px, toUInt64(size) AS shares
      FROM global_markets.stocks_trades
      WHERE ticker = 'AAPL'
        AND sip_timestamp >= '2026-05-14 14:00:00'
        AND sip_timestamp <  '2026-05-14 17:00:00'
        AND size > 0
    ) AS t
    INNER JOIN qs AS q ON q.ts = t.ts
    WHERE t.px != q.mid AND abs(t.px / q.mid - 1) < 0.02
  )
SELECT
  multiIf(s.shares < 100, 'under 100 shares',
          s.shares < 500, '100 to 499',
          s.shares < 1000, '500 to 999',
          '1,000 or more')                                    AS size_bucket,
  count()                                                     AS fills_count,
  round(1000 * avg(s.taker_side * (s.px - s.mid_at_fill)), 2) AS edge_at_fill_mils,
  round(1000 * avg(s.taker_side * (s.px - f.mid)), 2)         AS edge_after_60s_mils
FROM (SELECT *, toUInt32(ts + 60) AS future_ts FROM fills) AS s
INNER JOIN qs AS f ON f.ts = s.future_ts
GROUP BY size_bucket
ORDER BY min(s.shares)
Run this yourself

100 షేర్ల కంటే తక్కువ fills, ప్రతి షేర్‌కు 19.47 mils creditతో ప్రారంభమై, ఒక నిమిషం తర్వాత 15.22 mils విలువను కలిగి ఉన్నాయి. 1,000 షేర్లు లేదా అంతకంటే ఎక్కువ పరిమాణం ఉన్న prints 36.26 milsతో ప్రారంభమై, అదే కాలవ్యవధిలో 21.34 mils విలువను కలిగి ఉన్నాయి. Instrument ఒకటే, మూడు గంటల వ్యవధి ఒకటే, కానీ ప్రతి షేర్‌కు సంబంధించిన ఆర్థిక ఫలితం వేరు. అతిపెద్ద orders తరచుగా public queueను పూర్తిగా తప్పించుకుంటాయి. block trade ఏర్పాటు చేయడం లక్ష్యం ఇదే.

Inventory risk: సమయానికి hedge చేయలేని position

Markout కాలవ్యవధి ఒక గడియారం వంటిది. Market maker bid వద్ద 5,000 షేర్లు కొనుగోలు చేస్తే, ఆ position hedge చేయడం లేదా విక్రయించడం జరిగే వరకు తర్వాత ధర ఎలా మారుతుందో దాని ప్రభావానికి లోబడి ఉంటుంది. Hedging సాధారణంగా వెంటనే జరగదు. ఒకే stock positionను correlated ETF లేదా options positionతో offset చేయవచ్చు. వీటిలో ప్రతి దానికీ దాటాల్సిన సొంత spread ఉంటుంది. Inventory risk అనేది ఆ సమయవ్యవధిలో సంభవించే ధర మార్పు పరిమాణం. ఏ instrumentకైనా దీన్ని ఒకే విధంగా కొలుస్తారు. సాధారణంగా తర్వాతి ఒక నిమిషంలో, తర్వాతి ఒక గంటలో ధర ఎంత దూరం కదులుతుంది?

క్వెరీస్థానం వేచి ఉన్నప్పుడు ధర ఎంత దూరం కదులుతుంది: SPY మరియు NVDA, మే 2026
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH
  bars AS (
    SELECT ticker, window_start,
           toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
           toFloat64(close) AS px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'NVDA')
      AND window_start >= '2026-05-01 00:00:00'
      AND window_start <  '2026-06-01 00:00:00'
      AND transactions >= 50
      AND close > 0
  ),
  starts AS (
    SELECT ticker, et_date, px, mins,
           window_start + toIntervalMinute(mins) AS future_start
    FROM (SELECT *, arrayJoin([1, 2, 5, 15, 30, 60]) AS mins FROM bars)
  )
SELECT
  concat(toString(s.mins), ' min')                                AS hold_horizon,
  round(avgIf(abs(f.px / s.px - 1) * 10000, s.ticker = 'SPY'), 1)  AS spy_drift_bps,
  round(avgIf(abs(f.px / s.px - 1) * 10000, s.ticker = 'NVDA'), 1) AS nvda_drift_bps
FROM starts AS s
INNER JOIN bars AS f
  ON f.ticker = s.ticker AND f.et_date = s.et_date AND f.window_start = s.future_start
GROUP BY s.mins
HAVING countIf(s.ticker = 'SPY') > 0 AND countIf(s.ticker = 'NVDA') > 0
ORDER BY s.mins
Run this yourself

మే 2026లో, SPYలో ఒక నిమిషానికి సగటు absolute move 1.9 basis points. Basis point అనేది ఒక శాతంలో వందవ వంతు. అదే ఒక నిమిషంలో NVDA విలువ 5.5. కాలవ్యవధిని ఒక గంటకు పెంచితే ఈ రెండు సంఖ్యలు 14.1, 40.4 అవుతాయి. ఒక నిమిషంలో positionను పూర్తిగా offset చేయగల market maker మొదటి జంట పరిమాణాలతో పనిచేస్తాడు. ఒక గంట పాటు positionను ఉంచే market maker రెండో జంటతో పనిచేస్తాడు. అయితే fill సమయంలో పొందే credit రెండు సందర్భాల్లోనూ ఒకటే.

Queueలో వెనుక ఉన్నప్పుడు market makers ఎందుకు డబ్బు కోల్పోతారు?

Exchanges ఒకే ధర వద్ద ఉన్న resting ordersను అవి వచ్చిన క్రమంలో match చేస్తాయి: ముందుగా ధర, తర్వాత సమయం. Bid వద్ద 40,000 షేర్ల queue చివర ఉన్న order, తన ముందు ఉన్న 40,000 షేర్లు పూర్తయ్యే వరకు వేచి ఉండాలి. queue positionను అంచనా వేయడం స్వతంత్ర నైపుణ్యం.

క్లిష్టమైన విషయం clearing అంటే ఏమిటన్నది. Queue రెండు మార్గాల్లో ఖాళీ అవుతుంది. Sellers bidను వరుసగా hit చేసి ఆ స్థాయిలోని liquidityని పూర్తిగా వినియోగించవచ్చు. లేదా ధర ఆ స్థాయి కంటే దిగువకు కదిలి, ఆ స్థాయిని వెనుకకు వదిలివేయవచ్చు. ముందువైపున ఉన్న order రెండు మార్గాల్లోనూ పాల్గొంటుంది. వెనుకవైపున ఉన్న order ఎక్కువగా రెండో మార్గంలోనే fill అవుతుంది. ఆ సమయంలో ఆ స్థాయి పాత ధరగా మారబోతోంది. ఇద్దరు makers ఒకే instrumentను ఒకే ధర వద్ద trade చేసినా, వారివద్ద మిగిలే credit వేర్వేరుగా ఉండవచ్చు. Queue slot quoted spreadలో కనిపించదు, ఎందుకంటే ఇద్దరు makers ఒకే ధరను quote చేశారు. అది markout curveలో కనిపిస్తుంది.

Quoteను విస్తరించడం ఉచిత పరిష్కారం ఎందుకు కాదు?

చెడ్డ markout curveకు స్పష్టమైన సమాధానం quoteను widerగా చేయడం. Wider quote ప్రతి fillపై ఎక్కువ ఆదాయం ఇస్తుంది. అయితే fills సంఖ్య తగ్గుతుంది. ఈ tradeలోని రెండు వైపులూ అదే రోజు printsలో కనిపిస్తాయి. ప్రతి print midpoint నుంచి ఎంత దూరంలో ఉందో ఆధారంగా అవి వర్గీకరించబడతాయి.

క్వెరీమిడ్‌పాయింట్‌ నుంచి దూరం ఆధారంగా AAPL ప్రింట్లు: వాల్యూమ్ వాటా మరియు 60 సెకన్ల మార్కౌట్
ప్రతి సంఖ్య వెనుక ఉన్న ఖచ్చితమైన SQL
WITH
  qs AS (
    SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
           avg((toFloat64(bid_price) + toFloat64(ask_price)) / 2) AS mid
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= '2026-05-14 14:00:00'
      AND sip_timestamp <  '2026-05-14 17:06:00'
      AND bid_price > 0 AND ask_price > bid_price
    GROUP BY ts
  ),
  fills AS (
    SELECT t.ts AS ts, t.px AS px, t.shares AS shares, q.mid AS mid_at_fill,
           if(t.px > q.mid, 1, -1) AS taker_side
    FROM (
      SELECT toUnixTimestamp(toDateTime(sip_timestamp)) AS ts,
             toFloat64(price) AS px, toUInt64(size) AS shares
      FROM global_markets.stocks_trades
      WHERE ticker = 'AAPL'
        AND sip_timestamp >= '2026-05-14 14:00:00'
        AND sip_timestamp <  '2026-05-14 17:00:00'
        AND size > 0
    ) AS t
    INNER JOIN qs AS q ON q.ts = t.ts
    WHERE t.px != q.mid AND abs(t.px / q.mid - 1) < 0.02
  )
SELECT
  multiIf(s.cents <= 0.5, '0.5 cents or less',
          s.cents <= 1.0, '0.5 to 1 cent',
          s.cents <= 2.0, '1 to 2 cents',
          'over 2 cents')                                  AS distance_from_mid,
  round(100 * sum(s.shares) / sum(sum(s.shares)) OVER (), 2) AS share_of_volume_pct,
  round(1000 * avg(s.taker_side * (s.px - f.mid)), 2)        AS edge_after_60s_mils
FROM (
  SELECT *, toUInt32(ts + 60) AS future_ts, abs(px - mid_at_fill) * 100 AS cents
  FROM fills
) AS s
INNER JOIN qs AS f ON f.ts = s.future_ts
GROUP BY distance_from_mid
ORDER BY min(s.cents)
Run this yourself

Midpointకు అర centలోపు దూరంలో ఉన్న prints ఆ వ్యవధిలోని షేర్లలో 27.58 శాతానికి సమానం. ఒక నిమిషం తర్వాత వాటి విలువ ప్రతి షేర్‌కు 0.95 mils. Midpoint నుంచి రెండు cents కంటే ఎక్కువ దూరంలో ఉన్న prints షేర్లలో 33.19 శాతానికి సమానం. వాటి విలువ 46.86 mils. Midpointకు దూరంగా ఉంచిన quoteను రోజువారీ volumeలో చిన్న భాగమే చేరుకుంటుంది.

వెనక్కి వెళ్లడం వల్ల కలిగే మొదటి ఖర్చు fill rate తగ్గడం. రెండోది exchange rebates. అనేక venues market makerకు fill అయిన ప్రతి షేర్‌కు rebate చెల్లిస్తాయి. ఈ ఆదాయం quote వెడల్పుతో కాకుండా fill అయిన షేర్ల సంఖ్యతో పెరుగుతుంది. Rebate rateను నిర్ణయించే volume tiers నెలవారీగా లెక్కిస్తారు. అందువల్ల ఒక ప్రశాంతమైన నెలలో చేసిన ప్రతి fillకు తదుపరి నెలలో వేరే rate వర్తించవచ్చు. Queue slotను వదులుకోవడం చివరి ఖర్చు. బయటకు వెళ్లేటప్పుడు ఒకసారి, తిరిగి వచ్చేటప్పుడు queue చివర నిలబడే సమయంలో మరోసారి ఆ ఖర్చు వస్తుంది. ప్రతి market maker ఈ curveలో ఏదో ఒక స్థానంలో ఉంటాడు. తమ markoutsను అత్యంత ఖచ్చితంగా కొలిచేవారు touchకు దగ్గరగా ఉండి కూడా creditను నిలుపుకోగలరు. ఆ కొలతనే అతిపెద్ద market makers కాపాడే edgeగా చెప్పవచ్చు.

తరచుగా అడిగే ప్రశ్నలు

Market makers వ్యక్తిగత tradesపై డబ్బు కోల్పోతారా?

తరచుగా కోల్పోతారు. Making book అనేది చిన్న లాభాలు, చిన్న నష్టాల పంపిణీ. ధర కదలడానికి కాస్త ముందు జరిగిన క్షణాల్లో నష్టపరిచే fills ఎక్కువగా సమూహమవుతాయి. ఈ వ్యాపారం లక్షల fillsపై వచ్చే సగటుపై ఆధారపడి ఉంటుంది.

Tradingలో markout అంటే ఏమిటి?

Fill తర్వాత నిర్ణయించిన కాలవ్యవధిలో market priceలో వచ్చిన మార్పే markout. దాన్ని ఒక వైపు దృష్టికోణం నుంచి sign చేస్తారు. Positive సంఖ్య ఆ వైపు లాభపడిందని సూచిస్తుంది. Equities desks markoutలను ప్రతి షేర్‌కు milsలో quote చేస్తాయి. Options desks వాటిని ప్రతి contractకు ticksలో quote చేస్తాయి.

Toxic order flow అంటే ఏమిటి?

ప్రతి fill తర్వాత ధర నిరంతరం దూరంగా కదులుతూ, fill చేసిన market makerకు వ్యతిరేకంగా markout curve వాలే order flowను ఇది సూచిస్తుంది. ఈ పదం orders ప్రవాహానికి సంబంధించిన గణాంక లక్షణం. ఏ ఒక్క traderపై తీర్పు కాదు.

Market makers తమ quotesను పూర్తిగా తొలగించకుండా spreadsను ఎందుకు విస్తరిస్తారు?

Wider quote market makerను marketలోనే ఉంచుతుంది. చెడ్డ markout curveను భరించడానికి తగిన ధరను అది అందిస్తుంది. Quoteను తొలగిస్తే ఆదాయం ఉండదు. Queue position కూడా కోల్పోతారు. Desks రెండు విధానాలనూ ఉపయోగిస్తాయి. Quote ఎంతకాలం staleగా ఉండే అవకాశం ఉందో ఆధారంగా ఎంపిక మారుతుంది.

ప్రతికూల ఎంపికను ఎలా కొలుస్తారు?

Markoutsతో కొలుస్తారు. Market maker ఉన్న వైపు ఆధారంగా ప్రతి fillకు sign కేటాయించాలి. తర్వాత నిర్ణయించిన కాలవ్యవధుల్లో midpoint మార్పును సగటు చేయాలి. Fill సమయంలోని creditకు, ప్రతి కాలవ్యవధిలోని విలువకు మధ్య ఉన్న అంతరం adverse selection cost. ఇది spreadతో సమానమైన unitsలో ఉంటుంది.

ఈ సంఖ్యలను ఎలా రూపొందించాం

ప్రతి AAPL panel రెండు public recordsను ఉపయోగిస్తుంది: trade tape, quote tape. మే 14, 2026న 14:00 నుంచి 17:00 UTC మధ్య నమోదైన ప్రతి printను, అది నమోదైన సెకనులోని national best bid and offer midpoint సగటుతో match చేసి, దానికి sign కేటాయించారు. Midpoint కంటే ఎక్కువగా ఉన్న printను taker buyగా పరిగణించారు. అందువల్ల market maker sell sideలో ఉన్నట్లు అర్థం. Midpointకు కచ్చితంగా సమానమైన printsకు side ఉండదు; వాటిని తొలగించారు. Midpoint నుంచి 2 శాతానికి మించి దూరంలో ఉన్న printsనూ తొలగించారు. Bid offerను చేరుకునే లేదా దాటే quote recordsను కూడా మినహాయించారు. ఎందుకంటే locked or crossed marketలో ఉపయోగించగల midpoint ఉండదు.

Second-level matching fill జరిగిన microsecondలో ఉన్న quoteను సుమారుగా గుర్తిస్తుంది. ఇది అత్యంత వేగంగా జరిగే updatesను సున్నితంగా సగటు చేస్తుంది. Horizon pricesను అదే second-level midpoints నుంచి తీసుకున్నారు. Inventory panel one-minute barsను ఉపయోగిస్తుంది. కనీసం 50 prints ఉన్న barsను మాత్రమే ఉంచారు. దీంతో నమూనా రోజులో అత్యంత చురుకైన గంటల్లో కేంద్రీకృతమవుతుంది.


ఇక్కడి ప్రతి panelను రూపొందించిన SQLను కలిగి ఉంటుంది. అందువల్ల markout లెక్కలను ప్రతి దశలో పరిశీలించవచ్చు. వేరే instrument లేదా వేరే రోజుకు curveను తిరిగి రూపొందించాలంటే Strasmore terminalలో సాధారణ Englishలో అభ్యర్థించండి.