superkit-mcp-server 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +102 -102
- package/README.md +71 -71
- package/SUPERKIT.md +168 -168
- package/agents/code-archaeologist.md +106 -106
- package/agents/coder.md +90 -90
- package/agents/data-engineer.md +28 -28
- package/agents/devops-engineer.md +242 -242
- package/agents/git-manager.md +203 -203
- package/agents/orchestrator.md +420 -420
- package/agents/penetration-tester.md +188 -188
- package/agents/performance-optimizer.md +187 -187
- package/agents/planner.md +270 -270
- package/agents/qa-automation-engineer.md +103 -103
- package/agents/quant-developer.md +32 -32
- package/agents/reviewer.md +100 -100
- package/agents/scout.md +222 -222
- package/agents/security-auditor.md +3 -2
- package/agents/tester.md +274 -274
- package/agents/ui-designer.md +208 -208
- package/build/index.js +21 -2
- package/build/tools/__tests__/loggerTools.test.js +5 -5
- package/build/tools/archTools.js +2 -19
- package/build/tools/autoPreview.js +2 -2
- package/build/tools/compoundTools.js +4 -4
- package/build/tools/docsTools.js +5 -10
- package/build/tools/loggerTools.js +1 -1
- package/build/tools/todoTools.js +39 -39
- package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
- package/build/tools/validators/__tests__/convertRules.test.js +5 -5
- package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
- package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
- package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
- package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
- package/build/tools/validators/__tests__/securityScan.test.js +6 -6
- package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
- package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
- package/build/tools/validators/convertRules.js +2 -2
- package/commands/README.md +122 -122
- package/commands/ask.toml +72 -72
- package/commands/brainstorm.toml +119 -119
- package/commands/chat.toml +77 -77
- package/commands/code-preview.toml +37 -37
- package/commands/code.toml +28 -28
- package/commands/content.toml +200 -200
- package/commands/cook.toml +77 -77
- package/commands/copywrite.toml +131 -131
- package/commands/db.toml +192 -192
- package/commands/debug.toml +166 -166
- package/commands/design.toml +158 -158
- package/commands/dev-rules.toml +14 -14
- package/commands/do.toml +117 -117
- package/commands/doc-rules.toml +14 -14
- package/commands/docs.toml +148 -148
- package/commands/fix.toml +440 -440
- package/commands/fullstack.toml +175 -175
- package/commands/git.toml +235 -235
- package/commands/help.toml +84 -84
- package/commands/integrate.toml +127 -127
- package/commands/journal.toml +136 -136
- package/commands/kit-setup.toml +40 -40
- package/commands/mcp.toml +183 -183
- package/commands/orchestration.toml +15 -15
- package/commands/plan.toml +171 -171
- package/commands/pm.toml +148 -148
- package/commands/pr.toml +50 -50
- package/commands/project.toml +32 -32
- package/commands/research.toml +117 -117
- package/commands/review-pr.toml +63 -63
- package/commands/review.toml +190 -190
- package/commands/scout-ext.toml +97 -97
- package/commands/scout.toml +79 -79
- package/commands/screenshot.toml +65 -65
- package/commands/session.toml +102 -102
- package/commands/skill.toml +384 -384
- package/commands/status.toml +22 -22
- package/commands/team.toml +56 -56
- package/commands/test.toml +164 -164
- package/commands/ticket.toml +70 -70
- package/commands/use.toml +106 -106
- package/commands/video.toml +83 -83
- package/commands/watzup.toml +71 -71
- package/commands/workflow.toml +14 -14
- package/package.json +35 -35
- package/skills/meta/README.md +30 -30
- package/skills/meta/api-design/SKILL.md +134 -134
- package/skills/meta/code-review/SKILL.md +44 -44
- package/skills/meta/code-review/checklists/pre-merge.md +25 -25
- package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
- package/skills/meta/code-review/workflows/performance-pass.md +27 -27
- package/skills/meta/code-review/workflows/security-pass.md +29 -29
- package/skills/meta/compound-docs/SKILL.md +133 -133
- package/skills/meta/debug/SKILL.md +40 -40
- package/skills/meta/debug/templates/bug-report.template.md +31 -31
- package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
- package/skills/meta/docker/SKILL.md +126 -126
- package/skills/meta/examples/supabase/SKILL.md +46 -46
- package/skills/meta/examples/supabase/references/best-practices.md +319 -319
- package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
- package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
- package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
- package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
- package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
- package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
- package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
- package/skills/meta/file-todos/SKILL.md +88 -88
- package/skills/meta/mobile/SKILL.md +140 -140
- package/skills/meta/nextjs/SKILL.md +101 -101
- package/skills/meta/performance/SKILL.md +130 -130
- package/skills/meta/react-patterns/SKILL.md +83 -83
- package/skills/meta/security/SKILL.md +114 -114
- package/skills/meta/session-resume/SKILL.md +96 -96
- package/skills/meta/tailwind/SKILL.md +139 -139
- package/skills/meta/testing/SKILL.md +43 -43
- package/skills/meta/testing/references/vitest-patterns.md +45 -45
- package/skills/meta/testing/templates/component-test.template.tsx +37 -37
- package/skills/tech/alpha-vantage/SKILL.md +142 -142
- package/skills/tech/alpha-vantage/references/commodities.md +153 -153
- package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
- package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
- package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
- package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
- package/skills/tech/alpha-vantage/references/options.md +93 -93
- package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
- package/skills/tech/alpha-vantage/references/time-series.md +157 -157
- package/skills/tech/doc.md +6 -6
- package/skills/tech/financial-modeling/SKILL.md +18 -18
- package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
- package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
- package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
- package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
- package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
- package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
- package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
- package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
- package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
- package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
- package/skills/workflows/README.md +203 -203
- package/skills/workflows/adr.md +174 -174
- package/skills/workflows/changelog.md +74 -74
- package/skills/workflows/compound.md +323 -323
- package/skills/workflows/compound_health.md +74 -74
- package/skills/workflows/create-agent-skill.md +138 -139
- package/skills/workflows/cycle.md +144 -144
- package/skills/workflows/deploy-docs.md +84 -84
- package/skills/workflows/development-rules.md +42 -42
- package/skills/workflows/doc.md +95 -95
- package/skills/workflows/documentation-management.md +34 -34
- package/skills/workflows/explore.md +146 -146
- package/skills/workflows/generate_command.md +106 -106
- package/skills/workflows/heal-skill.md +97 -97
- package/skills/workflows/housekeeping.md +229 -229
- package/skills/workflows/kit-setup.md +102 -102
- package/skills/workflows/map-codebase.md +78 -78
- package/skills/workflows/orchestration-protocol.md +43 -43
- package/skills/workflows/plan-compound.md +439 -439
- package/skills/workflows/plan_review.md +269 -269
- package/skills/workflows/primary-workflow.md +37 -37
- package/skills/workflows/promote_pattern.md +86 -86
- package/skills/workflows/release-docs.md +82 -82
- package/skills/workflows/report-bug.md +135 -135
- package/skills/workflows/reproduce-bug.md +118 -118
- package/skills/workflows/resolve_pr.md +133 -133
- package/skills/workflows/resolve_todo.md +128 -128
- package/skills/workflows/review-compound.md +376 -376
- package/skills/workflows/skill-review.md +127 -127
- package/skills/workflows/specs.md +257 -257
- package/skills/workflows/triage-sprint.md +102 -102
- package/skills/workflows/triage.md +152 -152
- package/skills/workflows/work.md +399 -399
- package/skills/workflows/xcode-test.md +93 -93
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
# Economic Indicators APIs
|
|
2
|
-
|
|
3
|
-
All economic indicators return US data and follow the same response structure:
|
|
4
|
-
|
|
5
|
-
```json
|
|
6
|
-
{
|
|
7
|
-
"name": "Real Gross Domestic Product",
|
|
8
|
-
"interval": "annual",
|
|
9
|
-
"unit": "billions of chained 2012 dollars",
|
|
10
|
-
"data": [{"date": "2023-01-01", "value": "22067.1"}, ...]
|
|
11
|
-
}
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## GDP
|
|
15
|
-
|
|
16
|
-
### REAL_GDP — Real Gross Domestic Product
|
|
17
|
-
|
|
18
|
-
Source: US Bureau of Economic Analysis via FRED.
|
|
19
|
-
|
|
20
|
-
**Optional:** `interval` (`annual`, `quarterly`) — default: `annual`
|
|
21
|
-
|
|
22
|
-
```python
|
|
23
|
-
data = av_get("REAL_GDP", interval="quarterly")
|
|
24
|
-
latest = data["data"][0]
|
|
25
|
-
print(latest["date"], latest["value"])
|
|
26
|
-
# unit: billions of chained 2012 dollars
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### REAL_GDP_PER_CAPITA — Real GDP Per Capita
|
|
30
|
-
|
|
31
|
-
**No interval parameter** — quarterly data only.
|
|
32
|
-
|
|
33
|
-
```python
|
|
34
|
-
data = av_get("REAL_GDP_PER_CAPITA")
|
|
35
|
-
# unit: chained 2012 dollars
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Interest Rates
|
|
39
|
-
|
|
40
|
-
### TREASURY_YIELD — US Treasury Yield
|
|
41
|
-
|
|
42
|
-
**Optional:**
|
|
43
|
-
- `interval` (`daily`, `weekly`, `monthly`) — default: `monthly`
|
|
44
|
-
- `maturity` (`3month`, `2year`, `5year`, `7year`, `10year`, `30year`) — default: `10year`
|
|
45
|
-
|
|
46
|
-
```python
|
|
47
|
-
# 10-year treasury yield (daily)
|
|
48
|
-
data = av_get("TREASURY_YIELD", interval="daily", maturity="10year")
|
|
49
|
-
for obs in data["data"][:5]:
|
|
50
|
-
print(obs["date"], obs["value"])
|
|
51
|
-
# unit: percent
|
|
52
|
-
|
|
53
|
-
# 2-year vs 10-year spread (yield curve)
|
|
54
|
-
two_yr = av_get("TREASURY_YIELD", interval="monthly", maturity="2year")
|
|
55
|
-
ten_yr = av_get("TREASURY_YIELD", interval="monthly", maturity="10year")
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### FEDERAL_FUNDS_RATE — Federal Funds Rate
|
|
59
|
-
|
|
60
|
-
**Optional:** `interval` (`daily`, `weekly`, `monthly`) — default: `monthly`
|
|
61
|
-
|
|
62
|
-
```python
|
|
63
|
-
data = av_get("FEDERAL_FUNDS_RATE", interval="monthly")
|
|
64
|
-
# unit: percent
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Inflation
|
|
68
|
-
|
|
69
|
-
### CPI — Consumer Price Index
|
|
70
|
-
|
|
71
|
-
**Optional:** `interval` (`monthly`, `semiannual`) — default: `monthly`
|
|
72
|
-
|
|
73
|
-
```python
|
|
74
|
-
data = av_get("CPI", interval="monthly")
|
|
75
|
-
# unit: index 1982-1984 = 100
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### INFLATION — Annual Inflation Rate
|
|
79
|
-
|
|
80
|
-
**No parameters** — annual data only.
|
|
81
|
-
|
|
82
|
-
```python
|
|
83
|
-
data = av_get("INFLATION")
|
|
84
|
-
# unit: percent (YoY change in CPI)
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Labor Market
|
|
88
|
-
|
|
89
|
-
### UNEMPLOYMENT — Unemployment Rate
|
|
90
|
-
|
|
91
|
-
**No parameters** — monthly data only.
|
|
92
|
-
|
|
93
|
-
```python
|
|
94
|
-
data = av_get("UNEMPLOYMENT")
|
|
95
|
-
latest = data["data"][0]
|
|
96
|
-
print(latest["date"], latest["value"])
|
|
97
|
-
# unit: percent
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### NONFARM_PAYROLL — Nonfarm Payroll
|
|
101
|
-
|
|
102
|
-
**No parameters** — monthly data only.
|
|
103
|
-
|
|
104
|
-
```python
|
|
105
|
-
data = av_get("NONFARM_PAYROLL")
|
|
106
|
-
# unit: thousands of persons
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
## Consumer Spending
|
|
110
|
-
|
|
111
|
-
### RETAIL_SALES — Monthly Retail Sales
|
|
112
|
-
|
|
113
|
-
**No parameters** — monthly data only.
|
|
114
|
-
|
|
115
|
-
```python
|
|
116
|
-
data = av_get("RETAIL_SALES")
|
|
117
|
-
# unit: millions of dollars
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### DURABLES — Durable Goods Orders
|
|
121
|
-
|
|
122
|
-
**No parameters** — monthly data only.
|
|
123
|
-
|
|
124
|
-
```python
|
|
125
|
-
data = av_get("DURABLES")
|
|
126
|
-
# unit: millions of dollars
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Macro Dashboard Example
|
|
130
|
-
|
|
131
|
-
```python
|
|
132
|
-
import pandas as pd
|
|
133
|
-
|
|
134
|
-
def econ_to_series(function, **kwargs):
|
|
135
|
-
data = av_get(function, **kwargs)
|
|
136
|
-
df = pd.DataFrame(data["data"])
|
|
137
|
-
df["date"] = pd.to_datetime(df["date"])
|
|
138
|
-
df["value"] = pd.to_numeric(df["value"], errors="coerce")
|
|
139
|
-
return df.set_index("date")["value"].sort_index()
|
|
140
|
-
|
|
141
|
-
# Build economic snapshot
|
|
142
|
-
gdp = econ_to_series("REAL_GDP", interval="quarterly")
|
|
143
|
-
fed_funds = econ_to_series("FEDERAL_FUNDS_RATE", interval="monthly")
|
|
144
|
-
unemployment = econ_to_series("UNEMPLOYMENT")
|
|
145
|
-
cpi = econ_to_series("CPI", interval="monthly")
|
|
146
|
-
ten_yr = econ_to_series("TREASURY_YIELD", interval="monthly", maturity="10year")
|
|
147
|
-
|
|
148
|
-
print(f"Latest GDP: {gdp.iloc[-1]:.1f} billion (chained 2012$)")
|
|
149
|
-
print(f"Fed Funds Rate: {fed_funds.iloc[-1]:.2f}%")
|
|
150
|
-
print(f"Unemployment: {unemployment.iloc[-1]:.1f}%")
|
|
151
|
-
print(f"CPI: {cpi.iloc[-1]:.1f}")
|
|
152
|
-
print(f"10-Year Treasury: {ten_yr.iloc[-1]:.2f}%")
|
|
153
|
-
|
|
154
|
-
# Yield curve inversion check
|
|
155
|
-
two_yr = econ_to_series("TREASURY_YIELD", interval="monthly", maturity="2year")
|
|
156
|
-
spread = ten_yr - two_yr
|
|
157
|
-
print(f"Yield curve spread (10yr - 2yr): {spread.iloc[-1]:.2f}% ({'inverted' if spread.iloc[-1] < 0 else 'normal'})")
|
|
158
|
-
```
|
|
1
|
+
# Economic Indicators APIs
|
|
2
|
+
|
|
3
|
+
All economic indicators return US data and follow the same response structure:
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"name": "Real Gross Domestic Product",
|
|
8
|
+
"interval": "annual",
|
|
9
|
+
"unit": "billions of chained 2012 dollars",
|
|
10
|
+
"data": [{"date": "2023-01-01", "value": "22067.1"}, ...]
|
|
11
|
+
}
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## GDP
|
|
15
|
+
|
|
16
|
+
### REAL_GDP — Real Gross Domestic Product
|
|
17
|
+
|
|
18
|
+
Source: US Bureau of Economic Analysis via FRED.
|
|
19
|
+
|
|
20
|
+
**Optional:** `interval` (`annual`, `quarterly`) — default: `annual`
|
|
21
|
+
|
|
22
|
+
```python
|
|
23
|
+
data = av_get("REAL_GDP", interval="quarterly")
|
|
24
|
+
latest = data["data"][0]
|
|
25
|
+
print(latest["date"], latest["value"])
|
|
26
|
+
# unit: billions of chained 2012 dollars
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### REAL_GDP_PER_CAPITA — Real GDP Per Capita
|
|
30
|
+
|
|
31
|
+
**No interval parameter** — quarterly data only.
|
|
32
|
+
|
|
33
|
+
```python
|
|
34
|
+
data = av_get("REAL_GDP_PER_CAPITA")
|
|
35
|
+
# unit: chained 2012 dollars
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Interest Rates
|
|
39
|
+
|
|
40
|
+
### TREASURY_YIELD — US Treasury Yield
|
|
41
|
+
|
|
42
|
+
**Optional:**
|
|
43
|
+
- `interval` (`daily`, `weekly`, `monthly`) — default: `monthly`
|
|
44
|
+
- `maturity` (`3month`, `2year`, `5year`, `7year`, `10year`, `30year`) — default: `10year`
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
# 10-year treasury yield (daily)
|
|
48
|
+
data = av_get("TREASURY_YIELD", interval="daily", maturity="10year")
|
|
49
|
+
for obs in data["data"][:5]:
|
|
50
|
+
print(obs["date"], obs["value"])
|
|
51
|
+
# unit: percent
|
|
52
|
+
|
|
53
|
+
# 2-year vs 10-year spread (yield curve)
|
|
54
|
+
two_yr = av_get("TREASURY_YIELD", interval="monthly", maturity="2year")
|
|
55
|
+
ten_yr = av_get("TREASURY_YIELD", interval="monthly", maturity="10year")
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### FEDERAL_FUNDS_RATE — Federal Funds Rate
|
|
59
|
+
|
|
60
|
+
**Optional:** `interval` (`daily`, `weekly`, `monthly`) — default: `monthly`
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
data = av_get("FEDERAL_FUNDS_RATE", interval="monthly")
|
|
64
|
+
# unit: percent
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Inflation
|
|
68
|
+
|
|
69
|
+
### CPI — Consumer Price Index
|
|
70
|
+
|
|
71
|
+
**Optional:** `interval` (`monthly`, `semiannual`) — default: `monthly`
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
data = av_get("CPI", interval="monthly")
|
|
75
|
+
# unit: index 1982-1984 = 100
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### INFLATION — Annual Inflation Rate
|
|
79
|
+
|
|
80
|
+
**No parameters** — annual data only.
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
data = av_get("INFLATION")
|
|
84
|
+
# unit: percent (YoY change in CPI)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Labor Market
|
|
88
|
+
|
|
89
|
+
### UNEMPLOYMENT — Unemployment Rate
|
|
90
|
+
|
|
91
|
+
**No parameters** — monthly data only.
|
|
92
|
+
|
|
93
|
+
```python
|
|
94
|
+
data = av_get("UNEMPLOYMENT")
|
|
95
|
+
latest = data["data"][0]
|
|
96
|
+
print(latest["date"], latest["value"])
|
|
97
|
+
# unit: percent
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### NONFARM_PAYROLL — Nonfarm Payroll
|
|
101
|
+
|
|
102
|
+
**No parameters** — monthly data only.
|
|
103
|
+
|
|
104
|
+
```python
|
|
105
|
+
data = av_get("NONFARM_PAYROLL")
|
|
106
|
+
# unit: thousands of persons
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Consumer Spending
|
|
110
|
+
|
|
111
|
+
### RETAIL_SALES — Monthly Retail Sales
|
|
112
|
+
|
|
113
|
+
**No parameters** — monthly data only.
|
|
114
|
+
|
|
115
|
+
```python
|
|
116
|
+
data = av_get("RETAIL_SALES")
|
|
117
|
+
# unit: millions of dollars
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### DURABLES — Durable Goods Orders
|
|
121
|
+
|
|
122
|
+
**No parameters** — monthly data only.
|
|
123
|
+
|
|
124
|
+
```python
|
|
125
|
+
data = av_get("DURABLES")
|
|
126
|
+
# unit: millions of dollars
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Macro Dashboard Example
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
import pandas as pd
|
|
133
|
+
|
|
134
|
+
def econ_to_series(function, **kwargs):
|
|
135
|
+
data = av_get(function, **kwargs)
|
|
136
|
+
df = pd.DataFrame(data["data"])
|
|
137
|
+
df["date"] = pd.to_datetime(df["date"])
|
|
138
|
+
df["value"] = pd.to_numeric(df["value"], errors="coerce")
|
|
139
|
+
return df.set_index("date")["value"].sort_index()
|
|
140
|
+
|
|
141
|
+
# Build economic snapshot
|
|
142
|
+
gdp = econ_to_series("REAL_GDP", interval="quarterly")
|
|
143
|
+
fed_funds = econ_to_series("FEDERAL_FUNDS_RATE", interval="monthly")
|
|
144
|
+
unemployment = econ_to_series("UNEMPLOYMENT")
|
|
145
|
+
cpi = econ_to_series("CPI", interval="monthly")
|
|
146
|
+
ten_yr = econ_to_series("TREASURY_YIELD", interval="monthly", maturity="10year")
|
|
147
|
+
|
|
148
|
+
print(f"Latest GDP: {gdp.iloc[-1]:.1f} billion (chained 2012$)")
|
|
149
|
+
print(f"Fed Funds Rate: {fed_funds.iloc[-1]:.2f}%")
|
|
150
|
+
print(f"Unemployment: {unemployment.iloc[-1]:.1f}%")
|
|
151
|
+
print(f"CPI: {cpi.iloc[-1]:.1f}")
|
|
152
|
+
print(f"10-Year Treasury: {ten_yr.iloc[-1]:.2f}%")
|
|
153
|
+
|
|
154
|
+
# Yield curve inversion check
|
|
155
|
+
two_yr = econ_to_series("TREASURY_YIELD", interval="monthly", maturity="2year")
|
|
156
|
+
spread = ten_yr - two_yr
|
|
157
|
+
print(f"Yield curve spread (10yr - 2yr): {spread.iloc[-1]:.2f}% ({'inverted' if spread.iloc[-1] < 0 else 'normal'})")
|
|
158
|
+
```
|
|
@@ -1,154 +1,154 @@
|
|
|
1
|
-
# Forex (FX) & Cryptocurrency APIs
|
|
2
|
-
|
|
3
|
-
## Foreign Exchange Rates
|
|
4
|
-
|
|
5
|
-
### CURRENCY_EXCHANGE_RATE — Realtime Exchange Rate
|
|
6
|
-
|
|
7
|
-
Returns the realtime exchange rate for any currency pair (fiat or crypto).
|
|
8
|
-
|
|
9
|
-
**Required:** `from_currency`, `to_currency`
|
|
10
|
-
|
|
11
|
-
```python
|
|
12
|
-
# Fiat to fiat
|
|
13
|
-
data = av_get("CURRENCY_EXCHANGE_RATE", from_currency="USD", to_currency="EUR")
|
|
14
|
-
rate_info = data["Realtime Currency Exchange Rate"]
|
|
15
|
-
print(rate_info["5. Exchange Rate"]) # e.g., "0.92"
|
|
16
|
-
print(rate_info["6. Last Refreshed"])
|
|
17
|
-
print(rate_info["8. Bid Price"])
|
|
18
|
-
print(rate_info["9. Ask Price"])
|
|
19
|
-
# Full fields: "1. From_Currency Code", "2. From_Currency Name",
|
|
20
|
-
# "3. To_Currency Code", "4. To_Currency Name",
|
|
21
|
-
# "5. Exchange Rate", "6. Last Refreshed",
|
|
22
|
-
# "7. Time Zone", "8. Bid Price", "9. Ask Price"
|
|
23
|
-
|
|
24
|
-
# Crypto to fiat
|
|
25
|
-
data = av_get("CURRENCY_EXCHANGE_RATE", from_currency="BTC", to_currency="USD")
|
|
26
|
-
print(data["Realtime Currency Exchange Rate"]["5. Exchange Rate"])
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### FX_INTRADAY — Intraday Forex OHLCV (Premium)
|
|
30
|
-
|
|
31
|
-
**Required:** `from_symbol`, `to_symbol`, `interval` (`1min`, `5min`, `15min`, `30min`, `60min`)
|
|
32
|
-
|
|
33
|
-
**Optional:** `outputsize` (`compact`/`full`), `datatype`
|
|
34
|
-
|
|
35
|
-
```python
|
|
36
|
-
data = av_get("FX_INTRADAY", from_symbol="EUR", to_symbol="USD", interval="5min")
|
|
37
|
-
ts = data["Time Series FX (5min)"]
|
|
38
|
-
# Key: "2024-01-15 16:00:00" → {"1. open", "2. high", "3. low", "4. close"}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### FX_DAILY — Daily Forex OHLCV
|
|
42
|
-
|
|
43
|
-
**Required:** `from_symbol`, `to_symbol`
|
|
44
|
-
|
|
45
|
-
**Optional:** `outputsize` (`compact`/`full`), `datatype`
|
|
46
|
-
|
|
47
|
-
```python
|
|
48
|
-
data = av_get("FX_DAILY", from_symbol="EUR", to_symbol="USD", outputsize="full")
|
|
49
|
-
ts = data["Time Series FX (Daily)"]
|
|
50
|
-
# Key: "2024-01-15" → {"1. open", "2. high", "3. low", "4. close"}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### FX_WEEKLY — Weekly Forex OHLCV
|
|
54
|
-
|
|
55
|
-
```python
|
|
56
|
-
data = av_get("FX_WEEKLY", from_symbol="EUR", to_symbol="USD")
|
|
57
|
-
ts = data["Time Series FX (Weekly)"]
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### FX_MONTHLY — Monthly Forex OHLCV
|
|
61
|
-
|
|
62
|
-
```python
|
|
63
|
-
data = av_get("FX_MONTHLY", from_symbol="EUR", to_symbol="USD")
|
|
64
|
-
ts = data["Time Series FX (Monthly)"]
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Common Currency Codes
|
|
68
|
-
|
|
69
|
-
| Code | Currency |
|
|
70
|
-
|------|---------|
|
|
71
|
-
| USD | US Dollar |
|
|
72
|
-
| EUR | Euro |
|
|
73
|
-
| GBP | British Pound |
|
|
74
|
-
| JPY | Japanese Yen |
|
|
75
|
-
| CHF | Swiss Franc |
|
|
76
|
-
| CAD | Canadian Dollar |
|
|
77
|
-
| AUD | Australian Dollar |
|
|
78
|
-
| CNY | Chinese Yuan |
|
|
79
|
-
| HKD | Hong Kong Dollar |
|
|
80
|
-
| BTC | Bitcoin |
|
|
81
|
-
| ETH | Ethereum |
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## Cryptocurrency
|
|
86
|
-
|
|
87
|
-
### CRYPTO_INTRADAY — Crypto Intraday OHLCV (Premium)
|
|
88
|
-
|
|
89
|
-
**Required:** `symbol`, `market`, `interval` (`1min`, `5min`, `15min`, `30min`, `60min`)
|
|
90
|
-
|
|
91
|
-
**Optional:** `outputsize` (`compact`/`full`), `datatype`
|
|
92
|
-
|
|
93
|
-
```python
|
|
94
|
-
data = av_get("CRYPTO_INTRADAY", symbol="ETH", market="USD", interval="5min")
|
|
95
|
-
ts = data["Time Series Crypto (5min)"]
|
|
96
|
-
# Key: "2024-01-15 16:00:00" → {"1. open", "2. high", "3. low", "4. close", "5. volume"}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### DIGITAL_CURRENCY_DAILY — Daily Crypto OHLCV
|
|
100
|
-
|
|
101
|
-
**Required:** `symbol`, `market`
|
|
102
|
-
|
|
103
|
-
```python
|
|
104
|
-
data = av_get("DIGITAL_CURRENCY_DAILY", symbol="BTC", market="USD")
|
|
105
|
-
ts = data["Time Series (Digital Currency Daily)"]
|
|
106
|
-
# Key: "2024-01-15" → {
|
|
107
|
-
# "1a. open (USD)", "1b. open (USD)",
|
|
108
|
-
# "2a. high (USD)", "2b. high (USD)",
|
|
109
|
-
# "3a. low (USD)", "3b. low (USD)",
|
|
110
|
-
# "4a. close (USD)", "4b. close (USD)",
|
|
111
|
-
# "5. volume", "6. market cap (USD)"
|
|
112
|
-
# }
|
|
113
|
-
|
|
114
|
-
# Convert to DataFrame
|
|
115
|
-
import pandas as pd
|
|
116
|
-
df = pd.DataFrame.from_dict(ts, orient="index")
|
|
117
|
-
df.index = pd.to_datetime(df.index)
|
|
118
|
-
df = df.sort_index()
|
|
119
|
-
# Extract close price
|
|
120
|
-
df["close"] = pd.to_numeric(df["4a. close (USD)"])
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### DIGITAL_CURRENCY_WEEKLY — Weekly Crypto OHLCV
|
|
124
|
-
|
|
125
|
-
**Required:** `symbol`, `market`
|
|
126
|
-
|
|
127
|
-
```python
|
|
128
|
-
data = av_get("DIGITAL_CURRENCY_WEEKLY", symbol="BTC", market="USD")
|
|
129
|
-
ts = data["Time Series (Digital Currency Weekly)"]
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### DIGITAL_CURRENCY_MONTHLY — Monthly Crypto OHLCV
|
|
133
|
-
|
|
134
|
-
**Required:** `symbol`, `market`
|
|
135
|
-
|
|
136
|
-
```python
|
|
137
|
-
data = av_get("DIGITAL_CURRENCY_MONTHLY", symbol="ETH", market="USD")
|
|
138
|
-
ts = data["Time Series (Digital Currency Monthly)"]
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
## Common Crypto Symbols
|
|
142
|
-
|
|
143
|
-
| Symbol | Name |
|
|
144
|
-
|--------|------|
|
|
145
|
-
| BTC | Bitcoin |
|
|
146
|
-
| ETH | Ethereum |
|
|
147
|
-
| BNB | Binance Coin |
|
|
148
|
-
| XRP | Ripple |
|
|
149
|
-
| ADA | Cardano |
|
|
150
|
-
| SOL | Solana |
|
|
151
|
-
| DOGE | Dogecoin |
|
|
152
|
-
| AVAX | Avalanche |
|
|
153
|
-
| DOT | Polkadot |
|
|
154
|
-
| MATIC | Polygon |
|
|
1
|
+
# Forex (FX) & Cryptocurrency APIs
|
|
2
|
+
|
|
3
|
+
## Foreign Exchange Rates
|
|
4
|
+
|
|
5
|
+
### CURRENCY_EXCHANGE_RATE — Realtime Exchange Rate
|
|
6
|
+
|
|
7
|
+
Returns the realtime exchange rate for any currency pair (fiat or crypto).
|
|
8
|
+
|
|
9
|
+
**Required:** `from_currency`, `to_currency`
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
# Fiat to fiat
|
|
13
|
+
data = av_get("CURRENCY_EXCHANGE_RATE", from_currency="USD", to_currency="EUR")
|
|
14
|
+
rate_info = data["Realtime Currency Exchange Rate"]
|
|
15
|
+
print(rate_info["5. Exchange Rate"]) # e.g., "0.92"
|
|
16
|
+
print(rate_info["6. Last Refreshed"])
|
|
17
|
+
print(rate_info["8. Bid Price"])
|
|
18
|
+
print(rate_info["9. Ask Price"])
|
|
19
|
+
# Full fields: "1. From_Currency Code", "2. From_Currency Name",
|
|
20
|
+
# "3. To_Currency Code", "4. To_Currency Name",
|
|
21
|
+
# "5. Exchange Rate", "6. Last Refreshed",
|
|
22
|
+
# "7. Time Zone", "8. Bid Price", "9. Ask Price"
|
|
23
|
+
|
|
24
|
+
# Crypto to fiat
|
|
25
|
+
data = av_get("CURRENCY_EXCHANGE_RATE", from_currency="BTC", to_currency="USD")
|
|
26
|
+
print(data["Realtime Currency Exchange Rate"]["5. Exchange Rate"])
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### FX_INTRADAY — Intraday Forex OHLCV (Premium)
|
|
30
|
+
|
|
31
|
+
**Required:** `from_symbol`, `to_symbol`, `interval` (`1min`, `5min`, `15min`, `30min`, `60min`)
|
|
32
|
+
|
|
33
|
+
**Optional:** `outputsize` (`compact`/`full`), `datatype`
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
data = av_get("FX_INTRADAY", from_symbol="EUR", to_symbol="USD", interval="5min")
|
|
37
|
+
ts = data["Time Series FX (5min)"]
|
|
38
|
+
# Key: "2024-01-15 16:00:00" → {"1. open", "2. high", "3. low", "4. close"}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### FX_DAILY — Daily Forex OHLCV
|
|
42
|
+
|
|
43
|
+
**Required:** `from_symbol`, `to_symbol`
|
|
44
|
+
|
|
45
|
+
**Optional:** `outputsize` (`compact`/`full`), `datatype`
|
|
46
|
+
|
|
47
|
+
```python
|
|
48
|
+
data = av_get("FX_DAILY", from_symbol="EUR", to_symbol="USD", outputsize="full")
|
|
49
|
+
ts = data["Time Series FX (Daily)"]
|
|
50
|
+
# Key: "2024-01-15" → {"1. open", "2. high", "3. low", "4. close"}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### FX_WEEKLY — Weekly Forex OHLCV
|
|
54
|
+
|
|
55
|
+
```python
|
|
56
|
+
data = av_get("FX_WEEKLY", from_symbol="EUR", to_symbol="USD")
|
|
57
|
+
ts = data["Time Series FX (Weekly)"]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### FX_MONTHLY — Monthly Forex OHLCV
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
data = av_get("FX_MONTHLY", from_symbol="EUR", to_symbol="USD")
|
|
64
|
+
ts = data["Time Series FX (Monthly)"]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Common Currency Codes
|
|
68
|
+
|
|
69
|
+
| Code | Currency |
|
|
70
|
+
|------|---------|
|
|
71
|
+
| USD | US Dollar |
|
|
72
|
+
| EUR | Euro |
|
|
73
|
+
| GBP | British Pound |
|
|
74
|
+
| JPY | Japanese Yen |
|
|
75
|
+
| CHF | Swiss Franc |
|
|
76
|
+
| CAD | Canadian Dollar |
|
|
77
|
+
| AUD | Australian Dollar |
|
|
78
|
+
| CNY | Chinese Yuan |
|
|
79
|
+
| HKD | Hong Kong Dollar |
|
|
80
|
+
| BTC | Bitcoin |
|
|
81
|
+
| ETH | Ethereum |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Cryptocurrency
|
|
86
|
+
|
|
87
|
+
### CRYPTO_INTRADAY — Crypto Intraday OHLCV (Premium)
|
|
88
|
+
|
|
89
|
+
**Required:** `symbol`, `market`, `interval` (`1min`, `5min`, `15min`, `30min`, `60min`)
|
|
90
|
+
|
|
91
|
+
**Optional:** `outputsize` (`compact`/`full`), `datatype`
|
|
92
|
+
|
|
93
|
+
```python
|
|
94
|
+
data = av_get("CRYPTO_INTRADAY", symbol="ETH", market="USD", interval="5min")
|
|
95
|
+
ts = data["Time Series Crypto (5min)"]
|
|
96
|
+
# Key: "2024-01-15 16:00:00" → {"1. open", "2. high", "3. low", "4. close", "5. volume"}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### DIGITAL_CURRENCY_DAILY — Daily Crypto OHLCV
|
|
100
|
+
|
|
101
|
+
**Required:** `symbol`, `market`
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
data = av_get("DIGITAL_CURRENCY_DAILY", symbol="BTC", market="USD")
|
|
105
|
+
ts = data["Time Series (Digital Currency Daily)"]
|
|
106
|
+
# Key: "2024-01-15" → {
|
|
107
|
+
# "1a. open (USD)", "1b. open (USD)",
|
|
108
|
+
# "2a. high (USD)", "2b. high (USD)",
|
|
109
|
+
# "3a. low (USD)", "3b. low (USD)",
|
|
110
|
+
# "4a. close (USD)", "4b. close (USD)",
|
|
111
|
+
# "5. volume", "6. market cap (USD)"
|
|
112
|
+
# }
|
|
113
|
+
|
|
114
|
+
# Convert to DataFrame
|
|
115
|
+
import pandas as pd
|
|
116
|
+
df = pd.DataFrame.from_dict(ts, orient="index")
|
|
117
|
+
df.index = pd.to_datetime(df.index)
|
|
118
|
+
df = df.sort_index()
|
|
119
|
+
# Extract close price
|
|
120
|
+
df["close"] = pd.to_numeric(df["4a. close (USD)"])
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### DIGITAL_CURRENCY_WEEKLY — Weekly Crypto OHLCV
|
|
124
|
+
|
|
125
|
+
**Required:** `symbol`, `market`
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
data = av_get("DIGITAL_CURRENCY_WEEKLY", symbol="BTC", market="USD")
|
|
129
|
+
ts = data["Time Series (Digital Currency Weekly)"]
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### DIGITAL_CURRENCY_MONTHLY — Monthly Crypto OHLCV
|
|
133
|
+
|
|
134
|
+
**Required:** `symbol`, `market`
|
|
135
|
+
|
|
136
|
+
```python
|
|
137
|
+
data = av_get("DIGITAL_CURRENCY_MONTHLY", symbol="ETH", market="USD")
|
|
138
|
+
ts = data["Time Series (Digital Currency Monthly)"]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Common Crypto Symbols
|
|
142
|
+
|
|
143
|
+
| Symbol | Name |
|
|
144
|
+
|--------|------|
|
|
145
|
+
| BTC | Bitcoin |
|
|
146
|
+
| ETH | Ethereum |
|
|
147
|
+
| BNB | Binance Coin |
|
|
148
|
+
| XRP | Ripple |
|
|
149
|
+
| ADA | Cardano |
|
|
150
|
+
| SOL | Solana |
|
|
151
|
+
| DOGE | Dogecoin |
|
|
152
|
+
| AVAX | Avalanche |
|
|
153
|
+
| DOT | Polkadot |
|
|
154
|
+
| MATIC | Polygon |
|