El Lab
Una selección de implementaciones técnicas e ingeniería aplicada.
Identifier les anomalies de cycle de vie (Création vs Suppression)
Utilisation de MAX(CASE(...)) pour extraire et comparer chronologiquement les états d'un compte utilisateur.
Trailing Stop Dynamique basé sur ATR
Implémentation d'un trailing stop auto-adaptatif qui ajuste la distance de protection selon la volatilité du marché mesurée par l'indicateur ATR.
Inférence ONNX depuis un modèle Scikit-learn
Pipeline complète : entraînement d'un RandomForest en Scikit-learn, export au format ONNX, puis chargement pour inférence.
Feature Engineering : Signaux Techniques pour ML
Calcul automatisé de features techniques (RSI, EMA, Volatilité) à partir de données OHLCV.
Déduplication par fenêtre glissante (Spark SQL)
Utilisation des Window Functions en Spark/Scala pour dédoublonner des enregistrements.
Donut Chart : Répartition des niveaux de logs
Visualisation Vega-Lite pour Kibana affichant la proportion des niveaux de logs avec une esthétique néon.
Agrégation filtrée : GROUP BY + HAVING
Regrouper, agréger (COUNT/SUM/AVG) puis filtrer sur le résultat agrégé avec HAVING — ce que WHERE ne peut pas faire.
Corrélation d'événements et calcul de durée (Timeout)
Utilisation de COALESCE pour joindre des logs asynchrones et DATE_DIFF pour identifier les processus dépassant un seuil de temps (ex: 20 mins).
Filtre de Session de Trading (London / NY)
Fonction utilitaire pour restreindre l'exécution d'un EA aux heures d'ouverture d'une session de marché spécifique.
Décorateur de Retry robuste pour appels API
Gestion des erreurs transitoires avec backoff exponentiel pour les requêtes HTTP.
Optimisation de l'écriture Parquet partitionnée
Optimisation du stockage pour accélérer les requêtes via partitionnement intelligent et repartitioning.
Heatmap de trafic horaire interactif
Génère une carte thermique pour identifier les pics d'utilisation par jour et par heure.
Fonctions de fenêtre : cumul & classement
Total cumulé, rang et valeur précédente sans collapser les lignes, via les window functions (OVER ... PARTITION BY ... ORDER BY).
Top N des IPs suspectes par échecs d'authentification
Requête performante pour agréger les échecs de connexion par IP et filtrer celles dépassant un seuil de risque.
Vérification sécurisée des positions ouvertes
Vérifie si une position appartient à l'Expert Advisor en utilisant le Magic Number.
Pandas : agrégations multiples par groupe
Agréger plusieurs colonnes avec des fonctions différentes en un seul groupby().agg() nommé — l'équivalent pandas d'un GROUP BY riche.
Scatter Plot de Corrélation Temps de Réponse vs Volume
Visualisation complexe permettant d'identifier la dégradation des performances sous charge.
Sous-totaux automatiques : ROLLUP
Produire des sous-totaux et un total général en une requête avec GROUP BY ROLLUP — idéal pour un rapport hiérarchique (région → pays → total).
Graphique multicouche CPU vs Mémoire
Superpose deux métriques hétérogènes sur un même graphique avec double axe Y.
Pivot (table croisée) par agrégation conditionnelle
Transformer des lignes en colonnes avec SUM(CASE WHEN ...) — un pivot portable, sans clause PIVOT propriétaire.
Dédoublonnage : garder la ligne la plus récente
Garder 1 ligne par clé (la plus récente) avec ROW_NUMBER() dans une CTE — robuste et lisible.
CTE récursive : parcourir une hiérarchie
Descendre une arborescence (organigramme, catégories, nomenclature) avec WITH RECURSIVE.
Médiane & percentiles (P50 / P95)
Médiane et percentiles robustes avec PERCENTILE_CONT — bien plus représentatif que la moyenne sur des données asymétriques.
Agrégation par tranche de temps (time bucketing)
Regrouper des événements par fenêtre temporelle (heure/jour/semaine) avec DATE_TRUNC pour des séries temporelles propres.