હોંગકોંગ 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://t.me/GyaanSetuAi