𝗛𝗼𝗻𝗴 𝗞𝗼𝗻𝗴 𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁 𝗙𝗲𝗲𝗱𝘀 ನಲ್ಲಿ ವಹಿವಾಟುಗಳನ್ನು (Trades) ವಿಂಗಡಿಸುವುದು
ನೈಜ-ಸಮಯದ ಮಾರುಕಟ್ಟೆ ಡೇಟಾ ವೇಗವಾಗಿ ಚಲಿಸುತ್ತದೆ. ನೀವು ಹಾಂಗ್ ಕಾಂಗ್ ಈಕ್ವಿಟಿ ವಹಿವಾಟುಗಳನ್ನು (equity trades) ಸ್ಟ್ರೀಮ್ ಮಾಡುವಾಗ, ವಿವಿಧ ರೀತಿಯ ಪ್ರಿಂಟ್ಗಳನ್ನು ನೋಡುತ್ತೀರಿ. ಎಲ್ಲಾ ವಹಿವಾಟುಗಳು ಒಂದೇ ರೀತಿಯನ್ನು ಪ್ರತಿನಿಧಿಸುವುದಿಲ್ಲ. ಕೆಲವುವು ಹೂಡಿಕೆದಾರರ ಆರ್ಡರ್ಗಳಾಗಿರುತ್ತವೆ. ಇನ್ನು ಕೆಲವು ಸಿಸ್ಟಮ್ ಆಟೋ-ಮ್ಯಾಚ್ಗಳು ಅಥವಾ ಒಡ್-ಲಾಟ್ (odd-lot) ವಹಿವಾಟುಗಳಾಗಿರುತ್ತವೆ.
ನೀವು ಈ ವಹಿವಾಟುಗಳನ್ನು ತ್ವರಿತವಾಗಿ ವರ್ಗೀಕರಿಸಬೇಕಾಗುತ್ತದೆ.
ಸಮಸ್ಯೆ
ಪ್ರಮಾಣಿತ ಡೇಟಾ ಫೀಲ್ಡ್ಗಳು ಹೆಚ್ಚಾಗಿ ಸಹಾಯ ಮಾಡಲು ವಿಫಲವಾಗುತ್ತವೆ. ಟ್ರೇಡ್ ಟೈಪ್ ಫೀಲ್ಡ್ ಸಾಮಾನ್ಯವಾಗಿ ವಿಶ್ವಾಸಾರ್ಹವಾಗಿರುವುದಿಲ್ಲ. ಇದನ್ನು ಸರಿಪಡಿಸಲು, ಈ ಮೂರು ನಿಯಮಗಳನ್ನು ಬಳಸಿ:
- ವಾಲ್ಯೂಮ್ ಚೆಕ್ (Volume check): ಹೆಚ್ಚಿನ ಹಾಂಗ್ ಕಾಂಗ್ ಸ್ಟಾಕ್ಗಳು 100 ಶೇರುಗಳ ಲಾಟ್ಗಳಲ್ಲಿ ವ್ಯಾಪಾರವಾಗುತ್ತವೆ. 100 ಶೇರುಗಳಿಗಿಂತ ಕಡಿಮೆ ಇರುವ ಯಾವುದೇ ವಹಿವಾಟು ಒಡ್-ಲಾಟ್ (odd lot) ಆಗಿರುತ್ತದೆ.
- ಸಮಯದ ಕ್ಲಸ್ಟರ್ಗಳು (Time clustering): ಆಟೋ-ಮ್ಯಾಚ್ ಆದ ವಹಿವಾಟುಗಳು ವೇಗವಾಗಿ ಸಂಭವಿಸುತ್ತವೆ. ನೀವು ಮಿಲಿಸೆಕೆಂಡ್ಗಳ ಒಳಗೆ ಅನೇಕ ಫಿಲ್ಗಳನ್ನು ನೋಡುತ್ತೀರಿ. ಒಡ್-ಲಾಟ್ಗಳು ಈ ಮಾದರಿಯನ್ನು ಅನುಸರಿಸುವುದಿಲ್ಲ.
- ಕೌಂಟರ್ಪಾರ್ಟಿ ಚೆಕ್ (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