>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Python

Tickflow Stock Panel : Comment créer votre propre terminal d'analyse quantitative des actions

Quand vous commencez à vous immerger dans le trading algorithmique et l'analyse de marché, vous butez rapidement sur le même mur. Les terminaux prêts à l'emploi coûtent soit un bras, soit ils sont liés à des clouds propriétaires où vous ne pouvez pas manipuler les données brutes vous-même. Si vous essayez de construire votre propre Frankenstein à partir de scripts Python dispersés, tout finit en zoo de notebooks Jupyter qui plantent par épuisement mémoire quand vous essayez de traiter quelques années d'historique.

Récemment, je suis tombé sur un projet intéressant appelé tickflow-stock-panel (TSP en abrégé). C'est un panel open-source auto-hébergé pour le screening, le backtesting et la surveillance des actions. Le projet est initialement axé sur le marché chinois des actions A et l'API TickFlow, mais d'un point de vue ingénierie, il est construit avec beaucoup de soin. À l'intérieur, vous trouverez une pile moderne solide : Polars pour le traitement rapide de tables, DuckDB avec Parquet pour le stockage et les requêtes, FastAPI côté backend, et React propre côté frontend.

Ce que le panel peut faire

L'auteur du dépôt fait une mise en garde claire dès le départ : le projet ne cherche pas à remplacer les terminaux de broker comme Tongdaxin ou Thinkorswim, et il n'y a pas de « boutons IA magiques pour des profits garantis ». C'est un poste de travail pour tester des hypothèses et suivre des signaux.

Interface du tableau de bord

Si l'on détaille les capacités, c'est un ensemble solide d'outils :

  1. Screening et filtrage d'actions. Comprend 18 stratégies intégrées, plus vous pouvez configurer des conditions personnalisées ou générer des règles via LLM (supporte toute API compatible OpenAI, comme DeepSeek ou Ollama local). Grâce à Polars, balayer l'ensemble du marché sur une liste d'indicateurs se termine en fractions de seconde.
  2. Pipeline de calcul d'indicateurs techniques. Le système calcule les métriques classiques à la volée (MA, EMA, MACD, RSI, KDJ, Bandes de Bollinger) et enregistre les données enrichies dans des fichiers Parquet locaux.
  3. Module de backtesting. Le moteur peut exécuter des tests historiques en plusieurs modes (analyse factorielle avec métriques IC/IR et backtesting complet de stratégie). Il calcule les courbes de capital, les drawdowns, le ratio de Sharpe, le taux de victoire en tenant compte des commissions, du slippage et des stop-loss. La progression de l'exécution est transmise au client en temps réel via Server-Sent Events.
  4. Surveillance et alertes. Vous pouvez lier des règles à des stratégies, des niveaux de prix ou des anomalies de marché. Supporte les signaux vocaux dans le navigateur et les notifications via webhooks.

Screener et stratégies

La pile technique sous le capot

L'architecture du projet mérite une attention particulière. Il n'y a pas de bases de données relationnelles gonflées ni de files de messages lourdes ici.

┌─────────────────────────────────────────────────────────┐
                      React 18 UI                        
   (Vite, Tailwind, Lightweight Charts, ECharts, dnd)    
└────────────────────────────┬────────────────────────────┘
                              REST / SSE
┌────────────────────────────▼────────────────────────────┐
                    FastAPI Backend                      
        (Pydantic v2, APScheduler, sse-starlette)        
└──────────────┬───────────────────────────┬──────────────┘
                                          
┌──────────────▼──────────────┐ ┌──────────▼──────────────┐
       Вычисления                     Хранение         
   Polars / vectorbt             DuckDB + Parquet      
└─────────────────────────────┘ └─────────────────────────┘

Le développeur a misé sur les performances de la machine locale :

  • Polars gère toutes les transformations lourdes de tables. Il utilise tous les cœurs CPU et ne s'étouffe pas sur des millions de lignes, contrairement à Pandas vanilla.
  • DuckDB et Parquet couvrent les requêtes analytiques. Les données résident localement dans un format binaire compact, lues instantanément sans avoir besoin d'un PostgreSQL ou ClickHouse en cours d'exécution.
  • vectorbt est utilisé strictement au stade du backtesting, comme bibliothèque vectorielle éprouvée pour la simulation de trades.
  • Docker avec des builds multi-étapes package le frontend compilé et le backend dans un seul conteneur léger.

Backtesting de stratégie

Comment exécuter en local

Vous pouvez déployer le système de deux manières. Si vous voulez explorer le code source et ajouter quelque chose de votre cru, le mode développement est le plus simple.

Vous aurez besoin de Python 3.11+, Node 20+, des gestionnaires de paquets uv et pnpm :

# Клонируем проект и настраиваем переменные окружения
git clone https://github.com/shy3130/tickflow-stock-panel.git
cd tickflow-stock-panel
cp .env.example .env

# Запуск dev-скрипта (поднимет фронтенд на :3011 и бэкенд на :3018)
./dev.sh

La deuxième option est un simple Docker Compose :

cp .env.example .env
docker compose up --build

Après le démarrage, l'interface web est disponible à l'adresse http://localhost:3018.

Centre de surveillance

La configuration de base dans .env est minimale :

TICKFLOW_API_KEY=              # Ключ данных (можно оставить пустым для базовой истории)
AI_API_KEY=                    # Ключ LLM (OpenAI-compatible) для автогенерации стратегий
PORT=3018                      # Порт веб-сервера

Si vous ne négociez pas sur le marché chinois, le projet reste intéressant. L'architecture pour connecter des sources de données personnalisées est documentée dans docs/custom-data-source.md. Vous pouvez alimenter vos propres CSV, JSON, ou écrire un adaptateur pour MOEX / Yahoo Finance / échanges crypto, en réutilisant l'interface de screening prête à l'emploi, les graphiques et le moteur de test vectoriel.

Analyse conceptuelle et sectorielle

Paliers d'ordres limit

Pour qui est ce projet

Avant tout, le dépôt sera apprécié des développeurs intéressés par la fintech et le trading algorithmique.

D'un côté, c'est un outil prêt à l'emploi pour ceux qui cherchent un système de surveillance auto-hébergé léger sans tracas d'infrastructure supplémentaire. De l'autre, la base de code sert d'exemple clair de comment lier correctement FastAPI, Polars et DuckDB en une seule application réactive avec des réponses en streaming et des graphiques interactifs.

Si vous avez toujours voulu écrire votre propre screener ou backtester, ça vaut le coup de consulter le dépôt shy3130/tickflow-stock-panel au moins pour ses approches de manipulation de données.

Projets similaires