Background: A Common Misconception I Had About Market Data API
Early in my fintech development journey, I used to underestimate the essential differences between Level1 and Level2 A-share market data. Like many junior quant developers, I simply categorized the two as fast and slow data streams, assuming the gap was nothing more than refresh latency.
This assumption held up for most normal market conditions. However, after building limit-up detection modules and board-strength quantitative strategies for A-shares, I discovered a critical structural gap. During limit-up scenarios, these two data formats deliver entirely different market logic. Relying solely on Level1 data will distort your order-book interpretation and produce flawed trading signals.
Limit-up trading is a unique market state. Price action is fully capped by exchange rules, creating an illusion of market stagnation. In reality, intense order placement, mass cancellation, and queue restructuring continue happening every millisecond. This invisible micro-market behavior is completely hidden in Level1 snapshots but fully exposed in standard Level2 feeds — a distinction that determines the reliability of your live trading logic.
Quant Research Pain Point: Result-Based Data Cannot Support Micro-Strategy Judgement
From my experience leading quantitative backend development, most limit-up strategy deviations stem from insufficient data granularity rather than flawed algorithm logic. Most developers build their strategies based on final market indicators, ignoring the dynamic trading process behind price-locked stocks.
For quantitative developers, identifying a limit-up is never enough. What we actually need is actionable microstructure data to answer core questions: Is the limit-up firmly locked by institutional capital? Are hidden sell orders draining buying power? Is this a sustainable board or a pseudo-locked limit-up prone to breakdown?
These core strategic judgment dimensions cannot be covered by conventional Level1 market data, creating a universal technical bottleneck for A-share limit-up quantitative research.
What Level1 Data Actually Captures During Limit-Up Periods
Level1 is a standardized, lightweight market snapshot API dataset. It only exposes basic aggregated indicators: real-time transaction price, daily price fluctuation, high/low price range, and cumulative trading volume.
Once a stock hits the upper price limit, Level1 data enters a flat, invariant state. The price remains fixed at the ceiling, and overall volume changes appear mild and stable. From a program’s perspective, the stock seems to stop trading entirely.
Nevertheless, Level1 only delivers conclusive market status. It can only tell your program that a stock has reached its daily limit, with zero information about ongoing order changes, capital flows, or order queue dynamics. You cannot identify capital outflow risks, large-order exits, or board stability through pure Level1 data.
To summarize technically: Level1 provides outcome-oriented market data without exposing the underlying trading process.
True Market Microstructure Exposed by Level2 Data
Level2 advanced market data is built to restore the complete exchange order-book structure, which makes it fundamentally different from simplified Level1 snapshots. Even under locked price conditions, the first bid queue remains highly active with continuous order updates.
Through long-term API debugging and strategy backtesting, I’ve observed consistent hidden patterns exclusive to Level2 data during limit-up events:
- Massive accumulation of pending buy orders at the primary bid level
- High-frequency cancellation behaviors from hidden sell-side orders
- Transaction activities concentrated within ultra-narrow time windows
- Rapid iteration and rearrangement of the limit-up order queue Among these features, the A-share queuing mechanism is the most strategically valuable. Trade execution priority strictly follows order submission time. Only Level2 data can visualize queue ranking changes, allowing developers to quantify capital persistence and board robustness through real microstructure changes.
Core Capability Comparison: Level1 vs Level2 Under Limit-Up Scenarios
The functional gap between the two data standards becomes extremely prominent in price-locked market environments, directly affecting the accuracy of quantitative models:

This technical gap is the key to distinguishing genuine locked boards from fragile pseudo limit-ups. In practical quantitative development, combining Level1 status filtering and Level2 micro-analysis via AllTick API has become my team’s standard approach for stable limit-up monitoring systems.
Dual Data Stream Integration Implementation
For production-grade limit-up strategy development, I always recommend enabling dual-channel subscription. Level1 handles macroscopic market state confirmation, while Level2 undertakes high-precision microstructure analysis. The following code implements synchronized Level1 and Level2 WebSocket subscription:
import websocket
import json
def on_message(ws, message):
data = json.loads(message)
if data.get("type") == "level2":
print("盘口更新:", data["bids"][0], data["asks"][0])
if data.get("type") == "level1":
print("基础行情:", data["price"], data["volume"])
def on_open(ws):
sub = {
"action": "subscribe",
"symbol": "600000.SH",
"channels": ["level1", "level2"],
"id": 1
}
ws.send(json.dumps(sub))
ws = websocket.WebSocketApp("wss://api.alltick.co/ws",
on_message=on_message,
on_open=on_open)
ws.run_forever()
This hybrid architecture eliminates data blind spots: Level1 quickly locates limit-up stocks, while Level2 continuously verifies internal capital stability and board strength in real time.
In-Depth Market Understanding: Limit-Up Is Dynamic, Not Static
After years of quantitative practice, I’ve formed a clear conclusion: a limit-up is never a static market state. It is a high-frequency capital game constrained by exchange price rules.
Level1 data compresses this entire complex trading process into a single static price result, masking all micro-level risk signals. In contrast, Level2 data unfolds the complete evolutionary process of order queuing, capital switching, and fragmented transactions.
Modern high-frequency limit-up strategies rely entirely on Level2-derived features: queue growth rate, order cancellation frequency, and transaction time concentration. All of these critical alpha factors are completely invisible in Level1 datasets.
Engineering & Academic Research Value
Beyond live trading strategies, the combination of Level1 and Level2 data provides standardized, high-precision samples for market microstructure research and capital behavior modeling.
Level1 defines macroscopic market regimes, while Level2 supplies microscopic behavioral variables. This layered data structure enables developers and researchers to model limit-up sustainability, quantify institutional capital willingness, and predict board breakout risks with scientific accuracy.
Conclusion
Simply put, Level1 delivers an outcome-based market view, while Level2 delivers a process-based market view. For casual market observation, Level1 is sufficient. But for quantitative engineering, risk modeling, and academic market research, Level2 granularity is indispensable.
Relying solely on Level1 data oversimplifies A-share limit-up logic and often leads to misleading strategy signals. Only by combining Level1 state judgment with Level2 microstructure analysis can quant teams build a comprehensive and reliable market perception system. In my daily development workflow, I prioritize Level2 data because it truly reflects the unfiltered behavioral logic of real market participants.

Top comments (0)