Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-08-08

İşlem koşulu kodları nasıl çalışır?

İşlem koşulu kodları aynı hisse senedi için farklı platformlarda görülen fiyat farklarını açıklar. Bu etiketler günün en yüksek ve düşük seviyeleri ile hacmi belirler.

İşlem koşulu kodları, üç farklı platformun aynı hisse senedi için üç farklı günlük zirve göstermesinin nedenidir ve bunların hiçbiri hatalı değildir. Konsolide banttaki (consolidated tape) her işlem kaydı bu etiketleri taşır; bu kodlar, bir işlemin son fiyatı, günün en yüksek ve en düşük seviyesini, resmi açılışı, resmi kapanışı ve konsolide hacim toplamını güncelleyip güncelleyemeyeceğine karar verir. Bir işlem, gerçek bir fiyattan gerçekleşmiş gerçek bir emir olsa dahi, bu alanların neredeyse tamamının dışında tutulabilir.

İşlem koşulu kodları nelerdir?

Satış koşulu olarak da adlandırılan işlem koşulu kodu, raporlama merkezinin banta giden bir işlem raporuna eklediği bir etikettir. Fiyat ve miktar, neyin işlem gördüğünü belirtir. Koşul ise raporun türünü tanımlar: zamanında ulaşıp ulaşmadığı, fiyatın o an üzerinde anlaşılan bir değer mi yoksa diğer işlemlerden hesaplanan bir değer mi olduğu, normal saatler dışında gerçekleşip gerçekleşmediği veya standart lot büyüklüğü olan yüz hissenin altında olup olmadığı gibi.

Her kodun ekinde, neredeyse kimsenin görmediği bir uygunluk bayrakları (eligibility flags) seti bulunur. Her kod; son fiyat, en yüksek ve en düşük seviye, açılış, kapanış ve konsolide hacim için uygun veya uygun değil şeklinde işaretlenmiştir. Bu bayraklar birbirinden bağımsız hareket eder. En yüksek veya en düşük seviyeyi etkileyemeyen birçok işlem yine de hacme dahil edilir; bir hissenin raporlanan işlem adedi ile raporlanan fiyat uç noktalarının, birbiriyle örtüşen ancak farklı işlem setlerinden oluşturulmasının nedeni budur. İlk setin yanında ikinci bir bayrak seti daha çalışır: Bir set konsolide bandı yönetirken, diğeri bireysel piyasa merkezini yönetir; çünkü bir borsanın kendi resmi kapanışı yalnızca kendi işlem kayıtlarından hesaplanır.

Koşul kodları aileler halinde gelir ve bir işlemin neleri güncelleyebileceğini yalnızca tek bir aile yönetir.

SorgulaABD hisseleri için tanımlanmış işlem kodu aileleri
Her verinin arkasındaki tam SQL
SELECT
    replaceAll(type, '_', ' ') AS condition_family,
    countDistinct(id)          AS codes
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
GROUP BY condition_family
ORDER BY codes DESC
Run this yourself

Hisse senedi sözlüğü 8 aile içerir. En büyüğü, sale condition adet farklı kod ile 40 ailesidir. Kotasyon koşulları, bir işlemi değil, alış ve satış kotasyonlarını tanımlar. Gösterge aileleri, kısa satış kısıtlaması (short sale restriction) gibi durumları işaretler. Satış koşulu ailesi, uygunluk bayraklarını taşıyan ve aşağıdaki her bir sayının türetildiği ailedir.

Bantta gerçekte neler yer alır?

Aşağıdaki panel, Haziran 2026'dan sabitlenmiş bir seansı ele almaktadır: AAPL hissesinin sabah 04:00'teki piyasa öncesi açılışından akşam 20:00'deki piyasa sonrası kapanışına kadar gerçekleşen her işlemi, her kaydın taşıdığı satış koşuluna göre gruplandırır. Pencere SQL içinde sabitlenmiştir, bu nedenle bu veriler yalnızca o günü tanımlar. Bir işlem aynı anda birkaç kod taşıyabilir ve birçoğu hiçbir kod taşımaz; bu nedenle sütunların toplamı yüzü bulmaz.

SorgulaBir AAPL seansı, her işlem kaydının satış koşuluna göre gruplandırılması
Her verinin arkasındaki tam SQL
WITH
    (SELECT count()
       FROM global_markets.stocks_trades
      WHERE ticker = 'AAPL'
        AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
        AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'UTC')) AS day_prints,
    (SELECT sum(size)
       FROM global_markets.stocks_trades
      WHERE ticker = 'AAPL'
        AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
        AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'UTC')) AS day_shares
SELECT
    multiIf(t.code = -1,     'Regular way (no code)',
            c.code_name = '', concat('Unmapped code ', toString(t.code)),
            c.code_name)                        AS condition_name,
    round(100 * count() / day_prints, 2)        AS pct_of_prints,
    round(100 * sum(t.size) / day_shares, 2)    AS pct_of_shares
FROM
(
    SELECT
        size,
        arrayJoin(if(empty(conditions),
                     [toInt32(-1)],
                     arrayMap(x -> toInt32(x), conditions))) AS code
    FROM global_markets.stocks_trades
    WHERE ticker = 'AAPL'
      AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
      AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'UTC')
) AS t
LEFT JOIN
(
    SELECT toInt32(id) AS code_id, any(name) AS code_name
    FROM global_markets.stocks_condition_codes
    WHERE asset_class = 'stocks'
      AND type = 'sale_condition'
    GROUP BY code_id
) AS c ON c.code_id = t.code
GROUP BY condition_name
ORDER BY pct_of_prints DESC
LIMIT 12
Run this yourself

O gün en yaygın etiket, seans kayıtlarının Odd Lot Trade'ünde ve hacmin 65.83%'ünde görülen 6.37% koduydu. İki sütunu satır satır karşılaştırın. İşlem adedi payı, hacim payının üzerinde kaldığında, kod küçük ölçekli işlemleri işaretler. Tam tersi durumda ise kod, çok büyük birkaç işlemi işaretler. İşlem sayısını ve hisse adedini saymak farklı sorulara yanıt verir; işlem koşulu kodu, bunları birbirinden ayıran unsurdur.

Neden iki platform farklı günlük zirveler gösterir?

Dört tür işlem kaydı, farklı alan alt kümelerinden hariç tutulur.

  • Geç raporlanan ve sıra dışı işlemler. Saat 10:14'te anlaşılan ve 10:31'de raporlanan bir işlem, banta sıra dışı (out of sequence) etiketiyle ulaşır veya önceki bir referans fiyatına göre fiyatlandırılır. Hacme dahil edilir. Son fiyatı belirleyemez ve fiyatı seanstaki diğer tüm işlemlerin üzerinde olsa dahi günün en yüksek seviyesini yukarı taşıyamaz. Müzakere edilmiş blok işlemler ve karanlık havuz (dark pool) işlem merkezlerinden işlem raporlama tesisine yönlendirilen kayıtlar genellikle buraya düşer.
  • Türev fiyatlı işlemler. Ortalama fiyatlı bir işlem veya VWAP dolumu, o an üzerinde anlaşılan bir fiyat yerine birçok diğer işlem üzerinden hesaplanan bir fiyat taşır. Canlı bir kotasyon olarak hiç var olmadığından, son fiyattan ve uç değerlerden uzak tutulur.
  • Küçük lot (Odd lot). Yüz hisseden az olan işlemlerdir. Küçük lotlar, konsolide hacme tam olarak dahil edilirken son fiyat ile en yüksek ve en düşük seviyeler için uygun değildir. 2013 sonuna kadar konsolide banta hiç raporlanmamışlardır. Bu sınırın öncesine giden herhangi bir hacim karşılaştırması, kelimenin iki farklı tanımını kıyaslamaktadır; ortalama günlük hacim rehberimiz bunu detaylıca ele alır.
  • Genişletilmiş saatler ve Form T. Piyasa öncesi ve kapanış sonrası kayıtlar etiketlenir ve normal seans açılışı, en yüksek, en düşük ve kapanış değerlerinden uzak tutulur; ancak konsolide hacme dahil edilmeye devam ederler. Bunları grafikleyen bir platform, grafiklemeyen bir platformdan farklı bir günlük aralık gösterir; piyasa öncesi ve kapanış sonrası işlemlerin bir grafikte görünüp diğerinde görünmemesinin arkasındaki mekanizma budur.

İşte beş popüler hisse senedi için aynı sabit günde her bir kategorinin seans içindeki payı.

SorgulaBir seanstaki fiyatlamaya uygun olmayan koşullara sahip işlem kayıtlarının payı
Her verinin arkasındaki tam SQL
WITH
    (SELECT groupArray(toInt32(id))
       FROM global_markets.stocks_condition_codes
      WHERE asset_class = 'stocks'
        AND type = 'sale_condition'
        AND name ILIKE '%odd lot%')                       AS odd_lot_codes,
    (SELECT groupArray(toInt32(id))
       FROM global_markets.stocks_condition_codes
      WHERE asset_class = 'stocks'
        AND type = 'sale_condition'
        AND multiSearchAnyCaseInsensitive(name,
              ['form t', 'extended trading hours']))      AS extended_codes,
    (SELECT groupArray(toInt32(id))
       FROM global_markets.stocks_condition_codes
      WHERE asset_class = 'stocks'
        AND type = 'sale_condition'
        AND multiSearchAnyCaseInsensitive(name,
              ['out of sequence', 'prior reference', 'derivatively priced',
               'average price', 'price variation', 'seller'])
        AND NOT multiSearchAnyCaseInsensitive(name,
              ['form t', 'extended trading hours']))      AS late_or_derived_codes
SELECT
    ticker,
    round(100 * countIf(hasAny(conditions, odd_lot_codes))         / count(), 2) AS odd_lot_pct,
    round(100 * countIf(hasAny(conditions, late_or_derived_codes)) / count(), 2) AS late_or_derived_pct,
    round(100 * countIf(hasAny(conditions, extended_codes))        / count(), 2) AS extended_hours_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('AAPL', 'KO', 'MSFT', 'NVDA', 'SPY')
  AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'UTC')
GROUP BY ticker
ORDER BY odd_lot_pct DESC
Run this yourself

Küçük lot işlemleri, beş hisse senedi genelinde tüm işlemlerin 46.8% ila 85.14%'sini oluşturdu. Sabit dolar tutarlı bir emir, daha yüksek fiyatlı bir hissede daha az hisse senedi satın aldığından, bu sütun hisse fiyatını yakından takip eder. NVDA, 2.4%'u geç raporlanan veya türev fiyatlı, 3.53%'u ise genişletilmiş saatlerde gerçekleşen işlemlerle bu listenin başında yer aldı. Her üç kategorideki her bir işlem, gerçek bir fiyattan gerçekleşen gerçek bir işlemdir ve her biri en yüksek ve en düşük seviyeyi belirlemekten men edilmiştir.

Zirveyi yukarı taşımayan bir işlem

Bir sonraki panel, aynı AAPL seansını ele alır, 09:30 - 16:00 arasındaki normal seansı on beş dakikalık dilimlere böler ve her dilim için iki zirve çizer. Bir çizgi, herhangi bir işlemin en yüksek fiyatını alır. Diğeri ise koşulları gereği zirveyi belirlemeye uygun olan işlemler arasındaki en yüksek fiyatı alır.

SorgulaAynı AAPL seans zirvesinin on beşer dakikalık iki farklı versiyonu
Her verinin arkasındaki tam SQL
WITH
    (SELECT groupArray(toInt32(id))
       FROM global_markets.stocks_condition_codes
      WHERE asset_class = 'stocks'
        AND type = 'sale_condition'
        AND multiSearchAnyCaseInsensitive(name,
              ['odd lot', 'form t', 'extended trading hours', 'out of sequence',
               'prior reference', 'derivatively priced', 'average price',
               'price variation', 'seller'])) AS not_high_low_codes
SELECT
    formatDateTime(toStartOfFifteenMinutes(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
    round(toFloat64(max(price)), 2)                                              AS tape_high,
    round(toFloat64(maxIf(price, NOT hasAny(conditions, not_high_low_codes))), 2) AS eligible_high
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
  AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-06-18 00:00:00', 'UTC')
  AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
       + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) >= 570
  AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
       + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) < 960
GROUP BY et_time
HAVING countIf(NOT hasAny(conditions, not_high_low_codes)) > 0
ORDER BY et_time
Run this yourself

Seans 09:30'de, 302.07 bant zirvesi ve 302.07 uygun zirve ile açılır ve kapanışa kadar 26 dilim ilerler. Uygun işlemler, tüm işlemlerin bir alt kümesi olduğundan, uygun çizgi asla bant çizgisinin üzerinde yer alamaz. İkisinin üst üste bindiği yerlerde, o çeyrek saat içindeki her işlemin zirveyi belirlemesine izin verilmiştir. Üst çizginin ayrıştığı yerlerde ise, o pencerede en az bir işlem en yüksek uygun fiyattan daha yüksekte gerçekleşmiştir ve uygunluk kurallarına göre oluşturulan hiçbir grafik bunu göstermeyecektir.

Bu fark, tutarsızlığın dürüst cevabıdır. Her işlemin maksimum fiyatını alan bir kaynak bir zirve raporlar. Uygunluk bayraklarını uygulayan bir kaynak başka bir zirve raporlar. Piyasa öncesi ve kapanış sonrası seansları da dışarıda bırakan bir kaynak üçüncü bir zirve raporlar. Hepsi aynı bandı okumaktadır.

Uygunluk katmanı ne kadar sağlamdır?

Oldukça zayıf. Bayraklar referans verileridir ve referans verileri düzeltilebilir. Ticari bir piyasa verisi sağlayıcısı, kendi koşul sözlüğüne, tek bir satış koşulunun resmi açılışı ve resmi kapanışı belirleme uygunluğunu yeniden sınıflandıran bir düzeltme gönderdi. Hiçbir işlem değişmedi. Etkilenen her gün için bant, düzeltmeden önce ve sonra aynıydı. Değişen şey, bir arama tablosundaki tek bir bayraktı; bununla birlikte, o sözlüğün aşağı yönlü tüm grafik ve geriye dönük testlerinin (backtest) bastığı resmi açılış ve kapanış fiyatları da değişti.

Herhangi bir satıcının OHLC verisini, bant hakkındaki bir gerçeklikten ziyade bandın bir okuması olarak değerlendirin. İki kaynak anlaşamadığında, her birinin hangi uygunluk kurallarını uyguladığını sorgulayın. Gecikmeli ve konsolide kotasyon beslemeleri, uygunluktan ziyade zamanlama konusunda aynı sorunun ikinci bir versiyonunu oluşturur.

Yetkili işlem koşulu kodu listesi nerede bulunur?

Bantlar, NYSE listesindeki menkul kıymetler için CTA Planı ve Nasdaq listesindekiler için UTP Planı olmak üzere iki ulusal piyasa sistemi planı altında çalışır ve her biri yönettiği bant için satış koşulu şartnamesini yayınlar. Bu şartnameler yetkili kaynaktır. Yukarıdaki panellerin arkasındaki kimlik numaraları da dahil olmak üzere aşağı yönlü her şey, bir satıcının bunları kendi numaralandırmasına eşlemesidir; bir sağlayıcıdan alınan kod kimliği, diğerinde mutlaka aynı anlama gelmez. Numaralardan ziyade kategorileri öğrenin. Kategoriler yıllardır sabittir. Numaralar ise bir arama tablosudur ve arama tabloları düzenlenebilir.

Veri notları

Yukarıdaki panellerdeki koşul grupları, sabit kodlanmış kimlik numaralarından ziyade sözlüğün kendisinden oluşturulmuştur. Her grup, satış koşulu ailesi içindeki bir isim eşleşmesidir (küçük lot, Form T ve genişletilmiş işlem saatleri, sıra dışı, önceki referans fiyatı, türev fiyatlı, ortalama fiyat, fiyat varyasyonu, satıcı). Tam desenleri okumak için herhangi bir panelin altındaki SQL'i açın. Kodlar birbirini dışlamaz ve tek bir işlem birkaç kod taşıyabilir, bu nedenle grup yüzdeleri örtüşür ve seansın toplamını vermez. Her iki AAPL paneli ve beş hisseli panel, SQL'de sabitlenmiş Haziran 2026'daki tek bir seansı kapsar, bu nedenle yeni seanslar geldikçe bu sayfadaki hiçbir veri hareket etmez.

SSS

İşlem koşulu kodu nedir?

Konsolide banttaki bir işlem raporuna eklenen; geç raporlanan, türev fiyatlı, küçük lot veya genişletilmiş saatler gibi raporun türünü tanımlayan bir etikettir. Her kod, o işlemin son fiyatı, en yüksek ve en düşük seviyeyi, açılışı, kapanışı ve konsolide hacmi güncelleyip güncelleyemeyeceğini işaretleyen bayraklar taşır.

Neden iki web sitesi aynı hisse senedi için farklı günlük zirveler gösterir?

Her biri aynı işlem kayıtlarına farklı bir uygunluk kuralları seti uygular. Biri raporlanan tüm işlemlerin en yüksek fiyatını alırken, diğeri işlem koşulu kodları zirveyi belirlemesini engelleyen kayıtları hariç tutabilir; üçüncüsü ise piyasa öncesi ve kapanış sonrası seansları da dışarıda bırakabilir. Hepsi aynı bandı okumaktadır.

Küçük lot (odd lot) işlemleri hacme dahil edilir mi?

Evet. Yüz hisseden az olan küçük lot işlemleri, son fiyatı veya günün en yüksek ve en düşük seviyesini belirlemeye uygun olmasa da konsolide hacme dahil edilir. Küçük lotlar 2013 sonuna kadar konsolide banta hiç raporlanmadığından, uzun vadeli hacim karşılaştırmaları bu noktada bir tanım değişikliğini aşmaktadır.

Kapanış sonrası işlemler günlük en yüksek ve en düşük seviyeye dahil edilir mi?

Normal seansın en yüksek ve en düşük seviyesine dahil edilmezler. Piyasa öncesi ve kapanış sonrası kayıtlar, normal seans açılışı, en yüksek, en düşük ve kapanış değerlerinden uzak tutulmalarını sağlayan genişletilmiş saatler veya Form T koşulu taşır; ancak günün konsolide hacmine dahil edilmeye devam ederler.

Resmi satış koşulu kodları listesi nerededir?

CTA Planı ve UTP Planı, yönettikleri bantlar için satış koşulu şartnamelerini yayınlar ve bu belgeler yetkili kaynaktır. Satıcı beslemeleri, koşulları kendi kimlik alanlarına göre yeniden numaralandırır, bu nedenle bir sağlayıcıdan alınan sayısal kod, diğerindekiyle eşleşmeyebilir.


Buradaki her panel, onu üreten SQL ile birlikte sunulur. Birini açın, hisse senedi sembolünü veya tarihi değiştirin ve Strasmore terminalinde herhangi bir seans için aynı koşul dökümünü çalıştırın.

#market data#trade conditions#consolidated tape#volume#ohlc