হাই-ফ্রিকোয়েন্সি ডেটা অ্যানালাইসিস — টিক-লেভেল মার্কেট ডেটা প্রসেসিং

ক্রিপ্টোতে হাই-ফ্রিকোয়েন্সি ট্রেডিং মিলিসেকেন্ড/মাইক্রোসেকেন্ড স্কেলে কাজ করে। প্রতিদিন মিলিয়ন মিলিয়ন টিক প্রসেসিং, বার্স্টি ডেটা ফ্লো হ্যান্ডলিং এবং মাইক্রোস্ট্রাকচার সিগন্যাল এক্সট্রাক্ট করা প্রফেশনাল ট্রেডারদের আলাদা করে। এই গাইডে টিক-লেভেল ডেটা ম্যানেজমেন্ট এবং রিয়েল-টাইম অ্যানালিটিক্স নিয়ে আলোচনা করা হয়েছে যা Smart Money API-এর ৫-মিনিট রিফ্রেশ সাইকেল চালায়।

মূল অন্তর্দৃষ্টি: তিমিরা বাজারে তাত্ক্ষণিকভাবে প্রভাব ফেলে না। তাদের ব্লক ট্রেড অর্ডার বুক ইমব্যালেন্স, বিড-আস্ক স্প্রেড এবং টেকার ভলিউম রেশিওতে সনাক্তযোগ্য সিগনেচার তৈরি করে। Smart Money API এই সিগনেচারগুলি রিয়েল-টাইমে ক্যাপচার করে।

টিক ডেটা কালেকশন এবং স্টোরেজ

ডেটা সোর্স

ক্রিপ্টোর জন্য, টিক ডেটা আসে:

প্যারকেট দিয়ে দক্ষ টিক স্টোরেজ

ফাস্ট কোয়েরির জন্য কম্প্রেসড কলামনার ডেটা স্টোর করুন:

Python — টিক ডেটা পাইপলাইন
import pandas as pd
import pyarrow.parquet as pq
# রিয়েল-টাইম টিক বাফার (১ ঘণ্টা জমা করে, তারপর সেভ)
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 = []

অর্ডার বুক অ্যানালাইসিস

লেভেল ২ অর্ডার বুক স্ন্যাপশট

ফুল অর্ডার বুক প্রতি ১০০-৫০০ms ক্যাপচার করুন:

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):
# সেরা ১০ বিড এবং আস্ক পান
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)
# ইমব্যালেন্স: >১ = বুলিশ (বেশি কিনতে চাপ)
রিটার্ন bid_volume / ask_volume যদি ask_volume > 0 নাহলে 1.0
ডিফাইন get_spread(self):
best_bid = max(self.bids.keys())
best_ask = min(self.asks.keys())
রিটার্ন (best_ask - best_bid) / best_bid # পার্সেন্টেজ স্প্রেড

মাইক্রোস্ট্রাকচার সিগন্যালস

অর্ডার বুক স্ট্রাকচার থেকে একশনেবল সিগন্যাল বের করুন:

মার্কেট মাইক্রোস্ট্রাকচার মেট্রিক্স

ভলিউম-ওয়েটেড এভারেজ প্রাইস (VWAP)

সিম্পল ক্লোজ প্রাইসের চেয়ে বেটার এক্সিকিউশন বেঞ্চমার্ক:

পাইথন — VWAP ক্যালকুলেশন
ডিফাইন calculate_vwap(ticks):
# ticks: লিস্ট অব (price, volume) টাপলস
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:
রিটার্ন "sell"
নাহলে যদি abs(tick.price - best_ask) < tick.price_step:
রিটার্ন "buy"
নাহলে:
রিটার্ন "mid" # ইনসাইড স্প্রেড, সম্ভবত ডার্ক পুল
buy_volume = sum(t.size জন্য t ইন ticks যদি get_taker_direction(t) == "buy")
sell_volume = sum(t.size জন্য t ইন ticks যদি get_taker_direction(t) == "sell")
রিটার্ন buy_volume / (buy_volume + sell_volume) # % কিনা

রিয়েল-টাইম পাইপলাইন আর্কিটেকচার

ওয়েবসকেট স্ট্রিম প্রসেসিং

লাইভ ডাটার জন্য Bybit/Binance/Hyperliquid ওয়েবসকেটে কানেক্ট করুন:

পাইথন — লাইভ স্ট্রিম হ্যান্ডলার
ইম্পোর্ট asyncio
ইম্পোর্ট websockets
অ্যাসিঙ্ক ডিফাইন connect_bybit_ticks(symbol):
url = f"wss://stream.bybit.com/v5/public/spot"
অ্যাসিঙ্ক উইথ websockets.connect(url) এজ ws:
# সাবস্ক্রাইব টু ট্রেড স্ট্রিম
অ্যাওয়েট ws.send(json.dumps({
"op": "subscribe",
"args": [f"publicTrade.{symbol}"]
}))
অ্যাসিঙ্ক জন্য message ইন ws:
data = json.loads(message)
জন্য trade in data["data"]:
on_tick(
exchange="bybit",
symbol=symbol,
price=float(trade["price"]),
size=float(trade["size"]),
side=trade["side"],
timestamp=int(trade["time"])
)

Redis Streams এর সাথে বিতরণ প্রক্রিয়াকরণ

মেসেজ কিউইং এর মাধ্যমে দিনে লক্ষাধিক টিক হ্যান্ডেল করুন:

Python — Redis স্ট্রিম প্রসেসিং
import redis
r = redis.Redis(host='localhost', port=6379)
# Producer: স্ট্রিমে টিক পুশ করুন
def publish_tick(exchange, symbol, tick):
stream_key = f"ticks:{exchange}:{symbol}"
r.xadd(stream_key, {
"price": tick.price,
"size": tick.size,
"side": tick.side,
"ts": tick.timestamp
})
# Consumer group ল্যাগ ট্র্যাকিং এর সাথে পড়ে
r.xgroup_create(stream_key, "analytics", id="$", mkstream=True)

আপনার এনালিটিক্সে রিয়েল-টাইম সিগন্যাল যোগ করুন

Smart Money API 3টি এক্সচেঞ্জ এবং 250+ হোয়েল ওয়ালেট থেকে টিক ডেটা সংগ্রহ করে। আপনার নিজের রিয়েল-টাইম এনালিসিসকে উন্নত করতে আমাদের প্রি-কম্পিউটেড মাইক্রোস্ট্রাকচার সিগন্যাল ব্যবহার করুন।

আজই বিনামূল্যে শুরু করুন →