Jinsi ya kukadiria nafasi kwenye foleni ya L2 data
Nafasi kwenye foleni huamua kama agizo la passive litapata spread. Jifunze kukadiria nafasi hiyo kupitia data ya kitabu na wakati mwafaka wa kutumia MBO badala yake.
Kwa nini nafasi katika foleni ndiyo faida kuu
Agizo la passive hukaa kwenye kitabu cha maagizo likisubiri mtu mwingine aingie kwenye spread ili kulitekeleza. Chini ya price-time priority, mfumo wa ulinganishaji hupanga maagizo yaliyopo kulingana na bei kwanza, na muda wa kuwasili pili. Ikiwa hisa 10,000 tayari zimepangwa kwa bei ya $10.00 na ukaongeza hisa 100 nyuma yao, zile hisa 10,000 lazima zifanyiwe biashara au zifutwe kabla ya zamu yako kufika. Ukifuta na kuingiza upya agizo kwa bei ileile, unarudi mwishoni mwa foleni.
Mpangilio huo huamua uchumi wa biashara. Ukiwa karibu na mbele, unafanya biashara mara nyingi na kukusanya spread pamoja na rebate yoyote ya kuongeza liquidity, ambayo ni mada ya maker-taker fees and rebates. Ukiwa karibu na mwisho, unafanya biashara tu baada ya kila mtu aliyekutangulia kumaliza, jambo linalotokea wakati mtiririko wa upande mmoja unapokuja kwa wingi. Utekelezaji wa maagizo mwishoni mwa foleni hujitokeza dakika chache kabla ya bei kuvuka kiwango chako. Bei ileile, agizo lileile, matokeo tofauti.
Yale ambayo data ya Level 2 inaweza na haiwezi kuonyesha
Level 1 ni bid na offer bora pamoja na ukubwa wa hisa katika kila upande. Level 2, inayojulikana pia kama market by price, huongeza kina: orodha ya viwango vya bei na jumla ya ukubwa wa hisa uliopo katika kila bei. Zote ni jumla, na Level 1 vs Level 2 market data huzilinganisha kikamilifu. Wakati bid ya $10.00 inaposhuka kutoka hisa 10,000 hadi 8,500, mtiririko wa data huripoti hisa 1,500 zimepungua. Haielezi kama zimefanyiwa biashara, kama agizo moja liliondoka au arobaini, au zilikuwa wapi kwenye foleni.
Utekelezaji wa maagizo (executions) ndiyo nusu inayoonekana: tape huchapisha kila biashara yenye ukubwa wake, hivyo hizo unazitoa kwa usahihi. Kilichobaki ni kufutwa kwa maagizo (cancellation), na hapo ndipo kubahatisha kunapoanza. Paneli iliyo hapa chini huhesabu ujumbe kwenye sehemu ya juu ya kitabu dhidi ya machapisho kwenye tape kwa hisa moja yenye mzunguko mkubwa wa biashara katika kikao kimoja cha kawaida, Jumatano Juni 10, 2026.
SQL halisi nyuma ya kila namba
SELECT
q.et_time AS et_time,
q.quote_updates AS quote_updates,
t.trades AS trades,
round(q.quote_updates / t.trades, 1) AS updates_per_trade
FROM
(
SELECT
formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
count() AS quote_updates
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-10 12:00:00'
AND sip_timestamp < '2026-06-10 20:00:00'
GROUP BY et_time
) AS q
INNER JOIN
(
SELECT
formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS trade_hour,
count() AS trades
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-10 12:00:00'
AND sip_timestamp < '2026-06-10 20:00:00'
GROUP BY trade_hour
) AS t ON q.et_time = t.trade_hour
ORDER BY et_timeSaa ya 08:00 iko kabla ya kengele ya ufunguzi: sehemu ya juu ya kitabu ilibadilika mara 0.8 kwa kila chapisho hapo, ujumbe mdogo kuliko machapisho. Ndani ya kikao cha kawaida, uwiano hubadilika. Katika saa ya 15:00, sehemu ya juu ya kitabu ilibadilika mara 1.6 kwa kila chapisho, kote katika ujumbe 233433 katika saa hiyo pekee. Mengi ya yanayotokea kwenye kiwango cha bei katika soko huria ni maagizo kuwasili na kuondoka bila kufanyiwa biashara, na kila tukio kati ya hayo hubadilisha nafasi yako kwenye foleni kwa kiasi ambacho hakuna mtiririko wa data uliokusanywa unaokieleza.
Dhana ya kufutwa kwa usawa, na mahali inapokudanganya
Dhana ya kawaida ya kwanza huchukulia kuwa kufutwa kwa maagizo husambaa sawasawa katika foleni nzima. Iite x kina chako cha sehemu: hisa zilizo mbele yako zikigawanywa kwa jumla ya hisa zilizopo kwenye bei yako. Mfumo wa usawa huweka uwezekano kwamba hisa yoyote iliyofutwa ilikuwa mbele yako sawa na x, ikiandikwa p(x) = x. Kaa katikati ya foleni ya hisa 10,000, tazama hisa 1,000 zikifutwa bila chapisho, na mfumo utakupeleka mbele nafasi 500.
Foleni halisi huwa na mwelekeo tofauti. Agizo ambalo limeshakaa kwa muda fulani mara nyingi ni la mtu anayekubali kusubiri, wakati agizo lililoongezwa muda mfupi uliopita lina uwezekano mkubwa wa kuwa ni bei ya muda mfupi inayotoweka ndani ya sekunde. Kufutwa kwa maagizo hujikita zaidi kuelekea mwisho wa foleni, karibu na wewe na nyuma yako. Kati ya zile hisa 1,000 zilizofutwa, labda 200 zilikuwa mbele yako, na mfumo ulikupa sifa ya 500. Rudia hilo siku nzima na foleni iliyoigwa (simulated) itasonga mbele haraka kuliko ile halisi. Hitilafu huenda upande mmoja: utekelezaji mwingi zaidi, katika nyakati bora zaidi, kuliko maagizo ya moja kwa moja yanavyopata.
Jinsi foleni inavyopungua
Kufutwa kwa maagizo hukusogeza bila kuonekana. Biashara hukusogeza kwa kuonekana, kulingana na ukubwa wa machapisho.
SQL halisi nyuma ya kila namba
SELECT
multiIf(size < 100, 'under 100 shares',
size = 100, 'exactly 100 shares',
size <= 499, '101 to 499 shares',
size <= 999, '500 to 999 shares',
'1000 shares or more') AS trade_size_group,
round(100 * count() / sum(count()) OVER (), 1) AS share_of_prints_pct,
round(100 * sum(size) / sum(sum(size)) OVER (), 1) AS share_of_shares_pct
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-10 14:00:00'
AND sip_timestamp < '2026-06-10 20:00:00'
GROUP BY trade_size_group
ORDER BY min(size)Machapisho chini ya round lot yalikuwa 90% ya hesabu katika kikao hiki na 42.5% ya hisa. Makundi ya hisa elfu moja au zaidi yalikuwa 0.2% ya machapisho na 19.9% ya ujazo. Foleni hupungua kwa vipande vidogo, hivyo pengo kati ya nafasi ya 2,000 na nafasi ya 3,500 ni mamia ya machapisho ya kusubiri. Simulator inayotoa utekelezaji baada ya biashara mbili kubwa imeruka sehemu kubwa ya tape.
Agizo ambalo huwezi kuliona
Mtiririko wa data ya kina (depth feeds) hupunguzwa. Ikiwa unapokea viwango kumi vya bei na agizo lako liko kwenye kiwango cha kumi na moja, agizo lako liko nje ya data: si ukubwa ulioko mbele yake, na si maagizo yanayojiunga nyuma yake. Katika hatua hiyo, unagundua namba badala ya kuikadiria. Hali hii ni ya kawaida badala ya kuwa ya kipekee, kwa kuwa agizo lisilofuatilia soko huanguka kutoka ndani haraka.
SQL halisi nyuma ya kila namba
SELECT
formatDateTime(toStartOfFifteenMinutes(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
round(avg(toFloat64(bid_price)), 2) AS best_bid,
uniqExact(bid_price) AS bid_levels_touched
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-06-10 14:00:00'
AND sip_timestamp < '2026-06-10 20:00:00'
AND bid_price > 0
GROUP BY et_time
ORDER BY et_timeKatika kundi la 10:00, bid bora ilikuwa wastani wa $290.29 na ilitembelea bei 187 tofauti ndani ya dakika kumi na tano. Kila moja ya bei hizo ni kiwango tofauti kwenye hisa inayotajwa kwa senti, hivyo mtazamo wa viwango kumi hufunika senti kumi za kitabu. Agizo lililoachwa kwa bei moja kupitia kikao kama hiki linaweza kukaa kwa muda mrefu chini ya kiwango cha ndani kabisa ambacho mmiliki wake anaweza kukiona.
Mahali ambapo nafasi katika foleni ina thamani zaidi
Nafasi katika foleni ina thamani zaidi pale ambapo uboreshaji wa bei hauwezekani. Hisa iliyokwama kwenye spread ya senti moja haiachi nafasi ya kuruka foleni kwa bei bora: kila mtu hujipanga kwenye tick ileile, na muda wa kuwasili huamua mengine. Pale ambapo spread ina upana wa senti kadhaa, mfanyabiashara huingia mbele ya foleni nzima kwa senti moja, na uamuzi wa bei huzidi foleni.
SQL halisi nyuma ya kila namba
SELECT
ticker AS symbol,
round(avg(toFloat64(ask_price - bid_price)) * 100, 2) AS avg_spread_cents,
round(100 * countIf(round(toFloat64(ask_price - bid_price) * 100) <= 1) / count(), 1) AS one_cent_pct
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'KO', 'NVDA', 'MSFT', 'BKNG')
AND sip_timestamp >= '2026-06-10 15:00:00'
AND sip_timestamp < '2026-06-10 19:00:00'
AND bid_price > 0
AND ask_price > bid_price
GROUP BY ticker
ORDER BY avg_spread_centsKatika saa nne za katikati ya siku ya kikao hicho hicho, hisa iliyokuwa na spread finyu zaidi kati ya sita, KO, ilikuwa na wastani wa senti 1.18 na ilionyesha spread ya senti moja kwenye 82.5% ya masasisho yake. Ile pana zaidi, MSFT, ilikuwa na wastani wa senti 8.46, ikiwa na spread ya senti moja kwenye 1.1% ya masasisho. Mfumo wa foleni uliorekebishwa kwa hisa ya kwanza hausemi chochote chenye manufaa kuhusu ya pili. Maagizo yanayokaa kati ya quotes, yaliyofunikwa katika midpoint peg orders, huunda foleni yao wenyewe chini ya kanuni zilezile.
Uchunguzi nne kwa ajili ya backtest yako mwenyewe
- Linganisha kiwango cha utekelezaji kilichoigwa na kiwango chako cha utekelezaji cha moja kwa moja kwenye hisa zilezile kwa saa zilezile. Simulator inayotekeleza 70% ya maagizo ambayo yalitekelezwa 40% ya muda moja kwa moja inaelezea dhana yako, si soko.
- Gawanya utekelezaji ulioigwa katika mafungu mawili: yale ambapo kiwango cha bei kilinusurika baadaye, na yale yaliyotokea tu wakati kiwango kilipofutika kabisa. Fungu lililoelekezwa kwenye aina ya pili linamaanisha simulator inakupa utekelezaji wakati bei inapovuka kiwango chako.
- Weka mipaka ya dhana. Fanya upya huku kila kufutwa kwa agizo kukichukuliwa kutoka mbele ya foleni, kisha kila kufutwa kukichukuliwa kutoka nyuma. Majaribio hayo mawili ndiyo vipimo vya kweli vya hitilafu karibu na p(x) yoyote unayochagua.
- Pima mara ngapi bei yako ilikaa nje ya kina ambacho mtiririko wako wa data unacho. Utekelezaji hapo ulikuwa wa kubuni. Look-ahead bias in backtesting inaelezea hitilafu ileile kutoka pembe nyingine: matokeo yanayotegemea taarifa ambazo mkakati haukuwa nazo kamwe.
Wakati wa kuacha kuunda mifumo na kununua data ya maagizo
Data ya market-by-order (MBO) hubeba ujumbe kwa kila agizo binafsi, kuanzia wakati linapowasili hadi wakati linapotekelezwa au kufutwa, kila moja ikiwa na kitambulisho chake. Cheza tena mtiririko huo na nafasi yako kwenye foleni itakuwa hesabu badala ya makadirio, mara tu unapochukulia ucheleweshaji wa kweli kwa agizo lako kufika kwenye soko. Inagharimu zaidi kuliko mtiririko wa data ya kina na ni kubwa zaidi kuhifadhi.
Uchunguzi wa 3 ndiyo kanuni ya uamuzi. Ikiwa mipaka ya mbele na nyuma yote inafanya mkakati kuwa na faida, dhana ya kati itafaa. Ikiwa mkakati unapata pesa chini ya mpaka mmoja na kupoteza chini ya mwingine, mfumo wa foleni ndiyo mkakati wenyewe, na kununua mtiririko wa data ya agizo-kwa-agizo ni nafuu kuliko kutetea makadirio.
Masoko ya pro-rata hubadilisha swali
Baadhi ya masoko ya hatima (futures) na chaguzi (options) hugawanya agizo linaloingia kati ya maagizo yaliyopo kwa bei kulingana na ukubwa badala ya utaratibu wa kuwasili. Muda hauna umuhimu mkubwa hapo, na ukubwa uliotajwa huwa ndiyo kigezo: kuongeza ukubwa wako mara mbili takribani huongeza mara mbili sehemu yako ya kila utekelezaji. Hali ya kushindwa hubadilika nayo, kuelekea kutaja ukubwa mkubwa kuliko unavyotaka kumiliki. Why options orders do not get filled inashughulikia jinsi hiyo inavyoonekana kutoka upande wa rejareja wa kitabu cha chaguzi.
Maswali Yanayoulizwa Mara Kwa Mara
Nafasi katika foleni ni nini katika biashara?
Nafasi katika foleni ni kiwango chako kati ya maagizo yaliyopo kwa bei ileile kwenye soko lileile. Kwenye kitabu cha kipaumbele cha bei-muda, maagizo yaliyo mbele yako lazima yatekelezwe au yafutwe kabla ya yako kuweza kutekelezwa.
Je, unaweza kukokotoa nafasi katika foleni kutoka kwa data ya Level 2?
Si kwa usahihi. Level 2 inaonyesha jumla ya ukubwa kwa kila kiwango cha bei bila utambulisho wa agizo, hivyo wakati ukubwa unapotoweka bila chapisho huwezi kujua kama hisa hizo zilikuwa mbele yako au nyuma yako. Unaweza kukadiria namba na kuweka mipaka ya makadirio. Namba kamili inahitaji data ya agizo-kwa-agizo.
Kwa nini viwango vya utekelezaji vilivyofanyiwa backtest mara nyingi huwa juu sana?
Dhana ya kawaida husambaza kufutwa kwa maagizo sawasawa katika foleni, wakati kufutwa halisi hujikita kuelekea nyuma. Mfumo wa usawa husogeza agizo lako lililoigwa haraka kuliko foleni halisi inavyosonga, jambo linaloonekana kama utekelezaji mwingi zaidi, na bora zaidi, kuliko biashara ya moja kwa moja inavyotoa.
Data ya MBO ni nini?
Data ya market-by-order huipa kila agizo binafsi ujumbe wake, kuanzia kuwasili hadi utekelezaji au kufutwa. Huu ndiyo mtiririko ambapo nafasi yako kwenye foleni inahesabika badala ya kukadiriwa, jambo ambalo ni muhimu zaidi kwa mikakati inayoishi kwenye spread ya tick moja.
Je, nafasi katika foleni ni muhimu kwenye masoko ya pro-rata?
Kidogo. Ugawaji wa pro-rata hugawanya agizo linaloingia kati ya maagizo yaliyopo kulingana na ukubwa, hivyo kuwasili kwanza hakukusaidii sana na ukubwa uliotajwa ndiyo hufanya kazi. Kuangalia ni mfumo gani wa ugawaji ambao soko linatumia ni muhimu kabla ya kuunda mfumo wowote wa foleni.
Kila paneli hapa ina SQL iliyoizalisha. Badilisha ticker, badilisha tarehe, na uulize swali lileile kuhusu hisa unazofanyia biashara kwenye terminal ya Strasmore.