Mikro Yapı Analizi 29 Haziran 2026
29 Haziran 2026 işlem verileri: İşlem ve fiyat kayıtları, hacim düzeltmeleri, nanosaniye bazlı veriler ve FINRA dosyası detayları inceleniyor.
29 Haziran 2026 piyasa özeti için hazırlanan teknik detaylar aşağıdadır: dakikalık barların altındaki ham veri akışı — sıradan bir Pazartesi seansında 156.1 milyon münferit işlem ve 505.38 milyon NBBO fiyat güncellemesi yer almaktadır. Her veri bir sorgu sonucudur (kesin SQL verisi için ilgili panel genişletilebilir); günün iki önemli bulgusu detaylandırılmıştır: kayıt sisteminin veri sözlüğüne göre gereken bir hacim düzeltmesi ve S harfinde sessizce sona eren bir sağlayıcı dosyası.
İşlem kayıtları, her bir baskı bazında
Önce oturum kontrolü yapılır, hiçbir veri varsayılmaz: borsa tatil takvimi 29 Haziran 2026 için 0 satır içermektedir ve SPY, düzenli işlem süresi içinde tam olarak 390 dakikalık bar oluşturmuştur — New York saatiyle 09:30 ile 16:00 arası tam bir oturum. Uzatılmış işlem süresi boyunca, konsolide veri bandı 156.1 milyon bireysel işlem kaydetmiştir.
Her verinin arkasındaki tam SQL
WITH
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-06-29') AS holiday_rows,
(
SELECT countIf(window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-29 00:00:00' AND window_start < '2026-06-30 00:00:00'
) AS spy_bars
SELECT
holiday_rows AS holiday_rows_jun29,
spy_bars AS spy_regular_session_bars,
round(count() / 1e6, 1) AS trades_m,
round(100.0 * countIf(size < 100) / count(), 2) AS odd_lot_pct_of_trades,
round(100.0 * toFloat64(sumIf(size, size < 100)) / toFloat64(sum(size)), 2) AS odd_lot_pct_of_shares,
multiIf(
countIf(size <= 19) >= 0.5 * count(), 19,
countIf(size <= 20) >= 0.5 * count(), 20,
countIf(size <= 21) >= 0.5 * count(), 21,
countIf(size <= 22) >= 0.5 * count(), 22,
countIf(size <= 23) >= 0.5 * count(), 23,
0) AS median_print_shares,
round(countIf(size = 1) / 1e6, 1) AS one_share_trades_m,
round(100.0 * countIf(size != round(size)) / count(), 2) AS fractional_pct_of_trades
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'Tüm baskıların 72.61%'i küçük lotlardan —100 hisseden az olan işlemler— oluşmuştur; ancak bunlar toplam ham hisse miktarının yalnızca 8.79%'sını hareket ettirmiştir — düzeltilmemiş toplam miktar, aşağıdaki hacim analizi bölümünde ayıklanmaktadır. Medyan baskı, kendi kendini doğrulayan bir parantez probu ile ölçülen 21 hisse olmuştur — 19 ile 23 hisse arasındaki kümülatif sayımlar — parantez eşleşmezse 0 sonucunu verir ve bir hata durumunda değeri sabit tutacak şekilde sınırlandırılmıştır. 17.9 milyon baskı tam olarak bir hisse içindi ve 4.73% parçalı büyüklükler taşıyordu — bu durum, perakende uygulamaların piyasa yapıcıların karşı taraf olduğu işlemleri tek tek veri bandına iletmesiyle uyumlu bir modeldir.
Hacim analizi: sözlük üzerinden "eşleşen hacim" türetme
Her işlemdeki büyüklük alanı toplandığında, 29 Haziran tarihinde 24.79 milyar hisse işlem görmüştür. Bu rakam hatalıdır ve işlem kayıtları (tape) bunu doğrulamaktadır. Her işlem durum kodları içerir ve tüm borsaları tek bir akışta birleştiren SIP —Securities Information Processor— her bir kodun konsolide hacmi güncelleyip güncellemediğini belirten bir sözlük yayınlar. Bazı mesajlar, halihazırda bir kez sayılmış olan hacmin idari yeniden yayınlarıdır. "Bilinen" kodlardan oluşan bir liste oluşturmak yerine, bu yazı dışlama kümesini doğrudan sözlükten türetmektedir:
Her verinin arkasındaki tam SQL
SELECT
count() AS excluded_codes,
sum(id) AS excluded_id_checksum,
arrayStringConcat(arraySort(groupArray(concat(toString(id), ' ', name))), ' · ') AS codes
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
AND type = 'sale_condition'
AND JSONExtractBool(update_rules, 'consolidated', 'updates_volume') = 03 satış koşulları, konsolide veri akışında updates_volume = false değerini taşır: 15 Market Center Official Close · 16 Market Center Official Open · 38 Corrected Consolidated Close (per listing market). Uygulamalı ders şöyledir: günlük özetin önceki bir taslağı, veri kılavuzlarının her ikisinden de bahsettiği resmi açılış/kapanış mesajları olan 15 ve 16 numaralı kodları sabit olarak eklemiş ve 38 numaralı kodu tamamen atlamıştır. Doğruluk kaynağı, ezberlenmiş bir kod listesi değil, sözlüğün kendisidir.
İki blok kullanımı bilinçlidir: 156.1 milyon satırlık bir tarama içinde sözlük üzerinde yapılan bir skaler alt sorgu, 30 saniyelik sınırımızı aşmaktadır. Bu nedenle, yukarıdaki blok kümeyi tek bir satır olarak türetir —kod sayısı ve bir id sağlaması (69) ile sınırlandırılmıştır— ve aşağıdaki blok türetilen değerleri uygular. Sözlükte bir sapma olması durumunda, sağlaması bu yazıyı inceleme için bekletir; değerler asla sessizce güncelliğini yitiremez.
Her verinin arkasındaki tam SQL
SELECT
round(toFloat64(sum(size)) / 1e9, 2) AS raw_shares_bn,
round(toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))) / 1e9, 2) AS matched_shares_bn,
round(toFloat64(sumIf(size, hasAny(conditions, [15, 16, 38]))) / 1e9, 2) AS excluded_shares_bn,
countIf(hasAny(conditions, [15, 16, 38])) AS excluded_prints
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'Düzeltilmiş hesaplama: 91175 idari işlem üzerinden 24.79 milyar hisse ham veri, 20.66 milyar SIP sayımlı, 4.13 milyar hariç tutulan. Tek bir tanım, kesin olarak belirtilmiştir: "eşleşen hacim", SIP'in kendi durum kurallarının konsolide toplama dahil ettiği hacim anlamına gelir — daha fazlası değil. Hangi işlemlerin ekonomik olarak anlamlı olduğuna karar vermiyoruz; işlemin kendi muhasebe yöntemini uyguluyoruz.
The largest prints, decoded
The day's biggest prints are where condition codes stop being trivia:
Her verinin arkasındaki tam SQL
SELECT
ticker,
formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') AS et_time,
round(toFloat64(size) / 1e6, 2) AS shares_m,
toFloat64(price) AS price,
round(toFloat64(size) * toFloat64(price) / 1e6, 1) AS notional_usd_m,
round(100 * (toFloat64(size) * toFloat64(price)) / max(toFloat64(size) * toFloat64(price)) OVER (), 1) AS pct_of_biggest_dollar_print,
arrayStringConcat(arrayMap(c -> toString(c), conditions), ', ') AS condition_id
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
AND size >= 10000000
AND NOT hasAny(conditions, [15, 16, 38])
ORDER BY size DESC
LIMIT 10Read the top rows as a worked example. The day's largest print — 61.69 million CAG (Conagra) shares at $13.98, roughly $862.5 million, stamped 16:04:53 ET under codes 8, 41 (8 Closing Prints, 41 Trade Thru Exempt) — is the NYSE closing auction result published after 4:00 pm. It counts toward volume exactly once. The same 61.69 million shares then re-appear under code 15, Market Center Official Close: a re-report the dictionary excludes, part of the 4.13 billion stripped above. That code-15 row is stripped from the table above by design, so its receipt gets its own cheap one-row panel:
Her verinin arkasındaki tam SQL
SELECT
round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS auction_print_shares_m,
round(toFloat64(maxIf(size, has(conditions, 15))) / 1e6, 2) AS official_close_reprint_shares_m,
round(toFloat64(maxIf(size, has(conditions, 8))) - toFloat64(maxIf(size, has(conditions, 15))), 2) AS share_difference,
formatDateTime(toTimeZone(argMaxIf(sip_timestamp, size, has(conditions, 15)), 'America/New_York'), '%H:%i:%S') AS reprint_et,
argMaxIf(exchange, size, has(conditions, 15)) AS reprint_exchange_id,
countIf(has(conditions, 15)) AS cag_code15_prints
FROM global_markets.stocks_trades
WHERE ticker = 'CAG'
AND sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'The largest of the 6 official-close messages on CAG carries 61.69 million shares — the auction's 61.69 million exactly (difference: 0) — stamped 16:04:53 ET from exchange id 10, NYSE in the stocks directory: the listing market re-stating its own auction.
The other CAG rows are a different animal — the 15.17 million-share print under codes 12, 2 (12 Form T / extended hours, 2 Average Price Trade) and two more under code 12 are post-auction prints reported through FINRA whose conditions carry updates_volume = true. The SIP counts them as real prints, and so does our matched figure.
Elsewhere, code 9 marks the Nasdaq closing crosses — NVDA's $3389.5 million cross is the table's biggest print in dollars — and the codes on the SNAP print (53, 41) include 53, a Qualified Contingent Trade.
Saat: on dakika günü domine ediyor
Dakika bazında incelendiğinde, işlem hacmi neredeyse tamamen seansın uç noktalarında yoğunlaşmaktadır:
Her verinin arkasındaki tam SQL
SELECT
formatDateTime(toTimeZone(toStartOfMinute(sip_timestamp), 'America/New_York'), '%H:%i') AS et_minute,
round(count() / 1e6, 2) AS trades_m
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY et_minute
ORDER BY trades_m DESC
LIMIT 1015:59 ET dakikasında 3.98 milyon işlem gerçekleşti — saniyede altmış binden fazla işlem yapıldı. İlk on sıradaki diğer verilerin açılış ve kapanış saatlerine mi odaklandığı tek bir satırlık ölçümle görülebilir:
Her verinin arkasındaki tam SQL
SELECT
countIf(NOT (et_minute BETWEEN '09:30' AND '09:39' OR et_minute BETWEEN '15:50' AND '16:00')) AS entries_outside_open_close,
countIf(et_minute BETWEEN '09:30' AND '09:39' OR et_minute BETWEEN '15:50' AND '16:00') AS entries_in_open_close,
maxIf(et_minute, NOT (et_minute BETWEEN '09:30' AND '09:39' OR et_minute BETWEEN '15:50' AND '16:00')) AS outside_entry_minute,
maxIf(trades_m, NOT (et_minute BETWEEN '09:30' AND '09:39' OR et_minute BETWEEN '15:50' AND '16:00')) AS outside_entry_trades_m
FROM (
SELECT
formatDateTime(toTimeZone(toStartOfMinute(sip_timestamp), 'America/New_York'), '%H:%i') AS et_minute,
round(count() / 1e6, 2) AS trades_m
FROM global_markets.stocks_trades
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY et_minute
ORDER BY trades_m DESC
LIMIT 10
)On veriden 9'si açılıştan sonraki ilk on dakika veya kapanıştan önceki son on dakika içinde yer almaktadır. Tek istisna olan — 10:15 ET saatinde gerçekleşen 0.88 milyonluk işlem artışı — sabah ortası dönemine ait gerçek bir sapmadır; bu veriden hareketle nedeninin ne olduğu bilinmemektedir ve bir tahmin yürütülmeyecektir. Aynı saat dilimi aşağıda tekrar edilmektedir.
Fiyat akışı: yarım milyar güncelleme
Ulusal En İyi Alım ve Satım Fiyatı (NBBO) — her borsadaki en iyi alış ve satış fiyatı olup, herhangi biri değiştiğinde yeniden yayınlanır — 29 Haziran'da 156.1 milyon işleme karşılık 505.38 milyon kez güncellendi.
Her verinin arkasındaki tam SQL
WITH
(
SELECT (round(countIf(ticker = 'QQQ') / 1e6, 2), round(countIf(ticker = 'NVDA') / 1e6, 2),
round(countIf(ticker = 'AAPL') / 1e6, 2), round(countIf(ticker = 'TSLA') / 1e6, 2))
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('QQQ', 'NVDA', 'AAPL', 'TSLA')
AND sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
) AS pinned
SELECT
round(count() / 1e6, 2) AS updates_m,
pinned.1 AS qqq_updates_m,
pinned.2 AS nvda_updates_m,
round(pinned.1 - pinned.2, 2) AS qqq_minus_nvda_updates_m,
round(pinned.2 - greatest(pinned.3, pinned.4), 2) AS nvda_minus_next_single_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'Fiyatlamada endeks ürünleri hakimiyet kuruyor: Sadece QQQ, incelenen en çok fiyatlanan tekil hisse olan NVDA'nın 1.8 milyon güncellemesine karşılık 5.23 milyon güncelleme kaydetti — bir sonraki tekil hisseye göre 0.67 milyon güncelleme fark bulunuyor. Her bir sembol için yapılan tam bir sayım 30 saniyelik sınır dahilinde gerçekleşemediğinden, aşağıdaki liste kapsamlı bir sıralama değil, kontrol edilmiş bir kümedir:
Her verinin arkasındaki tam SQL
SELECT ticker, round(count() / 1e6, 2) AS updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('QQQ', 'SPY', 'TQQQ', 'IWM', 'SQQQ', 'NVDA', 'AAPL', 'TSLA')
AND sip_timestamp >= '2026-06-29 00:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY ticker
ORDER BY updates_m DESCKontrol edilen kümede 5.23 milyon güncelleme ile QQQ liderlik etti; listenin başında bilinen hisseler değil, endeks fonları ve kaldıraçlı türevleri yer alıyor.
SPY mercek altında: nanosaniyelik veriler ve iki yönlü spread
Her verinin arkasındaki tam SQL
WITH
(
SELECT (formatDateTime(toTimeZone(toStartOfSecond(sip_timestamp), 'America/New_York'), '%H:%i:%S'), count())
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY' AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 20:00:00'
GROUP BY toStartOfSecond(sip_timestamp)
ORDER BY count() DESC, toStartOfSecond(sip_timestamp) ASC
LIMIT 1
) AS busiest_sec,
ordered AS (
SELECT
toFloat64(ask_price - bid_price) AS spread,
bid_price,
ask_price,
toFloat64(sip_timestamp - lagInFrame(sip_timestamp) OVER (ORDER BY sip_timestamp, sequence_number)) AS gap_s,
greatest(toFloat64(least(leadInFrame(sip_timestamp, 1, toDateTime64('2026-06-29 20:00:00', 9)) OVER (ORDER BY sip_timestamp, sequence_number ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING), toDateTime64('2026-06-29 20:00:00', 9)) - sip_timestamp), 0) AS dwell_s,
rowNumberInAllBlocks() AS rn
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY' AND sip_timestamp >= '2026-06-29 13:30:00' AND sip_timestamp < '2026-06-29 20:00:00'
)
SELECT
round(count() / 1e6, 2) AS spy_updates_m,
busiest_sec.1 AS busiest_second_et,
toUInt8(startsWith(busiest_sec.1, '10:15')) AS busiest_second_in_1015,
busiest_sec.2 AS busiest_second_updates,
round(minIf(gap_s, rn > 0 AND gap_s > 0) * 1e9) AS min_gap_between_updates_ns,
round(quantileExactIf(0.5)(gap_s, rn > 0) * 1e6, 1) AS median_gap_us,
countIf(rn > 0 AND gap_s = 0) AS identical_timestamp_pairs,
round(sumIf(spread * dwell_s, bid_price > 0 AND ask_price >= bid_price) / sumIf(dwell_s, bid_price > 0 AND ask_price >= bid_price) * 100, 2) AS time_weighted_avg_spread_cents,
round(avgIf(spread, bid_price > 0 AND ask_price >= bid_price) * 100, 2) AS per_update_avg_spread_cents,
round((avgIf(spread, bid_price > 0 AND ask_price >= bid_price) - sumIf(spread * dwell_s, bid_price > 0 AND ask_price >= bid_price) / sumIf(dwell_s, bid_price > 0 AND ask_price >= bid_price)) * 100, 2) AS per_update_premium_cents,
countIf(bid_price > 0 AND ask_price > 0 AND ask_price < bid_price) AS crossed_updates,
countIf(bid_price <= 0 OR ask_price <= 0) AS zero_bid_or_ask_updates
FROM orderedSPY'nin fiyatı sadece normal işlem saatlerinde 3.98 milyon kez değişti. En yoğun saniye — 10:15:43 ET, yukarıda işaretlenen 10:15 dakika içinde — 1461 güncelleme barındırdı. Ardışık güncellemeler arasındaki en küçük fark 1375 nanosaniye, medyan değer ise 245.6 mikrosaniye olarak gerçekleşti; 75138 ardışık çift ise özdeş nanosaniye damgalarına sahipti — nanosaniye çözünürlüğü bile modern veri akışını tam olarak sıralamaya yetmiyor.
Bu nanosaniyeler, bid-ask spread değerini ölçmek için kullanılır. Her güncelleme eşit ağırlıkta sayıldığında, SPY'nin ortalama spread değeri 2.72 cent; her bir fiyatı ne kadar süre boyunca sabit kaldığına göre ağırlıklandırdığımızda ise 2.34 cent oldu. Güncelleme başına düşen rakam mekanik olarak 0.38 cent daha geniş görünüyor: Güncellemeler tam olarak spread'in geniş ve hareketli olduğu anlarda yoğunlaşırken, bekleyen bir emir zaman bazlı olarak kalmaktadır. Bir spread istatistiği görüldüğünde, hangi saatin ölçüm yaptığını sorgulamak gerekir. Veriler gizli değil, açıkça sunulmaktadır: 1544 normal saat güncellemesi anlık olarak kesişti (ask fiyatı bid fiyatının altına düştü, farklı platformlardan gelen fiyatların iç içe geçmesi) ve 0 sıfır bid veya ask değeri taşıdı; spread istatistikleri her iki durumu da kapsam dışı bırakır ve kapsam dışı bıraktıklarını sayar.
Spread bir zaman çizelgesine sahiptir
SPY için verilen spread değerlerinin yarım saatlik dilimlere ayrılması, mikro yapıyı her yatırımcının kullanabileceği bir eğriye dönüştürür:
Her verinin arkasındaki tam SQL
SELECT
formatDateTime(toTimeZone(toStartOfInterval(sip_timestamp, INTERVAL 30 MINUTE), 'America/New_York'), '%H:%i') AS et_time,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS median_spread_cents,
count() AS quote_updates
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY' AND sip_timestamp >= '2026-06-29 08:00:00' AND sip_timestamp < '2026-06-30 00:00:00'
GROUP BY et_time
ORDER BY et_time04:00 ET öncesi piyasa diliminde 8 cent, 09:30 açılış diliminde 3 cent ve 14:00 itibarıyla 2 cent medyan değer görülmektedir — aynı hissenin piyasa açılışında alımını yapmak, öğleden sonraki bir emrin spread maliyetinden yaklaşık dört kat daha fazladır. Spread sabit bir değer değildir; bir programdır.
Adli inceleme örneği: S harfinde duran dosya
Her günlük sağlayıcı dosyası, bir veri yayınlanmadan önce tamlık kontrolünden geçer: hisse senetlerinin sayısı sayılır, alfabetik aralık kontrol edilir ve komşu dosyalarla karşılaştırılır. 29 Haziran tarihli FINRA borsa dışı kısa pozisyon hacmi dosyası, bu işlemin neden gerekli olduğunun kanıtıdır:
Her verinin arkasındaki tam SQL
SELECT
date,
uniqExact(ticker) AS tickers,
min(ticker) AS first_ticker,
max(ticker) AS last_ticker,
countIf(ticker = 'TSLA') AS tsla_rows,
round(100 * sum(short_volume) / sum(total_volume), 2) AS short_pct_of_reported
FROM global_markets.stocks_short_volume
WHERE date BETWEEN '2026-06-26' AND '2026-06-30'
GROUP BY date
ORDER BY date26 Haziran tarihli dosya 15052 hisse senedeti kapsamaktadır, A ile ZYME arası. 29 Haziran tarihli dosya ise 5489 hisse senedeti kapsamaktadır, A ile SSUS arası — dosya S harfi ile başlayan isimlerin ortasında durmaktadır. O noktadan sonra alfabetik olarak gelen her hisse senedeti — 26 Haziran'daki 1 satıra kıyasla 29 Haziran'daki 0 satır ile TSLA dahil — eksiktir; 30 Haziran'da dosya tekrar 15362 hisse senedetine ulaşmaktadır. Bir tamlık kontrolü, bu günlük tek satırlık makbuzdan daha karmaşık bir şey değildir; bir istatistik yayınlamak ile bir veri hatası yayınlamak arasındaki fark budur.
Bu açıklama ile birlikte — ve sadece bu açıklama ile — oran şöyledir: 29 Haziran'da işaretlenmiş kısa pozisyon hacmi, rapor edilen borsa dışı hacmin 45.85%'una tekabül etmektedir; 26 Haziran'da bu oran 46.89%, 30 Haziran'da ise 48.82% seviyesindedir. 29 Haziran verisi yalnızca A'dan S'ye kadar olan kısmı kapsamaktadır, bu nedenle kısmi bir okuma olarak değerlendirilmelidir. Yaklaşık yarı yarıya olan kısa pozisyon payı, komşu her oturumun gösterdiği rutin seviyedir — ve günlük kısa pozisyon hacmi short interest değildir.
Veri notları
Tam veri notları
- Saat 17:00-18:00 arası fiyat durgunluğu. SPY fiyat akışı 17:00 ET yarım saatinde (233 güncellemeleri) neredeyse durur ve 18:00 (40608) itibarıyla yeniden canlanır; bu bir veri kaybı değil, tüm hisseleri kapsayan bir akış/seans desenidir.
- Küsüratlı hisseler yaygındır. İşlemlerin 4.73% kadarı tam sayı olmayan büyüklüklere sahiptir; hacim ondalık sayılar olarak toplanmalıdır.
- Kod sözlüğü türler arasında aynı kimlikleri kullanır. 15 numaralı kimlik hem bir satış koşulu (Market Center Official Close) hem de bir fiyat koşuludur (Closed); buradaki her sözlük sorgusu asset_class = 'stocks' VE type = 'sale_condition' olarak filtrelenir. Sadece kimlik ile yapılan bir arama kodları yanlış etiketler.
- Fiyat kalitesi dışlamaları satır içi olarak sayılır. Çapraz işlemler ve sıfır alış/satış fiyatı sayıları, yukarıdaki SPY mikroskop panelinde yer alır; hiçbir spread istatistiği bu düşüşleri gizlemez.
- Tüm bant taramaları yalnızca toplu panellerdir. Buradaki piyasa genelindeki bloklar, soğuk önbellekte her biri yaklaşık 30 saniye sürecek şekilde ölçülmüştür (zaman aşımına uğrayan bir blok bir kez daha denenir; önbelleğe alınmış geçiş sınırı aşar); bunlar yazım sırasında salt okunur yol üzerinden bir kez çalıştırılır, okuyucular için canlı değildir ve saklanan sonuçlar kayıttır.
Metodoloji
- Zaman damgaları UTC formatında saklanır ve ham UTC sınırları ile filtrelenir (29 Haziran üzerindeki normal saatler 13:30 ile 20:00 UTC arasındadır); toTimeZone ifadesi yalnızca SELECT listelerinde yer alır.
- Oturum türü, tatil takvimi ve gözlemlenen 390 barlık normal işlem penceresi ile doğrulanır; hiçbir zaman varsayımda bulunulmaz.
- "SIP tarafından sayılan (eşleşen) hacim", SIP'in kendi koşul kurallarının konsolide toplam için saydığı hacimdir; hariç tutma kümesi sözlükten türetilir, checksum ile sınırlandırılır ve asla sabit kodlanmaz.
- Güncelleme başına spread istatistikleri, her NBBO güncellemesini eşit ağırlıkta tutar; zaman ağırlıklı istatistikler ise her fiyat teklifini geçerlilik süresine göre ağırlıklandırır. Her iki yöntem de hariç tutulan verileri belirtir.
- Ondalıklı fiyat/boyut sütunları yerel olarak toplanır ve herhangi bir oran veya fiyat-boyut çarpımı işleminden önce 64-bit float tipine dönüştürülür.
- Tick tabloları, yuvarlanmış bir son kullanma tarihi olmaksızın tam geçmişi korur; bu saklanan, versiyonlanmış sonuçlar, her durumda kalıcı kayıttır. 3 Temmuz 2026 itibarıyla depo durumu.
Yukarıdaki her panel tek bir saklanan nesnedir — grafik, tablo ve SQL bir aradadır. Herhangi birini açın, sorguyu kopyalayın ve Strasmore terminalinde daha ileriye taşıyın.