refactor: Standardize CLP Manager and Hedger modules & cleanup
- **clp_manager.py**: Renamed from 'uniswap_manager.py'. Standardized logic for Uniswap V3 liquidity provision. - **clp_hedger.py**: Renamed from 'unified_hedger.py'. Consolidated hedging logic including Delta Calculation fixes, EAC (Edge Avoidance), and Fishing order implementation. - **Cleanup**: Removed legacy 'aerodrome' folder and tools. - **Monitoring**: Added Telegram monitoring scripts. - **Config**: Updated gitignore to exclude market data CSVs.
This commit is contained in:
@ -8,49 +8,56 @@ STATUS_FILE = os.environ.get("STATUS_FILE", f"{TARGET_DEX}_status.json")
|
||||
|
||||
# --- DEFAULT STRATEGY ---
|
||||
DEFAULT_STRATEGY = {
|
||||
"MONITOR_INTERVAL_SECONDS": 60, # How often the Manager checks for range status
|
||||
"CLOSE_POSITION_ENABLED": True, # Allow the bot to automatically close out-of-range positions
|
||||
"OPEN_POSITION_ENABLED": True, # Allow the bot to automatically open new positions
|
||||
"REBALANCE_ON_CLOSE_BELOW_RANGE": True, # Strategy flag for specific closing behavior
|
||||
|
||||
"MONITOR_INTERVAL_SECONDS": 60, # How often the Manager checks for range status
|
||||
"CLOSE_POSITION_ENABLED": True, # Allow the bot to automatically close out-of-range positions
|
||||
"OPEN_POSITION_ENABLED": True, # Allow the bot to automatically open new positions
|
||||
"REBALANCE_ON_CLOSE_BELOW_RANGE": True, # Strategy flag for specific closing behavior
|
||||
|
||||
# Investment Settings
|
||||
"TARGET_INVESTMENT_AMOUNT": 2000, # Total USD value to deploy into the LP position
|
||||
"INITIAL_HEDGE_CAPITAL": 1000, # Capital reserved on Hyperliquid for hedging
|
||||
"VALUE_REFERENCE": "USD", # Base currency for all calculations
|
||||
"WRAPPED_NATIVE_ADDRESS": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", # WETH/WBNB address
|
||||
|
||||
"TARGET_INVESTMENT_AMOUNT": 2000, # Total USD value to deploy into the LP position
|
||||
"INITIAL_HEDGE_CAPITAL": 1000, # Capital reserved on Hyperliquid for hedging
|
||||
"VALUE_REFERENCE": "USD", # Base currency for all calculations
|
||||
|
||||
# Range Settings
|
||||
"RANGE_WIDTH_PCT": Decimal("0.01"), # LP width (e.g. 0.05 = +/- 5% from current price)
|
||||
"SLIPPAGE_TOLERANCE": Decimal("0.02"), # Max allowed slippage for swaps and minting
|
||||
"TRANSACTION_TIMEOUT_SECONDS": 30, # Timeout for blockchain transactions
|
||||
|
||||
# Hedging Settings
|
||||
"MIN_HEDGE_THRESHOLD": Decimal("0.012"), # Minimum delta change (in coins) required to trigger a trade
|
||||
"RANGE_WIDTH_PCT": Decimal("0.01"), # LP width (e.g. 0.05 = +/- 5% from current price)
|
||||
"SLIPPAGE_TOLERANCE": Decimal("0.02"), # Max allowed slippage for swaps and minting
|
||||
"TRANSACTION_TIMEOUT_SECONDS": 30, # Timeout for blockchain transactions
|
||||
|
||||
# Hedging Settings
|
||||
"MIN_HEDGE_THRESHOLD": Decimal("0.012"), # Minimum delta change (in coins) required to trigger a trade
|
||||
|
||||
# Unified Hedger Settings
|
||||
"CHECK_INTERVAL": 1, # Loop speed for the hedger (seconds)
|
||||
"LEVERAGE": 5, # Leverage to use on Hyperliquid
|
||||
"ZONE_BOTTOM_HEDGE_LIMIT": Decimal("1.0"), # Multiplier limit at the bottom of the range
|
||||
"ZONE_CLOSE_START": Decimal("10.0"), # Distance (pct) from edge to start closing logic
|
||||
"ZONE_CLOSE_END": Decimal("11.0"), # Distance (pct) from edge to finish closing logic
|
||||
"ZONE_TOP_HEDGE_START": Decimal("10.0"),# Distance (pct) from top edge to adjust hedging
|
||||
"PRICE_BUFFER_PCT": Decimal("0.0015"), # Buffer for limit order pricing (0.15%)
|
||||
"MIN_ORDER_VALUE_USD": Decimal("10.0"), # Minimum order size allowed by Hyperliquid
|
||||
"DYNAMIC_THRESHOLD_MULTIPLIER": Decimal("1.2"), # Expansion factor for thresholds
|
||||
"MIN_TIME_BETWEEN_TRADES": 60, # Cooldown (seconds) between rebalance trades
|
||||
"MAX_HEDGE_MULTIPLIER": Decimal("1.25"),# Max allowed hedge size relative to calculated target
|
||||
"BASE_REBALANCE_THRESHOLD_PCT": Decimal("0.25"), # Base tolerance for delta drift (20%)
|
||||
"EDGE_PROXIMITY_PCT": Decimal("0.04"), # Distance to range edge where protection activates
|
||||
"VELOCITY_THRESHOLD_PCT": Decimal("0.0005"), # Minimum price velocity to trigger volatility logic
|
||||
"POSITION_OPEN_EDGE_PROXIMITY_PCT": Decimal("0.06"), # Safety margin when opening new positions
|
||||
"POSITION_CLOSED_EDGE_PROXIMITY_PCT": Decimal("0.025"), # Safety margin for closing positions
|
||||
"LARGE_HEDGE_MULTIPLIER": Decimal("5.0"), # Multiplier to bypass trade cooldown for big moves
|
||||
"ENABLE_EDGE_CLEANUP": True, # Force rebalances when price is at range boundaries
|
||||
"EDGE_CLEANUP_MARGIN_PCT": Decimal("0.02"), # % of range width used for edge detection
|
||||
"MAKER_ORDER_TIMEOUT": 600, # Timeout for resting Maker orders (seconds)
|
||||
"SHADOW_ORDER_TIMEOUT": 600, # Timeout for theoretical shadow order tracking
|
||||
"ENABLE_FISHING": False, # Use passive maker orders for rebalancing (advanced)
|
||||
"FISHING_ORDER_SIZE_PCT": Decimal("0.10"), # Size of individual fishing orders
|
||||
"CHECK_INTERVAL": 1, # Loop speed for the hedger (seconds)
|
||||
"LEVERAGE": 5, # Leverage to use on Hyperliquid
|
||||
"ZONE_BOTTOM_HEDGE_LIMIT": Decimal("1.0"), # Multiplier limit at the bottom of the range
|
||||
"ZONE_CLOSE_START": Decimal("10.0"), # Distance (pct) from edge to start closing logic
|
||||
"ZONE_CLOSE_END": Decimal("11.0"), # Distance (pct) from edge to finish closing logic
|
||||
"ZONE_TOP_HEDGE_START": Decimal("10.0"), # Distance (pct) from top edge to adjust hedging
|
||||
"PRICE_BUFFER_PCT": Decimal("0.0015"), # Buffer for limit order pricing (0.15%)
|
||||
"MIN_ORDER_VALUE_USD": Decimal("10.0"), # Minimum order size allowed by Hyperliquid
|
||||
"DYNAMIC_THRESHOLD_MULTIPLIER": Decimal("1.2"), # Expansion factor for thresholds
|
||||
"MIN_TIME_BETWEEN_TRADES": 60, # Cooldown (seconds) between rebalance trades
|
||||
"MAX_HEDGE_MULTIPLIER": Decimal("1.25"), # Max allowed hedge size relative to calculated target
|
||||
"BASE_REBALANCE_THRESHOLD_PCT": Decimal("0.25"), # Base tolerance for delta drift (20%)
|
||||
"EDGE_PROXIMITY_PCT": Decimal("0.04"), # Distance to range edge where protection activates
|
||||
"VELOCITY_THRESHOLD_PCT": Decimal("0.0005"), # Minimum price velocity to trigger volatility logic
|
||||
"POSITION_OPEN_EDGE_PROXIMITY_PCT": Decimal("0.06"), # Safety margin when opening new positions
|
||||
"POSITION_CLOSED_EDGE_PROXIMITY_PCT": Decimal("0.025"), # Safety margin for closing positions
|
||||
"LARGE_HEDGE_MULTIPLIER": Decimal("5.0"), # Multiplier to bypass trade cooldown for big moves
|
||||
"ENABLE_EDGE_CLEANUP": True, # Force rebalances when price is at range boundaries
|
||||
"EDGE_CLEANUP_MARGIN_PCT": Decimal("0.02"), # % of range width used for edge detection
|
||||
"MAKER_ORDER_TIMEOUT": 600, # Timeout for resting Maker orders (seconds)
|
||||
"SHADOW_ORDER_TIMEOUT": 600, # Timeout for theoretical shadow order tracking
|
||||
"ENABLE_FISHING": False, # Use passive maker orders for rebalancing (advanced)
|
||||
"FISHING_ORDER_SIZE_PCT": Decimal("0.10"), # Size of individual fishing orders
|
||||
"FISHING_TIMEOUT_FALLBACK": 30, # Seconds before converting fishing order to taker
|
||||
|
||||
# EAC (Enhanced Asymmetric Compensation)
|
||||
"EAC_NARROW_RANGE_THRESHOLD": Decimal("0.02"), # <2% = narrow
|
||||
"EAC_MEDIUM_RANGE_THRESHOLD": Decimal("0.05"), # <5% = medium
|
||||
"EAC_NARROW_BOOST": Decimal("0.15"), # 15% boost
|
||||
"EAC_MEDIUM_BOOST": Decimal("0.10"), # 10% boost
|
||||
"EAC_WIDE_BOOST": Decimal("0.075"), # 7.5% boost
|
||||
}
|
||||
|
||||
# --- CLP PROFILES ---
|
||||
@ -91,9 +98,17 @@ CLP_PROFILES = {
|
||||
"TOKEN_B_ADDRESS": "0x55d398326f99059fF775485246999027B3197955", # USDT
|
||||
"WRAPPED_NATIVE_ADDRESS": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",
|
||||
"POOL_FEE": 100,
|
||||
"RANGE_WIDTH_PCT": Decimal("0.015"),
|
||||
"RANGE_WIDTH_PCT": Decimal("0.004"),
|
||||
"TARGET_INVESTMENT_AMOUNT": 1000,
|
||||
"MIN_HEDGE_THRESHOLD": Decimal("0.05"), # ~$30 for BNB
|
||||
"MIN_HEDGE_THRESHOLD": Decimal("0.015"),
|
||||
"BASE_REBALANCE_THRESHOLD_PCT": Decimal("0.10"),
|
||||
"EDGE_PROXIMITY_PCT": Decimal("0.015"),
|
||||
"DYNAMIC_THRESHOLD_MULTIPLIER": Decimal("1.1"),
|
||||
"MIN_TIME_BETWEEN_TRADES": 20,
|
||||
"ENABLE_FISHING": False,
|
||||
"FISHING_ORDER_SIZE_PCT": Decimal("0.05"),
|
||||
"MAKER_ORDER_TIMEOUT": 180,
|
||||
"FISHING_TIMEOUT_FALLBACK": 60,
|
||||
},
|
||||
"WETH_CBBTC_BASE": {
|
||||
"NAME": "Aerodrome/Uni (Base) - WETH/cbBTC",
|
||||
|
||||
Reference in New Issue
Block a user