A daily pre-market email that lands at 7:15 AM with 11 tickers analyzed, Money Flow stages calculated, and key levels ready — before the open bell rings.
Before every session I had to manually pull the same data from the same tickers. By the time I finished, half the pre-market move had already happened.
Pull up each ticker manually. Check price, check volume, scroll back to find the key levels from prior sessions.
Cross-reference price vs. moving averages, volume profile, sector rotation context. This wasn't fast — it required real judgment every morning.
DXY, VIX, TLT, GLD — each one on its own tab. Build the context picture in your head from disconnected windows.
Summarize what you found so you'd remember it by the time the open came. Some days the brief never got written.
By the time the manual prep was done, the pre-market move had already set the tone. You were reacting instead of prepared.
"By the time I finished the manual prep, the pre-market move was already over."
One Python script. Runs automatically on Hermes VPS every weekday morning. No manual trigger needed.
Hermes VPS triggers the script on a weekday schedule
Price, volume, and OHLC for all 11 tickers in one batch
Each ticker gets a stage (1–4) based on price vs. moving averages
Formatted report with levels, stages, and market context
Gmail API sends the report. Arrives before 7:30 AM
S&P 500 broad market
Nasdaq / tech
Small caps
Growth stocks
Dow industrials
Long-dated bonds
Gold
Crude oil
U.S. dollar index
Volatility / fear gauge
Bitcoin macro signal
Three honest cards from the build — what worked, what surprised me, what I'd change.
I was doing the same manual scan every morning before the open — same tickers, same calculations, same format in my notes. When I realized I'd done the exact same thing 50 times, the only question was why I hadn't automated it yet. Started with a simple Python script and a cron job on the VPS.
The real value wasn't saving 20 minutes — it was getting the same format every day, no variation, no missed tickers. When the brief is always the same structure, you stop reading it and start absorbing it. Pattern recognition speeds up. That was the outcome I didn't expect.
The current brief shows current stage. What I want is an alert when a ticker transitions — Stage 2 → Stage 3 is a signal, not just a status. Next version flags transitions and cross-references the weekly watchlist so the brief becomes a direct action item, not just context.
The brief is useful now. These additions make it actionable.
The current brief shows current stage. What's more useful is knowing when a ticker moves. The next version flags every Stage 2 → 3 or 3 → 4 transition and sends a separate alert — not buried in the daily brief, but a standalone signal. That's when the trade opportunity appears.
Each week I build a watchlist of options plays. Right now the brief and the watchlist are separate. The next version cross-references them — if a ticker on my watchlist is in Stage 2 and approaching a key level, the brief flags it directly as a potential setup. Brief becomes an action list.
The brief pulls data from yfinance. TradingView has richer data — custom indicators, Money Flow overlays, volume profile. The next version pulls directly from TradingView via MCP, so the brief reflects exactly what's on my chart, not just the raw price data.
Under 60 seconds. 11 tickers staged and delivered before the open.
Demo recording coming soon.
Check back in a few days.
This is a real output. The same format that lands in my inbox every weekday at 7:15 AM PST.
See a Sample Report → Back to all projects