Tickflow Stock Panel: Bauen Sie Ihr eigenes Terminal für quantitative Aktienanalyse
Wenn Sie sich mit algorithmischem Trading und Marktanalyse beschäftigen, stoßen Sie schnell an dieselbe Wand. Fertige Terminals sind entweder unbezahlbar oder an proprietäre Clouds gebunden, in denen Sie die Rohdaten nicht selbst bearbeiten können. Wenn Sie versuchen, Ihr eigenes Frankenstein-Projekt aus verstreuten Python-Skripten zusammenzubauen, wird alles zu einem Zoo von Jupyter-Notebooks, die abstürzen, wenn Sie versuchen, ein paar Jahre History zu verarbeiten.
Ich bin kürzlich auf ein interessantes Projekt namens tickflow-stock-panel (TSP) gestoßen. Es ist ein Open-Source-Self-Hosted-Panel für Aktien-Screening, Backtesting und Monitoring. Das Projekt konzentriert sich zunächst auf den chinesischen A-Aktien-Markt und die TickFlow API, aber aus ingenieurtechnischer Sicht ist es sehr sorgfältig aufgebaut. Im Inneren finden Sie einen soliden modernen Stack: Polars für schnelle Tabellenvverarbeitung, DuckDB mit Parquet für Speicherung und Abfragen, FastAPI im Backend und sauberes React im Frontend.
Was das Panel kann
Der Repository-Autor macht von Anfang an eine klare Einschränkung: Das Projekt versucht nicht, Broker-Terminals wie Tongdaxin oder Thinkorswim zu ersetzen, und es gibt keine „magischen KI-Buttons für garantierte Gewinne". Dies ist eine Workstation zum Testen von Hypothesen und Verfolgen von Signalen.

Wenn wir die Fähigkeiten aufschlüsseln, ist es ein solider Satz von Tools:
- Aktien-Screening und Filterung. Es verfügt über 18 integrierte Strategien, und Sie können benutzerdefinierte Bedingungen konfigurieren oder Regeln per LLM generieren (unterstützt jede OpenAI-kompatible API, wie DeepSeek oder lokales Ollama). Dank Polars wird das Scannen des gesamten Marktes über eine Indikatorliste in Sekundenbruchteilen abgeschlossen.
- Technische Indikator-Berechnungspipeline. Das System berechnet klassische Metriken on the fly (MA, EMA, MACD, RSI, KDJ, Bollinger Bands) und speichert angereicherte Daten in lokalen Parquet-Dateien.
- Backtesting-Modul. Die Engine kann historische Tests in mehreren Modi ausführen (Faktoranalyse mit IC/IR-Metriken und vollständiges Strategie-Backtesting). Sie berechnet Equity-Kurven, Drawdowns, Sharpe-Ratio, Win-Rate unter Berücksichtigung von Provisionen, Slippage und Stop-Losses. Der Ausführungsfortschritt wird über Server-Sent Events in Echtzeit an den Client gestreamt.
- Monitoring und Alerts. Sie können Regeln an Strategien, Preisniveaus oder Marktanomalien binden. Unterstützt Sprachsignale im Browser und Benachrichtigungen über Webhooks.

Technischer Stack unter der Haube
Die Projektarchitektur verdient besondere Aufmerksamkeit. Hier gibt es keine aufgeblähten relationalen Datenbanken oder schweren Message-Queues.
┌─────────────────────────────────────────────────────────┐
│ React 18 UI │
│ (Vite, Tailwind, Lightweight Charts, ECharts, dnd) │
└────────────────────────────┬────────────────────────────┘
│ REST / SSE
┌────────────────────────────▼────────────────────────────┐
│ FastAPI Backend │
│ (Pydantic v2, APScheduler, sse-starlette) │
└──────────────┬───────────────────────────┬──────────────┘
│ │
┌──────────────▼──────────────┐ ┌──────────▼──────────────┐
│ Вычисления │ │ Хранение │
│ Polars / vectorbt │ │ DuckDB + Parquet │
└─────────────────────────────┘ └─────────────────────────┘
Der Entwickler hat auf lokale Rechenleistung gesetzt:
- Polars übernimmt alle schweren Tabellen-Transformationen. Es nutzt alle CPU-Kerne und erstickt nicht an Millionen von Zeilen, im Gegensatz zu Vanilla Pandas.
- DuckDB und Parquet decken analytische Abfragen ab. Die Daten liegen lokal im kompakten Binärformat, sofort gelesen ohne laufenden PostgreSQL- oder ClickHouse-Server.
- vectorbt wird strikt in der Backtesting-Phase verwendet, als bewährte Vektor-Bibliothek für Trade-Simulation.
- Docker mit Multi-Stage-Builds verpackt kompiliertes Frontend und Backend in einen einzigen leichtgewichtigen Container.

Lokale Ausführung
Sie können das System auf zwei Arten bereitstellen. Wenn Sie in den Quellcode eintauchen und etwas Eigenes hinzufügen möchten, ist der Development-Modus am einfachsten.
Sie benötigen Python 3.11+, Node 20+, Package-Manager uv und pnpm:
# Клонируем проект и настраиваем переменные окружения
git clone https://github.com/shy3130/tickflow-stock-panel.git
cd tickflow-stock-panel
cp .env.example .env
# Запуск dev-скрипта (поднимет фронтенд на :3011 и бэкенд на :3018)
./dev.sh
Die zweite Option ist plain Docker Compose:
cp .env.example .env
docker compose up --build
Nach dem Start ist die Web-Oberfläche unter http://localhost:3018 verfügbar.

Die Basis-Konfiguration in .env ist minimal:
TICKFLOW_API_KEY= # Ключ данных (можно оставить пустым для базовой истории)
AI_API_KEY= # Ключ LLM (OpenAI-compatible) для автогенерации стратегий
PORT=3018 # Порт веб-сервера
Wenn Sie nicht den chinesischen Markt handeln, ist das Projekt trotzdem interessant. Die Architektur für das Anschließen eigener Datenquellen ist in docs/custom-data-source.md dokumentiert. Sie können Ihre eigenen CSV-, JSON-Daten einspeisen oder einen Adapter für MOEX / Yahoo Finance / Krypto-Börsen schreiben und dabei die fertige Screening-Oberfläche, Charts und Vektor-Testing-Engine wiederverwenden.


Für wen dieses Projekt gedacht ist
Vor allem wird das Repository von Entwicklern geschätzt werden, die sich für Fintech und algorithmisches Trading interessieren.
Einerseits ist es ein gebrauchsfertiges Tool für diejenigen, die ein leichtgewichtiges Self-Hosted-Monitoring-System ohne zusätzlichen Infrastruktur-Aufwand suchen. Andererseits dient die Codebasis als klares Beispiel dafür, wie man FastAPI, Polars und DuckDB zu einer einzigen responsiven Anwendung mit Streaming-Antworten und interaktiven Charts verknüpft.
Wenn Sie vorhaben, Ihren eigenen Screener oder Backtester zu schreiben, lohnt es sich, zumindest die Datenverarbeitungsansätze im Repository shy3130/tickflow-stock-panel anzuschauen.
Ähnliche Projekte