Price Range Limits
Understanding how price range limits are calculated and applied in the Circuit Breaker mechanism
Overview
Our trading platform incorporates a circuit breaker mechanism to regulate price fluctuations within a single block. This feature is applicable to both 'market orders' and 'limit orders,' and operates to ensure that orders are executed within acceptable price ranges. The primary objective of the circuit breaker is to mitigate extreme volatility and maintain equilibrium in our Zero Coupon bond market.
How It Works
The Circuit Breaker mechanism uses a combination of historical price data and percentage-based limits to determine the acceptable range for price movements within a single block.
Price Range Limit Calculation
Limitation on Downward Price Movement: The platform restricts the downward price movement to 5% from the Moving Average of the most recent 5 Reliable Block Prices.
Limitation on Upward Price Movement: Conversely, upward price movement is capped at 10% from the Moving Average of the last 3 Reliable Block Prices.
Price Fluctuation Allowance: The market is permitted to move at least 2.00 for downside and 7.00 for topside regardless of percentage calculations.
Mathematical Expression of Price Limits
The price limits are calculated using the following mathematical expressions:
For Upward Price Limit:
This means the system first takes the maximum of (MA3 + 10%) and (MA3 + 7.00), ensuring a minimum movement of 7.00, then takes the minimum of that result and the requested Price.
For Downward Price Limit:
This means the system first takes the minimum of (MA5 - 5%) and (MA5 - 2.00), ensuring a minimum movement of 2.00, then takes the maximum of that result and the requested Price.
Key Parameters
Downward Movement Limit
Maximum percentage decrease from Moving Average
5%
Upward Movement Limit
Maximum percentage increase from Moving Average
10%
Downward Moving Average Period
Number of blocks used for downward limit calculation
5 blocks
Upward Moving Average Period
Number of blocks used for upward limit calculation
3 blocks
Downward Allowance
Price can decrease regardless of the percentage limit
2.00
Upward Allowance
Price can increase regardless of the percentage limit
7.00
Examples
Example 1: Standard Price Range Calculation
Consider a situation where the last 5 reliable Block Prices are 80.60, 80.40, 80.30, 80.10, and the most recent is 79.60.
Downward Price Limit:
Moving Average of the most recent 5 reliable block prices is:
Since movement is limited to 5% to downside, the lowest bound will be:
No orders lower than 76.19 will be executed during the next block.
Upward Price Limit:
Moving Average of the most recent 3 reliable block prices is:
As topside can move up to 10%, the upper limit will be:
This means that in the next block, orders will only be executed if their prices fall within the range of 76.19 to 88.00, protecting the market from extreme volatility.
Example 2: Price Fluctuation Allowance Application
If the last 5 reliable block prices were 20.00, 18.00, 16.00, 14.00, and 12.00, the Moving Average would be 16.00.
Normally, the downward movement would be limited to:
However, since the platform ensures a minimum allowed price fluctuation of 2.00 for downward movement, we apply the mathematical formula:
This minimum allowed price fluctuation ensures that markets with low prices can still function efficiently, as percentage-based limits might be too restrictive in such cases.
Example 3: Asymmetric Limits in Action
Consider a market with the following recent prices:
Last 5 prices: 50.00, 49.80, 49.60, 49.40, 49.20
Moving Average (5 blocks): 49.60
Moving Average (3 blocks): 49.40
The price limits would be:
Downward limit: 49.60 * 0.95 = 47.12
Upward limit: 49.40 * 1.10 = 54.34
This asymmetric design (5% down vs. 10% up) reflects the natural tendency of Zero-Coupon Bonds to increase in price as they approach maturity, allowing for more natural upward movement while protecting against sharp downward spikes.
Common Questions
Why are downward price movements more restricted than upward movements?
Downward price movements are more restricted for several important reasons:
Zero-Coupon Bond Characteristics: Zero-Coupon Bonds naturally increase in price as they approach maturity, so downward movements are more likely to be anomalous
Liquidation Protection: Tighter downward limits help protect borrowers from unnecessary liquidations due to temporary price volatility
Market Stability: More restrictive downward limits prevent panic selling and market crashes
Flash Loan Defense: Stricter downward limits make it harder for attackers to manipulate prices downward to trigger liquidations
Asymmetric Risk: The risk of rapid price collapses is generally more damaging to the protocol than rapid price increases
How are "Reliable Block Prices" determined?
Reliable Block Prices are determined through the following process:
Price Validation: Each block price must pass validation checks to be considered reliable
Manipulation Detection: Prices that show signs of manipulation are excluded
Volume Requirements: Blocks must have sufficient trading volume to be included
Outlier Rejection: Statistical methods identify and exclude outlier prices
Recency Weighting: More recent blocks have higher priority for inclusion
What happens if there aren't enough Reliable Block Prices available?
If there aren't enough Reliable Block Prices available:
Fallback Mechanism: The system uses a fallback calculation based on available data
Extended Timeframe: The lookback period is extended until sufficient data is found
Oracle Integration: External price oracles may be consulted as a secondary source
Conservative Limits: More conservative limits are applied when data is limited
Admin Notification: Protocol administrators are notified of the data shortage
Can the Circuit Breaker price limits be adjusted?
Yes, the Circuit Breaker price limits can be adjusted:
Governance Process: Changes to parameters require approval through protocol governance
Market-Specific Adjustments: Different markets may have different parameters based on their characteristics
Volatility Adaptation: Parameters can be adjusted in response to changing market volatility
Periodic Review: All parameters are reviewed quarterly to ensure they remain appropriate
Emergency Adjustments: In extreme market conditions, emergency parameter changes may be implemented
How does the price fluctuation allowance work?
The price fluctuation allowance works as follows:
Floor Value: They establish a minimum price movement that's always allowed regardless of percentage calculations
Market Efficiency: They ensure that markets with very low prices can still function efficiently
Calculation Priority: As shown in the mathematical expressions, the system first compares the percentage-based limit with the minimum allowed movement, then applies the appropriate limit
Asymmetric Design: Different minimum allowed movements are set for upward (7.00) and downward (2.00) price changes
Mathematical Implementation: For upward movement, we use Min(Max(MA3 + 10%, MA3 + 7.00), Price), and for downward movement, we use Max(Min(MA5 - 5%, MA5 - 2.00), Price)
Related Resources
Last updated
Was this helpful?