calendar
GitHub查询美国宏观经济事件日历,提供CPI、NFP等数据发布时间及影响。支持按日期筛选高影响事件,并可交叉验证ForexFactory数据以弥补信息缺口。
Trigger Scenarios
Install
npx skills add staskh/trading_skills --skill calendar -g -y
SKILL.md
Frontmatter
{
"name": "calendar",
"description": "Report scheduled US economic events (CPI, NFP, FOMC, GDP, PCE, ISM, jobless claims...) with times in ET, impact, actual\/consensus\/previous. Use when user asks about the economic calendar, macro events, what data comes out today\/this week, or release times. Optional ForexFactory cross-check for the current week.",
"dependencies": [
"trading-skills"
]
}
Economic Calendar
Scheduled US economic releases per weekday, from Nasdaq's public economic-events feed
(through trading_skills.calendar_nasdaq, which corrects the feed's day offset and
verifies each day against weekly releases with a fixed weekday).
Instructions
Note: If
uvis not installed orpyproject.tomlis not found, replaceuv run pythonwithpythonin all commands below.
uv run python scripts/events.py [--date YYYY-MM-DD] [--days N] [--impact all|high] [--forexfactory]
Arguments
--date- First day, YYYY-MM-DD (default: today ET). A weekend rolls to Monday.--days- Number of weekdays to report (default: 1). Weekends are skipped.--impact-all(default) orhigh(FOMC, CPI, PPI, PCE, NFP, unemployment, GDP, retail sales, ISM, Fed-chair remarks).--forexfactory- Also fetch ForexFactory's calendar, cross-check each day, and fill Nasdaq's gaps: high/medium releases Nasdaq lacks are added toevents, and a day Nasdaq can't serve is taken wholly from ForexFactory. ForexFactory publishes only the current Sun–Sat week; other days reportavailable: false. The feed rate-limits to about one request per 5 minutes, so the week is cached in the system temp dir for an hour (an older copy is used if a fetch fails).
Output
generated_at,data_delay,source("nasdaq")days- one entry per weekday:date,weekdayverified- true when the day's contents matched the requested weekday; false means use with caretimes_verified- true when Nasdaq's times were converted to ET using a clock measured from fixed-time releases (claims/NFP/CPI 8:30, ISM/JOLTS/Michigan 10:00) on that day or a nearby Thursday in the same daylight/standard period; false means times assume Nasdaq's usual UTC−4 clock — confirm themfeed_date- the Nasdaqdateparameter whose rows were usedevents- list of{event, time_et, impact, actual, consensus, previous, source}, high-impact first.sourceis"nasdaq"or"forexfactory"(gap-filled; noactual, ForexFactory's own impact rating).nullwhen no source can serve the day (notesays to verify manually — never read null as a quiet day)forexfactory(with--forexfactory) -{available, events, cross_check}or{available: false, note}cross_check.confirmed- same release at the same time in both sourcescross_check.time_mismatch- same release, different time (check which time is right)cross_check.missing_in_nasdaq- high/medium ForexFactory release Nasdaq lackscross_check.nasdaq_only- high-impact Nasdaq release ForexFactory lacks
Examples
# Today
uv run python scripts/events.py
# Yesterday and today, high impact only, cross-checked
uv run python scripts/events.py --date 2026-10-29 --days 2 --impact high --forexfactory
# Next week
uv run python scripts/events.py --date 2026-11-02 --days 5 --impact high
Only this report uses ForexFactory.
Reporting
Group by day; lead with high-impact releases and their ET times. Flag any day with
events: null or verified: false, mark ForexFactory-sourced events, and list every
time_mismatch / missing_in_nasdaq from the cross-check. FOMC decision days come from a hardcoded schedule and are
always included.
Dependencies
requests
Timezone
All timestamps and time-based calculations must use the America/New_York timezone. All JSON output must include generated_at (NY time string) and data_delay fields.
Version History
- 3a3bc45 Current 2026-11-02 13:27
Dependencies
-
required
trading-skills


