MarketPulse ist ein auf GitHub gehosteter und vom Nutzer T1mn entwickelter Open-Source-Push-Dienst für Finanzinformationen. Er basiert auf Google Zwillinge KI, die automatisch die neuesten Finanznachrichten erfasst, die Auswirkungen auf den Markt analysiert und Berichte mit Anlageempfehlungen, Vertrauensindizes und zuverlässigen Quellen erstellt. Die Ergebnisse werden in Echtzeit über Bark und PushPlus auf die Geräte der Nutzer übertragen. Das in Python entwickelte Projekt unterstützt den Push für mehrere Geräte und die automatische De-Duplizierung und eignet sich für Anleger und Entwickler, die den Aktienmarkt verfolgen. Der Code ist offen und kann von der Community frei mitgestaltet werden. Das Projekt steht unter der MIT-Lizenz, die eine flexible Änderung und Nutzung ermöglicht.
Funktionsliste
- Erhalten Sie automatisch die neuesten Finanznachrichten von Finnhub und anderen Plattformen.
- Nutzen Sie Google Gemini AI zur Analyse von Nachrichten für Anlageberatung, Vertrauensindizes und zuverlässige Quellen.
- Push-Analysen auf Ihr Mobiltelefon oder Ihren Computer über Bark und PushPlus.
- Unterstützung für benutzerdefinierte Aktiencodes und vertrauenswürdige Newsfeeds.
- Automatische Deduplizierung, um zu vermeiden, dass dieselben Nachrichten wiederholt gepusht werden.
- Bietet eine Daemon-Verwaltung mit Unterstützung für Hintergrundbetrieb, Starten, Stoppen und Neustart.
- Das Protokollierungssystem zeichnet den Betriebszustand zur einfachen Fehlersuche und Überwachung auf.
- Unterstützung der Konfiguration von Umgebungsvariablen zum Schutz der API-Schlüssel-Sicherheit.
Hilfe verwenden
Einbauverfahren
MarketPulse ist ein Python-Projekt, für dessen Installation grundlegende Programmierkenntnisse erforderlich sind. Hier sind die detaillierten Schritte:
- Installation von uv (empfohlen)
Um Ihre Python-Umgebung effizient zu verwalten, empfiehlt es sich, das Tool uv zu installieren. Führen Sie den folgenden Befehl aus:curl -LsSf https://astral.sh/uv/install.sh | sh
uv optimiert die Auflösung von Abhängigkeiten und verbessert die Effizienz der Installation.
- Klonen der Codebasis
Klonen Sie das Projekt lokal mit Git:git clone https://github.com/T1mn/MarketPulse.git cd MarketPulse
- Erstellen einer virtuellen Umgebung und Installieren von Abhängigkeiten
Erstellen Sie eine virtuelle Umgebung, um Projektabhängigkeiten zu isolieren:uv venv source .venv/bin/activate # Linux/macOS # 或 .venv\Scripts\activate # Windows
Installieren Sie die Projektabhängigkeiten:
uv pip install -r requirements.txt uv pip install -e .
Zu den Abhängigkeiten gehören
google-generativeai
undpython-dotenv
undschedule
im Gesang antwortenrequests
usw. - Umgebungsvariablen konfigurieren
Kopieren Sie die Beispielkonfigurationsdatei und benennen Sie sie um.env
::cp .env.example .env
Compiler
.env
Datei den API-Schlüssel ein:FINNHUB_API_KEY=your_finnhub_api_key GEMINI_API_KEY=your_gemini_api_key BARK_KEY_1=your_first_bark_key PUSHPLUS_TOKEN=your_pushplus_token PUSHPLUS_TOPIC=your_topic_code
Methode "Schlüssel holen":
- Finnhub API-Schlüssel: Melden Sie sich bei Finnhub an, um ihn zu erhalten.
- Zwillings-API Schlüssel: Wird über die Google Cloud-Plattform angefordert.
- Bark-Schlüssel: Erhält man nach der Installation der Bark-Anwendung.
- PushPlus Token: Melden Sie sich bei PushPlus an, um ihn zu erhalten.
- Operative Dienste
Es gibt zwei Möglichkeiten, ihn auszuführen:- Front-End-Betrieb (zur Fehlersuche) ::
python -m MarketPulse.main
- Läuft im Hintergrund (empfohlen) ::
python -m MarketPulse.daemon_manager start
Der Hintergrundbetrieb unterstützt die Prozessverwaltung, und das Terminal kann nach dem Start des Dienstes heruntergefahren werden.
Hauptfunktionen
- Finanznachrichten erhalten
MarketPulse bezieht die neuesten Finanznachrichten alle 30 Minuten (standardmäßig) über die Finnhub-API. Die Nutzer finden die neuesten Finanznachrichten in derconfig.py
ÄnderungenNEWS_FETCH_INTERVAL
Stellen Sie die Frequenz ein:NEWS_FETCH_INTERVAL = 30 # 分钟
Betriebsverfahren:
- Nach dem Start des Dienstes erhält das Programm automatisch Nachrichten von Finnhub.
- verfügbar unter
config.py
Konfigurieren Sie vertrauenswürdige Newsfeeds wie z. B.:TRUSTED_SOURCES = ["Reuters", "Bloomberg", "CNBC"]
- Die Nachrichtendaten werden für die KI-Analyse lokal gespeichert.
- KI-Analytik und Push
Google Gemini AI analysiert Nachrichten und erstellt Berichte mit Anlageempfehlungen, Vertrauensindex (in Prozent) und Zuverlässigkeit der Quelle. Die Ergebnisse werden über Bark oder PushPlus verbreitet.
Betriebsverfahren:- sicher
.env
Datei mit einem Bark- oder PushPlus-Schlüssel konfiguriert ist. - Sobald der Dienst läuft, werden die Analyseergebnisse automatisch an die konfigurierten Geräte übertragen.
- Bark-Pushes erscheinen als mobile Benachrichtigungen, PushPlus unterstützt WeChat-Pushes (siehe GitHub-Repository).
img
(Beispiele in der Mappe).
- sicher
- Benutzerdefinierte Bestandsüberwachung
Die Benutzer können die zu verfolgenden Tickersymbole konfigurieren, um bestimmte Unternehmensnachrichten im Auge zu behalten.
Betriebsverfahren:- Compiler
config.py
ÄnderungenUS_MARKET_SYMBOLS
::US_MARKET_SYMBOLS = ["AAPL", "TSLA", "MSFT"]
- Nach dem Speichern und dem Neustart des Dienstes analysiert das Programm vorrangig die Nachrichten über diese Aktien.
- Compiler
- Daemon-Verwaltung
MarketPulse unterstützt die Ausführung im Hintergrund mit den folgenden Verwaltungsbefehlen:python -m MarketPulse.daemon_manager start # 启动 python -m MarketPulse.daemon_manager stop # 停止 python -m MarketPulse.daemon_manager restart # 重启 python -m MarketPulse.daemon_manager status # 查看状态
Die Prozess-ID wird in der Datei
market_pulse.pid
Die Dokumentation wird automatisch verwaltet. - Log-Ansicht
Die Protokolle werden in der Dateilogs
Katalog, Enthält:market_pulse.log
Hauptprogrammprotokoll, max. 10MB, 5 Backups aufbewahren.daemon.log
Daemon-Protokolle, bis zu 5 MB, 3 Sicherungen aufbewahren.
Echtzeit-Protokolle anzeigen:
tail -f logs/market_pulse.log
- Code beisteuern
Da es sich um ein Open-Source-Projekt handelt, können Benutzer Verbesserungen über GitHub einreichen.
Betriebsverfahren:- Fork Warehouse zu Personal Account.
- Ändern Sie den Code und reichen Sie den Pull Request ein.
- Beratung
CONTRIBUTING.md
(falls vorhanden) oder reichen Sie Fragen und Vorschläge direkt ein.
caveat
- Vergewissern Sie sich, dass der API-Schlüssel gültig ist. Finnhub und Gemini haben Anfragelimits und Quoten, die eingehalten werden müssen.
- Beim ersten Lauf wird die Aufgabe einmal sofort und danach in konfigurierten Abständen ausgeführt.
- Statusdatei
app_state.json
Erfassen Sie die verarbeiteten Nachrichten-IDs, um doppelte Pushs zu vermeiden. - Verwenden Sie die uv-Verwaltungsumgebung, um die Effizienz der Installation von Abhängigkeiten zu verbessern.
- Die Protokolldateien werden in regelmäßigen Abständen rotiert, um nicht zu viel Speicherplatz zu beanspruchen.
Anwendungsszenario
- Anleger erhalten Markteinblicke in Echtzeit
Anleger nutzen MarketPulse, um KI-analysierte Finanznachrichten zu erhalten, die Marktdynamik zu verstehen, Anlageberatung zu erhalten und die Entscheidungsfindung zu unterstützen. - Entwickler lernen KI und Finanzdatenverarbeitung
Entwickler können den Code studieren und lernen, wie man Google Gemini AI, Finnhub-APIs und Push-Dienste integriert, die für Praktiken im Bereich AI und Finanzen geeignet sind. - Unternehmensüberwachung Spezifische Aktiennachrichten
Unternehmen können konfigurieren, dass sie Aktiensymbole verfolgen und relevante Nachrichtenanalysen für die strategische Planung oder das Risikomanagement erhalten.
QA
- Welche Nachrichten-Feeds unterstützt MarketPulse?
Standardmäßig bezieht Finnhub seine Nachrichten, wobei die Konfiguration von vertrauenswürdigen Quellen wie Reuters, Bloomberg usw. unterstützt wird, wie in derconfig.py
Eingestellt. - Muss ich für eine API bezahlen?
Ja, die APIs von Finnhub und Gemini erfordern eine Registrierung für Schlüssel, und einige Funktionen können kostenlose Kontingente oder kostenpflichtige Pläne beinhalten. - Wie vermeide ich doppelte Push-Nachrichten?
Verwendung des Projektsapp_state.json
Zeichnet verarbeitete Nachrichten-IDs auf und entfernt automatisch Duplikate. - Kann es auf einem Cloud-Server laufen?
Ja, es wird empfohlen, es im Daemon-Modus auszuführen, und es unterstützt Linux, Windows und andere Systeme. - Wie kann ich eine neue Funktion hinzufügen?
Forken Sie das Repository, ändern Sie den Code und reichen Sie einen Pull Request ein. Wir empfehlen, zuerst die Issues-Seite zu prüfen, um zu sehen, was die Community will.