In decentralized liquidity systems, the ratio of assets allocated across pools can significantly influence earning efficiency, market stability, and price sensitivity. This post explores a data-driven approach to optimizing pool ratios using core performance metrics, dynamic adjustments, and system-aware constraints. The goal is to propose a speculative but structured framework for calibrating pool weights in volatile and interconnected markets.
Core Metrics and Formulas
1. Basic Pool Metrics
For each individual pool i:
Volume Efficiency (VE_i) = Weekly Volume / Total Reserves
Price Impact Sensitivity (PI_i) = ΔPrice / (Trade Size / Reserve Depth)
Earning Rate (ER_i) = Weekly Earnings / Total Reserves
These metrics capture how efficiently a pool generates volume, absorbs trades, and earns returns.
2. Connected Pool System Metrics
For a system of n connected pools:
System Volume (SV) = Σ(Volume_i)
System Liquidity (SL) = Σ(Reserves_i)
Pool Dominance (PD_i) = Reserves_i / SL
These system-level metrics are essential for detecting outsized influence from dominant pools and for balancing systemic exposure.
Optimization Methodology
1. Pool Impact Analysis
Drawing from an observed case where a 1% fluctuation in a 97% dominant pool caused a 46.6% change in smaller pools, we calculate the Amplification Factor (AF):
AF = (ΔPrice_small / ΔPrice_dominant) * (PD_dominant / PD_small)
= (46.6 / 1) * (0.97 / 0.03) ≈ 1,500
From this, we determine the Maximum Safe Dominance (MSD):
MSD = 1 / (1 + AF * Acceptable_Amplification)
For a 5x amplification limit:
MSD = 1 / (1 + 1500 * 0.2) = 0.77 or 77%
2. Optimal Distribution Algorithm
Step 1: Calculate Base Distribution
Base_Share_i = (Volume_i / SV) * (1 - Volatility_Buffer)
Volatility_Buffer = 0.2 // Reserve 20% for volatility
Step 2: Apply Dominance Constraints
If Base_Share_i > MSD:
Excess = Base_Share_i - MSD
Redistribute Excess proportionally to other pools
Step 3: Calculate Return-Adjusted Weights
Return_Weight_i = Base_Share_i * (ER_i / Average_ER)^0.5
// Reduces influence of outliers without ignoring earnings
Step 4: Normalize
Final_Share_i = Return_Weight_i / Σ(Return_Weight_j)
Example Implementation
Assume a system with three pools:
- Pool A: Volume = 1000, Reserves = 500, Earnings = 3
- Pool B: Volume = 800, Reserves = 300, Earnings = 2
- Pool C: Volume = 400, Reserves = 200, Earnings = 1
Step 1: Base Metrics
Total Volume = 2200
Total Reserves = 1000
Pool A: VE = 2.0, ER = 0.006
Pool B: VE = 2.67, ER = 0.0067
Pool C: VE = 2.0, ER = 0.005
Step 2: Base Distribution (with 20% volatility buffer)
Pool A: (1000 / 2200) * 0.8 = 0.363
Pool B: (800 / 2200) * 0.8 = 0.290
Pool C: (400 / 2200) * 0.8 = 0.145
All are under the 77% MSD, so no adjustment is needed.
Step 3: Return-Adjusted Weights
Average_ER = 0.00589
Pool A: 0.363 * sqrt(0.006 / 0.00589) ≈ 0.366
Pool B: 0.290 * sqrt(0.0067 / 0.00589) ≈ 0.301
Pool C: 0.145 * sqrt(0.005 / 0.00589) ≈ 0.133
Step 4: Normalize Weights
Total = 0.800
Final Allocation:
Pool A = 45.75%
Pool B = 37.63%
Pool C = 16.62%
Dynamic Adjustment Factors
1. Volume Stability Coefficient
To reduce weight for unstable pools:
Stability_i = 1 - StdDev(Daily_Volume_i) / Mean(Daily_Volume_i)
Adjusted_Share_i = Final_Share_i * (1 + (Stability_i - Avg_Stability) * 0.2)
2. Path Efficiency Factor
To penalize pools that duplicate trade paths:
Path_Efficiency_i = Direct_Volume_i / (Direct_Volume_i + Indirect_Volume_i)
Adjusted_Share_i *= Path_Efficiency_i^0.3
This balances network redundancy without over-penalizing.
Rebalancing Thresholds
To avoid overreacting to small changes:
Threshold_i = Base_Volatility * (1 + (Volume_i / SV))
Base_Volatility = 5% (adjustable)
Trigger rebalancing if:
|Current_Share_i - Target_Share_i| > Threshold_i
Low Volatility Conditions
During quiet markets:
Volatility_Scalar = Current_Market_Volatility / Historical_Average
Adjusted_Target_i = Target_Share_i * (0.7 + 0.3 * Volatility_Scalar)
This retains 70% of the target even when price movement is low, ensuring capital remains engaged.
Final Thoughts
This methodology outlines a systematic, adaptive approach to determining optimal liquidity pool ratios. By blending real-time metrics (volume, earnings, dominance) with constraints and smoothing functions, systems can maintain both profitability and resilience. While speculative in nature, this model provides a functional framework for researchers, developers, or DAO communities seeking to fine-tune liquidity distribution in multi-pool DeFi ecosystems.
Liquidity on Stellar | AMMs Explained

