Dow Sentiment Flip
Lists any Dow 30 name whose sentiment polarity flipped (positive ↔ negative dominant) since the prior reading.
// The Problem
What this recipe solves
Mood on a large cap turns well before the next earnings print, but nobody watches thirty tickers by hand. This script checks the whole index in one pass and only speaks up on a flip.
// The Script
Copy, run, ship
Drop this script into your project and run it locally or on a
cron. Set GUAVY_KEY in your
environment, swap the symbols, and go.
# dow_flip.py
import os, requests
API = "https://guavy.com/api/v2/stocks"
H = {"Authorization": f"Bearer {os.environ['GUAVY_KEY']}"}
DOW = "AAPL AMGN AMZN AXP BA CAT CRM CSCO CVX DIS DOW GS HD HON IBM JNJ JPM KO MCD MMM MRK MSFT NKE NVDA PG SHW TRV UNH V WMT".split()
def dominant(row):
return max(("positive", "negative", "neutral"), key=lambda k: row.get(k, 0))
for sym in DOW:
rows = requests.get(
f"{API}/sentiment/get-sentiment-history/{sym}",
headers=H, params={"limit": 2}
).json()["sentiment"]
rows.sort(key=lambda r: r["timestamp"], reverse=True)
if len(rows) < 2:
continue
now, prev = rows[0], rows[1]
if dominant(now) != dominant(prev):
print(f"{sym} flipped {dominant(prev)} → {dominant(now)} "
f"(pos:{now['positive']} / neg:{now['negative']} / neu:{now['neutral']})")
// Guavy Tools in Play
1 tool, one script
This script calls 1 endpoint from the Guavy REST API. Every data point maps back to the endpoint it came from.
// Keep Exploring
Related recipes
Same API key, different job-to-be-done.
// Get started
Run this recipe in under 2 minutes
Grab a free API key, set it as an env var, and run the script. Free sandbox forever.