Daily Stock Analysis: An Open-Source AI Agent

8 min read · · MoClaw Editorial
Daily Stock Analysis: An Open-Source AI Agent

daily_stock_analysis is an open-source LLM agent building market dashboards from live data and news across six markets, pushed to your chat app.

Table of Contents

Share this

An AI stock analysis agent that runs on a schedule, reads market data and news for the tickers you list, and pushes a formatted report into whatever chat app your team already uses. That is what daily_stock_analysis is, and the reason it collected 61,332 stars since January 10, 2026 is mostly the deployment story: you fork the repository, paste some secrets into GitHub Actions, and it runs without a server.

Before anything else, the thing to be clear about. This tool produces reports that include buy and sell price levels, ratings and risk alerts. It is a piece of open-source software that formats model output. It is not a licensed advisor, it does not know your circumstances, and nothing in this article is investment advice.

ZhuLinsen/daily_stock_analysis is MIT licensed, Python 3.10 or newer, and ships a live demo. Releases land almost exactly weekly: v3.27.0 on July 19, v3.28.0 on July 26, v3.29.0 on August 2, v3.30.0 on August 9.

Key Takeaways:

  • Six markets are covered: mainland China A-shares, Hong Kong, US, Japan, South Korea and Taiwan, plus ETFs. Ticker formats mix freely in one watchlist.
  • "Zero cost" means no server, not no cost. GitHub Actions is free; the model API is not, though several providers listed in the README offer free starting credit.
  • Free market data comes built in through AkShare, Baostock and YFinance. The README says outright that free sources are rate-limited and unstable, and recommends paid tokens for anything scheduled.
  • Reports push to WeCom, Feishu, Telegram, Discord, Slack or email. You never open the tool to read the output.
  • A conversational mode answers follow-up questions using 15 built-in analysis strategies, including Chan theory and Elliott waves alongside moving averages and trend.

What the daily stock analysis agent produces

One report per stock, structured, on a schedule. As AI stock analysis agents go this one is unusually opinionated about format, and the format is the product.

The report fields are fixed: a headline conclusion, a score, the trend read, buy and sell levels, risk alerts, catalysts, and an operational checklist. That's the whole product surface for most users, since it arrives in a chat channel and nobody logs into anything.

Data behind it comes from several places at once. Quotes, candles and technical indicators come from the market data layer; news, announcements and fundamentals come from search providers; and for US stocks there's an optional social sentiment feed covering Reddit, X and Polymarket. The model reads all of it and writes the report.

There's a workbench too, available as web or desktop, where you can trigger analysis manually, watch task progress, browse report history, read the full Markdown, run backtests, track holdings and manage configuration. Import is unusually forgiving: screenshots of a portfolio, CSV, Excel, or clipboard paste, with completion by ticker, name, pinyin or alias. That last detail tells you who this was built for, and it wasn't a hedge fund.


The project's public demo dashboard, which is what the scheduled report is generated from (dsa.zhulinsen.tech, August 10, 2026)
The project's public demo dashboard, which is what the scheduled report is generated from (dsa.zhulinsen.tech, August 10, 2026)

How it pulls data and news together

Layered sources with fallbacks, which is the part that determines whether your 7am report actually shows up.

Market data defaults to free providers, AkShare, Baostock and YFinance, so the thing runs with no configuration at all. The README is refreshingly blunt about what that buys you: free sources are subject to upstream rate limits, interface changes and network flakiness, and stability is not guaranteed. For scheduled runs or batch analysis it points you at token-based providers instead, TickFlow, Tushare or Longbridge.

News search is where quality lives, and the docs say so: the search source materially changes sentiment, announcements, events and catalysts. Options include SerpAPI, Tavily, Bocha, Brave, MiniMax and a self-hosted SearXNG instance for people who want no quota and no third party.

One thing to notice while reading that list. Several of the recommended providers appear with referral or affiliate parameters in their links, and the project has a sponsors section. Nothing hidden about it, and it doesn't make the recommendations wrong, but it's worth knowing that the default suggestions carry a commercial relationship before you conclude they're the neutral best pick.

Model providers are equally flexible: Gemini, OpenAI-compatible endpoints, DeepSeek, Qwen, Claude, local Ollama, plus the two aggregator services the README recommends first.


Which layer is actually free, and which one is the monthly bill
Which layer is actually free, and which one is the monthly bill

The scheduling idea travels. The stock picking does not.
An agent that reads a defined set of sources every morning and hands you a structured summary is useful well beyond a watchlist: filings, competitors, tickets, inboxes.
Every weekday at 7am, summarise overnight news for my watchlist…See MoClaw →

Is it a stock picker? What it does *not* do

Here's the boundary, drawn as precisely as I can draw it.

The tool does generate buy and sell levels and a rating for each stock in your list. That's a factual description of its output, not an endorsement of it. What sits behind those numbers is a language model reading price data, indicators, news and sentiment, then writing a structured opinion. Nothing is backtested for you before it appears in your Telegram, nothing accounts for your existing positions, tax situation, time horizon or risk tolerance, and no accuracy record is published anywhere.

It does not trade. There's no broker connection, no order routing, no execution of any kind. A report arrives; you do whatever you do.

It also can't see anything that isn't in its inputs. The analysis is a read of public data and text about a company, filtered through a model with a training cutoff and a search tool. Where that gets genuinely risky is the confident format: a report with a score, a target and a checklist reads like the output of a process that verified something. It didn't. It read the same internet you can read, and wrote it up neatly.

Treat the output as a reading aid. Any decision, and any responsibility for it, stays with you.


Running it at zero cost, honestly costed

The GitHub Actions path is the headline, and the pitch holds up with one correction.

You fork the repo, add secrets under Settings, and a scheduled workflow does the rest: at least one model API key, at least one notification channel, and STOCK_LIST with your tickers in mixed formats like 600519,hk00700,AAPL,7203.T,005930.KS,2330.TW. Deployment takes minutes and needs no infrastructure. Free tier Actions minutes cover a daily run comfortably.

What isn't free is inference. Every stock analysed is a model call over a fat context of quotes, news and fundamentals, and multiplying that by a watchlist and by trading days gives you a real monthly number. The README's recommended providers hand new users starting credit, which is genuinely enough to evaluate the thing, and then you're paying. Search APIs add their own line when you move past free tiers.

Docker and local scheduling are the alternatives, plus a FastAPI service if you want to call it from something else. Ollama fits the local path better than the Actions path, for the obvious reason that GitHub's runners don't have your GPU.


LLM analysis versus a traditional screener

An AI stock analysis agent and a screener answer different questions. A screener answers a filter. Price-to-earnings under 15, revenue growth over 20%, market cap over a billion, sorted. Deterministic, fast, cheap, and completely blind to anything that isn't a number in a database.

The interesting split isn't accuracy, it's coverage. A screener cannot tell you that the CFO resigned last Tuesday, that a supplier's factory is offline, or that the earnings call transcript hedged where it used to commit. An LLM reading news and filings picks that up, which is why this class of tool is growing. What it gives up is reproducibility: run the screener twice, get the same list; run the model twice, get two reports that agree on direction and differ in emphasis.

That trade shows up across every domain where models are replacing rules, and we've written about the general shape of it in research, writing and data analysis with frontier models. Finance just makes the stakes legible.

The sane setup uses both. Screen with rules, read with models, decide with a human, and never let the tool's confident formatting substitute for the last step. Which parts of that belong to an agent at all is the question we take up in what autonomous agents should handle.


The strategy chat, and what 15 built-in strategies tells you

Beyond the scheduled report there's a conversational mode where you ask follow-up questions about a stock, and it answers through one of fifteen built-in analysis frames.

The list is a window into who wrote this. Moving averages, trend and growth are universal. Chan theory and Elliott wave are technical-analysis schools with deep followings in Chinese retail investing and almost no presence in an American product. Event, hot-topic and expectation frames sit alongside them. You can reach the same conversation from the web workbench, from the chat bots or through the API.

Two readings of that. Generously: an AI stock analysis agent that speaks the analytical language its users already use is more useful than one that imposes an unfamiliar frame. Sceptically: a model asked to analyse a chart "using Chan theory" will produce fluent Chan theory whether or not the structure is there, because producing fluent anything is what it does. The frame constrains the vocabulary, not the rigour.

Multi-turn matters more than the frame count. A single report is a snapshot; being able to ask "why did the rating drop from last week" and get an answer grounded in the stored history is where the tool stops being a formatter and starts being useful.

Scheduled reading, delivered before you open the laptop.
The reusable idea here is not stock picking. It is an agent that watches a defined set of sources every morning and hands you a structured summary. That works for filings, competitors, tickets and inboxes too.
Every weekday at 7am, summarise overnight news for my watchlist…See how →

FAQ

Is daily_stock_analysis free to use?

The software is MIT licensed and free. Running it on GitHub Actions costs nothing in hosting. Model inference and, if you go past free tiers, search and market-data APIs are the real bill, and it scales with how many stocks you analyse and how often.

Does it give investment advice?

It produces reports containing ratings, buy and sell levels, risk alerts and catalysts, generated by a language model from public data. That is software output, not advice from a licensed professional, and no accuracy record for it has been published. Anyone acting on it is making their own decision.

Which markets and data sources does it support?

Six markets plus ETFs: A-shares, Hong Kong, US, Japan, South Korea and Taiwan. Free data comes from AkShare, Baostock and YFinance by default, with TickFlow, Tushare, Pytdx and Longbridge available as more stable token-based options. News search runs through SerpAPI, Tavily, Bocha, Brave, MiniMax or a self-hosted SearXNG, and US stocks can optionally add a Reddit/X/Polymarket sentiment feed.

How does it send me the reports?

Push channels are WeCom, Feishu, Telegram, Discord, Slack and email; you configure at least one. The design assumes you read the report where you already are rather than logging into a dashboard, though a web and desktop workbench exists for manual runs, history and backtests.

Can I run it without an API key?

Not usefully. Market data works out of the box with the free providers, but the analysis itself is a model call, so at least one LLM API key is required. Local models through Ollama are supported and fit Docker or local deployment better than GitHub Actions.

Continue Reading

M
MoClaw Editorial MoClaw editorial team

The MoClaw editorial team writes about workflow automation, AI agents, and the tools we build. Default byline for industry overviews, listicles, and collaborative pieces.

Ready to put this into practice?

MoClaw runs browser tasks, research, and schedules automatically. Try it free.

ai stock analysis llm stock analysis open source stock analysis daily stock analysis automated market analysis dashboard stock analysis github actions

References: ZhuLinsen/daily_stock_analysis on GitHub · daily_stock_analysis live demo · Release history · AkShare · Baostock · Tushare · SearXNG · Docker image