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,138 +1,138 @@
|
|
|
1
|
-
# Alpha Intelligence™ APIs
|
|
2
|
-
|
|
3
|
-
## NEWS_SENTIMENT — Market News & Sentiment
|
|
4
|
-
|
|
5
|
-
Returns live/historical news articles with sentiment scores for tickers, sectors, and topics.
|
|
6
|
-
|
|
7
|
-
**Optional:**
|
|
8
|
-
- `tickers` — comma-separated ticker symbols (e.g., `IBM,AAPL`)
|
|
9
|
-
- `topics` — comma-separated topics: `blockchain`, `earnings`, `ipo`, `mergers_and_acquisitions`, `financial_markets`, `economy_fiscal`, `economy_monetary`, `economy_macro`, `energy_transportation`, `finance`, `life_sciences`, `manufacturing`, `real_estate`, `retail_wholesale`, `technology`
|
|
10
|
-
- `time_from` / `time_to` — format `YYYYMMDDTHHMM`
|
|
11
|
-
- `sort` — `LATEST`, `EARLIEST`, or `RELEVANCE`
|
|
12
|
-
- `limit` — max articles returned (default 50, max 1000)
|
|
13
|
-
|
|
14
|
-
```python
|
|
15
|
-
# Get news for specific ticker
|
|
16
|
-
data = av_get("NEWS_SENTIMENT", tickers="AAPL", sort="LATEST", limit=10)
|
|
17
|
-
articles = data["feed"]
|
|
18
|
-
|
|
19
|
-
for a in articles[:3]:
|
|
20
|
-
print(a["title"])
|
|
21
|
-
print(a["url"])
|
|
22
|
-
print(a["time_published"])
|
|
23
|
-
print(a["overall_sentiment_label"]) # "Bullish", "Bearish", "Neutral", etc.
|
|
24
|
-
print(a["overall_sentiment_score"]) # -1.0 to 1.0
|
|
25
|
-
for ts in a["ticker_sentiment"]:
|
|
26
|
-
if ts["ticker"] == "AAPL":
|
|
27
|
-
print(f" AAPL sentiment: {ts['ticker_sentiment_label']} ({ts['ticker_sentiment_score']})")
|
|
28
|
-
print(f" Relevance: {ts['relevance_score']}")
|
|
29
|
-
|
|
30
|
-
# Article fields: "title", "url", "time_published", "authors", "summary",
|
|
31
|
-
# "source", "source_domain", "topics", "overall_sentiment_score",
|
|
32
|
-
# "overall_sentiment_label", "ticker_sentiment"
|
|
33
|
-
# Sentiment labels: "Bearish", "Somewhat-Bearish", "Neutral", "Somewhat-Bullish", "Bullish"
|
|
34
|
-
|
|
35
|
-
# Get news by topic
|
|
36
|
-
data = av_get("NEWS_SENTIMENT", topics="earnings,technology", time_from="20240101T0000", limit=50)
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## EARNINGS_CALL_TRANSCRIPT — Earnings Call Transcript
|
|
40
|
-
|
|
41
|
-
Returns full earnings call transcripts (requires premium).
|
|
42
|
-
|
|
43
|
-
**Required:** `symbol`, `quarter` (format `YYYYQN`, e.g., `2023Q4`)
|
|
44
|
-
|
|
45
|
-
```python
|
|
46
|
-
data = av_get("EARNINGS_CALL_TRANSCRIPT", symbol="AAPL", quarter="2023Q4")
|
|
47
|
-
transcript = data["transcript"]
|
|
48
|
-
|
|
49
|
-
for segment in transcript[:5]:
|
|
50
|
-
print(f"[{segment['speaker']}]: {segment['content'][:200]}")
|
|
51
|
-
# Fields: "symbol", "quarter", "transcript" (list of {speaker, title, content})
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## TOP_GAINERS_LOSERS — Top Market Movers
|
|
55
|
-
|
|
56
|
-
Returns top 20 gainers, losers, and most actively traded US stocks for the current/most recent trading day.
|
|
57
|
-
|
|
58
|
-
```python
|
|
59
|
-
data = av_get("TOP_GAINERS_LOSERS")
|
|
60
|
-
|
|
61
|
-
for g in data["top_gainers"][:5]:
|
|
62
|
-
print(g["ticker"], g["price"], g["change_amount"], g["change_percentage"], g["volume"])
|
|
63
|
-
|
|
64
|
-
for l in data["top_losers"][:5]:
|
|
65
|
-
print(l["ticker"], l["price"], l["change_amount"], l["change_percentage"])
|
|
66
|
-
|
|
67
|
-
# Fields: "ticker", "price", "change_amount", "change_percentage", "volume"
|
|
68
|
-
# Also: data["most_actively_traded"]
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## INSIDER_TRANSACTIONS — Insider Trading Data
|
|
72
|
-
|
|
73
|
-
Returns insider transactions (Form 4) for a given company (requires premium).
|
|
74
|
-
|
|
75
|
-
**Required:** `symbol`
|
|
76
|
-
|
|
77
|
-
```python
|
|
78
|
-
data = av_get("INSIDER_TRANSACTIONS", symbol="AAPL")
|
|
79
|
-
transactions = data["data"]
|
|
80
|
-
|
|
81
|
-
for t in transactions[:5]:
|
|
82
|
-
print(
|
|
83
|
-
t["transaction_date"],
|
|
84
|
-
t["executive"], # insider name
|
|
85
|
-
t["executive_title"], # e.g., "CEO"
|
|
86
|
-
t["action"], # "Buy" or "Sell"
|
|
87
|
-
t["shares"],
|
|
88
|
-
t["share_price"],
|
|
89
|
-
t["total_value"]
|
|
90
|
-
)
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## ANALYTICS_FIXED_WINDOW — Portfolio Analytics (Fixed Window)
|
|
94
|
-
|
|
95
|
-
Returns mean return, variance, covariance, correlation, and alpha/beta for a set of tickers over a fixed historical window.
|
|
96
|
-
|
|
97
|
-
**Required:**
|
|
98
|
-
- `SYMBOLS` — comma-separated tickers (e.g., `AAPL,MSFT,IBM`)
|
|
99
|
-
- `RANGE` — date range format: `2year`, `6month`, `30day`, or `YYYY-MM-DD&YYYY-MM-DD`
|
|
100
|
-
- `INTERVAL` — `DAILY`, `WEEKLY`, or `MONTHLY`
|
|
101
|
-
- `OHLC` — `close`, `open`, `high`, or `low`
|
|
102
|
-
- `CALCULATIONS` — comma-separated: `MEAN`, `STDDEV`, `MAX_DRAWDOWN`, `CORRELATION`, `COVARIANCE`, `VARIANCE`, `CUMULATIVE_RETURN`, `MIN`, `MAX`, `MEDIAN`, `HISTOGRAM`
|
|
103
|
-
|
|
104
|
-
```python
|
|
105
|
-
data = av_get(
|
|
106
|
-
"ANALYTICS_FIXED_WINDOW",
|
|
107
|
-
SYMBOLS="AAPL,MSFT,IBM",
|
|
108
|
-
RANGE="1year",
|
|
109
|
-
INTERVAL="DAILY",
|
|
110
|
-
OHLC="close",
|
|
111
|
-
CALCULATIONS="MEAN,STDDEV,CORRELATION,MAX_DRAWDOWN"
|
|
112
|
-
)
|
|
113
|
-
payload = data["payload"]
|
|
114
|
-
print(payload["MEAN"]) # {"AAPL": 0.0012, "MSFT": 0.0009, ...}
|
|
115
|
-
print(payload["STDDEV"])
|
|
116
|
-
print(payload["CORRELATION"]) # correlation matrix
|
|
117
|
-
print(payload["MAX_DRAWDOWN"])
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## ANALYTICS_SLIDING_WINDOW — Portfolio Analytics (Sliding Window)
|
|
121
|
-
|
|
122
|
-
Same as fixed window but with rolling calculations over time.
|
|
123
|
-
|
|
124
|
-
**Required:** Same as fixed window, plus:
|
|
125
|
-
- `WINDOW_SIZE` — number of periods (e.g., `20` for 20-day rolling window)
|
|
126
|
-
|
|
127
|
-
```python
|
|
128
|
-
data = av_get(
|
|
129
|
-
"ANALYTICS_SLIDING_WINDOW",
|
|
130
|
-
SYMBOLS="AAPL,MSFT",
|
|
131
|
-
RANGE="1year",
|
|
132
|
-
INTERVAL="DAILY",
|
|
133
|
-
OHLC="close",
|
|
134
|
-
CALCULATIONS="MEAN,STDDEV",
|
|
135
|
-
WINDOW_SIZE=20
|
|
136
|
-
)
|
|
137
|
-
# Returns time series of rolling calculations
|
|
138
|
-
```
|
|
1
|
+
# Alpha Intelligence™ APIs
|
|
2
|
+
|
|
3
|
+
## NEWS_SENTIMENT — Market News & Sentiment
|
|
4
|
+
|
|
5
|
+
Returns live/historical news articles with sentiment scores for tickers, sectors, and topics.
|
|
6
|
+
|
|
7
|
+
**Optional:**
|
|
8
|
+
- `tickers` — comma-separated ticker symbols (e.g., `IBM,AAPL`)
|
|
9
|
+
- `topics` — comma-separated topics: `blockchain`, `earnings`, `ipo`, `mergers_and_acquisitions`, `financial_markets`, `economy_fiscal`, `economy_monetary`, `economy_macro`, `energy_transportation`, `finance`, `life_sciences`, `manufacturing`, `real_estate`, `retail_wholesale`, `technology`
|
|
10
|
+
- `time_from` / `time_to` — format `YYYYMMDDTHHMM`
|
|
11
|
+
- `sort` — `LATEST`, `EARLIEST`, or `RELEVANCE`
|
|
12
|
+
- `limit` — max articles returned (default 50, max 1000)
|
|
13
|
+
|
|
14
|
+
```python
|
|
15
|
+
# Get news for specific ticker
|
|
16
|
+
data = av_get("NEWS_SENTIMENT", tickers="AAPL", sort="LATEST", limit=10)
|
|
17
|
+
articles = data["feed"]
|
|
18
|
+
|
|
19
|
+
for a in articles[:3]:
|
|
20
|
+
print(a["title"])
|
|
21
|
+
print(a["url"])
|
|
22
|
+
print(a["time_published"])
|
|
23
|
+
print(a["overall_sentiment_label"]) # "Bullish", "Bearish", "Neutral", etc.
|
|
24
|
+
print(a["overall_sentiment_score"]) # -1.0 to 1.0
|
|
25
|
+
for ts in a["ticker_sentiment"]:
|
|
26
|
+
if ts["ticker"] == "AAPL":
|
|
27
|
+
print(f" AAPL sentiment: {ts['ticker_sentiment_label']} ({ts['ticker_sentiment_score']})")
|
|
28
|
+
print(f" Relevance: {ts['relevance_score']}")
|
|
29
|
+
|
|
30
|
+
# Article fields: "title", "url", "time_published", "authors", "summary",
|
|
31
|
+
# "source", "source_domain", "topics", "overall_sentiment_score",
|
|
32
|
+
# "overall_sentiment_label", "ticker_sentiment"
|
|
33
|
+
# Sentiment labels: "Bearish", "Somewhat-Bearish", "Neutral", "Somewhat-Bullish", "Bullish"
|
|
34
|
+
|
|
35
|
+
# Get news by topic
|
|
36
|
+
data = av_get("NEWS_SENTIMENT", topics="earnings,technology", time_from="20240101T0000", limit=50)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## EARNINGS_CALL_TRANSCRIPT — Earnings Call Transcript
|
|
40
|
+
|
|
41
|
+
Returns full earnings call transcripts (requires premium).
|
|
42
|
+
|
|
43
|
+
**Required:** `symbol`, `quarter` (format `YYYYQN`, e.g., `2023Q4`)
|
|
44
|
+
|
|
45
|
+
```python
|
|
46
|
+
data = av_get("EARNINGS_CALL_TRANSCRIPT", symbol="AAPL", quarter="2023Q4")
|
|
47
|
+
transcript = data["transcript"]
|
|
48
|
+
|
|
49
|
+
for segment in transcript[:5]:
|
|
50
|
+
print(f"[{segment['speaker']}]: {segment['content'][:200]}")
|
|
51
|
+
# Fields: "symbol", "quarter", "transcript" (list of {speaker, title, content})
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## TOP_GAINERS_LOSERS — Top Market Movers
|
|
55
|
+
|
|
56
|
+
Returns top 20 gainers, losers, and most actively traded US stocks for the current/most recent trading day.
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
data = av_get("TOP_GAINERS_LOSERS")
|
|
60
|
+
|
|
61
|
+
for g in data["top_gainers"][:5]:
|
|
62
|
+
print(g["ticker"], g["price"], g["change_amount"], g["change_percentage"], g["volume"])
|
|
63
|
+
|
|
64
|
+
for l in data["top_losers"][:5]:
|
|
65
|
+
print(l["ticker"], l["price"], l["change_amount"], l["change_percentage"])
|
|
66
|
+
|
|
67
|
+
# Fields: "ticker", "price", "change_amount", "change_percentage", "volume"
|
|
68
|
+
# Also: data["most_actively_traded"]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## INSIDER_TRANSACTIONS — Insider Trading Data
|
|
72
|
+
|
|
73
|
+
Returns insider transactions (Form 4) for a given company (requires premium).
|
|
74
|
+
|
|
75
|
+
**Required:** `symbol`
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
data = av_get("INSIDER_TRANSACTIONS", symbol="AAPL")
|
|
79
|
+
transactions = data["data"]
|
|
80
|
+
|
|
81
|
+
for t in transactions[:5]:
|
|
82
|
+
print(
|
|
83
|
+
t["transaction_date"],
|
|
84
|
+
t["executive"], # insider name
|
|
85
|
+
t["executive_title"], # e.g., "CEO"
|
|
86
|
+
t["action"], # "Buy" or "Sell"
|
|
87
|
+
t["shares"],
|
|
88
|
+
t["share_price"],
|
|
89
|
+
t["total_value"]
|
|
90
|
+
)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## ANALYTICS_FIXED_WINDOW — Portfolio Analytics (Fixed Window)
|
|
94
|
+
|
|
95
|
+
Returns mean return, variance, covariance, correlation, and alpha/beta for a set of tickers over a fixed historical window.
|
|
96
|
+
|
|
97
|
+
**Required:**
|
|
98
|
+
- `SYMBOLS` — comma-separated tickers (e.g., `AAPL,MSFT,IBM`)
|
|
99
|
+
- `RANGE` — date range format: `2year`, `6month`, `30day`, or `YYYY-MM-DD&YYYY-MM-DD`
|
|
100
|
+
- `INTERVAL` — `DAILY`, `WEEKLY`, or `MONTHLY`
|
|
101
|
+
- `OHLC` — `close`, `open`, `high`, or `low`
|
|
102
|
+
- `CALCULATIONS` — comma-separated: `MEAN`, `STDDEV`, `MAX_DRAWDOWN`, `CORRELATION`, `COVARIANCE`, `VARIANCE`, `CUMULATIVE_RETURN`, `MIN`, `MAX`, `MEDIAN`, `HISTOGRAM`
|
|
103
|
+
|
|
104
|
+
```python
|
|
105
|
+
data = av_get(
|
|
106
|
+
"ANALYTICS_FIXED_WINDOW",
|
|
107
|
+
SYMBOLS="AAPL,MSFT,IBM",
|
|
108
|
+
RANGE="1year",
|
|
109
|
+
INTERVAL="DAILY",
|
|
110
|
+
OHLC="close",
|
|
111
|
+
CALCULATIONS="MEAN,STDDEV,CORRELATION,MAX_DRAWDOWN"
|
|
112
|
+
)
|
|
113
|
+
payload = data["payload"]
|
|
114
|
+
print(payload["MEAN"]) # {"AAPL": 0.0012, "MSFT": 0.0009, ...}
|
|
115
|
+
print(payload["STDDEV"])
|
|
116
|
+
print(payload["CORRELATION"]) # correlation matrix
|
|
117
|
+
print(payload["MAX_DRAWDOWN"])
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## ANALYTICS_SLIDING_WINDOW — Portfolio Analytics (Sliding Window)
|
|
121
|
+
|
|
122
|
+
Same as fixed window but with rolling calculations over time.
|
|
123
|
+
|
|
124
|
+
**Required:** Same as fixed window, plus:
|
|
125
|
+
- `WINDOW_SIZE` — number of periods (e.g., `20` for 20-day rolling window)
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
data = av_get(
|
|
129
|
+
"ANALYTICS_SLIDING_WINDOW",
|
|
130
|
+
SYMBOLS="AAPL,MSFT",
|
|
131
|
+
RANGE="1year",
|
|
132
|
+
INTERVAL="DAILY",
|
|
133
|
+
OHLC="close",
|
|
134
|
+
CALCULATIONS="MEAN,STDDEV",
|
|
135
|
+
WINDOW_SIZE=20
|
|
136
|
+
)
|
|
137
|
+
# Returns time series of rolling calculations
|
|
138
|
+
```
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
# Options Data APIs (Premium)
|
|
2
|
-
|
|
3
|
-
Both options endpoints require a premium Alpha Vantage subscription.
|
|
4
|
-
|
|
5
|
-
## REALTIME_OPTIONS — Real-time Options Chain
|
|
6
|
-
|
|
7
|
-
Returns real-time options contracts for a given symbol.
|
|
8
|
-
|
|
9
|
-
**Required:** `symbol`
|
|
10
|
-
|
|
11
|
-
**Optional:**
|
|
12
|
-
- `contract` — specific contract ID (e.g., `AAPL240119C00150000`) to get a single contract
|
|
13
|
-
- `datatype` — `json` or `csv`
|
|
14
|
-
|
|
15
|
-
```python
|
|
16
|
-
data = av_get("REALTIME_OPTIONS", symbol="AAPL")
|
|
17
|
-
options = data["data"]
|
|
18
|
-
|
|
19
|
-
for contract in options[:5]:
|
|
20
|
-
print(
|
|
21
|
-
contract["contractID"], # e.g., "AAPL240119C00150000"
|
|
22
|
-
contract["strike"], # "150.00"
|
|
23
|
-
contract["expiration"], # "2024-01-19"
|
|
24
|
-
contract["type"], # "call" or "put"
|
|
25
|
-
contract["last"], # last price
|
|
26
|
-
contract["bid"],
|
|
27
|
-
contract["ask"],
|
|
28
|
-
contract["volume"],
|
|
29
|
-
contract["open_interest"],
|
|
30
|
-
contract["implied_volatility"],
|
|
31
|
-
contract["delta"],
|
|
32
|
-
contract["gamma"],
|
|
33
|
-
contract["theta"],
|
|
34
|
-
contract["vega"],
|
|
35
|
-
contract["rho"]
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
# Get a specific contract
|
|
39
|
-
data = av_get("REALTIME_OPTIONS", symbol="AAPL", contract="AAPL240119C00150000")
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## HISTORICAL_OPTIONS — Historical Options Chain
|
|
43
|
-
|
|
44
|
-
Returns historical end-of-day options data for a specific date.
|
|
45
|
-
|
|
46
|
-
**Required:** `symbol`
|
|
47
|
-
|
|
48
|
-
**Optional:**
|
|
49
|
-
- `date` — format `YYYY-MM-DD` (up to 2 years of history)
|
|
50
|
-
- `datatype` — `json` or `csv`
|
|
51
|
-
|
|
52
|
-
```python
|
|
53
|
-
# Get options chain for a specific historical date
|
|
54
|
-
data = av_get("HISTORICAL_OPTIONS", symbol="AAPL", date="2023-12-15")
|
|
55
|
-
options = data["data"]
|
|
56
|
-
|
|
57
|
-
for contract in options[:5]:
|
|
58
|
-
print(
|
|
59
|
-
contract["contractID"],
|
|
60
|
-
contract["strike"],
|
|
61
|
-
contract["expiration"],
|
|
62
|
-
contract["type"], # "call" or "put"
|
|
63
|
-
contract["last"],
|
|
64
|
-
contract["mark"], # mark price
|
|
65
|
-
contract["bid"],
|
|
66
|
-
contract["ask"],
|
|
67
|
-
contract["volume"],
|
|
68
|
-
contract["open_interest"],
|
|
69
|
-
contract["date"], # the date of this snapshot
|
|
70
|
-
contract["implied_volatility"],
|
|
71
|
-
contract["delta"],
|
|
72
|
-
contract["gamma"],
|
|
73
|
-
contract["theta"],
|
|
74
|
-
contract["vega"],
|
|
75
|
-
contract["rho"]
|
|
76
|
-
)
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Filter Options by Expiration/Type
|
|
80
|
-
|
|
81
|
-
```python
|
|
82
|
-
import pandas as pd
|
|
83
|
-
|
|
84
|
-
data = av_get("HISTORICAL_OPTIONS", symbol="AAPL", date="2023-12-15")
|
|
85
|
-
df = pd.DataFrame(data["data"])
|
|
86
|
-
df["strike"] = pd.to_numeric(df["strike"])
|
|
87
|
-
df["expiration"] = pd.to_datetime(df["expiration"])
|
|
88
|
-
|
|
89
|
-
# Filter calls expiring in January 2024
|
|
90
|
-
calls_jan = df[(df["type"] == "call") & (df["expiration"].dt.month == 1) & (df["expiration"].dt.year == 2024)]
|
|
91
|
-
calls_jan = calls_jan.sort_values("strike")
|
|
92
|
-
print(calls_jan[["contractID", "strike", "bid", "ask", "implied_volatility", "delta"]].head(10))
|
|
93
|
-
```
|
|
1
|
+
# Options Data APIs (Premium)
|
|
2
|
+
|
|
3
|
+
Both options endpoints require a premium Alpha Vantage subscription.
|
|
4
|
+
|
|
5
|
+
## REALTIME_OPTIONS — Real-time Options Chain
|
|
6
|
+
|
|
7
|
+
Returns real-time options contracts for a given symbol.
|
|
8
|
+
|
|
9
|
+
**Required:** `symbol`
|
|
10
|
+
|
|
11
|
+
**Optional:**
|
|
12
|
+
- `contract` — specific contract ID (e.g., `AAPL240119C00150000`) to get a single contract
|
|
13
|
+
- `datatype` — `json` or `csv`
|
|
14
|
+
|
|
15
|
+
```python
|
|
16
|
+
data = av_get("REALTIME_OPTIONS", symbol="AAPL")
|
|
17
|
+
options = data["data"]
|
|
18
|
+
|
|
19
|
+
for contract in options[:5]:
|
|
20
|
+
print(
|
|
21
|
+
contract["contractID"], # e.g., "AAPL240119C00150000"
|
|
22
|
+
contract["strike"], # "150.00"
|
|
23
|
+
contract["expiration"], # "2024-01-19"
|
|
24
|
+
contract["type"], # "call" or "put"
|
|
25
|
+
contract["last"], # last price
|
|
26
|
+
contract["bid"],
|
|
27
|
+
contract["ask"],
|
|
28
|
+
contract["volume"],
|
|
29
|
+
contract["open_interest"],
|
|
30
|
+
contract["implied_volatility"],
|
|
31
|
+
contract["delta"],
|
|
32
|
+
contract["gamma"],
|
|
33
|
+
contract["theta"],
|
|
34
|
+
contract["vega"],
|
|
35
|
+
contract["rho"]
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
# Get a specific contract
|
|
39
|
+
data = av_get("REALTIME_OPTIONS", symbol="AAPL", contract="AAPL240119C00150000")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## HISTORICAL_OPTIONS — Historical Options Chain
|
|
43
|
+
|
|
44
|
+
Returns historical end-of-day options data for a specific date.
|
|
45
|
+
|
|
46
|
+
**Required:** `symbol`
|
|
47
|
+
|
|
48
|
+
**Optional:**
|
|
49
|
+
- `date` — format `YYYY-MM-DD` (up to 2 years of history)
|
|
50
|
+
- `datatype` — `json` or `csv`
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
# Get options chain for a specific historical date
|
|
54
|
+
data = av_get("HISTORICAL_OPTIONS", symbol="AAPL", date="2023-12-15")
|
|
55
|
+
options = data["data"]
|
|
56
|
+
|
|
57
|
+
for contract in options[:5]:
|
|
58
|
+
print(
|
|
59
|
+
contract["contractID"],
|
|
60
|
+
contract["strike"],
|
|
61
|
+
contract["expiration"],
|
|
62
|
+
contract["type"], # "call" or "put"
|
|
63
|
+
contract["last"],
|
|
64
|
+
contract["mark"], # mark price
|
|
65
|
+
contract["bid"],
|
|
66
|
+
contract["ask"],
|
|
67
|
+
contract["volume"],
|
|
68
|
+
contract["open_interest"],
|
|
69
|
+
contract["date"], # the date of this snapshot
|
|
70
|
+
contract["implied_volatility"],
|
|
71
|
+
contract["delta"],
|
|
72
|
+
contract["gamma"],
|
|
73
|
+
contract["theta"],
|
|
74
|
+
contract["vega"],
|
|
75
|
+
contract["rho"]
|
|
76
|
+
)
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Filter Options by Expiration/Type
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
import pandas as pd
|
|
83
|
+
|
|
84
|
+
data = av_get("HISTORICAL_OPTIONS", symbol="AAPL", date="2023-12-15")
|
|
85
|
+
df = pd.DataFrame(data["data"])
|
|
86
|
+
df["strike"] = pd.to_numeric(df["strike"])
|
|
87
|
+
df["expiration"] = pd.to_datetime(df["expiration"])
|
|
88
|
+
|
|
89
|
+
# Filter calls expiring in January 2024
|
|
90
|
+
calls_jan = df[(df["type"] == "call") & (df["expiration"].dt.month == 1) & (df["expiration"].dt.year == 2024)]
|
|
91
|
+
calls_jan = calls_jan.sort_values("strike")
|
|
92
|
+
print(calls_jan[["contractID", "strike", "bid", "ask", "implied_volatility", "delta"]].head(10))
|
|
93
|
+
```
|