# Changelog All notable changes to this project will be documented in this file. ## [2025-12-21] ### Optimization - **Low Volatility Optimization**: - Introduced `BASE_REBALANCE_THRESHOLD_PCT` configuration flag in `clp_hedger.py`. - Increased base rebalance threshold from **0.05 (5%)** to **0.08 (8%)** to reduce "churn" (excessive trading) during low volatility/sideways markets. - This change aims to improve net profitability by ensuring that rebalancing fees are only paid when the delta imbalance is statistically significant. ## [2025-12-20] ### Added - **Dynamic Rebalance Threshold**: Implemented volatility-based threshold adjustment in `clp_hedger.py`. - **Volatility Metric**: Added `calculate_volatility()` using rolling Standard Deviation (5-minute window). - **Adaptive Logic**: Rebalance threshold now scales (1.0x - 3.0x) based on market volatility to reduce fee costs during "chop" (noise) while maintaining precision during trends. - **Safety Cap**: Threshold is capped at 20% of the range width to prevent dangerous unhedged exposure in tight ranges. - **Log Explanation**: `(Vol: 0.029% x1.0 | Thresh: 7.4%)` - **Vol:** Standard Deviation of last 300 prices relative to mean. - **x1.0 (Multiplier):** Scales based on reference volatility (0.05%). Multiplier = `max(1.0, Vol / 0.05%)`. - **Thresh:** The % of max delta deviation required to trigger a trade. Calculated as `Base (Range Dependent) * Multiplier`. - **Execution Analysis Logs**: Added Bid/Ask book state to the `[TRIG]` log in `clp_hedger.py`. This data enables "Shadow Logging" to compare current Taker execution costs against theoretical Maker savings (Spread capture + Rebates). - **Shadow Order Simulator**: Implemented a simulation engine in `clp_hedger.py` to verify if Maker orders would have filled. - **Trigger**: Created automatically alongside every Taker trade. - **Logic**: Tracks if the market price crosses the passive Maker price within a timeframe. - **Extended Timeout**: Fixed at **600s (10 min)** to capture the full distribution of fill times. This data will help determine the optimal "Time to Live" for future Maker strategies. - **Goal**: Gather empirical data to determine if switching to Maker orders is profitable. ### Documentation - **Analysis**: Completed optimization analysis in `todo/optymalization rebalance_threshol.md` with technical justification for using StdDev over ATR. ## [2025-12-19] ### Added - **Dynamic Edge Proximity**: Implemented `get_dynamic_edge_proximity` in `clp_hedger.py` and `clp_scalper_hedger.py`. This scales the edge protection buffer based on position size (Base 4% + 4% per $10k, capped at 15%) to better protect larger positions. - **Large Hedge Override**: Added logic to bypass trade cooldowns in `clp_hedger.py` when a rebalance requirement significantly exceeds the threshold (`LARGE_HEDGE_MULTIPLIER`). ### Fixed - **Double Logging**: Resolved duplicate log entries in the terminal by setting `logger.propagate = False` in both `clp_hedger.py` and `clp_scalper_hedger.py` and cleaning up root logger handlers. - **Bug Fixes**: Fixed a `NameError` (undefined `dynamic_buffer`) and an `IndentationError` in `clp_hedger.py`. ### Removed - **clp_scalper_hedger.py**: Removed the scalper-hedger script as the main `clp_hedger.py` now includes all necessary edge protection and dynamic proximity features. ### Configuration Changes - **Weekend Strategy Update**: - Updated `uniswap_manager.py`: Increased capital to $2,000 (`TARGET_INVESTMENT_VALUE_USDC`) and set a tighter range of +/- 1% (`RANGE_WIDTH_PCT = 0.01`). - Updated `clp_hedger.py`: Lowered `MIN_THRESHOLD_ETH` to 0.008 for finer control and reduced `DYNAMIC_THRESHOLD_MULTIPLIER` to 1.2 for lower volatility environment.