𝗗𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝘇𝗶𝗮𝘇𝗶𝗼𝗻𝗲 𝗱𝗲𝗹𝗹𝗲 𝗧𝗿𝗮𝗻𝘀𝗮𝘇𝗶𝗼𝗻𝗶 𝗻𝗲𝗶 𝗳𝗲𝗲𝗱 𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁 𝗱𝗶 𝗛𝗼𝗻𝗴 𝗞𝗼𝗻𝗴
I dati di mercato in tempo reale si muovono velocemente. Quando si effettuano lo streaming delle transazioni azionarie di Hong Kong, si vedono diversi tipi di "print". Non tutte le transazioni rappresentano la stessa cosa. Alcune sono ordini degli investitori. Altre sono abbinamenti automatici di sistema (auto-matches) o transazioni di lotti dispari (odd-lot).
È necessario classificare queste transazioni rapidamente.
Il problema
I campi dati standard spesso non sono d'aiuto. Il campo del tipo di transazione è spesso inaffidabile. Per risolvere il problema, utilizza queste tre regole:
- Controllo del volume: La maggior parte dei titoli di Hong Kong viene scambiata in lotti da 100 azioni. Qualsiasi transazione inferiore a 100 azioni è un lotto dispari (odd lot).
- Clustering temporale: Le transazioni abbinate automaticamente avvengono in rapidi burst. Si vedono molte esecuzioni (fills) entro millisecondi. I lotti dispari non seguono questo schema.
- Controllo della controparte: Osserva l'acquirente e il venditore. Se entrambi sono account di sistema come SYS, si tratta di un abbinamento automatico (auto-match).
Implementazione
Puoi codificare questa logica nel tuo flusso di dati.
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'])
Ordinare queste transazioni ti aiuta a vedere il vero movimento del mercato.
Community di apprendimento opzionale: https://t.me/GyaanSetuAi