ZhuLinsen/daily_stock_analysis
FinanceAn LLM-powered stock analysis system that generates daily decision reports for A-share, HK, US, Japan, Korea and Taiwan watchlists.
What it does
This is a self-hosted analysis pipeline for personal watchlists. It pulls quotes, K-lines, technical indicators, financials, announcements and news from multiple providers, sends the assembled context to an LLM, and turns the result into a daily decision report with a score, trend read, entry/exit levels, risk warnings, catalysts and an action checklist. The same reports can be delivered to WeCom, Feishu, Telegram, Discord, Slack or email.
It covers A-share, Hong Kong, US, Japan, Korea and Taiwan stocks plus ETFs, though data-source coverage differs by market; the project documents those boundaries separately. Beyond the scheduled report, there is a web/desktop workbench for ad-hoc analysis, task progress, history, backtests, portfolio tracking and configuration, and a chat page with 15 built-in strategies (moving averages, Chan theory, Elliott waves, trend, theme, event-driven, growth, expectation re-rating, and others) for multi-turn stock Q&A.
It is aimed at individual investors or developers who already have a watchlist and want a repeatable, LLM-assisted summary rather than a hosted advisory product. The author describes it as being for learning and research, not investment advice.
Quick start
The lowest-friction path is GitHub Actions, which needs no server. Fork the repository, then add repository secrets under Settings → Secrets and variables → Actions. At minimum you need STOCK_LIST (comma-separated codes such as 600519,hk00700,AAPL,7203.T,005930.KS,2330.TW) and one LLM API key, for example GEMINI_API_KEY or an OpenAI-compatible OPENAI_API_KEY together with OPENAI_BASE_URL and OPENAI_MODEL. Add one notification target such as WECHAT_WEBHOOK_URL or FEISHU_WEBHOOK_URL. A news search key is recommended because news quality strongly affects the sentiment and catalyst sections.
Then open the Actions tab, enable the workflows, select the daily stock analysis workflow and run it manually to test. Once it succeeds, it runs on weekdays at 18:00 Beijing time by default and skips non-trading days unless forced. The full secret tables and fallback rules are in the setup section and the full guide.
For local use, Python 3.10+ is required:
git clone https://github.com/ZhuLinsen/daily_stock_analysis.git && cd daily_stock_analysis
pip install -r requirements.txt
cp .env.example .env
# edit .env with your keys and STOCK_LIST
python main.py
Useful flags include --dry-run to test without pushing, --stocks for a one-off list, --market-review for the index recap and --schedule for local timed runs. To use the workbench, start python main.py --webui and open http://127.0.0.1:8000. A Docker image is also published for container deployment.
Constraints
An LLM API key is effectively mandatory; the local Ollama option is better suited to local or Docker runs than to Actions. Market data defaults to free sources (AkShare, Baostock, YFinance, etc.), which the README says can be rate-limited or broken by upstream changes; Tushare and Longbridge tokens are the documented way to get more stable quotes and extra fields for A-share and HK/US respectively. Push channels depend on each platform's webhook or bot setup, and the repository documents per-channel signing and grouping rules. Scheduled runs depend on GitHub Actions minutes or your own server, and the default schedule only fires on trading days. The license is MIT; the project includes sponsored LLM and search providers in its setup flow, but alternative providers are supported.
HotRepo's take
On 2026-11-09 the repository reached 9th place on the all-language GitHub daily chart, the best rank recorded for it, with 505 stars gained that day. The snapshot history shows a long, active run before that: roughly 37.6k stars on 2026-05-19 rising to about 49.3k by 2026-06-25, and around 62.5k by 2026-08-12, then 68.4k on the ranking date. Forks track stars unusually closely throughout (about 56.3k forks against 68.4k stars), which fits a project whose recommended deployment is forking the repository and running it through Actions. That pattern, plus the broad multi-market scope and the built-in strategy chat, explains its appeal to people who want a turnkey daily analysis workflow rather than a library to integrate; the trade-off is that output quality depends heavily on which data and LLM providers you configure.
Written by AI from the project's README, updated . The project's own docs are the source of truth.
Hacker News
You might also like
- shy3130/tick-stock-panelSelf-hosted A-share quant workbench for custom strategies, backtesting, market monitoring and LLM-assisted analysis.
- waditu/czscA Python toolkit that automates Chan Theory market structure analysis and signal-based backtesting for stocks, futures, and crypto.
- ErTasselli/OpenTerminalRun a local, keyboard-driven market terminal for US stocks, crypto, macro data and a small portfolio tracker.
- Open-Dev-Society/OpenStockA self-hostable stock market dashboard for tracking quotes, watchlists, alerts and company data across eight markets.