技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
economic-calendar-fetcher【数据与研究】Fetch upcoming economic events and data releases using FMP API. Retrieve scheduled central bank decisions, employment reports, inflation data, GDP releases, and other market-moving economic indicators for specified date ranges (default: next 7 days). The script outputs raw JSON or text; the assistant filters, assesses impact, and generates the Markdo…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Retrieve upcoming economic events and data releases from the Financial Modeling Prep (FMP) Economic Calendar API. This skill fetches scheduled economic indicators including central bank monetary policy decisions, employment reports, inflation data (CPI/PPI), GDP releases, retail sales, manufacturing data, and other market-moving events that impact financial markets.
The skill uses a Python script to query the FMP API and returns raw JSON or text output. The assistant then filters events, assesses market impact, and generates a chronological Markdown report for each scheduled event. No files are generated automatically.
Key Capabilities:
Data Source:
https://financialmodelingprep.com/api/v3/economic_calendarUse this skill when the user requests:
Economic Calendar Queries:
Market Event Planning:
Specific Date Range Requests:
Country-Specific Queries:
DO NOT use this skill for:
FMP_API_KEY environment variable or pass --api-key to the script.skills/economic-calendar-fetcher/scripts/get_economic_calendar.py.Follow these steps to fetch and analyze the economic calendar:
Check for API key availability (in priority order):
FMP_API_KEY environment variable is set — this keeps the key out of session logs--api-key CLI argument for one-off runsExample user interaction:
User: "Show me economic events for next week"
Assistant: "I'll fetch the economic calendar. I'll use the FMP_API_KEY environment variable if it's set. Otherwise, please pass the key via --api-key when running the script."
Set appropriate date range based on user request:
Default (no specific dates): Today + 7 days User specifies period: Use exact dates (validate format: YYYY-MM-DD) Maximum range: 90 days (FMP API limitation)
Examples:
Validate date range:
Run the get_economic_calendar.py script with appropriate parameters:
Basic usage (default 7 days):
python3 skills/economic-calendar-fetcher/scripts/get_economic_calendar.py --api-key YOUR_KEY
With specific date range:
python3 skills/economic-calendar-fetcher/scripts/get_economic_calendar.py \
--from 2025-01-01 \
--to 2025-01-31 \
--api-key YOUR_KEY \
--format json
Using environment variable (no --api-key needed):
export FMP_API_KEY=your_key_here
python3 skills/economic-calendar-fetcher/scripts/get_economic_calendar.py \
--from 2025-01-01 \
--to 2025-01-07
Script parameters:
--from: Start date (YYYY-MM-DD) - default: today--to: End date (YYYY-MM-DD) - default: today + 7 days--api-key: FMP API key (optional if FMP_API_KEY env var set)--format: Output format (json or text) - default: json--output: Output file path (optional, default: stdout)Handle errors and empty results:
date because FMP may return adjacent-date rows. This applies even when the helper script itself returned [] (not only when a stable endpoint was used).Direct v3 fallback probe:
python3 - <<'PY'
import os, json, urllib.parse, urllib.request, datetime
start = datetime.date.fromisoformat("YYYY-MM-DD")
end = datetime.date.fromisoformat("YYYY-MM-DD")
url = "https://financialmodelingprep.com/api/v3/economic_calendar?" + urllib.parse.urlencode({
"from": start.isoformat(), "to": end.isoformat(), "apikey": os.environ["FMP_API_KEY"]
})
with urllib.request.urlopen(url, timeout=30) as r:
data = json.loads(r.read())
filtered = [e for e in data if start <= datetime.date.fromisoformat(e["date"][:10]) <= end]
filtered.sort(key=lambda e: e.get("date", ""))
print(json.dumps(filtered, indent=2))
PY
Process the JSON response from the script:
Filter examples:
Event data structure:
{
"date": "2025-01-15 14:30:00",
"country": "US",
"event": "Consumer Price Index (CPI) YoY",
"currency": "USD",
"previous": 2.6,
"estimate": 2.7,
"actual": null,
"change": null,
"impact": "High",
"changePercentage": null
}
Evaluate the market significance of each event:
Impact Level Classification (from FMP):
High Impact: Major market-moving events
Medium Impact: Significant but less volatile
Low Impact: Minor indicators
Additional Context Factors:
Current Market Sensitivity:
Surprise Potential:
Event Clustering:
Forward Significance:
Responsibility: The script outputs raw JSON or text. This step is performed by the assistant using the script's output. No Markdown files are generated automatically; results are displayed in chat and can be saved to
reports/on request.
Create structured markdown report with the following sections:
Report Header:
# Economic Calendar
**Period:** [Start Date] to [End Date]
**Report Generated:** [Timestamp]
**Total Events:** [Count]
**High Impact Events:** [Count]
Event Listing (Chronological):
For each event, provide:
## [Date] - [Day of Week]
### [Event Name] ([Impact Level])
- **Country:** [Country Code] ([Currency])
- **Time:** [HH:MM UTC]
- **Previous:** [Value]
- **Estimate:** [Consensus Forecast]
- **Impact Assessment:** [Your analysis]
**Market Implications:**
[2-3 sentences on why this matters, what markets watch for, typical reaction patterns]
---
Example Event Entry:
## 2025-01-15 - Wednesday
### Consumer Price Index (CPI) YoY (High Impact)
- **Country:** US (USD)
- **Time:** 14:30 UTC (8:30 AM ET)
- **Previous:** 2.6%
- **Estimate:** 2.7%
- **Impact Assessment:** Very High - Core inflation metric for Fed policy decisions
**Market Implications:**
CPI reading above estimate (>2.7%) likely strengthens hawkish Fed expectations, potentially pressuring equities and supporting USD. Reading at or below 2.7% could reinforce disinflation narrative and support risk assets. Options market pricing 1.2% S&P 500 move on release day.
---
Summary Section:
Add analytical summary at the end:
## Key Takeaways
**Highest Impact Days:**
- [Date]: [Events] - [Combined impact rationale]
- [Date]: [Events] - [Combined impact rationale]
**Central Bank Activity:**
- [Summary of any scheduled Fed/ECB/BOJ meetings or speeches]
**Major Data Releases:**
- Employment: [NFP, Unemployment Rate dates]
- Inflation: [CPI, PPI dates]
- Growth: [GDP, Retail Sales dates]
**Market Positioning Considerations:**
[2-3 bullets on how traders might position around these events]
**Risk Events:**
[Highlight any particularly high-uncertainty or surprise-potential events]
Filtering Notes:
If user requested specific filters, note at top:
**Filters Applied:**
- Impact Level: High only
- Country: US
- Events shown: [X] of [Y] total events in date range
Output:
--output reports/economic_calendar_[START]_to_[END].json when running the script.reports/ after generating it in chat.Markdown structure requirements:
Table format option (for dense listings):
| Date/Time (UTC) | Event | Country | Impact | Previous | Estimate | Assessment |
|-----------------|-------|---------|--------|----------|----------|------------|
| 01-15 14:30 | CPI YoY | US | High | 2.6% | 2.7% | Core inflation metric |
Language: All reports in English
Python Script:
skills/economic-calendar-fetcher/scripts/get_economic_calendar.py: Main API fetch script with CLI interfaceReference Documentation:
references/fmp_api_documentation.md: Complete FMP Economic Calendar API reference
API Details:
https://financialmodelingprep.com/api/v3/economic_calendarhttps://financialmodelingprep.com/stable/economics-calendar and it returns 404 or [] for an otherwise valid date range, fall back to the v3 endpoint above before declaring the calendar empty.from/to window; after fetching, filter events locally by parsed date so only the requested date range is reported.Event Coverage:
Usage Tips:
Error Handling:
404 or an empty list for a valid range: retry the same range through https://financialmodelingprep.com/api/v3/economic_calendar, then locally filter returned events to the requested dates before reporting.