2
0 Comments

I spent a weekend with a 46k-star open source repo that feeds market data to LLMs. Here's how it's actually built.

Saw this repo trending a while back (ZhuLinsen/daily_stock_analysis, 46k+ stars, 42k forks, still updated this week). The pitch is simple: pull market data, feed it to an LLM, get a daily analytics dashboard pushed to your inbox. I finally deployed it and read the code. The architecture is more interesting than the pitch.

Full disclosure up front: I didn't build this. It's someone else's MIT-licensed project, no affiliation. And not financial advice. I'm looking at it as an engineering project, not an investing tool.

What it does

Every day after market close, it pulls data on a list of stocks you configure, runs the numbers, asks an LLM to write up a structured report, and pushes it to email / WeChat Work / Feishu / Discord / Telegram. Output is a dashboard with a score, technical indicators, and a checklist. Supports A-shares, HK, US, plus basic JP/KR.

The interesting part: the data layer

This is where most of the complexity lives. It doesn't trust one data source. There's a fallback chain of seven: AkShare and Efinance (East Money), Tushare, Pytdx, Baostock, YFinance, Longbridge. If one is rate-limited or down, it falls through to the next. Free financial APIs are flaky, so this is the right call. It's why the thing doesn't die when East Money throttles it. (Those 42k forks are mostly people forking it to deploy on GitHub Actions.)

LLM layer

Uses litellm as a unified client. You can plug in DeepSeek (the default, cheap), Gemini, Claude, OpenAI, or a local Ollama model. No provider lock-in, and people in different regions can use whatever they can reach.

I deployed it and ran it

I wrote one-click install scripts (Python deps + config) and ran it on a single stock to see the output. The report format is genuinely nice: a score, moving averages, support/resistance levels, a 6-item checklist. As a way to glance at "what's the technical state of this stock today," it's a clean summary.

Here's the honest part though.

What's wrong with it

  • LLMs hallucinate. The writeup reads confident but the conclusions are not something to trade on. The repo's own community is upfront about this. It's an information-aggregation tool, not an oracle.
  • Data sources are third-party and sometimes flaky. You will get failed runs.
  • In China, "AI stock recommendation" is a regulated area. This tool's value is data aggregation and visualization, not investment advice. The repo itself ships with a disclaimer that it's for learning and research only. Anyone deploying it should keep that framing honest.
  • Deployment is not beginner-friendly. Python version matters (3.13/3.14 breaks a Rust extension called tiktoken; you want 3.11 or 3.12), plus API keys and SMTP config. I made installer scripts to skip the pain.

Why I'm posting

Most "AI + finance" posts are hype or sales. I found it useful to see a real, popular, open implementation of "LLM as a data summarizer," warts and all. If you're building anything with LLMs plus messy real-world data, the fallback-chain pattern in the data layer is worth stealing.

Repo: github.com/ZhuLinsen/daily_stock_analysis (MIT)

Not financial advice. No affiliation with the project.

on June 24, 2026