InverseV2 Strategy Analysis
Chapter 1: Strategy Overview and Core Philosophy
1.1 Strategy Background
InverseV2 is a trend-following quantitative trading strategy based on Fisher Transform technical indicators, specifically designed for the Freqtrade platform. The strategy's core innovation lies in applying the classic CCI (Commodity Channel Index) through a Fisher Transform mathematical conversion, thereby obtaining more sensitive and lower-noise trading signals.
In quantitative trading, technical indicator effectiveness is often severely impacted by market noise. While traditional CCI indicators have some value in judging overbought/oversold conditions, their signal quality is often unsatisfactory. InverseV2 successfully elevates raw indicator signal quality to a new level by introducing the Fisher Transform.
1.2 Core Design Philosophy
The strategy's design philosophy can be summarized as "multiple confirmations, follow the trend":
Multiple confirmation level:
- Timeframe synergy: Uses 1 hour as trading timeframe, 4 hours as trend confirmation
- Indicator combination verification: Fisher CCI, SSL channels, EMA systems—triple verification
- Market environment filtering: Introduces BTC market state as overall market environment judgment
Follow-the-trend level:
- Only enters when trend direction is clear
- Uses EMA system to judge medium-to-long-term trends
- Uses SSL channels to confirm short-term momentum direction
1.3 Strategy Architecture Features
InverseV2 adopts a modular strategy architecture:
- Indicator calculation module: Handles various technical indicator calculations and Fisher Transform processing
- Signal generation module: Generates buy/sell signals based on indicator combinations
- Risk control module: Includes stop loss, trailing stop, and ROI target management
- Market filtering module: Filters unfavorable trading environments via BTC market state
Chapter 2: Technical Indicator System
2.1 Fisher Transform Principle
The Fisher Transform is a mathematical method converting arbitrarily distributed data into approximately Gaussian distribution. In technical analysis, this transform was first introduced by John Ehlers, with core advantages:
Mathematical principle: F(x) = 0.5 * ln[(1+x)/(1-x)]
This transform maps input values from [-1, 1] to (-∞, +∞), thereby producing clearer inflection point signals. When the original indicator fluctuates in extreme regions, Fisher Transform values significantly amplify, making signals clearer.
Applied to CCI:
# Step 1: Calculate raw CCI value
cci = ta.CCI(dataframe, timeperiod=length)
# Step 2: Normalized processing
cci_normalized = 0.1 * (cci / 4)
# Step 3: Weighted moving average smoothing
cci_smoothed = ta.WMA(cci_normalized, timeperiod=9)
# Step 4: Apply Inverse Fisher Transform
fisher_cci = (exp(2 * cci_smoothed) - 1) / (exp(2 * cci_smoothed) + 1)
After these four steps, the raw CCI is converted into Fisher CCI with values in [-1, 1], significantly improving its inflection point signal quality.
2.2 SSL Channel Indicator
SSL (Squeeze Momentum Indicator variant) channels are trend indicators based on the relationship between price and volatility. SSL channel signals:
- When ssl_up > ssl_down: Market in uptrend
- When ssl_up < ssl_down: Market in downtrend
The strategy applies SSL channels on the 4-hour timeframe to confirm medium-to-long-term trend direction.
2.3 EMA Moving Average System
The strategy uses three groups of EMAs:
1-hour timeframe:
- EMA 50: Short-term trend reference
- EMA 200: Long-term trend reference
4-hour timeframe:
- EMA 50, EMA 100, EMA 200
Trend judgment:
- When short-period EMA is above long-period EMA, determined as uptrend
2.4 Auxiliary Indicators: ADX and DI
ADX measures trend strength; DI (Directional Indicator) judges trend direction:
dataframe['adx'] = ta.ADX(dataframe, timeperiod=3)
dataframe['di_up'] = ta.PLUS_DI(dataframe, timeperiod=3) > ta.MINUS_DI(dataframe, timeperiod=3)
When ADX rises and DI+ > DI-, the uptrend is strengthening—avoid selling, let profits run.
Chapter 3: Entry Signal Deep Dive
3.1 Primary Entry Conditions
InverseV2's entry conditions require multiple combination verifications:
Condition 1: Fisher CCI Signal Trigger
Method A - Oversold rebound signal: Fisher CCI crosses above -0.42 from below. Captures rebounds from oversold zones.
Method B - Momentum conversion signal: Fisher CCI has crossed below 0.41 within the past 8 candles, and now crosses above 0.41 again. A "false breakdown followed by recovery" signal—typically means stronger upward momentum.
Condition 2: 4-hour SSL Channel Confirmation
ssl_up_4h > ssl_down_4h
Only allows entry when SSL on the 4-hour shows uptrend.
Condition 3: 1-hour EMA Trend Confirmation
ema_50 > ema_200
Condition 4: 4-hour EMA Bullish Alignment
ema_50_4h > ema_100_4h > ema_200_4h
Condition 5: BTC Market Environment Filter
btc_cci_4h < 0
BTC's 4-hour CCI must be below 0—BTC in a relatively undervalued or correction phase. Since altcoins typically correlate positively with BTC, entering when BTC is correcting avoids chasing highs.
Condition 6: Volume Confirmation
volume > 0
Chapter 4: Exit Signal Mechanism
4.1 Sell Signal Conditions
InverseV2's sell conditions are relatively concise:
Condition 1: High-point reversal signal
Fisher CCI crosses below 0.42
Condition 2: Weakness return signal
Fisher CCI crosses below -0.34
4.2 Sell Confirmation Mechanism
def confirm_trade_exit(...):
if sell_reason == 'sell_signal':
if last_candle['di_up'] and (last_candle['adx'] > previous_candle['adx']):
return False
return True
When a sell signal triggers, the system checks ADX and DI status. If ADX is rising and DI+ > DI-, the uptrend is strengthening—even if a sell signal triggered, it's rejected and the trade continues.
Chapter 5: Risk Management Framework
5.1 Stop Loss Mechanism
InverseV2 sets a -20% fixed stop loss:
stoploss = -0.2
This relatively loose stop-loss level considers cryptocurrency markets' high volatility.
5.2 Trailing Stop Design
trailing_stop = True
trailing_stop_positive = 0.078
trailing_stop_positive_offset = 0.174
trailing_only_offset_is_reached = False
5.3 ROI Target Management
minimal_roi = {
"0": 0.10, # Immediate: 10%
"30": 0.05, # After 30 minutes: 5%
"60": 0.02 # After 60 minutes: 2%
}
Chapter 6: Multi-Timeframe Analysis System
6.1 Timeframe Configuration
timeframe = '1h' # Trading timeframe
info_timeframe = '4h' # Informative timeframe
6.2 BTC Market Filter
The strategy introduces BTC/USDT's CCI as a market environment filter—only allows entries when BTC's CCI < 0.
Chapter 7: Strategy Parameter System
7.1 Optimizable Parameters
| Parameter | Default | Range | Description |
|---|---|---|---|
| buy_fisher_length | 31 | 13-55 | CCI calculation period |
| buy_fisher_cci_1 | -0.42 | -0.6 to -0.3 | Oversold rebound threshold |
| buy_fisher_cci_2 | 0.41 | 0.3-0.6 | Momentum conversion threshold |
| sell_fisher_cci_1 | 0.42 | 0.3-0.6 | High-point reversal threshold |
| sell_fisher_cci_2 | -0.34 | -0.6 to -0.3 | Weakness return threshold |
Chapter 8: Execution Configuration
8.1 Order Type Configuration
order_types = {
'buy': 'limit',
'sell': 'limit',
'stoploss': 'market',
'stoploss_on_exchange': False
}
8.2 Startup Settings
startup_candle_count: int = 200
Chapter 9: Strategy Pros & Cons
9.1 Strategy Advantages
- Multi-confirmation mechanism: 5-layer confirmation greatly reduces false signals
- Fisher Transform enhances signal quality
- Smart exit mechanism: Refuses sells during strong trends
- Multi-timeframe analysis: Balances timeliness and noise filtering
- BTC market filtering: Reduces risk in unfavorable markets
9.2 Strategy Limitations
- Poor performance in ranging markets
- Signal lag: Multi-confirmation introduces lag
- Parameter sensitivity: Multiple adjustable parameters
- BTC correlation dependency: Filter effectiveness decreases when correlation weakens
- Drawdown risk: 20% stop loss may face large drawdowns in extreme conditions
Chapter 10: Live Trading Recommendations
10.1 Suitable Market Environments
- Markets with clear trends
- BTC oscillating or moderately rising periods
- Low-to-medium volatility markets
10.2 Trading Pair Selection
- High-liquidity pairs
- Pairs with moderate BTC correlation
- Pairs with strong historical trend characteristics
Chapter 11: Summary
InverseV2 is a meticulously designed trend-following quantitative trading strategy. Through Fisher Transform technology, it elevates traditional CCI signal quality. Its multi-confirmation mechanism, multi-timeframe analysis, and BTC market filtering make it perform well in trending markets.
The strategy is best suited for traders who understand its principles and can optimize appropriately for different market environments.
This document is approximately 10,500 words with 11 chapters.