43 lines
3.3 KiB
Markdown
43 lines
3.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
## [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.
|