𝗥𝗼𝘇𝗿ó ż𝗻𝗶𝗮𝗻𝗶𝗲 𝗧𝗿𝗮𝗻𝘀𝗮𝗸𝗰𝗷𝗶 𝘄 𝗦𝘁𝗿𝘂𝗺𝗶𝗲𝗻𝗶𝗮𝗰𝗵 𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁 𝘇 𝗛𝗼𝗻𝗴𝗸𝗼𝗻𝗴𝘂

Dane rynkowe w czasie rzeczywistym zmieniają się bardzo szybko. Podczas strumieniowania transakcji na akcjach z Hongkongu, można zauważyć różne typy zapisów. Nie wszystkie transakcje oznaczają to samo. Niektóre to zlecenia inwestorów, inne to automatyczne dopasowania systemowe lub transakcje pakietów niepełnych (odd-lot).

Musisz szybko klasyfikować te transakcje.

Problem

Standardowe pola danych często nie wystarczają. Pole typu transakcji (trade type) bywa niewiarygodne. Aby temu zaradzić, zastosuj te trzy zasady:

  • Sprawdzenie wolumenu: Większość akcji z Hongkongu jest obracana w pakietach po 100 sztuk. Każda transakcja poniżej 100 sztuk to pakiet niepełny (odd lot).
  • Grupowanie czasowe: Automatyczne dopasowania występują w szybkich seriach. Wiele realizacji widać w ciągu milisekund. Pakiety niepełne nie wykazują takiego wzorca.
  • Sprawdzenie strony przeciwnej: Spójrz na kupującego i sprzedającego. Jeśli obaj są kontami systemowymi, takimi jak SYS, jest to automatyczne dopasowanie.

Implementacja

Możesz zaimplementować tę logikę w swoim strumieniu danych.

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'])

Sortowanie tych transakcji pomaga dostrzec rzeczywisty ruch rynkowy.

Źródło: https://dev.to/emily19980210/differentiating-auto-matched-and-odd-lot-trades-in-hong-kong-stock-websocket-feeds-3bgg

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi