tick-stock-panel: selbstgehostete A-Aktien-Workbench mit Datenquellen-Routing
TSP自托管、零运维的 A 股「选股 + 监控 + 回测」量化工作台 | LLM能力驱使策略定制+个股分析+复盘 | 自由接入第三方数据源与个性化扩展数据 | 个人开源 ,非第三方官方项目
Auf einen Blick
- Was ist das?
- TSP bündelt Screener, Monitoring und Backtesting für chinesische A-Aktien in einem Docker-Stack. Die Stärke liegt im Routing über mehrere Datenquellen, die Schwäche in der Betriebslast, die das Projekt selbst kleinredet.
- Für wen ist es gedacht?
- Wer A-Aktien systematisch screenen und backtesten will und bereit ist, einen Docker-Stack samt Datenquellen selbst zu betreiben, findet hier eine geschlossene Werkbank. Wer eine fertige Handels- oder Depotsoftware sucht, ist falsch: Das README schließt das ausdrücklich aus.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 1 Tag.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Python, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Welches Problem TSP löst und für wen
Wer A-Aktien systematisch untersucht, stößt schnell auf drei getrennte Werkzeuge: einen Screener, ein Monitoring-Werkzeug und eine Backtest-Umgebung. TSP fasst diese drei in einer selbstgehosteten Anwendung zusammen. Das README beschreibt den Umfang als «选股 + 监控 + 回测» (Auswahl, Überwachung, Backtest) und nennt als Zielgruppe ausdrücklich nicht Anfänger: «小白请绕路». Das Projekt versteht sich als Lösungsskizze für lokale Quant-Arbeit, nicht als Handels- oder Kurssoftware. Die Abgrenzung ist im README explizit: kein Vergleich mit 同花顺 oder 通达信, keine eingebaute Aktienempfehlung, keine Vorhersage von Kurslimits. Wer also ein Signal-Abo oder eine Empfehlungs-App erwartet, sucht am falschen Ort. Die Zielgruppe sind Entwickler und Quant-Interessierte, die Daten selbst beschaffen, Strategien selbst schreiben und die Ergebnisse selbst interpretieren wollen.
Datenquellen-Routing als eigentlicher Kern
Die interessanteste Designentscheidung ist nicht der Screener, sondern die «能力路由» (Fähigkeits-Routing). Das README beschreibt, dass verschiedene Datensätze (Tages-K, Ex-Rechte, Echtzeit, Minuten, Orderbuch, Finanzdaten) unabhängig voneinander je nach Fähigkeit der Quelle geroutet werden. Man kann also eine Quelle für Tagesdaten nutzen und eine andere für Minutenkerzen, ohne dass die Anwendung eine einzige Quelle voraussetzt. Die Dokumentation verweist dafür auf docs/custom-data-source.md und nennt TickFlow, fuyao und stock-sdk als vorhandene Plugins sowie YAML-definierte eigene Quellen. Das ist mehr als ein Adapter-Muster: Es verschiebt die Datenbeschaffung in die Verantwortung des Betreibers. Genau hier liegt die praktische Hürde. Wer keine erreichbare Quelle hat, hat eine leere Oberfläche. Das README räumt ein, dass die Datenquellen austauschbar sind, sagt aber nichts über Verfügbarkeitsgarantien oder Ausfallverhalten der genannten Anbieter.
Wie die Pipeline Daten verarbeitet
Der Screener läuft laut README auf Polars und scannt das gesamte A-Aktien-Universum. Die Kennzahlen-Pipeline erzeugt 68 Spalten mit Indikatoren und Signalen (MA, EMA, MACD, RSI, KDJ, Bollinger, Volumenverhältnis) und schreibt sie als angereicherte Parquet-Datei auf die Platte. Das ist eine bewusste Trennung: Berechnung einmal, Abfrage danach aus dem Spaltenformat. DuckDB erscheint in den Topics und passt zu diesem Muster, ohne dass das README Details zur Abfrageschicht nennt. Die Backend-Seite ist FastAPI, die Oberfläche React. Für den Backtest beschreibt das README vier Ansichten: Faktor-Backtest mit IC/IR und Quantil-Renditen, Strategie-Backtest mit Equity-Kurve, Drawdown, Sharpe, Trefferquote, Monte-Carlo-Drawdown und SSE-Fortschrittsstreaming, Minuten-Backtest mit Replay pro Handelstag sowie eine Validierungsansicht für Parametersensitivität und rollierendes Out-of-Sample. Die T+1-Regel, Gebühren und Slippage sind als Einschränkungen genannt. Das ist der Teil, der über eine reine Anzeige hinausgeht: Es gibt eine dokumentierte Pipeline von Rohdaten über Indikatoren bis zur Auswertung. Ob die einzelnen Kennzahlen korrekt berechnet werden, lässt sich aus dem Material nicht beurteilen; dafür müsste man die Implementierung lesen.
LLM-Funktionen: Umfang und Grenzen
TSP bindet ein Sprachmodell an mehreren Stellen ein. Das README nennt AI-generierte Strategien, eine Vier-Dimensionen-Analyse einzelner Aktien (Technik, Fundamentaldaten, Finanzen, Nachrichtenlage), eine KI-Interpretation der Finanztabellen und eine automatisch erzeugte Markt-Review nach Handelsschluss, die Geldbewegungen aus der 龙虎榜 (Rangliste der größten Broker-Umsätze) und die vorboerslichen Signale einbezieht. Bemerkenswert ist die Einschränkung beim Factor Mining: Kandidaten landen in einer Bibliothek und werden «永不自动上线» (nie automatisch live geschaltet), also erst nach ausdrücklicher Bestätigung veröffentlicht. Das ist eine vernünftige Voreinstellung, denn ein LLM, das Faktoren vorschlägt, kann keine statistische Gültigkeit garantieren. Das README macht keine Angaben zu Modellwahl, Token-Kosten oder Latenz. Die AI-Anbindung erfolgt laut Funktionsliste über die Einstellungen, ein konkreter Anbieter oder ein Konfigurationsschlüssel wird im vorliegenden Material nicht genannt. Wer die LLM-Funktionen nutzen will, muss also mit eigener Schnittstelle und eigenen Kosten rechnen.
Installation und Konfiguration
Das README verweist auf einen Dockerfile und einen GitHub-Actions-Workflow (docker.yml), der ein Image baut. Ein vollständiger docker run-Befehl oder eine docker-compose-Datei ist im vorliegenden Auszug nicht enthalten; die Schnellstart-Sektion ist abgeschnitten. Wer das Projekt ausprobieren will, muss sich an die Repository-Struktur halten: Dockerfile bauen, Container starten, dann in der Anwendung unter 设置 (Einstellungen) die Datenquellen und deren Fähigkeiten prüfen. Das README beschreibt dort eine «能力路由矩阵» mit Kompetenz-Badges, außerdem Einstellungen für AI-Schnittstelle, Echtzeit-Monitoring, Erweiterungsseiten und Menü. Eigene Datenquellen werden über YAML konfiguriert, die Dokumentation dazu liegt in docs/custom-data-source.md. Für Zeitreihen-Tabellen nennt das README eine Besonderheit: Wenn die Schnittstelle einen Datumsparameter akzeptiert, lassen sich historische Werte tageweise nachladen. Das ist nützlich für Daten wie Beliebtheits-Rankings, die nur als Momentaufnahme verfügbar sind. Konkrete Schlüsselnamen für die YAML-Datei oder die Einstellungen gehen aus dem Auszug nicht hervor.
Wo das Projekt an seine Grenzen stößt
Die größte Einschränkung ist der Betrieb. Das README nennt das Projekt «零运维» (null Betriebsaufwand), aber das gilt nur für die Anwendung selbst. Die Datenbeschaffung bleibt beim Nutzer: Ohne erreichbare Quelle für Tages-, Minuten- und Finanzdaten läuft nichts. Das README markiert mindestens eine Funktion als noch nicht fertig, nämlich den vollständigen Markt-Scan für das Auktions-Monitoring («待采集任务», also Aufgabe, die noch auf Datenerfassung wartet). Wer diese Funktion einplant, plant etwas ein, das im aktuellen Stand nicht vollständig ist. Ein zweiter Punkt: Das Projekt ist ausdrücklich persönliche Open-Source-Arbeit, nicht das Produkt eines Teams. Es gibt keine abgerufenen Releases, der letzte Push liegt laut Metadaten bei 2026-09-09. Für den Betrieb bedeutet das, dass Fehlerkorrekturen und neue Datenquellen-Adapter vom Autor abhängen. Ein dritter Punkt betrifft die Erwartung an Signale: Das System liefert Kennzahlen und Backtests, aber keine Handelsempfehlung. Wer aus den Ausgaben direkt Orders ableiten will, muss die Interpretation selbst leisten.
Alternative Ansätze und der Unterschied
Als Vergleich bietet sich die Kombination aus einem etablierten Backtesting-Framework wie Backtrader oder vectorbt mit einer separaten Datenquelle und einem eigenen Screener an. Der Unterschied liegt in der Klammer um die Teile: TSP liefert Oberfläche, Monitoring, LLM-Anbindung und Datenquellen-Routing in einem Stack. Wer Backtrader nutzt, schreibt Python-Code und baut die Auswertung selbst, hat dafür aber volle Kontrolle über die Backtest-Logik und ist nicht an die vier im README beschriebenen Ansichten gebunden. Umgekehrt: Wer TSP nutzt, bekommt eine fertige Oberfläche mit Monitoring und Benachrichtigung (das README nennt Feishu-Push und Sprachansage), zahlt dafür mit weniger Flexibilität bei der Backtest-Engine. Ein zweiter Vergleichspunkt ist die Datenhaltung: TSP schreibt angereicherte Parquet-Dateien und nutzt DuckDB, was für lokale, spaltenorientierte Abfragen spricht. Eine reine Pandas-Pipeline wäre einfacher zu verstehen, aber bei wiederholten Scans über das gesamte A-Aktien-Universum langsamer. Die Wahl von Polars ist in diesem Kontext eine bewusste Entscheidung für Durchsatz.
Wartung, Lizenz und Kosten
Die Lizenz ist MIT, wie im Repository angegeben. Das erlaubt kommerzielle Nutzung und Weiterverbreitung unter Beibehaltung des Lizenzhinweises. Das README schränkt die Nutzung jedoch inhaltlich ein: «仅供学习研究使用,严禁商业用途» (nur für Studium und Forschung, kommerzielle Nutzung strikt untersagt). Dieser Widerspruch zwischen MIT-Lizenztext und README-Formulierung ist auffällig und sollte vor einer kommerziellen Verwendung geklärt werden; eine Rechtsberatung kann dieser Artikel nicht ersetzen. Ein zweiter Kostenfaktor sind die Datenquellen selbst: TickFlow, fuyao und stock-sdk sind Drittanbieter, deren Konditionen nicht Teil des Repositories sind. Ein dritter Faktor ist der LLM-Zugang, dessen Kosten mit der Nutzungshäufigkeit skalieren. Wartungsseitig hängt das Projekt an einem einzelnen Autor. Es gibt keine abgerufenen Releases, also auch keine Versionsnummern, an denen man einen Upgrade-Pfad festmachen könnte. Wer den Stack produktiv betreibt, sollte die Docker-Image-Tags selbst versionieren.
Redaktionelles Fazit
Wer A-Aktien systematisch screenen und backtesten will und bereit ist, einen Docker-Stack samt Datenquellen selbst zu betreiben, findet hier eine geschlossene Werkbank. Wer eine fertige Handels- oder Depotsoftware sucht, ist falsch: Das README schließt das ausdrücklich aus. Vor dem ersten Einsatz sollte man prüfen, welche der genannten Datenquellen (TickFlow, fuyao, stock-sdk) tatsächlich erreichbar sind und ob die Lizenzfrage für die Weiterverbreitung eigener Daten geklärt ist.
Community-Notizen