| name | market-sentiment-watch |
| description | Generate a daily U.S. stock market sentiment watch image in the established reference style. Use when the user asks for a daily stock market monitor, U.S. market sentiment figure, RSI/VIX/Fear and Greed style dashboard, market-watch image, or recurring market-status graphic using Alpaca data. |
Market Sentiment Watch
Generate a portrait PNG that matches the established "Daily U.S. Stock Market Sentiment Watch" style: two index cards, RSI gauges, volatility gauges, a Fear and Greed proxy gauge, and a short strategy band.
Non-Negotiable Data Rule
Always call live market data for the run. Do not reuse old chart values, sample values, or the previous PNG.
Use Alpaca first:
_get_clock
_get_stock_snapshot for ["SPY", "QQQ", "VIXY", "VXX"] with feed: "iex" and currency: "USD"
_get_stock_bars for SPY with timeframe: "1Day", days: 90, limit: 90, feed: "iex"
_get_stock_bars for QQQ with the same parameters
If the U.S. market has not opened for the date on the Alpaca clock, label the figure as pre-market and say it is based on the latest completed U.S. session close. If the market is open and the daily bars are dated today, label it as an intraday snapshot.
Source Semantics
Alpaca stock data gives ETF proxies here, not the exact indices:
SPY proxies S&P 500.
QQQ proxies Nasdaq 100.
VIXY and VXX proxy volatility because the Alpaca stock tool does not provide true VIX or VXN index levels.
Do not claim true VIX, true VXN, P/E, or CNN Fear and Greed unless you separately fetch and verify those sources. If they are not fetched, keep the labels as proxies.
Render Workflow
- Call the Alpaca tools listed above.
- Create a JSON payload with the fresh tool results:
{
"clock": { "result": "{\"timestamp\":\"...\",\"is_open\":false}" },
"snapshot": { "snapshots": {} },
"spy_bars": { "bars": { "SPY": [] } },
"qqq_bars": { "bars": { "QQQ": [] } }
}
The renderer also accepts an optional normalized payload with indices, volatility, title_date, session_label, source_label, and fear_greed.
- Run:
python3 Codex_Skills/market-sentiment-watch/scripts/render_market_sentiment_watch.py \
--data /path/to/fresh-market-payload.json \
--output /path/to/market-sentiment-watch-YYYY-MM-DD.png
- Open the PNG and verify:
- the image is not blank
- the title date matches the current Alpaca clock date
- the session label is honest about pre-market, intraday, or latest completed session
- proxy labels are present unless true non-Alpaca sources were fetched
Output Style
Use the bundled renderer unless the user explicitly asks for a redesign. Keep the same visual structure, colors, portrait aspect, and strategy band as the reference figure.