Série Algo Trading — De 100K au Million — Partie 1 sur 12

Infrastructure & Stack Technique

Setup complet de A à Z : VM cloud hardened, Interactive Brokers TWS/Gateway, Python stack production-grade, bases de données time-series, monitoring, sécurité, et comment faire 90% du travail avec Claude Code.

VM Cloud Interactive Brokers Claude Code Sécurité
Algo Trading — De 100K au Million1/12
VisionVM SetupIBKR SetupPython StackClaude CodeSécurité
Vision et objectifs

De 100K€ au Million — Le plan en 24 mois

Cette série est conçue pour un profil quant/dev/ops/data analyst/trader avec 30+ ans d'expérience en hedge fund. L'objectif est clair : transformer 100 000€ en 1 000 000€ en moins de 24 mois, sans levier, uniquement en positions longues sur actions et ETF multi-régions (US, EU, APAC), avec un drawdown maximum de 25%.

Les mathématiques de l'objectif

  • Capital initial : 100 000€
  • Capital cible : 1 000 000€
  • Horizon : 24 mois
  • CAGR requis : (1M/100K)^(1/2) - 1 = 216% (irréaliste en buy-and-hold, faisable en algo actif)
  • Return mensuel moyen requis : (10)^(1/24) - 1 ≈ 10.4% par mois
  • Contrainte DD : Max Drawdown ≤ 25%
  • Contrainte levier : Aucun (margin 1:1 uniquement)
  • Contrainte direction : Long only (pas de short selling)

Pour atteindre cet objectif, il faut N stratégies complémentaires avec rotation adaptative selon le régime de marché. Aucune stratégie seule ne peut fournir un CAGR de 216%. C'est la combinaison et la gestion dynamique de 8-12 stratégies qui rend l'objectif atteignable.

L'architecture cible en un coup d'œil

ComposantTechnologieRôleCoût/mois
VM CloudHetzner CPX41 (AMD, 8 vCPU, 16 GB)Exécution 24/7, backtest, data pipeline~30€
BrokerInteractive Brokers ProExécution multi-marché, data feed gratuit~10€ (market data)
LanguagePython 3.12 + Rust (extensions critiques)Core framework, stratégies, MLGratuit
DatabaseTimescaleDB (PostgreSQL) + DuckDBStockage bars/features, analyticsGratuit (self-hosted)
Orchestrationsystemd + cron + healthcheckScheduling, monitoring, restartGratuit
AI AssistantClaude Code (claude -p)Génération de code, debug, analyse~$20 (API)
AlertesDiscord webhooks + email SMTPNotifications trades, erreurs, P&LGratuit
VersionningGit + GitHub (privé)Code, configs, backtest resultsGratuit
Total~60€/mois
Setup de la VM Cloud

VM Cloud — Pourquoi et comment

Une VM cloud plutôt qu'un ordinateur local pour plusieurs raisons critiques : uptime 99.99%, pas de coupure de courant/internet, latence réseau réduite (datacenters proches des exchanges), et isolation de l'environnement de production.

Comparatif des providers cloud pour le trading

ProviderConfigPrix/moisDatacenterLatence NYSEVerdict
HetznerCPX41 (8 vCPU, 16 GB, 240 GB NVMe)~28€Falkenstein/Nuremberg~80ms✅ Meilleur rapport qualité/prix
OVHB2-30 (8 vCPU, 30 GB, 200 GB)~32€Gravelines/Strasbourg~85ms✅ Bon pour EU, backup
AWS EC2c6a.2xlarge (8 vCPU, 16 GB)~$200us-east-1 (Virginia)~5ms⚠️ Cher mais latence minimale
DigitalOceanPremium (8 vCPU, 16 GB)~$96NYC/SFO~10ms⚠️ Bon mais cher pour ce qu'il offre

Prompt Claude Code : Setup complet de la VM

# Prompt pour Claude Code :
claude -p "Configure une VM Ubuntu 24.04 pour le trading algo:
1. Hardening SSH (clé ED25519 only, no password, port 2222)
2. UFW firewall (2222, 4001-4002 pour IBKR, 5432 PostgreSQL local only)
3. fail2ban configuré pour SSH
4. Python 3.12 avec pyenv + venv dédié 'algo'
5. TimescaleDB (PostgreSQL 16 + extension timescale)
6. DuckDB 1.0
7. Redis pour le cache temps réel
8. systemd service templates pour les stratégies
9. Logrotate pour les logs trading
10. Monitoring: node_exporter + custom health endpoint
11. Cron job: daily backup DB vers S3-compatible (Hetzner Object Storage)
12. unattended-upgrades pour les patches de sécurité
Génère tous les scripts et configs, explique chaque étape."
Interactive Brokers Setup

IBKR — Le broker de référence pour l'algo retail

Interactive Brokers Pro est le seul broker qui offre simultanément : accès à 150+ marchés mondiaux, API complète (TWS API / ib_insync), commissions ultra-compétitives, market data gratuit avec $10K+ d'equity, et le Securities Lending Program pour revenus passifs.

Configuration IBKR pour l'algo trading

SettingValeurPourquoi
Account TypeIndividual Pro (pas Lite !)Pro = routing direct vers les exchanges, pas d'internalisation PFOF
Base CurrencyEURÉvite les frais de conversion pour les achats EU
Market DataUS Securities Snapshot + NYSE/NASDAQ Level 1Gratuit avec > $10K equity. Suffisant pour notre stratégie daily
API ConnectionIB Gateway (headless, pas TWS)IB Gateway est plus stable et consomme moins de mémoire que TWS
API Port4001 (live) / 4002 (paper)Standard IBKR. Configurer dans ibgateway.conf
Max Order Rate50 orders/secondLargement suffisant pour des stratégies daily/swing
# Prompt Claude Code : Setup ib_insync + IB Gateway
claude -p "Crée un module Python pour la connexion IBKR:
1. Classe IBKRConnection avec reconnexion automatique
2. IB Gateway en mode headless sur VM Linux (Docker ou natif)
3. Heartbeat monitoring (ping toutes les 30s, alerte Discord si down)
4. Méthodes: get_positions(), place_order(), get_bars(), get_account_summary()
5. Rate limiting intelligent (max 45 req/s avec backoff)
6. Logging complet (chaque requête + réponse)
7. Mode paper trading toggle (port 4001 vs 4002)
8. Error handling: automatic reconnect, frozen market data, pacing violations
Utilise ib_insync 0.9.x avec asyncio. Teste avec paper trading."

Coûts de trading IBKR Pro — Modèle tiered vs fixed

  • US Stocks (Tiered) : $0.0035/action (min $0.35/ordre). Pour un portefeuille de 100K€ avec turnover 100%/mois → ~$200/mois de commissions
  • EU Stocks : 0.05% de la valeur (min €1.25). Plus cher que US mais acceptable pour la diversification
  • ETF : Même tarif que les actions. Les ETF EU (UCITS) sont accessibles en EUR
  • FX Conversion : 0.00002 (2 pips) — négligeable si on garde les positions en devise locale
Python Stack Production

Le stack Python production-grade

CatégoriePackageVersionRôle
Broker APIib_insync0.9.86Interface IBKR asynchrone
Datapandas, polars2.2, 1.xDataFrames. Polars pour le backtest (10× plus rapide)
ML/Statsscikit-learn, xgboost, statsmodels1.5, 2.1, 0.14Régimes, facteurs, classification
Backtestvectorbt0.26Backtest vectorisé ultra-rapide (1000× plus rapide que event-driven)
Optimizationscipy, cvxpy1.14, 1.5Portfolio optimization, risk budgeting
Databasepsycopg2, duckdb2.9, 1.0TimescaleDB + analytics locale
Monitoringprometheus_client, structlog0.21, 24.xMétriques + logging structuré JSON
Alertesdiscord-webhook, aiohttp1.3, 3.9Notifications Discord
SchedulingAPScheduler3.10Cron-like scheduler en Python
Configpydantic-settings, tomllib2.5, stdlibConfiguration typée et validée
# Prompt Claude Code : Scaffold du projet
claude -p "Crée la structure d'un projet Python de trading algo:
algo_trader/
├── config/          # TOML configs (strategies, broker, alerts)
├── core/            # Engine principal (scheduler, event bus, state)
├── data/            # Data pipeline (fetchers, validators, stores)
├── strategies/      # N stratégies (interface commune + implémentations)
├── portfolio/       # Portfolio construction + risk management
├── execution/       # Order management, IBKR interface
├── monitoring/      # Health checks, Prometheus metrics, Discord
├── backtest/        # Backtesting engine (vectorbt wrapper)
├── ml/              # Machine learning models (regime, scoring)
├── scripts/         # CLI scripts (run, backtest, report)
└── tests/           # Unit + integration tests

Chaque module a un __init__.py avec les exports publics.
L'engine principal utilise un event bus asyncio pour découpler les composants.
Toutes les stratégies héritent de BaseStrategy avec les méthodes:
  generate_signals(), calculate_positions(), on_fill(), on_cancel()
Génère le code complet avec typing strict et docstrings."
Workflow Claude Code

Faire 90% du travail avec Claude Code

Claude Code est l'arme secrète de cette série. En tant que quant/dev avec 30 ans d'expérience, vous savez quoi construire — Claude Code s'occupe du comment. Voici le workflow optimal :

1. Design & Spec

VOUS : Définissez l'architecture, les contraintes, les métriques cibles. Claude ne comprend pas votre alpha — c'est votre valeur ajoutée unique

2. Implémentation

CLAUDE : Écrit le code Python, les tests, les configs. Prompt détaillé → code production-grade. Itérez avec « corrige ceci, ajoute cela »

3. Debug & Optimisation

CLAUDE : Analyse les logs, identifie les bugs, optimise les performances. « Pourquoi ce backtest montre un Sharpe de 0.2 ? Analyse les trades perdants et propose des améliorations »

4. Analyse & Itération

VOUS : Validez les résultats, prenez les décisions stratégiques. Claude ne trade pas à votre place — il accélère votre boucle de développement ×10

Prompts Claude Code essentiels pour cette série

TâchePrompt type
Nouvelle stratégieclaude -p "Implémente une stratégie momentum cross-section sur US+EU+APAC stocks, rebalancement hebdomadaire, top 20 par momentum 12-1 mois, filtre volume > $5M/jour, filtre de volatilité. Hérite de BaseStrategy, avec backtest vectorbt sur 5 ans."
Backtestclaude -p "Lance un walk-forward backtest de la stratégie momentum: train 252j, test 63j, 20 folds. Métriques: CAGR, Sharpe, MaxDD, Calmar, Win Rate, Avg Trade. Génère un rapport HTML avec charts."
Debugclaude -p "Le dernier run a eu 3 trades rejected par IBKR avec code 201. Lis les logs dans /var/log/algo/execution.log et diagnostique. Propose un fix."
Monitoringclaude -p "Crée un dashboard Discord qui poste chaque matin à 7h: P&L du jour/semaine/mois, positions ouvertes, drawdown actuel, prochains rebalancements, alertes si DD > 10%."
Sécurité de la VM

Hardening de la VM de trading

MesureImplémentationCriticité
SSHClé ED25519 uniquement, port non standard, no password auth🔴 Critique
FirewallUFW : seuls les ports nécessaires (SSH, IBKR 4001/4002)🔴 Critique
fail2banBan après 3 tentatives, 24h de ban🟡 Important
SecretsVariables d'environnement ou Vault (pas dans le code, pas dans git)🔴 Critique
2FA IBKRIBKR Mobile Auth obligatoire (complique le headless, mais nécessaire)🔴 Critique
EncryptionLUKS full-disk encryption + TLS pour toutes les connexions DB🟡 Important
BackupsDaily backup chiffré de la DB + configs vers S3🔴 Critique
Updatesunattended-upgrades pour les patches de sécurité🟡 Important
MonitoringAlerte Discord si le service tombe ou si CPU/RAM anomal🟡 Important
Kill switchScript qui liquide TOUTES les positions en 1 commande si urgence🔴 Critique

Points clés de cette partie

  • Objectif : 100K€ → 1M€ en 24 mois, sans levier, long only, multi-région, DD max 25%
  • CAGR requis de ~216% → nécessite 8-12 stratégies complémentaires avec rotation adaptative
  • VM Hetzner CPX41 (~30€/mois) + IBKR Pro = infrastructure complète pour ~60€/mois
  • Stack Python : ib_insync, polars, vectorbt, xgboost, TimescaleDB, Discord webhooks
  • Claude Code accélère le développement ×10 : vous définissez le quoi, Claude fait le comment
  • Sécurité non négociable : SSH hardened, firewall, 2FA IBKR, secrets en env vars, kill switch
Partie suivante
Data Pipeline & Feature Engineering →
Algo Trading — De 100K au Million1/12