Skip to main content

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:

  1. Indicator calculation module: Handles various technical indicator calculations and Fisher Transform processing
  2. Signal generation module: Generates buy/sell signals based on indicator combinations
  3. Risk control module: Includes stop loss, trailing stop, and ROI target management
  4. 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

ParameterDefaultRangeDescription
buy_fisher_length3113-55CCI calculation period
buy_fisher_cci_1-0.42-0.6 to -0.3Oversold rebound threshold
buy_fisher_cci_20.410.3-0.6Momentum conversion threshold
sell_fisher_cci_10.420.3-0.6High-point reversal threshold
sell_fisher_cci_2-0.34-0.6 to -0.3Weakness 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

  1. Multi-confirmation mechanism: 5-layer confirmation greatly reduces false signals
  2. Fisher Transform enhances signal quality
  3. Smart exit mechanism: Refuses sells during strong trends
  4. Multi-timeframe analysis: Balances timeliness and noise filtering
  5. BTC market filtering: Reduces risk in unfavorable markets

9.2 Strategy Limitations

  1. Poor performance in ranging markets
  2. Signal lag: Multi-confirmation introduces lag
  3. Parameter sensitivity: Multiple adjustable parameters
  4. BTC correlation dependency: Filter effectiveness decreases when correlation weakens
  5. 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.