superkit-mcp-server 1.0.2 → 1.1.0
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 +67 -63
- package/SUPERKIT.md +168 -168
- package/agents/code-archaeologist.md +106 -0
- package/agents/coder.md +90 -90
- package/agents/data-engineer.md +28 -28
- package/agents/devops-engineer.md +242 -0
- package/agents/git-manager.md +203 -203
- package/agents/orchestrator.md +4 -0
- package/agents/penetration-tester.md +188 -0
- package/agents/performance-optimizer.md +187 -0
- package/agents/planner.md +270 -270
- package/agents/qa-automation-engineer.md +103 -0
- package/agents/quant-developer.md +32 -28
- package/agents/reviewer.md +100 -100
- package/agents/scout.md +222 -222
- package/agents/tester.md +274 -274
- package/agents/ui-designer.md +208 -208
- package/build/index.js +53 -1
- 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/package.json +33 -33
- package/skills/meta/README.md +30 -30
- package/skills/meta/api-design/SKILL.md +134 -134
- package/skills/meta/code-review/SKILL.md +44 -37
- 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 -0
- package/skills/tech/alpha-vantage/references/commodities.md +153 -0
- package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -0
- package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -0
- package/skills/tech/alpha-vantage/references/fundamentals.md +223 -0
- package/skills/tech/alpha-vantage/references/intelligence.md +138 -0
- package/skills/tech/alpha-vantage/references/options.md +93 -0
- package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -0
- package/skills/tech/alpha-vantage/references/time-series.md +157 -0
- package/skills/tech/financial-modeling/SKILL.md +18 -0
- package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -0
- package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -0
- package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -0
- package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -0
- package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1211 -0
- package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -0
- package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -0
- package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -0
- package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -0
- package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -0
- package/skills/tech/intelligent-routing/SKILL.md +5 -5
- package/workflows/README.md +191 -191
- package/workflows/adr.md +174 -174
- package/workflows/changelog.md +74 -74
- package/workflows/compound.md +323 -323
- package/workflows/compound_health.md +74 -74
- package/workflows/create-agent-skill.md +139 -139
- package/workflows/cycle.md +144 -144
- package/workflows/deploy-docs.md +84 -84
- package/workflows/development-rules.md +37 -37
- package/workflows/doc.md +95 -95
- package/workflows/documentation-management.md +29 -29
- package/workflows/explore.md +146 -146
- package/workflows/generate_command.md +106 -106
- package/workflows/heal-skill.md +97 -97
- package/workflows/housekeeping.md +229 -229
- package/workflows/kit-setup.md +102 -102
- package/workflows/map-codebase.md +78 -0
- package/workflows/orchestration-protocol.md +38 -38
- package/workflows/plan-compound.md +439 -433
- package/workflows/plan_review.md +269 -248
- package/workflows/primary-workflow.md +32 -32
- package/workflows/promote_pattern.md +86 -86
- package/workflows/release-docs.md +82 -82
- package/workflows/report-bug.md +135 -135
- package/workflows/reproduce-bug.md +118 -118
- package/workflows/resolve_pr.md +133 -133
- package/workflows/resolve_todo.md +128 -128
- package/workflows/review-compound.md +376 -359
- package/workflows/skill-review.md +127 -127
- package/workflows/specs.md +257 -257
- package/workflows/triage-sprint.md +102 -102
- package/workflows/triage.md +152 -152
- package/workflows/work.md +399 -399
- package/workflows/xcode-test.md +93 -93
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
# Technical Indicators APIs
|
|
2
|
+
|
|
3
|
+
All technical indicators work with equities, forex pairs, and crypto. Calculated from adjusted time series data.
|
|
4
|
+
|
|
5
|
+
## Common Parameters
|
|
6
|
+
|
|
7
|
+
| Parameter | Required | Values |
|
|
8
|
+
|-----------|----------|--------|
|
|
9
|
+
| `symbol` | Yes | Ticker (e.g., `IBM`), forex pair (`USDEUR`), or crypto pair (`BTCUSD`) |
|
|
10
|
+
| `interval` | Yes | `1min`, `5min`, `15min`, `30min`, `60min`, `daily`, `weekly`, `monthly` |
|
|
11
|
+
| `time_period` | Most | Number of periods (e.g., `14`, `20`, `50`, `200`) |
|
|
12
|
+
| `series_type` | Most | `close`, `open`, `high`, `low` |
|
|
13
|
+
| `month` | No | `YYYY-MM` for specific historical month |
|
|
14
|
+
| `datatype` | No | `json` or `csv` |
|
|
15
|
+
|
|
16
|
+
## Response Format
|
|
17
|
+
|
|
18
|
+
All indicators return a metadata object and a time series dictionary:
|
|
19
|
+
|
|
20
|
+
```python
|
|
21
|
+
data = av_get("SMA", symbol="IBM", interval="daily", time_period=20, series_type="close")
|
|
22
|
+
ts = data["Technical Analysis: SMA"]
|
|
23
|
+
# Key: "2024-01-15" → {"SMA": "185.4200"}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Moving Averages
|
|
27
|
+
|
|
28
|
+
### SMA — Simple Moving Average
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
data = av_get("SMA", symbol="AAPL", interval="daily", time_period=20, series_type="close")
|
|
32
|
+
ts = data["Technical Analysis: SMA"]
|
|
33
|
+
print(sorted(ts.keys())[-1], ts[sorted(ts.keys())[-1]]["SMA"])
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### EMA — Exponential Moving Average
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
data = av_get("EMA", symbol="AAPL", interval="daily", time_period=20, series_type="close")
|
|
40
|
+
ts = data["Technical Analysis: EMA"] # → {"EMA": "..."}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### WMA — Weighted Moving Average
|
|
44
|
+
|
|
45
|
+
```python
|
|
46
|
+
data = av_get("WMA", symbol="IBM", interval="daily", time_period=20, series_type="close")
|
|
47
|
+
ts = data["Technical Analysis: WMA"] # → {"WMA": "..."}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### DEMA — Double Exponential Moving Average
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
data = av_get("DEMA", symbol="IBM", interval="daily", time_period=20, series_type="close")
|
|
54
|
+
ts = data["Technical Analysis: DEMA"]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### TEMA — Triple Exponential Moving Average
|
|
58
|
+
|
|
59
|
+
```python
|
|
60
|
+
data = av_get("TEMA", symbol="IBM", interval="daily", time_period=20, series_type="close")
|
|
61
|
+
ts = data["Technical Analysis: TEMA"]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### KAMA — Kaufman Adaptive Moving Average
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
data = av_get("KAMA", symbol="IBM", interval="daily", time_period=20, series_type="close")
|
|
68
|
+
ts = data["Technical Analysis: KAMA"]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### T3 — Triple Smooth Exponential Moving Average
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
data = av_get("T3", symbol="IBM", interval="daily", time_period=5, series_type="close")
|
|
75
|
+
ts = data["Technical Analysis: T3"]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### VWAP — Volume Weighted Average Price (Premium, intraday only)
|
|
79
|
+
|
|
80
|
+
**Required:** `symbol`, `interval` (intraday only: `1min`–`60min`)
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
data = av_get("VWAP", symbol="AAPL", interval="5min")
|
|
84
|
+
ts = data["Technical Analysis: VWAP"] # → {"VWAP": "..."}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Momentum Indicators
|
|
90
|
+
|
|
91
|
+
### MACD — Moving Average Convergence/Divergence (Premium)
|
|
92
|
+
|
|
93
|
+
**Optional:** `fastperiod` (default 12), `slowperiod` (default 26), `signalperiod` (default 9), `series_type`
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
data = av_get("MACD", symbol="AAPL", interval="daily", series_type="close",
|
|
97
|
+
fastperiod=12, slowperiod=26, signalperiod=9)
|
|
98
|
+
ts = data["Technical Analysis: MACD"]
|
|
99
|
+
latest_date = sorted(ts.keys())[-1]
|
|
100
|
+
print(ts[latest_date]) # {"MACD": "...", "MACD_Signal": "...", "MACD_Hist": "..."}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### RSI — Relative Strength Index
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
data = av_get("RSI", symbol="AAPL", interval="daily", time_period=14, series_type="close")
|
|
107
|
+
ts = data["Technical Analysis: RSI"] # → {"RSI": "..."}
|
|
108
|
+
# Overbought >70, Oversold <30
|
|
109
|
+
latest_date = sorted(ts.keys())[-1]
|
|
110
|
+
print(f"RSI: {ts[latest_date]['RSI']}")
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### STOCH — Stochastic Oscillator
|
|
114
|
+
|
|
115
|
+
**Optional:** `fastkperiod` (default 5), `slowkperiod` (default 3), `slowdperiod` (default 3), `slowkmatype`, `slowdmatype`
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
data = av_get("STOCH", symbol="IBM", interval="daily")
|
|
119
|
+
ts = data["Technical Analysis: STOCH"] # → {"SlowK": "...", "SlowD": "..."}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### STOCHF — Stochastic Fast
|
|
123
|
+
|
|
124
|
+
```python
|
|
125
|
+
data = av_get("STOCHF", symbol="IBM", interval="daily")
|
|
126
|
+
ts = data["Technical Analysis: STOCHF"] # → {"FastK": "...", "FastD": "..."}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### STOCHRSI — Stochastic Relative Strength Index
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
data = av_get("STOCHRSI", symbol="IBM", interval="daily", time_period=14, series_type="close")
|
|
133
|
+
ts = data["Technical Analysis: STOCHRSI"] # → {"FastK": "...", "FastD": "..."}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### WILLR — Williams %R
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
data = av_get("WILLR", symbol="IBM", interval="daily", time_period=14)
|
|
140
|
+
ts = data["Technical Analysis: WILLR"] # → {"WILLR": "..."}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### MOM — Momentum
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
data = av_get("MOM", symbol="IBM", interval="daily", time_period=10, series_type="close")
|
|
147
|
+
ts = data["Technical Analysis: MOM"]
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### ROC — Rate of Change
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
data = av_get("ROC", symbol="IBM", interval="daily", time_period=10, series_type="close")
|
|
154
|
+
ts = data["Technical Analysis: ROC"]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### CCI — Commodity Channel Index
|
|
158
|
+
|
|
159
|
+
**Required:** `symbol`, `interval`, `time_period` (no `series_type`)
|
|
160
|
+
|
|
161
|
+
```python
|
|
162
|
+
data = av_get("CCI", symbol="IBM", interval="daily", time_period=20)
|
|
163
|
+
ts = data["Technical Analysis: CCI"]
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### CMO — Chande Momentum Oscillator
|
|
167
|
+
|
|
168
|
+
```python
|
|
169
|
+
data = av_get("CMO", symbol="IBM", interval="daily", time_period=14, series_type="close")
|
|
170
|
+
ts = data["Technical Analysis: CMO"]
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### PPO — Percentage Price Oscillator
|
|
174
|
+
|
|
175
|
+
**Optional:** `fastperiod`, `slowperiod`, `matype`
|
|
176
|
+
|
|
177
|
+
```python
|
|
178
|
+
data = av_get("PPO", symbol="IBM", interval="daily", series_type="close")
|
|
179
|
+
ts = data["Technical Analysis: PPO"]
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### BOP — Balance of Power
|
|
183
|
+
|
|
184
|
+
**Required:** `symbol`, `interval` (no `time_period` or `series_type`)
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
data = av_get("BOP", symbol="IBM", interval="daily")
|
|
188
|
+
ts = data["Technical Analysis: BOP"]
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Trend Indicators
|
|
194
|
+
|
|
195
|
+
### ADX — Average Directional Movement Index
|
|
196
|
+
|
|
197
|
+
**Required:** `symbol`, `interval`, `time_period` (no `series_type`)
|
|
198
|
+
|
|
199
|
+
```python
|
|
200
|
+
data = av_get("ADX", symbol="IBM", interval="daily", time_period=14)
|
|
201
|
+
ts = data["Technical Analysis: ADX"] # → {"ADX": "..."}
|
|
202
|
+
# ADX > 25 = strong trend
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### AROON — Aroon
|
|
206
|
+
|
|
207
|
+
**Required:** `symbol`, `interval`, `time_period` (no `series_type`)
|
|
208
|
+
|
|
209
|
+
```python
|
|
210
|
+
data = av_get("AROON", symbol="IBM", interval="daily", time_period=25)
|
|
211
|
+
ts = data["Technical Analysis: AROON"] # → {"Aroon Down": "...", "Aroon Up": "..."}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### BBANDS — Bollinger Bands
|
|
215
|
+
|
|
216
|
+
**Optional:** `nbdevup` (default 2), `nbdevdn` (default 2), `matype` (default 0=SMA)
|
|
217
|
+
|
|
218
|
+
```python
|
|
219
|
+
data = av_get("BBANDS", symbol="AAPL", interval="daily", time_period=20,
|
|
220
|
+
series_type="close", nbdevup=2, nbdevdn=2)
|
|
221
|
+
ts = data["Technical Analysis: BBANDS"]
|
|
222
|
+
latest = ts[sorted(ts.keys())[-1]]
|
|
223
|
+
print(latest["Real Upper Band"], latest["Real Middle Band"], latest["Real Lower Band"])
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### SAR — Parabolic SAR
|
|
227
|
+
|
|
228
|
+
**Optional:** `acceleration` (default 0.01), `maximum` (default 0.20)
|
|
229
|
+
|
|
230
|
+
```python
|
|
231
|
+
data = av_get("SAR", symbol="IBM", interval="daily")
|
|
232
|
+
ts = data["Technical Analysis: SAR"]
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Volume Indicators
|
|
238
|
+
|
|
239
|
+
### OBV — On Balance Volume
|
|
240
|
+
|
|
241
|
+
**Required:** `symbol`, `interval` (no `time_period` or `series_type`)
|
|
242
|
+
|
|
243
|
+
```python
|
|
244
|
+
data = av_get("OBV", symbol="IBM", interval="daily")
|
|
245
|
+
ts = data["Technical Analysis: OBV"]
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### VWAP — See Moving Averages section above
|
|
249
|
+
|
|
250
|
+
### MFI — Money Flow Index
|
|
251
|
+
|
|
252
|
+
**Required:** `symbol`, `interval`, `time_period` (no `series_type`)
|
|
253
|
+
|
|
254
|
+
```python
|
|
255
|
+
data = av_get("MFI", symbol="IBM", interval="daily", time_period=14)
|
|
256
|
+
ts = data["Technical Analysis: MFI"]
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Volatility Indicators
|
|
262
|
+
|
|
263
|
+
### ATR — Average True Range
|
|
264
|
+
|
|
265
|
+
**Required:** `symbol`, `interval`, `time_period` (no `series_type`)
|
|
266
|
+
|
|
267
|
+
```python
|
|
268
|
+
data = av_get("ATR", symbol="IBM", interval="daily", time_period=14)
|
|
269
|
+
ts = data["Technical Analysis: ATR"]
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### NATR — Normalized Average True Range
|
|
273
|
+
|
|
274
|
+
```python
|
|
275
|
+
data = av_get("NATR", symbol="IBM", interval="daily", time_period=14)
|
|
276
|
+
ts = data["Technical Analysis: NATR"]
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### TRANGE — True Range
|
|
280
|
+
|
|
281
|
+
**Required:** `symbol`, `interval` (no `time_period` or `series_type`)
|
|
282
|
+
|
|
283
|
+
```python
|
|
284
|
+
data = av_get("TRANGE", symbol="IBM", interval="daily")
|
|
285
|
+
ts = data["Technical Analysis: TRANGE"]
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## Full Indicator Reference
|
|
291
|
+
|
|
292
|
+
| Function | Description | Required Params |
|
|
293
|
+
|----------|-------------|-----------------|
|
|
294
|
+
| SMA | Simple Moving Average | symbol, interval, time_period, series_type |
|
|
295
|
+
| EMA | Exponential Moving Average | symbol, interval, time_period, series_type |
|
|
296
|
+
| WMA | Weighted Moving Average | symbol, interval, time_period, series_type |
|
|
297
|
+
| DEMA | Double EMA | symbol, interval, time_period, series_type |
|
|
298
|
+
| TEMA | Triple EMA | symbol, interval, time_period, series_type |
|
|
299
|
+
| TRIMA | Triangular MA | symbol, interval, time_period, series_type |
|
|
300
|
+
| KAMA | Kaufman Adaptive MA | symbol, interval, time_period, series_type |
|
|
301
|
+
| MAMA | MESA Adaptive MA | symbol, interval, series_type |
|
|
302
|
+
| VWAP | Vol Weighted Avg Price | symbol, interval (intraday only) |
|
|
303
|
+
| T3 | Triple Smooth EMA | symbol, interval, time_period, series_type |
|
|
304
|
+
| MACD | MACD | symbol, interval, series_type |
|
|
305
|
+
| MACDEXT | MACD with Controllable MA | symbol, interval, series_type |
|
|
306
|
+
| STOCH | Stochastic | symbol, interval |
|
|
307
|
+
| STOCHF | Stochastic Fast | symbol, interval |
|
|
308
|
+
| RSI | Relative Strength Index | symbol, interval, time_period, series_type |
|
|
309
|
+
| STOCHRSI | Stochastic RSI | symbol, interval, time_period, series_type |
|
|
310
|
+
| WILLR | Williams %R | symbol, interval, time_period |
|
|
311
|
+
| ADX | Avg Directional Index | symbol, interval, time_period |
|
|
312
|
+
| ADXR | ADX Rating | symbol, interval, time_period |
|
|
313
|
+
| APO | Absolute Price Oscillator | symbol, interval, series_type |
|
|
314
|
+
| PPO | Percentage Price Oscillator | symbol, interval, series_type |
|
|
315
|
+
| MOM | Momentum | symbol, interval, time_period, series_type |
|
|
316
|
+
| BOP | Balance of Power | symbol, interval |
|
|
317
|
+
| CCI | Commodity Channel Index | symbol, interval, time_period |
|
|
318
|
+
| CMO | Chande Momentum Oscillator | symbol, interval, time_period, series_type |
|
|
319
|
+
| ROC | Rate of Change | symbol, interval, time_period, series_type |
|
|
320
|
+
| ROCR | Rate of Change Ratio | symbol, interval, time_period, series_type |
|
|
321
|
+
| AROON | Aroon | symbol, interval, time_period |
|
|
322
|
+
| AROONOSC | Aroon Oscillator | symbol, interval, time_period |
|
|
323
|
+
| MFI | Money Flow Index | symbol, interval, time_period |
|
|
324
|
+
| TRIX | 1-day Rate of Change of Triple EMA | symbol, interval, time_period, series_type |
|
|
325
|
+
| ULTOSC | Ultimate Oscillator | symbol, interval |
|
|
326
|
+
| DX | Directional Movement Index | symbol, interval, time_period |
|
|
327
|
+
| MINUS_DI | Minus Directional Indicator | symbol, interval, time_period |
|
|
328
|
+
| PLUS_DI | Plus Directional Indicator | symbol, interval, time_period |
|
|
329
|
+
| MINUS_DM | Minus Directional Movement | symbol, interval, time_period |
|
|
330
|
+
| PLUS_DM | Plus Directional Movement | symbol, interval, time_period |
|
|
331
|
+
| BBANDS | Bollinger Bands | symbol, interval, time_period, series_type |
|
|
332
|
+
| MIDPOINT | MidPoint | symbol, interval, time_period, series_type |
|
|
333
|
+
| MIDPRICE | MidPoint Price | symbol, interval, time_period |
|
|
334
|
+
| SAR | Parabolic SAR | symbol, interval |
|
|
335
|
+
| TRANGE | True Range | symbol, interval |
|
|
336
|
+
| ATR | Average True Range | symbol, interval, time_period |
|
|
337
|
+
| NATR | Normalized ATR | symbol, interval, time_period |
|
|
338
|
+
| AD | Chaikin A/D Line | symbol, interval |
|
|
339
|
+
| ADOSC | Chaikin A/D Oscillator | symbol, interval |
|
|
340
|
+
| OBV | On Balance Volume | symbol, interval |
|
|
341
|
+
| HT_TRENDLINE | Hilbert Transform - Trendline | symbol, interval, series_type |
|
|
342
|
+
| HT_SINE | Hilbert Transform - SineWave | symbol, interval, series_type |
|
|
343
|
+
| HT_TRENDMODE | Hilbert Transform - Trend vs Cycle | symbol, interval, series_type |
|
|
344
|
+
| HT_DCPERIOD | Hilbert Transform - DC Period | symbol, interval, series_type |
|
|
345
|
+
| HT_DCPHASE | Hilbert Transform - DC Phase | symbol, interval, series_type |
|
|
346
|
+
| HT_PHASOR | Hilbert Transform - Phasor Components | symbol, interval, series_type |
|
|
347
|
+
|
|
348
|
+
## Multi-Indicator Analysis Example
|
|
349
|
+
|
|
350
|
+
```python
|
|
351
|
+
import pandas as pd
|
|
352
|
+
|
|
353
|
+
def get_indicator_series(function, symbol, interval="daily", **kwargs):
|
|
354
|
+
data = av_get(function, symbol=symbol, interval=interval, **kwargs)
|
|
355
|
+
key = f"Technical Analysis: {function}"
|
|
356
|
+
ts = data[key]
|
|
357
|
+
rows = []
|
|
358
|
+
for date, values in ts.items():
|
|
359
|
+
row = {"date": date}
|
|
360
|
+
row.update(values)
|
|
361
|
+
rows.append(row)
|
|
362
|
+
df = pd.DataFrame(rows)
|
|
363
|
+
df["date"] = pd.to_datetime(df["date"])
|
|
364
|
+
df = df.set_index("date").sort_index()
|
|
365
|
+
return df.astype(float)
|
|
366
|
+
|
|
367
|
+
# Get RSI and BBANDS for signal generation
|
|
368
|
+
rsi = get_indicator_series("RSI", "AAPL", time_period=14, series_type="close")
|
|
369
|
+
bbands = get_indicator_series("BBANDS", "AAPL", time_period=20, series_type="close")
|
|
370
|
+
|
|
371
|
+
# Oversold condition: RSI < 30 AND price near lower band
|
|
372
|
+
print("Recent RSI values:")
|
|
373
|
+
print(rsi["RSI"].tail(5))
|
|
374
|
+
```
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Time Series Stock Data APIs
|
|
2
|
+
|
|
3
|
+
Base URL: `https://www.alphavantage.co/query`
|
|
4
|
+
|
|
5
|
+
## GLOBAL_QUOTE — Latest Price
|
|
6
|
+
|
|
7
|
+
Returns the latest price and volume for a ticker.
|
|
8
|
+
|
|
9
|
+
**Required:** `symbol`
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
data = av_get("GLOBAL_QUOTE", symbol="IBM")
|
|
13
|
+
q = data["Global Quote"]
|
|
14
|
+
# q keys: "01. symbol", "02. open", "03. high", "04. low", "05. price",
|
|
15
|
+
# "06. volume", "07. latest trading day", "08. previous close",
|
|
16
|
+
# "09. change", "10. change percent"
|
|
17
|
+
print(q["05. price"]) # "217.51"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## TIME_SERIES_INTRADAY — Intraday OHLCV (Premium)
|
|
21
|
+
|
|
22
|
+
Returns intraday candles with 20+ years of history.
|
|
23
|
+
|
|
24
|
+
**Required:** `symbol`, `interval` (`1min`, `5min`, `15min`, `30min`, `60min`)
|
|
25
|
+
|
|
26
|
+
**Optional:**
|
|
27
|
+
- `adjusted` — default `true` (split/dividend adjusted)
|
|
28
|
+
- `extended_hours` — default `true` (pre/post market included)
|
|
29
|
+
- `month` — format `YYYY-MM` (query specific historical month)
|
|
30
|
+
- `outputsize` — `compact` (100 points) or `full` (30 days / full month)
|
|
31
|
+
- `entitlement` — `realtime` or `delayed` (15-min delayed)
|
|
32
|
+
- `datatype` — `json` or `csv`
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
data = av_get("TIME_SERIES_INTRADAY", symbol="IBM", interval="5min", outputsize="compact")
|
|
36
|
+
ts = data["Time Series (5min)"]
|
|
37
|
+
# Key: "2024-01-15 16:00:00" → {"1. open": "...", "2. high": ..., "3. low": ..., "4. close": ..., "5. volume": ...}
|
|
38
|
+
|
|
39
|
+
# Get specific historical month
|
|
40
|
+
data = av_get("TIME_SERIES_INTRADAY", symbol="IBM", interval="5min", month="2023-06", outputsize="full")
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## TIME_SERIES_DAILY — Daily OHLCV
|
|
44
|
+
|
|
45
|
+
**Required:** `symbol`
|
|
46
|
+
|
|
47
|
+
**Optional:** `outputsize` (`compact`=100 points, `full`=20+ years), `datatype`
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
data = av_get("TIME_SERIES_DAILY", symbol="IBM", outputsize="full")
|
|
51
|
+
ts = data["Time Series (Daily)"]
|
|
52
|
+
# Key: "2024-01-15" → {"1. open", "2. high", "3. low", "4. close", "5. volume"}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## TIME_SERIES_DAILY_ADJUSTED — Daily OHLCV with Adjustments (Premium)
|
|
56
|
+
|
|
57
|
+
Includes split coefficient and dividend amount.
|
|
58
|
+
|
|
59
|
+
**Required:** `symbol`
|
|
60
|
+
|
|
61
|
+
**Optional:** `outputsize`, `datatype`
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
data = av_get("TIME_SERIES_DAILY_ADJUSTED", symbol="IBM")
|
|
65
|
+
ts = data["Time Series (Daily)"]
|
|
66
|
+
# Extra keys: "6. adjusted close", "7. dividend amount", "8. split coefficient"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## TIME_SERIES_WEEKLY — Weekly OHLCV
|
|
70
|
+
|
|
71
|
+
**Required:** `symbol`
|
|
72
|
+
|
|
73
|
+
**Optional:** `datatype`
|
|
74
|
+
|
|
75
|
+
```python
|
|
76
|
+
data = av_get("TIME_SERIES_WEEKLY", symbol="IBM")
|
|
77
|
+
ts = data["Weekly Time Series"]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## TIME_SERIES_WEEKLY_ADJUSTED — Weekly OHLCV with Adjustments
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
data = av_get("TIME_SERIES_WEEKLY_ADJUSTED", symbol="IBM")
|
|
84
|
+
ts = data["Weekly Adjusted Time Series"]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## TIME_SERIES_MONTHLY — Monthly OHLCV
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
data = av_get("TIME_SERIES_MONTHLY", symbol="IBM")
|
|
91
|
+
ts = data["Monthly Time Series"]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## TIME_SERIES_MONTHLY_ADJUSTED — Monthly with Adjustments
|
|
95
|
+
|
|
96
|
+
```python
|
|
97
|
+
data = av_get("TIME_SERIES_MONTHLY_ADJUSTED", symbol="IBM")
|
|
98
|
+
ts = data["Monthly Adjusted Time Series"]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## REALTIME_BULK_QUOTES — Multiple Tickers (Premium)
|
|
102
|
+
|
|
103
|
+
Get quotes for up to 100 symbols in one request.
|
|
104
|
+
|
|
105
|
+
**Required:** `symbol` — comma-separated list (e.g., `IBM,AAPL,MSFT`)
|
|
106
|
+
|
|
107
|
+
```python
|
|
108
|
+
data = av_get("REALTIME_BULK_QUOTES", symbol="IBM,AAPL,MSFT,GOOGL")
|
|
109
|
+
quotes = data["data"] # list of quote objects
|
|
110
|
+
for q in quotes:
|
|
111
|
+
print(q["symbol"], q["price"])
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## SYMBOL_SEARCH — Ticker Search
|
|
115
|
+
|
|
116
|
+
Search for ticker symbols by keyword.
|
|
117
|
+
|
|
118
|
+
**Required:** `keywords`
|
|
119
|
+
|
|
120
|
+
**Optional:** `datatype`
|
|
121
|
+
|
|
122
|
+
```python
|
|
123
|
+
data = av_get("SYMBOL_SEARCH", keywords="Microsoft")
|
|
124
|
+
matches = data["bestMatches"]
|
|
125
|
+
for m in matches:
|
|
126
|
+
print(m["1. symbol"], m["2. name"], m["4. region"])
|
|
127
|
+
# Fields: "1. symbol", "2. name", "3. type", "4. region",
|
|
128
|
+
# "5. marketOpen", "6. marketClose", "7. timezone",
|
|
129
|
+
# "8. currency", "9. matchScore"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## MARKET_STATUS — Global Market Hours
|
|
133
|
+
|
|
134
|
+
Returns open/closed status for major global exchanges.
|
|
135
|
+
|
|
136
|
+
```python
|
|
137
|
+
data = av_get("MARKET_STATUS")
|
|
138
|
+
markets = data["markets"]
|
|
139
|
+
for m in markets:
|
|
140
|
+
print(m["market_type"], m["region"], m["current_status"])
|
|
141
|
+
# Fields: "market_type", "region", "primary_exchanges",
|
|
142
|
+
# "local_open", "local_close", "current_status", "notes"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Convert to DataFrame
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
import pandas as pd
|
|
149
|
+
|
|
150
|
+
data = av_get("TIME_SERIES_DAILY", symbol="AAPL", outputsize="full")
|
|
151
|
+
ts = data["Time Series (Daily)"]
|
|
152
|
+
df = pd.DataFrame.from_dict(ts, orient="index")
|
|
153
|
+
df.columns = ["open", "high", "low", "close", "volume"]
|
|
154
|
+
df.index = pd.to_datetime(df.index)
|
|
155
|
+
df = df.astype(float).sort_index()
|
|
156
|
+
print(df.tail())
|
|
157
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: financial-modeling
|
|
3
|
+
description: Consolidated financial modeling skill aggregating Discounted Cash Flow (DCF), Leveraged Buyout (LBO), Merger Modeling, and 3-Statement financial projections.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Financial Modeling Knowledge Base
|
|
7
|
+
|
|
8
|
+
This parent skill aggregates rigorous qualitative and quantitative modeling instructions for the `quant-developer` agent. By integrating the sub-skills below, the agent can structure complex, multi-statement forecasts and perform advanced valuation tasks.
|
|
9
|
+
|
|
10
|
+
## Available Sub-Skills
|
|
11
|
+
|
|
12
|
+
- **[DCF Model](skills/dcf-model/SKILL.md):** Instruction sets and templates for building intrinsic valuations using Discounted Cash Flows.
|
|
13
|
+
- **[LBO Model](skills/lbo-model/SKILL.md):** Private equity leveraged buyout modeling covering debt schedules, IRR, and MoM return analysis.
|
|
14
|
+
- **[Merger Model](skills/merger-model/SKILL.md):** M&A accretion/dilution analysis, purchase price allocation, and pro-forma balance sheets.
|
|
15
|
+
- **[3-Statements](skills/3-statements/SKILL.md):** Standard income statement, balance sheet, and cash flow historical extraction and projection protocols.
|
|
16
|
+
|
|
17
|
+
## Integration Notice
|
|
18
|
+
These sub-skills were ported from the specialized `financial-services-plugins` repository to fortify the baseline reasoning capabilities of the `quant-developer` agent. Ensure that assumptions (e.g., WACC, tax rates) are properly isolated when running backtests or algorithmic models based on these fundamental outputs.
|