Hand this case to your agent and build your own version

A key section of this article is locked, and an agent opening the link cannot see it either. Unlock it first, then copy the full text for your agent in one click.

Turn a Holdings Screenshot Into a Daily Stock Research Report With One Command

An open-source case study: hand the repetitive work of watching your watchlist every day and organizing signals to a local script. The workflow runs: import holdings from screenshots → theme aggregation → rule-based scoring → benchmark comparison → follow-up questions on the report → anomaly alerts, producing a daily research report and dashboard. It only organizes data; it does not connect to brokers, place orders automatically, or promise returns.

Machine translation. Read the original

The problem

With a large watchlist, manually checking quotes, recording signals, comparing relative strength, and calculating profit and loss every day is time-consuming and easy to miss things.

Who it's for

People who review their watchlist, do pre-market and post-market research, check portfolio risk, and make their own decisions.

What you get

One command runs the full process and produces a daily research report and dashboard that can be cross-checked, viewed locally or published as a static site.

How the workflow runs

  1. 01 Import holdings from screenshots
  2. 02 Theme aggregation
  3. 03 Rule-based scoring
  4. 04 Benchmark comparison
  5. 05 Report follow-up questions
  6. 06 Anomaly alerts

Tools and accounts

  • Python
  • Yahoo Finance compatible data
  • OpenAI-compatible model (optional, for recognizing holdings screenshots and AI summaries)
  • GitHub Pages (optional, for static publishing)

Hand the repetitive daily work of watching the market and organizing watchlist signals to a local script. Each day it compiles quotes, technical indicators, rule-based signals, relative strength, holding profit and loss, and an optional AI summary into a research report and dashboard. View them locally, or publish them as a static site.

To be clear up front: this is a research and reporting tool, not investment advice. It does not connect to brokers, does not place orders automatically, and does not promise any returns. All scores and signals are only organized historical data, for review and reference. Buy and sell decisions and the associated risks are your own responsibility.

What it solves

With a large watchlist, manually reviewing it before and after market open, recording signals, comparing strength against the market, and calculating holding profit and loss is both time-consuming and easy to miss things. This script fixes that process into a single command that produces a research report you can cross-check.

A complete workflow

Sign in to unlock this key section

New accounts get 10 free credits, plus 1 more for each daily check-in. Spend 1 credit to unlock and it stays open for you.

Try the 60-second demo first

It ships with offline sample data and needs no market data API, news API, or model key:

pip install -e ".[dev]"
market-pulse demo --output demo

After it finishes, open demo/site/index.html and demo/reports/dashboard.html to see the results. To run your own stock pool:

market-pulse run --symbols AAPL,MSFT,NVDA

It supports stocks, ETFs, and crypto assets, as well as Yahoo Finance compatible tickers. Recognizing holdings from screenshots, news, and AI summaries requires you to configure the corresponding keys yourself; viewing indicators and reports alone does not.

Who it is for

People who review their watchlist, do pre-market and post-market research, or check portfolio risk; people who want to turn "manually reviewing everything each day" into "one command produces the report", and who are willing to make their own judgments rather than expecting the tool to decide for them.

Notes

  • To repeat: the tool only organizes data, gives no buy or sell advice, and promises no returns. A high score does not mean you should buy.
  • Quotes and news come from third-party data sources and may be delayed or incomplete; verify important data yourself.
  • If you configure a model for AI summaries, the summaries may also be wrong; treat them as reference, not conclusions.

Source and license

Done with this one? Mark it to track your path.Sign in
Save it for laterSign in
Questions about this piece?Ask AI about this

Comments (0)

No comments yet. Start the conversation.

Sign in to join the discussion.Sign in