Ein Telegram-Bot, der konfigurierbare Aktien-Universen nach drei wissenschaftlich belegten Momentum-Kennzahlen rankt und dir in deinem gewünschten Rhythmus klare Kauf- und Verkaufssignale liefert. Du entscheidest, was du daraus machst.
FinanzUnity Momentum ist ein selbst-gehosteter Telegram-Bot, der eine wissenschaftlich belegte Strategie automatisiert anwendet. Statt jede Woche manuell hunderte Aktien zu analysieren, übernimmt der Bot die Arbeit: er lädt aktuelle Kursdaten, berechnet drei Momentum-Kennzahlen, erstellt ein Ranking und schickt dir konkrete Kauf- und Verkaufssignale auf dein Handy.
Die Strategie beruht auf der Forschung von Jegadeesh und Titman (1993) — einer der am häufigsten zitierten Arbeiten der quantitativen Finanzwirtschaft. Was wissenschaftlich erwiesen ist, scheitert in der Praxis meist nur an einem: Disziplin. Genau diese übernimmt der Bot.
Drei Kernfunktionen — alle direkt aus Telegram steuerbar, ohne SSH, ohne Web-Interface, ohne Cloud-Abhängigkeiten.
Der Bot kombiniert drei unabhängige Momentum-Indikatoren. Jeder misst eine andere Facette von „Stärke" — gemeinsam ergeben sie ein robusteres Bild als jeder Einzelindikator allein. Die folgenden Formeln stehen wortwörtlich so im Quellcode (shared.py, Funktion compute_ticker_metrics).
Trendstärke
sma_ratio =
((sma20 / sma200) - 1) * 100
Wie weit liegt der 20-Tage-Durchschnitt über dem 200-Tage-Durchschnitt? Je höher, desto stärker das aktuelle Aufwärtsmomentum.
Trendbeschleunigung
delta_sma =
((sma200 / sma200_prev20) - 1) * 100
Dreht der Langfristtrend selbst noch nach oben? Wenn die 200-Tage-Linie schon abwärts kippt, ist das ein frühes Warnsignal.
Relative Stärke
ratio_52whtr =
((P/high - 1) +
(P/low - 1) * 0.25) * 100
Wie nah ist die Aktie am 52-Wochen-Hoch und wie weit über dem Tief? Bevorzugt klar die Nähe zum Hoch — ein etabliertes Signal.
Für jede Aktie werden die drei Metriken berechnet, separat innerhalb des Universums gerankt (Rang 1 = bester Wert), und der Durchschnitt der drei Ränge bildet den Final Rank:
Final Rank = (Rang_SMA + Rang_Delta + Rang_HTR) / 3
Das Portfolio hält dann die Top N pro Universum — N wird pro Universum frei eingestellt. Die Defaults sind top_n=8 für CDAX und top_n=7 für NASDAQ. Aktien die aus den Top N fallen werden verkauft, Aufsteiger werden gekauft.
Du bekommst nach jedem geplanten Lauf eine Telegram-Nachricht mit den Top-Positionen sowie konkreten Kauf-/Verkaufs-Empfehlungen. Out-of-the-box laufen CDAX und NASDAQ-100. Weitere dreizehn Indizes — DAX, MDAX, SDAX, TecDAX, Euro Stoxx 50, Stoxx Europe 600, CAC 40, ATX, SMI, FTSE 100, Dow Jones, S&P 500, Nikkei 225 — sind vorkonfiguriert und per Copy-Paste aktivierbar.
Vollständiger Quellcode, kommentierte Konfiguration, deutsch- und englischsprachige Dokumentation, Service-Skripte für alle Betriebssysteme, 184 Unit-Tests, Backtest-Engine mit deutschen Steuern.
./check_install.sh verifiziert Python, Dependencies, Telegram- und Yahoo-Erreichbarkeit in ~10 Sekunden.python demo.py startet Live-Lauf + 5-Jahres-Backtest ohne Telegram-Setup.Aktiviere per Copy-Paste, was du tracken möchtest. Eigene Indizes von OnVista lassen sich mit nur einer ID hinzufügen.
Was du brauchst: einen Rechner (Linux, macOS oder Windows), Python 3.10+, einen Telegram-Account und ein paar Minuten Zeit. Läuft auf Raspberry Pi, MacBook, Desktop-PC, VPS — alles geht.
Benötigt Python 3.10+. Empfohlen ist eine virtuelle Umgebung (venv) — damit bleiben die Bot-Dependencies sauber isoliert vom System-Python.
tar -xzf finanzunity-momentum-1.0.0.tar.gz
cd finanzunity-momentum-1.0.0
python3 -m venv venv
source venv/bin/activate # macOS/Linux
# oder unter Windows:
# venv\Scripts\activate
pip install -r requirements.txt
Installation verifizieren — prüft Python-Version, Dependencies und die Erreichbarkeit von Telegram + Yahoo Finance in ~10 Sekunden:
./check_install.sh
Ab hier (venv aktiv, Dependencies installiert) reicht python demo.py — macht einen Live-Lauf und einen 5-Jahres-Backtest gegen CDAX + NASDAQ 100 und druckt alles auf die Konsole. Kein Token, keine Chat-ID, keine Verpflichtung. Beispiel-Outputs liegen außerdem im examples/-Ordner als Textdateien bereit. Wer den Bot in Telegram nutzen will, macht mit Schritt 2 weiter.
In Telegram nach @BotFather suchen, /newbot senden und den Anweisungen folgen — Name und Handle wählen. BotFather schickt dir einen Bot-Token (sieht aus wie 123456789:ABCdef-...) — diesen sicher notieren.
Den Bot auch in eine Telegram-Gruppe einladen, dann liefert find_chat_id.py im nächsten Schritt die Gruppen-Chat-ID (negative Zahl wie -1001234567890). Damit gehen alle Bot-Outputs in die Gruppe statt in den privaten Chat — praktisch für Familien-Setups.
Jetzt — mit aktivem venv — das Helper-Skript starten:
python find_chat_id.py
Token eingeben, dann deinem Bot in Telegram eine beliebige Nachricht senden („hi" reicht). Das Skript gibt sofort die Chat-ID und User-ID aus, fertig zum Einsetzen in config.json.
In vier Schritten (Token → Chat-ID → Universen → Zeitplan) wird instances/default/config.json für dich angelegt:
python setup_wizard.py
Validiert Token-Format und Chat-ID, bevor er speichert. Alternative für JSON-Profis:
python bot.py # erzeugt config.example.json
cp instances/default/config.example.json instances/default/config.json
nano instances/default/config.json # Token + Chat-ID setzen
python bot.py
Fertig. Der Bot läuft. Beim allerersten Start erscheint in Telegram automatisch der Sprach-Picker — wähle deine Sprache, ab dann erscheinen alle Antworten in dieser Sprache. Mit /ping bekommst du jederzeit eine „Pong"-Antwort inklusive Diagnose-Infos.
sudo bash install_service.sh (Linux/systemd) · bash install_service_mac.command (macOS/launchd) · install_service_windows.bat (Windows/Task Scheduler). Auto-Start bei Boot/Login, Auto-Restart bei Crashes.
Bevor du echtes Geld investierst, kannst du die Strategie über beliebige Zeiträume durchspielen — direkt vom Telegram-Bot aus.
/backtest 2020-01-01 2024-12-31 100000
Du bekommst nach wenigen Minuten zurück:
Backtest-Ergebnisse sind nützlich, um die Plausibilität einer Strategie zu prüfen — sie sind keine Garantie für zukünftige Renditen. Vergangenheits-Performance war für tausende gescheiterter Strategien attraktiv. Backtests zeigen, wie die Strategie in der Vergangenheit gelaufen wäre. Mehr nicht.
Der Backtest verwendet standardmäßig die aktuelle Zusammensetzung der Universen — Survivorship Bias ist daher eingebaut. Ab Version 1.0 baut der Bot automatisch eine historische Index-Datenbank auf. Nach einigen Monaten Betrieb kann mit USE_HISTORICAL_UNIVERSES: true die historisch korrekte Zusammensetzung verwendet werden — das reduziert den Bias substanziell.
Der Bot ist von Grund auf so gebaut, dass du die Kontrolle behältst. Kein Account, keine Aktivierung, keine versteckten Speicherorte.
Der Bot speichert keine Login-Daten zu Banken oder Brokern und führt keine echten Orders aus. Du bekommst nur die Signale — das Handeln machst du selbst.
Nur dein eigener Telegram-User darf den Bot bedienen. Andere Nutzer sehen nur eine „Nicht autorisiert"-Meldung mit ihrer User-ID.
Portfolio, Kursdaten, Logs liegen alle auf deinem Server. Nichts wird an externe Dienste außer Yahoo Finance, Telegram und OnVista gesendet.
Der Bot meldet weder Installationen, Nutzung, Fehler noch Crash-Dumps an FinanzUnity. Es gibt keinen Account, keine Aktivierung, keine „Phone-Home"-Funktion.
Datenschutz-Hinweis wird beim ersten Start als Klartext angezeigt. Vollständige Dokumentation in PRIVACY.md. Daten löschen = Verzeichnis löschen.
Der gesamte Python-Code liegt offen vor dir. Du kannst jederzeit nachvollziehen, was wann passiert. Bot-Token sind im Code gegen unbeabsichtigte Telegram-Ausgabe geschützt.
docs/UNIVERSES.md. Jeder weitere OnVista-gelistete Index funktioniert mit nur einer ID — keine Code-Änderungen nötig.instances/ Verzeichnis hinüberziehen, Verzeichnisse tauschen — fertig. Deine Config, das Portfolio, der Kurs-Cache überleben das Upgrade unverändert.LICENSE.docs/ sowie die 184 Unit-Tests sind so gestaltet, dass die meisten Fragen ohne externe Hilfe gelöst werden können.Vollständiges Paket, vollständiger Quellcode, kommentierte Konfiguration, deutsch- und englischsprachige Dokumentation, Service-Skripte für alle Plattformen, 184 Unit-Tests, Backtest-Engine mit deutschen Steuern.