ہانگ کانگ WebSocket فیڈز میں ٹریڈز کی درجہ بندی کرنا
ریئل ٹائم مارکیٹ ڈیٹا بہت تیزی سے بدلتا ہے۔ جب آپ ہانگ کانگ کے ایکویٹی ٹریڈز کو اسٹریم کرتے ہیں، تو آپ کو مختلف قسم کے پرنٹس نظر آتے ہیں۔ تمام ٹریڈز ایک جیسی نہیں ہوتیں۔ کچھ سرمایہ کاروں کے آرڈرز ہوتے ہیں، جبکہ دیگر سسٹم آٹو-میچز یا اڈ لاٹ (odd-lot) ٹرانزیکشنز ہوتی ہیں۔
آپ کو ان ٹریڈز کی تیزی سے درجہ بندی کرنے کی ضرورت ہے۔
مسئلہ
معیاری ڈیٹا فیلڈز اکثر مددگار ثابت نہیں ہوتیں۔ ٹریڈ ٹائپ فیلڈ اکثر ناقابل اعتبار ہوتی ہے۔ اسے درست کرنے کے لیے، ان تین اصولوں کا استعمال کریں:
- والیوم چیک: ہانگ کانگ کے زیادہ تر اسٹاکس 100 شیئرز کے لاٹس میں ٹریڈ ہوتے ہیں۔ 100 شیئرز سے کم کی کوئی بھی ٹریڈ 'اڈ لاٹ' (odd lot) کہلاتی ہے۔
- ٹائم کلسٹرنگ: آٹو-میچڈ ٹریڈز تیزی سے ہونے والے جھٹکوں (bursts) میں ہوتی ہیں۔ آپ ملی سیکنڈز کے اندر بہت سے فلز (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