Gemini AI搭載のデイリー株式分析:無料オープンソースツール
Gemini AI駆動のデイリー株式分析
daily_stock_analysis プロジェクトへようこそ – GitHub Actions または Docker 上で無料で稼働する、機能満載のオープンソースソリューションです。Python 3.10+ で構築され、複数データプロバイダーと Gemini(Google AI Studio)を組み合わせて自然言語に則った市場洞察を提供し、さまざまな通知チャネルに出力します。
このツールが提供する機能
| Feature | Description |
|---|---|
| AI Decision Dashboard | Gemini によって評価された条件チェックリスト、正確な買付/売却価格点、および一文結論を表示します。 |
| Multi‑Dimensional Analysis | テクニカル指標、出来高分布、ニュースによるセンチメント、リアルタイム市場価格を統合します。 |
| Market Review | 主要指数、セクターパフォーマンス、クロスボーダー資本フローのデイリースナップショットを提供します。 |
| Multiple Channels | エンタープライズWeChat、Feishu、Telegram、メール、そしてカスタムWebhook(例:Discord、Slack、DingTalk)に対応します。 |
| Zero‑Cost Deployment | GitHub Actions の無料枠でサーバー料金不要で実行できます。 |
| Extensible Architecture | 任意の OpenAI 互換APIをプラグイン、データプロバイダを追加、通知ロジックを最小限のコード変更で改造可能です。 |
Tech Stack Overview
- Python 3.10+ で
pyproject.toml/requirements.txtを使用。 - Data Sources:AkShare(無料)、Tushare、Baostock、YFinance。
- News Search:Tavily(無料キー)または SerpAPI をフォールバックとして使用。
- AI Backend:Google Gemini(デフォルト)、DeepSeek、Claude、あるいはローカルホストモデルなど OpenAI 互換 API もオプション。
- Deployment:GitHub Actions(
.github/workflows/daily_analysis.yml)または Docker Compose でdocker-compose up -dを実行。 - Scheduler:ワークフローが月曜〜金曜18:00(北京時間)に解析をトリガーする簡易 cron ロジック。
Quick Start – GitHub Actions (Zero‑Cost)
- Fork the Repository – 右上の Fork をクリックしてください。
- Create Required Secrets – Settings → Secrets → Actions に移動し、以下を追加します:
GEMINI_API_KEY # (required) Gemini API キー(Google AI Studio) # OR OPENAI_API_KEY # optional、OpenAI 互換エンドポイントを好む場合 OPENAI_BASE_URL # optional – 例: https://api.deepseek.com/v1 OPENAI_MODEL # optional – 例: deepseek-chat WECHAT_WEBHOOK_URL # optional – Enterprise WeChat FEISHU_WEBHOOK_URL # optional – Feishu TELEGRAM_BOT_TOKEN # optional – Telegram bot token TELEGRAM_CHAT_ID # optional – Telegram chat id EMAIL_SENDER # optional – sender email EMAIL_PASSWORD # optional – app password EMAIL_RECEIVERS # optional – comma‑separated list CUSTOM_WEBHOOK_URLS # optional – 任意の POST JSON webhook FEISHU_APP_ID # optional – Feishu app id FEISHU_APP_SECRET # optional FEISHU_FOLDER_TOKEN # optional – Feishu folder key STOCK_LIST # (required) ticker のリスト例:600519,300750,002594 TAVILY_API_KEYS # (recommended) news search 用 SERPAPI_API_KEYS # optional TUSHARE_TOKEN # optional - Enable the Workflow – Actions タブへ行き、I understand my workflows, go ahead and enable them をクリック。
- Test Immediately – 「每日股票分析」 ワークフローを選択し Run workflow をクリック。
- Celebrate – ワークフローは Docker イメージをビルドし、データ取得・解析・結果投稿を行います。
Quick Start – Local or Docker Deployment
ローカルサンドボックスやコードの微調整を望む場合はこの方法を使用。
# Clone & install
git clone https://github.com/ZhuLinsen/daily_stock_analysis.git
cd daily_stock_analysis
pip install -r requirements.txt
# Copy env example
cp .env.example .env
nano .env # 値を入力
# Run a full analysis
python main.py
# Only market review
python main.py --market-review
# Run scheduled task (cron inside the container)
python main.py --schedule
Docker で実行する場合:
# Create config file
cp .env.example .env
nano .env
# Launch services
docker-compose up -d
# Tail logs
docker-compose logs -f
How the Analysis Works
- Data Fetch – 銘柄価格、出来高、MA5/MA10/MA20、出来高分布、ニュース見出しを設定されたプロバイダーから取得。
- AI Inference –
analyzer.pyモジュールがクリーンな指標とニュースを Gemini(または選択した OpenAI 互換モデル)へ投げ、要約の意思決定、目標値・ストップロス、コンプライアンスチェックリストを受け取ります。 - Market‑Review –
market_analyzer.pyが日次指数変動、セクターパフォーマンス、資本フローを集計。 - Notification –
notification.pyがダッシュボードと市場レビューを Markdownまたはインタラクティブカードに整形し、全て有効化されたチャネルへ投稿。 - Scheduling –
scheduler.py及び GitHub Actions ワークフローが毎週平日の18:00(現地時間)にジョブを実行します。
Customization Ideas
| Area | Extension |
|---|---|
| Add a new data source | data_provider/ に新しいフェッチャーを実装し、config.py を更新 |
| Use another AI model | OPENAI_API_KEY / BASE_URL / MODEL を設定し、GEMINI_* 変数を省略 |
| Change notification format | notification.py を編集し、カスタムカードやチャート埋め込みを出力 |
| Automate portfolio updates | 監視する STOCK_LIST ファイルを作成 |
| Deploy a web UI | FastAPI または Flask を追加してダッシュボードを公開 |
Roadmap Highlights
- Custom Webhook & Push Services – Pushover、Discord、Slack、独自 API をサポート。
- Cross‑Market Expansion – HK、US、EU 市場データを含める。
- Historical Backtesting – 過去データでシミュレーション実行。
- Web Dashboard – ライブチャートを備えたリアルタイム分析。
- Community‑Driven Enhancements – 新しいデータソースとモデルへの貢献を歓迎。
How to Contribute
- Fork して機能/バグ修正ブランチを作成。
- テスト (
pytest) とリンティング (ruff) を実行。 - PR で説明付き問題へのリンクを添付。
- レビュアーはドキュメント更新とコードベースとの整合性を確認。
Final Thoughts
daily_stock_analysis は、AI で駆動される市場インサイトを日々のワークフローにスムーズに組み込むための、モダンかつ低摩擦なツールキットです。サーバー費用ゼロ、プラグアンドプレイ型で、社内チャットやメールに数分で市場ダッシュボードを受け取れるようになります。リポジトリを取得し、シークレットを設定して、毎週平日に自動実行されるツールを体感してください。
Happy analyzing!
元の記事:
オリジナルを見る