Back to Portfolio

ICTML Advanced Trading System

A daily market-bias system that combines historical feature engineering, ensemble modeling, and scheduled inference to classify bullish, bearish, or choppy regimes before execution.

PythonXGBoostScikit-learnPandasAutomation
Signal Snapshot
Bullish
61%
Bearish
24%
Choppy
15%

Key Performance Indicators

System Workflow

1. Feature Build

Historical candles and session-level statistics are transformed into a stable feature set for each symbol and trade date.

2. Ensemble Inference

XGBoost and related classifiers score each symbol and produce calibrated class probabilities for market regime.

3. Risk Gating

Confidence thresholds and session rules filter low-conviction outputs before downstream strategy logic consumes them.

Daily Inference Logic

run_premarket.py
def run_daily_bias_pipeline(symbols, run_date):
    market_data = load_market_data(symbols=symbols, date=run_date)
    features = build_feature_matrix(market_data)
    probs = model.predict_proba(features)

    outputs = []
    for symbol, score in zip(symbols, probs):
        regime = decode_regime(score.argmax())
        confidence = float(score.max())
        if confidence < MIN_CONFIDENCE:
            regime = "choppy"

        outputs.append({
            "symbol": symbol,
            "predicted_bias": regime,
            "confidence": confidence,
            "probabilities": score.tolist()
        })
    return outputs