mesh TR EN Keşif Toplantısı
Yazılar/Borsa altyapısı

"O fitil hiç olmadı" — likidasyon tartışmasını bitiren mum mimarisi

13 Ağustos 2026·Okuma ~7 dk·Mesh Mühendislik

Bir borsanın en pahalı destek kaydı, likidasyonu kullanıcının kabul etmediği kayıttır. Sebep genelde risk motoru değil — mum verisinin nereden geldiği.

Vadeli işlem sunan her borsa aynı destek kaydını alır. Kullanıcı likide olmuştur, grafiğe bakar, fiyatın likidasyon seviyesine hiç değmediğini görür ve yazar: "Benim grafiğimde o fitil yok."

Çoğu operasyon ekibi bunu bir kullanıcı hatası sanır. Genelde değildir. Kullanıcı gerçekten öyle bir fitil görmüyordur — çünkü baktığı zaman diliminde o fitil gerçekten yoktur. Ve bunun sebebi mimari bir tercihtir.

Sorun nereden çıkıyor

Bir borsa grafiği zaman dilimleri sunar: 1 dakika, 5 dakika, 15 dakika, 1 saat, 4 saat, günlük. Basit görünen soru şu: bu mumlar nereden geliyor?

İki cevap var ve ikisi tamamen farklı sistemler üretir.

Yaklaşım A: her zaman dilimi ayrı kaynaklanır

Sistem her zaman dilimini bağımsız olarak toplar ya da bir veri sağlayıcıdan ayrı ayrı çeker. 5 dakikalık mumlar bir akıştan, 1 saatlik mumlar başka bir akıştan gelir. Yazması kolaydır, her zaman dilimi kendi başına doğru görünür.

Sorun: birbirleriyle tutarlı olmak zorunda değillerdir. Ağ gecikmesi, bir akışta düşen bir tick, farklı toplama pencereleri — bunlardan biri, 1 dakikalık grafikte görünen bir sıçramanın 15 dakikalık grafikte kaybolmasına yeter. İkisi de "doğru"dur; sadece aynı şeyi anlatmazlar.

Yaklaşım B: tek temel mum, gerisi türetilir

Yalnız 1 dakikalık mum bağımsız kaynaktan gelir ve saklanır. Üstündeki her zaman dilimi ondan matematiksel olarak hesaplanır: 5 dakikalık mum, beş adet 1 dakikalık mumun açılışı, en yükseği, en düşüğü ve kapanışıdır. Başka bir kaynağa sorulmaz.

Sonuç: zaman dilimleri çelişemez. 1 dakikalık grafikte bir fitil varsa, 15 dakikalıkta da vardır — çünkü ikincisi birincisinden üretilmiştir. Yoksa hiçbirinde yoktur.

Fark felsefi değil, operasyonel. A yaklaşımında "hangi grafik doğru?" sorusunun cevabı yoktur. B yaklaşımında cevap her zaman aynıdır: 1 dakikalık mum esastır, gerisi ondan çıkar. Bu, bir tartışmayı bir hesaba dönüştürür.

Neden tam olarak likidasyonda patlıyor

Normal işlemlerde bu tutarsızlık görünmez. Kullanıcı 15 dakikalık grafiğe bakar, işlem açar, kapatır; iki zaman diliminin birkaç tick ayrışması hiçbir şeyi değiştirmez.

Likidasyon farklıdır. Çünkü likidasyon tek bir ana bağlıdır — fiyatın likidasyon seviyesine dokunduğu saniyeye. Ve o an, çoğu zaman bir fitildir: piyasanın saniyeler içinde sıçrayıp geri döndüğü bir hareket. Tam olarak bir zaman diliminde görünüp diğerinde kaybolabilecek türden bir olay.

Yani sistem, tutarsızlığın en görünür olduğu tek olay tipinde, hesabın en yüksek olduğu anda kullanıcıyla karşı karşıya gelir.

İtirazın gerçek maliyeti

Bu kaydın maliyeti iade edilen tutar değil. Üç ayrı yerden fatura keser:

  • Destek süresi. Bu kayıtlar ilk hatta kapanmaz. Kimse veriye bakmadan cevap veremez, bakacak kişi de genelde bir mühendistir.
  • Karar keyfiliği. Veri net cevap vermiyorsa karar politikaya döner: bazen iade edersiniz, bazen etmezsiniz. Bu, kullanıcılar arasında konuşulur ve "ısrar edersen para veriyorlar" algısı üretir.
  • Kamuya açık şikâyet. Likidasyon itirazları özel kalmaz. Ekran görüntüsüyle paylaşılır, ve ekran görüntüsündeki grafik gerçekten fitil göstermiyordur — savunması zor bir görüntüdür.

Doğru yapmanın maliyeti

B yaklaşımı bedava değil. İki gerçek bedeli var:

  1. Yazma hacmi. 1 dakikalık mumları her piyasa için kesintisiz saklamak, seyrek zaman dilimlerini saklamaktan çok daha fazla veri demektir. Biz TimescaleDB kullanıyoruz; zaman serisi için tasarlanmış olması, bu yükü sıradan bir ilişkisel tablodan çok daha iyi taşıyor.
  2. Türetme maliyeti. Üst zaman dilimleri istendiğinde hesaplanır. Bu, hazır saklanmış mumu okumaktan pahalıdır — önbellekleme gerektirir, ve önbelleğin doğru anda geçersizleşmesi gerekir.

Karşılığında aldığınız şey teknik bir zarafet değil: savunulabilirlik. Bir kullanıcı ya da düzenleyici "bu likidasyon neye dayandı" diye sorduğunda, cevap tek bir kayda işaret eder ve o kayıttan üretilmiş her grafik onu doğrular.

Kendi platformunuzda nasıl kontrol edersiniz

Kullandığınız ya da satın almayı düşündüğünüz platformda bu testi yapabilirsiniz:

  1. Son 24 saatte sert hareket etmiş bir piyasa seçin.
  2. 1 dakikalık grafikte en uç fitili bulun; tam zamanını ve fiyatını not edin.
  3. Aynı ana 5 dakikalık, sonra 15 dakikalık grafikte bakın.
  4. Üst zaman dilimlerinin en yükseği/en düşüğü, alttaki fitili içermeli.

İçermiyorsa zaman dilimleriniz bağımsız kaynaklanıyor demektir — ve bir gün, kaybedemeyeceğiniz bir itirazla karşılaşacaksınız.

Satıcıya sorulacak soru

"Mumlarınız nereden geliyor?" sorusu genelde "borsa verisinden" cevabını alır ve hiçbir şey söylemez. Somut soru şu: "Hangi zaman dilimi esas, diğerleri nasıl üretiliyor?" Cevapta bir zaman dilimi adı geçmiyorsa, muhtemelen hepsi ayrı geliyordur.

Biz nasıl yapıyoruz

iExchange'te yalnız 1 dakikalık temel mum bağımsız kaynaklıdır; üstündeki tüm zaman dilimleri TimescaleDB içinde ondan matematiksel olarak türetilir. Bu, likidasyon itirazını bir tartışma olmaktan çıkarıp doğrulanabilir bir soruya dönüştürüyor — destek ekibi kullanıcıya aynı veriyi gösterip aynı sonuca varabiliyor.

Bunun tek başına bir borsayı iyi yapmadığını da söyleyelim. Ama bir borsanın en sık yaşadığı güven kaybını ortadan kaldırıyor, ve bu tür kararlar sonradan değiştirilemiyor — mum mimarisi, kurulduktan sonra göç ettirmesi en zahmetli katmanlardan biri.

Borsa kurmayı planlıyorsanız

Bu, mimaride erken verilmesi gereken kararlardan biri. Planınızın hangi aşamasında olursanız olun, konuşalım — likidite planınız hazır değilse onu da açıkça söyleriz.