હોંગકોંગ WebSocket Feeds માં ટ્રેડ્સ વચ્ચેનો તફાવત ઓળખવો

રિયલ-ટાઇમ માર્કેટ ડેટા ખૂબ ઝડપથી બદલાય છે. જ્યારે તમે હોંગકોંગ ઇક્વિટી ટ્રેડ્સનું સ્ટ્રીમિંગ કરો છો, ત્યારે તમે વિવિધ પ્રકારના પ્રિન્ટ્સ જુઓ છો. બધા જ ટ્રેડ્સ એક સમાન બાબત દર્શાવતા નથી. કેટલાક રોકાણકારોના ઓર્ડર છે, જ્યારે અન્ય સિસ્ટમ ઓટો-મેચ અથવા ઓડ-લોટ (odd-lot) વ્યવહારો છે.

તમારે આ ટ્રેડ્સનું ઝડપથી વર્ગીકરણ કરવાની જરૂર છે.

સમસ્યા

સ્ટાન્ડર્ડ ડેટા ફીલ્ડ્સ ઘણીવાર મદદ કરવામાં નિષ્ફળ જાય છે. ટ્રેડ ટાઇપ ફીલ્ડ ઘણીવાર અવિશ્વસનીય હોય છે. આને સુધારવા માટે, આ ત્રણ નિયમોનો ઉપયોગ કરો:

  • વોલ્યુમ ચેક: મોટાભાગના હોંગકોંગ સ્ટોક્સ 100 શેરના લોટમાં ટ્રેડ થાય છે. 100 શેરથી ઓછો કોઈપણ ટ્રેડ 'ઓડ લોટ' (odd lot) છે.
  • ટાઇમ ક્લસ્ટરિંગ: ઓટો-મેચ થયેલા ટ્રેડ્સ ઝડપી બર્સ્ટમાં થાય છે. તમે મિલીસેકન્ડ્સમાં ઘણા ફિલ (fills) જોઈ શકો છો. ઓડ લોટ આ પેટર્નનું પાલન કરતા નથી.
  • કાઉન્ટરપાર્ટી ચેક: ખરીદનાર અને વેચનારને જુઓ. જો બંને SYS જેવા સિસ્ટમ એકાઉન્ટ્સ હોય, તો તે ઓટો-મેચ છે.

અમલીકરણ

તમે આ લોજિકને તમારા ડેટા સ્ટ્રીમમાં કોડ કરી શકો છો.

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

આ ટ્રેડ્સનું સોર્ટિંગ કરવાથી તમને બજારની સાચી હિલચાલ જોવા મળવામાં મદદ મળે છે.

સ્ત્રોત: https://dev.to/emily19980210/differentiating-auto-matched-and-odd-lot-trades-in-hong-kong-stock-websocket-feeds-3bgg

વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi