Files
uniswap_auto_clp/doc/CHANGELOG.md

50 lines
3.7 KiB
Markdown

# 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.