Hong Kong WebSocket Verilerinde İşlemleri Ayırt Etme

Gerçek zamanlı piyasa verileri çok hızlı hareket eder. Hong Kong hisse senedi işlemlerini akış olarak aldığınızda, farklı türde kayıtlar görürsünüz. Tüm işlemler aynı şeyi temsil etmez. Bazıları yatırımcı emirleridir. Diğerleri ise sistem otomatik eşleşmeleri veya lot dışı (odd-lot) işlemlerdir.

Bu işlemleri hızlıca sınıflandırmanız gerekir.

Sorun

Standart veri alanları genellikle yardımcı olamaz. İşlem türü alanı çoğu zaman güvenilir değildir. Bunu düzeltmek için şu üç kuralı kullanın:

  • Hacim kontrolü: Çoğu Hong Kong hisse senedi 100 adetlik lotlar halinde işlem görür. 100 adedin altındaki her işlem bir lot dışı (odd-lot) işlemdir.
  • Zaman kümelenmesi: Otomatik eşleşen işlemler hızlı patlamalar halinde gerçekleşir. Milisaniyeler içinde birçok gerçekleşen işlem görürsünüz. Lot dışı işlemler bu örüntüyü takip etmez.
  • Karşı taraf kontrolü: Alıcıya ve satıcıya bakın. Eğer her ikisi de SYS gibi sistem hesaplarıysa, bu bir otomatik eşleşmedir.

Uygulama

Bu mantığı veri akışınıza kodlayabilirsiniz.

from websocket import create_connection
import json

API_TOKEN = 'your_api_token'
ws_url = f"wss://ws.alltick.co/stock?token={API_TOKEN}"
ws = create_connection(ws_url)

subscribe_msg = {
    "action": "subscribe",
    "symbol": "00700.HK",
    "type": "transaction"
}
ws.send(json.dumps(subscribe_msg))

def check_auto_match(tick):
    return tick.get('buyer') == 'SYS' and tick.get('seller') == 'SYS'

while True:
    data = ws.recv()
    tick = json.loads(data)
    volume = tick.get('volume', 0)

    if volume < 100:
        tick['tag'] = 'odd_lot'
    elif check_auto_match(tick):
        tick['tag'] = 'auto_match'
    else:
        tick['tag'] = 'normal'

    print(tick['time'], tick['price'], tick['volume'], tick['tag'])

Bu işlemleri sıralamak, gerçek piyasa hareketini görmenize yardımcı olur.

Kaynak: https://dev.to/emily19980210/differentiating-auto-matched-and-odd-lot-trades-in-hong-kong-stock-websocket-feeds-3bgg

İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi