ਹਾਂਗਕਾਂਗ ਵੈੱਬਸੌਕੇਟ ਫੀਡਸ (WebSocket Feeds) ਵਿੱਚ ਵੱਖ-ਵੱਖ ਟ੍ਰੇਡਸ ਦੀ ਪਛਾਣ ਕਰਨਾ
ਰੀਅਲ-ਟਾਈਮ ਮਾਰਕੀਟ ਡੇਟਾ ਬਹੁਤ ਤੇਜ਼ੀ ਨਾਲ ਬਦਲਦਾ ਹੈ। ਜਦੋਂ ਤੁਸੀਂ ਹਾਂਗਕਾਂਗ ਇਕੁਇਟੀ ਟ੍ਰੇਡਸ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਦੇ ਪ੍ਰਿੰਟਸ (prints) ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ। ਸਾਰੇ ਟ੍ਰੇਡ ਇੱਕੋ ਜਿਹੀ ਚੀਜ਼ ਨੂੰ ਨਹੀਂ ਦਰਸਾਉਂਦੇ। ਕੁਝ ਨਿਵੇਸ਼ਕਾਂ ਦੇ ਆਰਡਰ ਹੁੰਦੇ ਹਨ। ਦੂਜੇ ਸਿਸਟਮ ਆਟੋ-ਮੈਚ ਜਾਂ ਓਡ-ਲੌਟ (odd-lot) ਲੈਣ-ਦੇਣ ਹੁੰਦੇ ਹਨ।
ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਟ੍ਰੇਡਸ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਸ਼੍ਰੇਣੀਬੱਧ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਸਮੱਸਿਆ
ਸਟੈਂਡਰਡ ਡੇਟਾ ਫੀਲਡਸ ਅਕਸਰ ਮਦਦ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦੇ ਹਨ। ਟ੍ਰੇਡ ਟਾਈਪ ਫੀਲਡ ਅਕਸਰ ਭਰੋਸੇਯੋਗ ਨਹੀਂ ਹੁੰਦੀ। ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਇਹਨਾਂ ਤਿੰਨ ਨਿਯਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ:
- ਵੌਲਯੂਮ ਚੈੱਕ (Volume check): ਜ਼ਿਆਦਾਤਰ ਹਾਂਗਕਾਂਗ ਦੇ ਸਟਾਕ 100 ਸ਼ੇਅਰਾਂ ਦੇ ਲੌਟ ਵਿੱਚ ਟ੍ਰੇਡ ਹੁੰਦੇ ਹਨ। 100 ਸ਼ੇਅਰਾਂ ਤੋਂ ਘੱਟ ਦਾ ਕੋਈ ਵੀ ਟ੍ਰੇਡ ਇੱਕ ਓਡ ਲੌਟ (odd lot) ਹੁੰਦਾ ਹੈ।
- ਟਾਈਮ ਕਲਸਟਰਿੰਗ (Time clustering): ਆਟੋ-ਮੈਚਡ ਟ੍ਰੇਡ ਤੇਜ਼ੀ ਨਾਲ ਹੁੰਦੇ ਹਨ। ਤੁਸੀਂ ਮਿਲੀਸੈਕਿੰਡ ਦੇ ਅੰਦਰ ਬਹੁਤ ਸਾਰੇ ਫਿਲਸ (fills) ਦੇਖਦੇ ਹੋ। ਓਡ ਲੌਟ ਇਸ ਪੈਟਰਨ ਦੀ ਪਾਲਣਾ ਨਹੀਂ ਕਰਦੇ।
- ਕਾਊਂਟਰਪਾਰਟੀ ਚੈੱਕ (Counterparty check): ਖਰੀਦਦਾਰ ਅਤੇ ਵੇਚਣ ਵਾਲੇ ਨੂੰ ਦੇਖੋ। ਜੇਕਰ ਦੋਵੇਂ 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