ML Filter

Overview

VECTRA's ML Signal Filter uses a Gradient Boosted Decision Stump model trained on historical trade outcomes to predict whether a new signal will be profitable. It acts as the penultimate gate before AI validation.

Feature Extraction

The ML model receives normalized features (all scaled 0-1):

Feature
Source
Normalization

Confidence

Signal confidence score

Direct (already 0-1)

Direction

LONG=1, SHORT=0

Binary encoding

Risk:Reward

SL/TP distance ratio

Divided by 5 (5× = 1.0)

RSI

14-period RSI

Divided by 100

ADX

Trend strength

Divided by 60

ATR Ratio

Current vs. average ATR

Log-scaled

Regime

Market regime encoding

Ordinal encoding

Funding Rate

Current funding rate

Scaled

Volume Ratio

Current vs. average volume

Divided by 3

Training Process

1

Data collection

Train on completed trades with known outcomes. Features are extracted at signal generation time.

2

Labeling

Outcome labeled as WIN (positive PnL) or LOSS (negative PnL).

3

Model training

Gradient Boosted Decision Stumps trained incrementally.

4

Persistence

Model persisted to disk for restart survival.

Decision Logic

The ML filter outputs a probability score (0-1). If the score falls below the threshold, the signal is rejected with a "ML_FILTERED" tag. The threshold is adaptive based on recent model accuracy.

Custom Training (INSTITUTIONAL)

Institutional tier users can retrain the model with custom feature sets and tune hyperparameters for their specific trading style and pair preferences.