MarketPulseはGitHubでホストされているオープンソースの金融情報分析プッシュサービスで、ユーザーのT1mnによって開発された。Google ジェミニ 最新の金融ニュースを自動的に捉え、マーケットへの影響を分析し、投資推奨、信頼度指数、情報源の信頼性などのレポートを作成するAI。分析結果はBarkとPushPlusを通じてリアルタイムでユーザーの端末にプッシュされる。Pythonで開発されたこのプロジェクトは、マルチデバイス・プッシュと自動重複排除をサポートしており、株式市場をフォローしている投資家や開発者に適している。コードはオープンで、コミュニティによって自由に貢献されており、プロジェクトはMITライセンスの下にあり、柔軟な改変と利用が可能である。
機能一覧
- Finnhubやその他のプラットフォームから最新の金融ニュースを自動配信。
- Google Gemini AIを使用して、投資アドバイス、信頼度指数、情報源の信頼性のためにニュースを分析する。
- BarkとPushPlusを使って、携帯電話やコンピュータにプッシュ分析。
- フォローするユーザー定義の銘柄コードと信頼できるニュースフィードをサポート。
- 同じニュースを繰り返しプッシュすることを避けるための自動重複排除。
- バックグラウンドでの実行、開始、停止、再起動をサポートするデーモン管理を提供します。
- ロギングシステムは、デバッグや監視を容易にするために動作状態を記録します。
- APIキーのセキュリティを保護するための環境変数設定をサポートする。
ヘルプの使用
設置プロセス
MarketPulseはPythonプロジェクトで、インストールには基本的なプログラミング知識が必要です。以下はその詳細な手順である:
- uvのインストール(推奨)
Python環境を効率的に管理するために、uvツールをインストールすることをお勧めします。以下のコマンドを実行してください:curl -LsSf https://astral.sh/uv/install.sh | sh
uvは、依存関係の解決を最適化し、インストール効率を向上させます。
- コードベースのクローン
Gitを使ってプロジェクトをローカルにクローンする:git clone https://github.com/T1mn/MarketPulse.git cd MarketPulse
- 仮想環境の作成と依存関係のインストール
プロジェクトの依存関係を分離するために仮想環境を作成する:uv venv source .venv/bin/activate # Linux/macOS # 或 .venv\Scripts\activate # Windows
プロジェクトの依存関係をインストールします:
uv pip install -r requirements.txt uv pip install -e .
依存関係には以下が含まれる。
google-generativeai
そしてpython-dotenv
そしてschedule
歌で応えるrequests
その他 - 環境変数の設定
サンプルの設定ファイルをコピーし、名前を変更する。.env
::cp .env.example .env
コンパイラ
.env
ファイルにAPIキーを入力する: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
キーを取得する:
- Finnhub APIキー:Finnhubに登録して取得してください。
- ジェミニAPI キー:Google Cloudプラットフォームを通じてリクエスト。
- Barkキー:Barkアプリケーションのインストール後に取得。
- PushPlusトークン:PushPlusにサインアップして入手。
- 運営サービス
実行するには2つの方法がある:- フロントエンド操作(デバッグ用) ::
python -m MarketPulse.main
- バックグラウンドで動作(推奨) ::
python -m MarketPulse.daemon_manager start
バックグラウンド操作はプロセス管理をサポートし、サービス開始後に端末をシャットダウンすることができる。
主な機能
- 金融ニュース
MarketPulseは、Finnhub APIを通じて最新の金融ニュースを30分ごとに(デフォルトで)取得します。ユーザーは最新の金融ニュースをconfig.py
修正NEWS_FETCH_INTERVAL
周波数を調整する:NEWS_FETCH_INTERVAL = 30 # 分钟
操作手順:
- サービスを開始すると、番組は自動的にFinnhubからニュースを取得する。
- にて入手可能。
config.py
以下のような信頼できるニュースフィードを設定する:TRUSTED_SOURCES = ["Reuters", "Bloomberg", "CNBC"]
- ニュースのデータはAI分析のためにローカルに保存される。
- AI分析とプッシュ
Google Gemini AIはニュースを分析し、投資アドバイス、信頼度指数(パーセンテージ)、情報源の信頼性を示すレポートを作成します。結果はBarkまたはPushPlus経由でプッシュされる。
操作手順:- セキュア
.env
ファイルがBarkまたはPushPlusキーで設定されている。 - サービスが実行されると、分析結果は自動的に設定されたデバイスにプッシュされる。
- Barkプッシュはモバイル通知として表示され、PushPlusはWeChatプッシュをサポートしている(GitHubリポジトリを参照)。
img
(フォルダ内の例)。
- セキュア
- カスタム・ストック・モニタリング
ユーザーは、特定の企業のニュースを追跡するためにフォローするティッカーシンボルを設定することができます。
操作手順:- コンパイラ
config.py
修正US_MARKET_SYMBOLS
::US_MARKET_SYMBOLS = ["AAPL", "TSLA", "MSFT"]
- サービスを保存して再起動すると、プログラムはこれらの銘柄に関するニュースを優先的に分析する。
- コンパイラ
- デーモン管理
MarketPulseは、以下の管理コマンドでバックグラウンドでの実行をサポートしています:python -m MarketPulse.daemon_manager start # 启动 python -m MarketPulse.daemon_manager stop # 停止 python -m MarketPulse.daemon_manager restart # 重启 python -m MarketPulse.daemon_manager status # 查看状态
プロセスIDは
market_pulse.pid
ドキュメンテーションは自動的に管理される。 - ログビュー
ログはlogs
カタログ、収録:market_pulse.log
主なプログラムログ、最大10MB、5つのバックアップを保持。daemon.log
デーモンのログ、最大5MB、3つのバックアップを保持。
リアルタイムのログを見る
tail -f logs/market_pulse.log
- コードを投稿する
オープンソースのプロジェクトであるため、ユーザーはGitHubを通じて改良点を提出することができる。
操作手順:- フォーク倉庫から個人口座へ。
- コードを修正し、Pull Requestを提出する。
- 協議
CONTRIBUTING.md
(存在する場合)、または質問や提案を直接提出する。
ほら
- APIキーが有効であることを確認してください。FinnhubとGeminiには、リクエストの上限と遵守すべきクォータがあります。
- 最初の実行では、すぐに1回タスクが実行され、その後は設定された間隔で実行される。
- ステータスファイル
app_state.json
重複プッシュを避けるため、処理されたニュースIDを記録する。 - uv管理環境を使用して、依存関係のインストールの効率を向上させます。
- ログファイルは定期的にローテートされ、ディスク容量を圧迫しないようになっている。
アプリケーションシナリオ
- 投資家はリアルタイムの市場洞察を得る
投資家はMarketPulseを使って、AIが分析した金融ニュースを受け取り、市場の動きを理解し、投資アドバイスを受け、意思決定を支援する。 - 開発者がAIと金融データ処理を学ぶ
開発者はコードを学び、AIや金融の実務に適したGoogle Gemini AI、Finnhub API、プッシュサービスの統合方法を学ぶことができる。 - 企業モニタリング 特定銘柄ニュース
企業は、株式シンボルをフォローし、戦略計画やリスク管理のために関連するニュース分析を得るように設定できる。
品質保証
- MarketPulseはどのようなニュースフィードをサポートしていますか?
デフォルトでは、Finnhubは、ロイター、ブルームバーグなどの信頼できるソースを設定するためのサポートで、ニュースを取得します。config.py
セット・イン - APIにお金を払う必要がありますか?
はい、FinnhubとGeminiのAPIはキーの登録が必要で、機能によっては無料クォータや有料プランがあります。 - 重複プッシュを避けるには?
プロジェクト利用app_state.json
処理されたニュースIDを記録し、自動的に重複を削除する。 - クラウドサーバー上で動作しますか?
デーモンモードで実行することが推奨されており、Linux、Windows、その他のシステムをサポートしています。 - 新しい機能を追加するには?
リポジトリをフォークしてコードを変更し、Pull Requestを提出してください。コミュニティの要望を確認するために、まずIssuesページをチェックすることをお勧めします。