ہائی فریکوئنسی ڈیٹا تجزیہ — ٹک لیول مارکیٹ ڈیٹا کی پروسیسنگ

کرپٹو میں ہائی فریکوئنسی ٹریڈنگ ملی سیکنڈ/مائیکرو سیکنڈ کے پیمانے پر کام کرتی ہے۔ روزانہ لاکھوں ٹکس کو پروسیس کرنا، برسٹی ڈیٹا فلو کو ہینڈل کرنا، اور مائیکروسٹرکچر سگنلز کو نکالنا پیشہ ور تاجروں کو دوسروں سے الگ کرتا ہے۔ یہ گائیڈ ٹک لیول ڈیٹا مینجمنٹ اور ریئل ٹائم اینالیٹکس کے بارے میں ہے جو Smart Money API کے 5 منٹ کی ریفریش سائیکلز کو طاقت فراہم کرتی ہے۔

کلیدی بصیرت: وہیلز مارکیٹ کو فوری طور پر حرکت نہیں دیتے۔ ان کے بلاک ٹریڈز آرڈر بک عدم توازن، بڈ-اسک سپریڈز، اور ٹیکر والیوم تناسب میں قابل شناخت دستخط بناتے ہیں۔ Smart Money API ان دستخطوں کو ریئل ٹائم میں کیپچر کرتی ہے۔

ٹک ڈیٹا کا جمع کرنا اور ذخیرہ کرنا

ڈیٹا کے ذرائع

کرپٹو کے لیے، ٹک ڈیٹا درج ذیل سے آتا ہے:

Parquet کے ساتھ موثر ٹک اسٹوریج

فاسٹ کوئیریز کے لیے کمپریسڈ کالمینر ڈیٹا ذخیرہ کریں:

Python — ٹک ڈیٹا پائپ لائن
import pandas as pd
import pyarrow.parquet as pq
# ریئل ٹائم ٹک بفر (1h کے لیے جمع کریں، پھر محفوظ کریں)
tick_buffer = []
def on_tick(exchange, symbol, price, size, side, timestamp):
tick_buffer.append({
"timestamp": timestamp,
"exchange": exchange,
"symbol": symbol,
"price": price,
"size": size,
"side": side # "buy" or "sell"
})
# ہر گھنٹے، کمپریس کریں اور محفوظ کریں
if len(tick_buffer) > 1_000_000:
df = pd.DataFrame(tick_buffer)
pq.write_table(
pa.Table.from_pandas(df),
f"ticks/{symbol}_{timestamp:%Y%m%d_%H}.parquet",
compression="snappy"
)
tick_buffer = []

آرڈر بک تجزیہ

لیول 2 آرڈر بک سنیپ شاٹس

مکمل آرڈر بک کو ہر 100-500ms پر کیپچر کریں:

Python — آرڈر بک پروسیسنگ
class OrderBook:
def __init__(self):
self.bids = {} # price -> size
self.asks = {} # price -> size
def update(self, side, price, size):
if side == "bid":
if size == 0: del self.bids[price]
else: self.bids[price] = size
else:
if size == 0: del self.asks[price]
else: self.asks[price] = size
def get_imbalance(self, depth=10):
# بہترین 10 بڈز اور اسکس حاصل کریں
top_bids = sorted(self.bids.items(), reverse=True)[:depth]
top_asks = sorted(self.asks.items())[:depth]
bid_volume = sum(size for _, size in top_bids)
ask_volume = sum(size for _, size in top_asks)
# عدم توازن: >1 = مثبت (خرید کا زیادہ دباؤ)
واپسی bid_volume / ask_volume اگر ask_volume > 0 ورنہ 1.0
تعریف get_spread(خود):
best_bid = max(خود.bids.keys())
best_ask = min(خود.asks.keys())
واپسی (best_ask - best_bid) / best_bid # فیصد اسپریڈ

مائیکروسٹرکچر سگنلز

آرڈر بک کی ساخت سے قابل عمل سگنلز نکالیں:

مارکیٹ مائیکروسٹرکچر میٹرکس

حجم-وزن اوسط قیمت (VWAP)

سادہ کلوز قیمت سے بہتر اجراء کا معیار:

پائتھون — VWAP کیلکولیشن
تعریف calculate_vwap(ticks):
# ticks: قیمت، حجم کی فہرست
numerator = sum(price * volume کے لیے price, volume میں ticks)
denominator = sum(volume کے لیے _, volume میں ticks)
واپسی numerator / denominator

ٹیکر خرید/فروخت کا تناسب

شناخت کریں کہ کون سا طرف جارحانہ ہے:

پائتھون — ٹیکر تجزیہ
تعریف get_taker_direction(tick):
# اگر ٹریڈ قیمت = بڈ، تو فروخت کنندہ جارحانہ تھا (رسد)
# اگر ٹریڈ قیمت = اسک، تو خریدار جارحانہ تھا (طلب)
اگر abs(tick.price - best_bid) < tick.price_step:
واپسی "فروخت"
ورنہ اگر abs(tick.price - best_ask) < tick.price_step:
واپسی "خرید"
ورنہ:
واپسی "درمیان" # اندرونی اسپریڈ، ممکنہ طور پر ڈارک پول
buy_volume = sum(t.size کے لیے t میں ticks اگر get_taker_direction(t) == "خرید")
sell_volume = sum(t.size کے لیے t میں ticks اگر get_taker_direction(t) == "فروخت")
واپسی buy_volume / (buy_volume + sell_volume) # % خرید

ریل ٹائم پائپ لائن آرکیٹیکچر

ویب ساکٹ اسٹریم پروسیسنگ

Bybit/Binance/Hyperliquid ویب ساکٹ سے لائیو ڈیٹا کے لیے جڑیں:

پائتھون — لائیو اسٹریم ہینڈلر
درآمد asyncio
درآمد websockets
async تعریف connect_bybit_ticks(symbol):
url = f"wss://stream.bybit.com/v5/public/spot"
async کے ساتھ websockets.connect(url) جیسا کہ ws:
# ٹریڈ اسٹریم کو سبسکرائب کریں
انتظار کریں ws.send(json.dumps({
"op": "subscribe",
"args": [f"publicTrade.{symbol}"]
}))
async کے لیے message میں ws:
data = json.loads(message)
کے لیے trade میں ڈیٹا["ڈیٹا"]:
آن_ٹک(
ایکسچینج="بائی بٹ",
علامت=علامت،
قیمت=فلوٹ(ٹریڈ["قیمت"]),
سائز=فلوٹ(ٹریڈ["سائز"]),
طرف=ٹریڈ["طرف"],
ٹائم سٹیمپ=انٹ(ٹریڈ["وقت"])
)

ریڈیس اسٹریمز کے ساتھ تقسیم شدہ پروسیسنگ

میسج کیو کے ذریعے روزانہ لاکھوں ٹکس کو ہینڈل کریں:

پائتھون — ریڈیس اسٹریم پروسیسنگ
درآمد ریڈیس
r = redis.Redis(میزبان='لوکل ہوسٹ', پورٹ=6379)
# پروڈیوسر: اسٹریم میں ٹکس پش کریں
فنکشن پبلش_ٹک(ایکسچینج، علامت، ٹک):
اسٹریم_کی = f"ٹکس:{ایکسچینج}:{علامت}"
r.xadd(اسٹریم_کی, {
"قیمت": ٹک.قیمت،
"سائز": ٹک.سائز،
"طرف": ٹک.طرف،
"ts": ٹک.ٹائم سٹیمپ
})
# کسٹمر گروپ لیگ ٹریکنگ کے ساتھ پڑھتا ہے
r.xgroup_create(اسٹریم_کی، "اینالیٹکس", آئی ڈی="$", mkstream=سچ)

اپنی اینالیٹکس میں ریئل ٹائم سگنلز شامل کریں

سمارٹ منی API 3 ایکسچینجز اور 250+ وہیل والیٹس سے ٹک ڈیٹا اکٹھا کرتا ہے۔ اپنی خود کی ریئل ٹائم اینالیسز کو بہتر بنانے کے لیے ہمارے پہلے سے کمپوٹڈ مائیکروسٹرکچر سگنلز استعمال کریں۔

آج ہی مفت شروع کریں →