sqa 0.0.32 → 0.0.38

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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +154 -1
  3. data/README.md +4 -0
  4. data/Rakefile +52 -10
  5. data/docs/advanced/index.md +1 -13
  6. data/docs/api/index.md +547 -61
  7. data/docs/api-reference/alphavantageapi.md +1057 -0
  8. data/docs/api-reference/apierror.md +31 -0
  9. data/docs/api-reference/index.md +221 -0
  10. data/docs/api-reference/notimplemented.md +27 -0
  11. data/docs/api-reference/sqa.md +267 -0
  12. data/docs/api-reference/sqa_backtest.md +171 -0
  13. data/docs/api-reference/sqa_backtest_results.md +530 -0
  14. data/docs/api-reference/sqa_badparametererror.md +13 -0
  15. data/docs/api-reference/sqa_config.md +538 -0
  16. data/docs/api-reference/sqa_configurationerror.md +13 -0
  17. data/docs/api-reference/sqa_datafetcherror.md +56 -0
  18. data/docs/api-reference/sqa_dataframe.md +779 -0
  19. data/docs/api-reference/sqa_dataframe_alphavantage.md +30 -0
  20. data/docs/api-reference/sqa_dataframe_data.md +325 -0
  21. data/docs/api-reference/sqa_dataframe_yahoofinance.md +25 -0
  22. data/docs/api-reference/sqa_ensemble.md +413 -0
  23. data/docs/api-reference/sqa_fpop.md +211 -0
  24. data/docs/api-reference/sqa_geneticprogram.md +325 -0
  25. data/docs/api-reference/sqa_geneticprogram_individual.md +114 -0
  26. data/docs/api-reference/sqa_marketregime.md +212 -0
  27. data/docs/api-reference/sqa_multitimeframe.md +227 -0
  28. data/docs/api-reference/sqa_patternmatcher.md +195 -0
  29. data/docs/api-reference/sqa_pluginmanager.md +55 -0
  30. data/docs/api-reference/sqa_portfolio.md +512 -0
  31. data/docs/api-reference/sqa_portfolio_position.md +220 -0
  32. data/docs/api-reference/sqa_portfolio_trade.md +332 -0
  33. data/docs/api-reference/sqa_portfoliooptimizer.md +248 -0
  34. data/docs/api-reference/sqa_riskmanager.md +388 -0
  35. data/docs/api-reference/sqa_seasonalanalyzer.md +121 -0
  36. data/docs/api-reference/sqa_sectoranalyzer.md +163 -0
  37. data/docs/api-reference/sqa_stock.md +661 -0
  38. data/docs/api-reference/sqa_strategy.md +178 -0
  39. data/docs/api-reference/sqa_strategy_bollingerbands.md +26 -0
  40. data/docs/api-reference/sqa_strategy_common.md +29 -0
  41. data/docs/api-reference/sqa_strategy_consensus.md +129 -0
  42. data/docs/api-reference/sqa_strategy_ema.md +41 -0
  43. data/docs/api-reference/sqa_strategy_kbs.md +154 -0
  44. data/docs/api-reference/sqa_strategy_macd.md +26 -0
  45. data/docs/api-reference/sqa_strategy_mp.md +41 -0
  46. data/docs/api-reference/sqa_strategy_mr.md +41 -0
  47. data/docs/api-reference/sqa_strategy_random.md +41 -0
  48. data/docs/api-reference/sqa_strategy_rsi.md +41 -0
  49. data/docs/api-reference/sqa_strategy_sma.md +41 -0
  50. data/docs/api-reference/sqa_strategy_stochastic.md +26 -0
  51. data/docs/api-reference/sqa_strategy_volumebreakout.md +26 -0
  52. data/docs/api-reference/sqa_strategygenerator.md +298 -0
  53. data/docs/api-reference/sqa_strategygenerator_pattern.md +264 -0
  54. data/docs/api-reference/sqa_strategygenerator_patterncontext.md +326 -0
  55. data/docs/api-reference/sqa_strategygenerator_profitablepoint.md +424 -0
  56. data/docs/api-reference/sqa_stream.md +256 -0
  57. data/docs/api-reference/sqa_ticker.md +175 -0
  58. data/docs/api-reference/string.md +135 -0
  59. data/docs/assets/images/advanced-workflow.svg +89 -0
  60. data/docs/assets/images/architecture.svg +107 -0
  61. data/docs/assets/images/data-flow.svg +138 -0
  62. data/docs/assets/images/getting-started-workflow.svg +88 -0
  63. data/docs/assets/images/strategy-flow.svg +78 -0
  64. data/docs/assets/images/system-architecture.svg +150 -0
  65. data/docs/concepts/index.md +292 -19
  66. data/docs/file_formats.md +250 -0
  67. data/docs/getting-started/index.md +1 -14
  68. data/docs/index.md +26 -23
  69. data/docs/llms.txt +109 -0
  70. data/docs/strategies/kbs.md +15 -14
  71. data/docs/strategy.md +381 -3
  72. data/docs/terms_of_use.md +1 -1
  73. data/examples/README.md +10 -0
  74. data/lib/api/alpha_vantage_api.rb +3 -7
  75. data/lib/sqa/backtest.rb +32 -0
  76. data/lib/sqa/config.rb +109 -28
  77. data/lib/sqa/data_frame/data.rb +13 -1
  78. data/lib/sqa/data_frame.rb +193 -26
  79. data/lib/sqa/errors.rb +79 -17
  80. data/lib/sqa/init.rb +70 -15
  81. data/lib/sqa/pattern_matcher.rb +4 -4
  82. data/lib/sqa/portfolio.rb +55 -1
  83. data/lib/sqa/sector_analyzer.rb +3 -11
  84. data/lib/sqa/stock.rb +180 -15
  85. data/lib/sqa/strategy.rb +62 -4
  86. data/lib/sqa/ticker.rb +106 -48
  87. data/lib/sqa/version.rb +1 -1
  88. data/lib/sqa.rb +4 -4
  89. data/mkdocs.yml +69 -81
  90. metadata +89 -21
  91. data/docs/README.md +0 -43
  92. data/examples/sinatra_app/Gemfile +0 -42
  93. data/examples/sinatra_app/Gemfile.lock +0 -268
  94. data/examples/sinatra_app/QUICKSTART.md +0 -169
  95. data/examples/sinatra_app/README.md +0 -471
  96. data/examples/sinatra_app/RUNNING_WITHOUT_TALIB.md +0 -90
  97. data/examples/sinatra_app/TROUBLESHOOTING.md +0 -95
  98. data/examples/sinatra_app/app.rb +0 -404
  99. data/examples/sinatra_app/config.ru +0 -5
  100. data/examples/sinatra_app/public/css/style.css +0 -723
  101. data/examples/sinatra_app/public/debug_macd.html +0 -82
  102. data/examples/sinatra_app/public/js/app.js +0 -107
  103. data/examples/sinatra_app/start.sh +0 -53
  104. data/examples/sinatra_app/views/analyze.erb +0 -306
  105. data/examples/sinatra_app/views/backtest.erb +0 -325
  106. data/examples/sinatra_app/views/dashboard.erb +0 -831
  107. data/examples/sinatra_app/views/error.erb +0 -58
  108. data/examples/sinatra_app/views/index.erb +0 -118
  109. data/examples/sinatra_app/views/layout.erb +0 -61
  110. data/examples/sinatra_app/views/portfolio.erb +0 -43
@@ -0,0 +1,1057 @@
1
+ # 📦 AlphaVantageAPI
2
+
3
+ !!! abstract "Source Information"
4
+ **Defined in:** [`lib/api/alpha_vantage_api.rb:11`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L11)
5
+
6
+ **Inherits from:** `Object`
7
+
8
+ ## 🔨 Instance Methods
9
+
10
+ ### `#initialize(api_key)`
11
+
12
+
13
+ !!! success "Returns"
14
+
15
+ **Type:** `AlphaVantageAPI`
16
+
17
+
18
+
19
+ a new instance of AlphaVantageAPI
20
+
21
+ ??? info "Source Location"
22
+ [`lib/api/alpha_vantage_api.rb:14`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L14)
23
+
24
+ ---
25
+
26
+ ### `#query(function:, symbol: = nil, interval: = nil, time_period: = nil, series_type: = nil, market: = nil, **extra)`
27
+
28
+
29
+
30
+
31
+ ??? info "Source Location"
32
+ [`lib/api/alpha_vantage_api.rb:19`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L19)
33
+
34
+ ---
35
+
36
+ ### `#ad(symbol:, interval:)`
37
+
38
+
39
+
40
+
41
+ ??? info "Source Location"
42
+ [`lib/api/alpha_vantage_api.rb:45`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L45)
43
+
44
+ ---
45
+
46
+ ### `#adosc(symbol:, interval:, fastperiod:, slowperiod:)`
47
+
48
+
49
+
50
+
51
+ ??? info "Source Location"
52
+ [`lib/api/alpha_vantage_api.rb:49`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L49)
53
+
54
+ ---
55
+
56
+ ### `#adx(symbol:, interval:, time_period:)`
57
+
58
+
59
+
60
+
61
+ ??? info "Source Location"
62
+ [`lib/api/alpha_vantage_api.rb:53`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L53)
63
+
64
+ ---
65
+
66
+ ### `#all_commodities(interval:)`
67
+
68
+
69
+
70
+
71
+ ??? info "Source Location"
72
+ [`lib/api/alpha_vantage_api.rb:57`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L57)
73
+
74
+ ---
75
+
76
+ ### `#aluminum(interval:)`
77
+
78
+
79
+
80
+
81
+ ??? info "Source Location"
82
+ [`lib/api/alpha_vantage_api.rb:61`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L61)
83
+
84
+ ---
85
+
86
+ ### `#apo(symbol:, interval:, series_type:, fastperiod:, matype:)`
87
+
88
+
89
+
90
+
91
+ ??? info "Source Location"
92
+ [`lib/api/alpha_vantage_api.rb:65`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L65)
93
+
94
+ ---
95
+
96
+ ### `#aroon(symbol:, interval:, time_period:)`
97
+
98
+
99
+
100
+
101
+ ??? info "Source Location"
102
+ [`lib/api/alpha_vantage_api.rb:69`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L69)
103
+
104
+ ---
105
+
106
+ ### `#balance_sheet(symbol:)`
107
+
108
+
109
+
110
+
111
+ ??? info "Source Location"
112
+ [`lib/api/alpha_vantage_api.rb:73`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L73)
113
+
114
+ ---
115
+
116
+ ### `#crypto_intraday(symbol:, market:, interval:, outputsize: = nil, datatype: = nil)`
117
+
118
+
119
+
120
+
121
+ ??? info "Source Location"
122
+ [`lib/api/alpha_vantage_api.rb:77`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L77)
123
+
124
+ ---
125
+
126
+ ### `#currency_exchange_rate(from_currency:, to_currency:)`
127
+
128
+
129
+
130
+
131
+ ??? info "Source Location"
132
+ [`lib/api/alpha_vantage_api.rb:81`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L81)
133
+
134
+ ---
135
+
136
+ ### `#earnings(symbol:)`
137
+
138
+
139
+
140
+
141
+ ??? info "Source Location"
142
+ [`lib/api/alpha_vantage_api.rb:85`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L85)
143
+
144
+ ---
145
+
146
+ ### `#time_series_daily(symbol:, outputsize: = nil, datatype: = nil)`
147
+
148
+
149
+
150
+
151
+ ??? info "Source Location"
152
+ [`lib/api/alpha_vantage_api.rb:89`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L89)
153
+
154
+ ---
155
+
156
+ ### `#adxr(symbol:, interval:, time_period:)`
157
+
158
+
159
+
160
+
161
+ ??? info "Source Location"
162
+ [`lib/api/alpha_vantage_api.rb:93`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L93)
163
+
164
+ ---
165
+
166
+ ### `#atr(symbol:, interval:, time_period:)`
167
+
168
+
169
+
170
+
171
+ ??? info "Source Location"
172
+ [`lib/api/alpha_vantage_api.rb:97`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L97)
173
+
174
+ ---
175
+
176
+ ### `#bbands(symbol:, interval:, time_period:, series_type:, nbdevup:, nbdevdn:, matype: = nil)`
177
+
178
+
179
+
180
+
181
+ ??? info "Source Location"
182
+ [`lib/api/alpha_vantage_api.rb:101`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L101)
183
+
184
+ ---
185
+
186
+ ### `#bop(symbol:, interval:)`
187
+
188
+
189
+
190
+
191
+ ??? info "Source Location"
192
+ [`lib/api/alpha_vantage_api.rb:105`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L105)
193
+
194
+ ---
195
+
196
+ ### `#cash_flow(symbol:)`
197
+
198
+
199
+
200
+
201
+ ??? info "Source Location"
202
+ [`lib/api/alpha_vantage_api.rb:109`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L109)
203
+
204
+ ---
205
+
206
+ ### `#cci(symbol:, interval:, time_period:)`
207
+
208
+
209
+
210
+
211
+ ??? info "Source Location"
212
+ [`lib/api/alpha_vantage_api.rb:113`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L113)
213
+
214
+ ---
215
+
216
+ ### `#cmo(symbol:, interval:, time_period:, series_type:)`
217
+
218
+
219
+
220
+
221
+ ??? info "Source Location"
222
+ [`lib/api/alpha_vantage_api.rb:117`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L117)
223
+
224
+ ---
225
+
226
+ ### `#dema(symbol:, interval:, time_period:, series_type:)`
227
+
228
+
229
+
230
+
231
+ ??? info "Source Location"
232
+ [`lib/api/alpha_vantage_api.rb:121`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L121)
233
+
234
+ ---
235
+
236
+ ### `#dx(symbol:, interval:, time_period:)`
237
+
238
+
239
+
240
+
241
+ ??? info "Source Location"
242
+ [`lib/api/alpha_vantage_api.rb:125`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L125)
243
+
244
+ ---
245
+
246
+ ### `#earnings_calendar(symbol: = nil, horizon: = nil)`
247
+
248
+
249
+
250
+
251
+ ??? info "Source Location"
252
+ [`lib/api/alpha_vantage_api.rb:129`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L129)
253
+
254
+ ---
255
+
256
+ ### `#ema(symbol:, interval:, time_period:, series_type:)`
257
+
258
+
259
+
260
+
261
+ ??? info "Source Location"
262
+ [`lib/api/alpha_vantage_api.rb:133`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L133)
263
+
264
+ ---
265
+
266
+ ### `#federal_funds_rate(interval:)`
267
+
268
+
269
+
270
+
271
+ ??? info "Source Location"
272
+ [`lib/api/alpha_vantage_api.rb:137`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L137)
273
+
274
+ ---
275
+
276
+ ### `#ht_dcperiod(symbol:, interval:, series_type:)`
277
+
278
+
279
+
280
+
281
+ ??? info "Source Location"
282
+ [`lib/api/alpha_vantage_api.rb:141`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L141)
283
+
284
+ ---
285
+
286
+ ### `#ht_dcphase(symbol:, interval:, series_type:)`
287
+
288
+
289
+
290
+
291
+ ??? info "Source Location"
292
+ [`lib/api/alpha_vantage_api.rb:145`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L145)
293
+
294
+ ---
295
+
296
+ ### `#ht_phasor(symbol:, interval:, series_type:)`
297
+
298
+
299
+
300
+
301
+ ??? info "Source Location"
302
+ [`lib/api/alpha_vantage_api.rb:149`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L149)
303
+
304
+ ---
305
+
306
+ ### `#ht_sine(symbol:, interval:, series_type:)`
307
+
308
+
309
+
310
+
311
+ ??? info "Source Location"
312
+ [`lib/api/alpha_vantage_api.rb:153`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L153)
313
+
314
+ ---
315
+
316
+ ### `#ht_trendline(symbol:, interval:, series_type:)`
317
+
318
+
319
+
320
+
321
+ ??? info "Source Location"
322
+ [`lib/api/alpha_vantage_api.rb:157`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L157)
323
+
324
+ ---
325
+
326
+ ### `#ht_trendmode(symbol:, interval:, series_type:)`
327
+
328
+
329
+
330
+
331
+ ??? info "Source Location"
332
+ [`lib/api/alpha_vantage_api.rb:161`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L161)
333
+
334
+ ---
335
+
336
+ ### `#income_statement(symbol:)`
337
+
338
+
339
+
340
+
341
+ ??? info "Source Location"
342
+ [`lib/api/alpha_vantage_api.rb:165`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L165)
343
+
344
+ ---
345
+
346
+ ### `#aronosc(symbol:, interval:, time_period:)`
347
+
348
+
349
+
350
+
351
+ ??? info "Source Location"
352
+ [`lib/api/alpha_vantage_api.rb:170`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L170)
353
+
354
+ ---
355
+
356
+ ### `#brent(interval:)`
357
+
358
+
359
+
360
+
361
+ ??? info "Source Location"
362
+ [`lib/api/alpha_vantage_api.rb:174`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L174)
363
+
364
+ ---
365
+
366
+ ### `#coffee(interval:)`
367
+
368
+
369
+
370
+
371
+ ??? info "Source Location"
372
+ [`lib/api/alpha_vantage_api.rb:178`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L178)
373
+
374
+ ---
375
+
376
+ ### `#copper(interval:)`
377
+
378
+
379
+
380
+
381
+ ??? info "Source Location"
382
+ [`lib/api/alpha_vantage_api.rb:182`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L182)
383
+
384
+ ---
385
+
386
+ ### `#corn(interval:)`
387
+
388
+
389
+
390
+
391
+ ??? info "Source Location"
392
+ [`lib/api/alpha_vantage_api.rb:186`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L186)
393
+
394
+ ---
395
+
396
+ ### `#cotton(interval:)`
397
+
398
+
399
+
400
+
401
+ ??? info "Source Location"
402
+ [`lib/api/alpha_vantage_api.rb:190`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L190)
403
+
404
+ ---
405
+
406
+ ### `#cpi(interval:)`
407
+
408
+
409
+
410
+
411
+ ??? info "Source Location"
412
+ [`lib/api/alpha_vantage_api.rb:194`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L194)
413
+
414
+ ---
415
+
416
+ ### `#durables()`
417
+
418
+
419
+
420
+
421
+ ??? info "Source Location"
422
+ [`lib/api/alpha_vantage_api.rb:198`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L198)
423
+
424
+ ---
425
+
426
+ ### `#inflation()`
427
+
428
+
429
+
430
+
431
+ ??? info "Source Location"
432
+ [`lib/api/alpha_vantage_api.rb:202`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L202)
433
+
434
+ ---
435
+
436
+ ### `#ipo_calendar()`
437
+
438
+
439
+
440
+
441
+ ??? info "Source Location"
442
+ [`lib/api/alpha_vantage_api.rb:206`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L206)
443
+
444
+ ---
445
+
446
+ ### `#kama(symbol:, interval:, time_period:, series_type:)`
447
+
448
+
449
+
450
+
451
+ ??? info "Source Location"
452
+ [`lib/api/alpha_vantage_api.rb:210`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L210)
453
+
454
+ ---
455
+
456
+ ### `#listing_status(date: = nil, state: = nil)`
457
+
458
+
459
+
460
+
461
+ ??? info "Source Location"
462
+ [`lib/api/alpha_vantage_api.rb:214`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L214)
463
+
464
+ ---
465
+
466
+ ### `#market_status()`
467
+
468
+
469
+
470
+
471
+ ??? info "Source Location"
472
+ [`lib/api/alpha_vantage_api.rb:218`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L218)
473
+
474
+ ---
475
+
476
+ ### `#natural_gas(interval:)`
477
+
478
+
479
+
480
+
481
+ ??? info "Source Location"
482
+ [`lib/api/alpha_vantage_api.rb:222`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L222)
483
+
484
+ ---
485
+
486
+ ### `#news_sentiment(tickers:, time_from: = nil, limit: = nil)`
487
+
488
+
489
+
490
+
491
+ ??? info "Source Location"
492
+ [`lib/api/alpha_vantage_api.rb:226`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L226)
493
+
494
+ ---
495
+
496
+ ### `#nonfarm_payroll()`
497
+
498
+
499
+
500
+
501
+ ??? info "Source Location"
502
+ [`lib/api/alpha_vantage_api.rb:230`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L230)
503
+
504
+ ---
505
+
506
+ ### `#real_gdp(interval:)`
507
+
508
+
509
+
510
+
511
+ ??? info "Source Location"
512
+ [`lib/api/alpha_vantage_api.rb:234`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L234)
513
+
514
+ ---
515
+
516
+ ### `#real_gdp_per_capita()`
517
+
518
+
519
+
520
+
521
+ ??? info "Source Location"
522
+ [`lib/api/alpha_vantage_api.rb:238`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L238)
523
+
524
+ ---
525
+
526
+ ### `#retail_sales()`
527
+
528
+
529
+
530
+
531
+ ??? info "Source Location"
532
+ [`lib/api/alpha_vantage_api.rb:242`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L242)
533
+
534
+ ---
535
+
536
+ ### `#sugar(interval:)`
537
+
538
+
539
+
540
+
541
+ ??? info "Source Location"
542
+ [`lib/api/alpha_vantage_api.rb:246`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L246)
543
+
544
+ ---
545
+
546
+ ### `#symbol_search(keywords:, datatype: = nil)`
547
+
548
+
549
+
550
+
551
+ ??? info "Source Location"
552
+ [`lib/api/alpha_vantage_api.rb:250`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L250)
553
+
554
+ ---
555
+
556
+ ### `#top_gainers_losers()`
557
+
558
+
559
+
560
+
561
+ ??? info "Source Location"
562
+ [`lib/api/alpha_vantage_api.rb:254`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L254)
563
+
564
+ ---
565
+
566
+ ### `#treasury_yield(interval:, maturity:)`
567
+
568
+
569
+
570
+
571
+ ??? info "Source Location"
572
+ [`lib/api/alpha_vantage_api.rb:258`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L258)
573
+
574
+ ---
575
+
576
+ ### `#unemployment()`
577
+
578
+
579
+
580
+
581
+ ??? info "Source Location"
582
+ [`lib/api/alpha_vantage_api.rb:262`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L262)
583
+
584
+ ---
585
+
586
+ ### `#wheat(interval:)`
587
+
588
+
589
+
590
+
591
+ ??? info "Source Location"
592
+ [`lib/api/alpha_vantage_api.rb:266`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L266)
593
+
594
+ ---
595
+
596
+ ### `#wti(interval:)`
597
+
598
+
599
+
600
+
601
+ ??? info "Source Location"
602
+ [`lib/api/alpha_vantage_api.rb:270`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L270)
603
+
604
+ ---
605
+
606
+ ### `#digital_currency_daily(symbol:, market:, datatype: = 'json')`
607
+
608
+
609
+
610
+
611
+ ??? info "Source Location"
612
+ [`lib/api/alpha_vantage_api.rb:274`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L274)
613
+
614
+ ---
615
+
616
+ ### `#fx_daily(from_symbol:, to_symbol:, outputsize: = nil, datatype: = 'json')`
617
+
618
+
619
+
620
+
621
+ ??? info "Source Location"
622
+ [`lib/api/alpha_vantage_api.rb:278`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L278)
623
+
624
+ ---
625
+
626
+ ### `#global_quote(symbol:, datatype: = 'json')`
627
+
628
+
629
+
630
+
631
+ ??? info "Source Location"
632
+ [`lib/api/alpha_vantage_api.rb:282`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L282)
633
+
634
+ ---
635
+
636
+ ### `#time_series_daily_adjusted(symbol:, outputsize: = nil, datatype: = 'json')`
637
+
638
+
639
+
640
+
641
+ ??? info "Source Location"
642
+ [`lib/api/alpha_vantage_api.rb:286`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L286)
643
+
644
+ ---
645
+
646
+ ### `#macd(symbol:, interval:, series_type:, time_period:, datatype: = 'json')`
647
+
648
+
649
+
650
+
651
+ ??? info "Source Location"
652
+ [`lib/api/alpha_vantage_api.rb:290`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L290)
653
+
654
+ ---
655
+
656
+ ### `#fx_intraday(from_symbol:, to_symbol:, interval:, outputsize: = nil, datatype: = 'json')`
657
+
658
+
659
+
660
+
661
+ ??? info "Source Location"
662
+ [`lib/api/alpha_vantage_api.rb:295`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L295)
663
+
664
+ ---
665
+
666
+ ### `#digital_currency_monthly(symbol:, market:, datatype: = 'json')`
667
+
668
+
669
+
670
+
671
+ ??? info "Source Location"
672
+ [`lib/api/alpha_vantage_api.rb:299`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L299)
673
+
674
+ ---
675
+
676
+ ### `#digital_currency_weekly(symbol:, market:, datatype: = 'json')`
677
+
678
+
679
+
680
+
681
+ ??? info "Source Location"
682
+ [`lib/api/alpha_vantage_api.rb:303`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L303)
683
+
684
+ ---
685
+
686
+ ### `#time_series_intraday(symbol:, interval:, outputsize: = nil, datatype: = 'json')`
687
+
688
+
689
+
690
+
691
+ ??? info "Source Location"
692
+ [`lib/api/alpha_vantage_api.rb:307`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L307)
693
+
694
+ ---
695
+
696
+ ### `#time_series_monthly(symbol:, datatype: = 'json')`
697
+
698
+
699
+
700
+
701
+ ??? info "Source Location"
702
+ [`lib/api/alpha_vantage_api.rb:311`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L311)
703
+
704
+ ---
705
+
706
+ ### `#time_series_weekly(symbol:, datatype: = 'json')`
707
+
708
+
709
+
710
+
711
+ ??? info "Source Location"
712
+ [`lib/api/alpha_vantage_api.rb:315`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L315)
713
+
714
+ ---
715
+
716
+ ### `#macd_ext(symbol:, interval:, series_type:, fastperiod: = nil, slowperiod: = nil, signalperiod: = nil, matype: = nil, datatype: = 'json')`
717
+
718
+
719
+
720
+
721
+ ??? info "Source Location"
722
+ [`lib/api/alpha_vantage_api.rb:319`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L319)
723
+
724
+ ---
725
+
726
+ ### `#rsi(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
727
+
728
+
729
+
730
+
731
+ ??? info "Source Location"
732
+ [`lib/api/alpha_vantage_api.rb:327`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L327)
733
+
734
+ ---
735
+
736
+ ### `#fx_monthly(from_symbol:, to_symbol:, datatype: = 'json')`
737
+
738
+
739
+
740
+
741
+ ??? info "Source Location"
742
+ [`lib/api/alpha_vantage_api.rb:331`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L331)
743
+
744
+ ---
745
+
746
+ ### `#fx_weekly(from_symbol:, to_symbol:, datatype: = 'json')`
747
+
748
+
749
+
750
+
751
+ ??? info "Source Location"
752
+ [`lib/api/alpha_vantage_api.rb:335`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L335)
753
+
754
+ ---
755
+
756
+ ### `#mama(symbol:, interval:, series_type:, fastlimit:, slowlimit:, datatype: = 'json')`
757
+
758
+
759
+
760
+
761
+ ??? info "Source Location"
762
+ [`lib/api/alpha_vantage_api.rb:339`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L339)
763
+
764
+ ---
765
+
766
+ ### `#mfi(symbol:, interval:, time_period:, datatype: = 'json')`
767
+
768
+
769
+
770
+
771
+ ??? info "Source Location"
772
+ [`lib/api/alpha_vantage_api.rb:343`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L343)
773
+
774
+ ---
775
+
776
+ ### `#midpoint(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
777
+
778
+
779
+
780
+
781
+ ??? info "Source Location"
782
+ [`lib/api/alpha_vantage_api.rb:347`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L347)
783
+
784
+ ---
785
+
786
+ ### `#midprice(symbol:, interval:, time_period:, datatype: = 'json')`
787
+
788
+
789
+
790
+
791
+ ??? info "Source Location"
792
+ [`lib/api/alpha_vantage_api.rb:351`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L351)
793
+
794
+ ---
795
+
796
+ ### `#minus_di(symbol:, interval:, time_period:, datatype: = 'json')`
797
+
798
+
799
+
800
+
801
+ ??? info "Source Location"
802
+ [`lib/api/alpha_vantage_api.rb:355`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L355)
803
+
804
+ ---
805
+
806
+ ### `#minus_dm(symbol:, interval:, time_period:, datatype: = 'json')`
807
+
808
+
809
+
810
+
811
+ ??? info "Source Location"
812
+ [`lib/api/alpha_vantage_api.rb:359`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L359)
813
+
814
+ ---
815
+
816
+ ### `#mom(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
817
+
818
+
819
+
820
+
821
+ ??? info "Source Location"
822
+ [`lib/api/alpha_vantage_api.rb:363`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L363)
823
+
824
+ ---
825
+
826
+ ### `#natr(symbol:, interval:, time_period:, datatype: = 'json')`
827
+
828
+
829
+
830
+
831
+ ??? info "Source Location"
832
+ [`lib/api/alpha_vantage_api.rb:367`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L367)
833
+
834
+ ---
835
+
836
+ ### `#obv(symbol:, interval:, datatype: = 'json')`
837
+
838
+
839
+
840
+
841
+ ??? info "Source Location"
842
+ [`lib/api/alpha_vantage_api.rb:371`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L371)
843
+
844
+ ---
845
+
846
+ ### `#overview(symbol:, datatype: = 'json')`
847
+
848
+
849
+
850
+
851
+ ??? info "Source Location"
852
+ [`lib/api/alpha_vantage_api.rb:375`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L375)
853
+
854
+ ---
855
+
856
+ ### `#plus_di(symbol:, interval:, time_period:, datatype: = 'json')`
857
+
858
+
859
+
860
+
861
+ ??? info "Source Location"
862
+ [`lib/api/alpha_vantage_api.rb:379`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L379)
863
+
864
+ ---
865
+
866
+ ### `#plus_dm(symbol:, interval:, time_period:, datatype: = 'json')`
867
+
868
+
869
+
870
+
871
+ ??? info "Source Location"
872
+ [`lib/api/alpha_vantage_api.rb:383`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L383)
873
+
874
+ ---
875
+
876
+ ### `#ppo(symbol:, interval:, series_type:, fastperiod:, slowperiod: = nil, matype: = nil, datatype: = 'json')`
877
+
878
+
879
+
880
+
881
+ ??? info "Source Location"
882
+ [`lib/api/alpha_vantage_api.rb:387`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L387)
883
+
884
+ ---
885
+
886
+ ### `#roc(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
887
+
888
+
889
+
890
+
891
+ ??? info "Source Location"
892
+ [`lib/api/alpha_vantage_api.rb:391`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L391)
893
+
894
+ ---
895
+
896
+ ### `#rocr(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
897
+
898
+
899
+
900
+
901
+ ??? info "Source Location"
902
+ [`lib/api/alpha_vantage_api.rb:395`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L395)
903
+
904
+ ---
905
+
906
+ ### `#stoch(symbol:, interval:, fastkperiod: = nil, slowkperiod: = nil, slowdperiod: = nil, slowkmatype: = nil, slowdmatype: = nil, datatype: = 'json')`
907
+
908
+
909
+
910
+
911
+ ??? info "Source Location"
912
+ [`lib/api/alpha_vantage_api.rb:399`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L399)
913
+
914
+ ---
915
+
916
+ ### `#sar(symbol:, interval:, acceleration:, maximum:, datatype: = 'json')`
917
+
918
+
919
+
920
+
921
+ ??? info "Source Location"
922
+ [`lib/api/alpha_vantage_api.rb:403`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L403)
923
+
924
+ ---
925
+
926
+ ### `#sma(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
927
+
928
+
929
+
930
+
931
+ ??? info "Source Location"
932
+ [`lib/api/alpha_vantage_api.rb:407`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L407)
933
+
934
+ ---
935
+
936
+ ### `#stochf(symbol:, interval:, fastkperiod: = nil, fastdperiod: = nil, fastdmatype: = nil, datatype: = 'json')`
937
+
938
+
939
+
940
+
941
+ ??? info "Source Location"
942
+ [`lib/api/alpha_vantage_api.rb:411`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L411)
943
+
944
+ ---
945
+
946
+ ### `#t3(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
947
+
948
+
949
+
950
+
951
+ ??? info "Source Location"
952
+ [`lib/api/alpha_vantage_api.rb:415`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L415)
953
+
954
+ ---
955
+
956
+ ### `#tema(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
957
+
958
+
959
+
960
+
961
+ ??? info "Source Location"
962
+ [`lib/api/alpha_vantage_api.rb:419`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L419)
963
+
964
+ ---
965
+
966
+ ### `#time_series_monthly_adjusted(symbol:, datatype: = 'json')`
967
+
968
+
969
+
970
+
971
+ ??? info "Source Location"
972
+ [`lib/api/alpha_vantage_api.rb:423`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L423)
973
+
974
+ ---
975
+
976
+ ### `#time_series_weekly_adjusted(symbol:, datatype: = 'json')`
977
+
978
+
979
+
980
+
981
+ ??? info "Source Location"
982
+ [`lib/api/alpha_vantage_api.rb:427`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L427)
983
+
984
+ ---
985
+
986
+ ### `#trange(symbol:, interval:, datatype: = 'json')`
987
+
988
+
989
+
990
+
991
+ ??? info "Source Location"
992
+ [`lib/api/alpha_vantage_api.rb:431`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L431)
993
+
994
+ ---
995
+
996
+ ### `#trima(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
997
+
998
+
999
+
1000
+
1001
+ ??? info "Source Location"
1002
+ [`lib/api/alpha_vantage_api.rb:435`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L435)
1003
+
1004
+ ---
1005
+
1006
+ ### `#trix(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
1007
+
1008
+
1009
+
1010
+
1011
+ ??? info "Source Location"
1012
+ [`lib/api/alpha_vantage_api.rb:439`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L439)
1013
+
1014
+ ---
1015
+
1016
+ ### `#ultosc(symbol:, interval:, timeperiod1: = nil, timeperiod2: = nil, timeperiod3: = nil, datatype: = 'json')`
1017
+
1018
+
1019
+
1020
+
1021
+ ??? info "Source Location"
1022
+ [`lib/api/alpha_vantage_api.rb:443`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L443)
1023
+
1024
+ ---
1025
+
1026
+ ### `#vwap(symbol:, interval:, datatype: = 'json')`
1027
+
1028
+
1029
+
1030
+
1031
+ ??? info "Source Location"
1032
+ [`lib/api/alpha_vantage_api.rb:447`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L447)
1033
+
1034
+ ---
1035
+
1036
+ ### `#willr(symbol:, interval:, time_period:, datatype: = 'json')`
1037
+
1038
+
1039
+
1040
+
1041
+ ??? info "Source Location"
1042
+ [`lib/api/alpha_vantage_api.rb:451`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L451)
1043
+
1044
+ ---
1045
+
1046
+ ### `#wma(symbol:, interval:, time_period:, series_type:, datatype: = 'json')`
1047
+
1048
+
1049
+
1050
+
1051
+ ??? info "Source Location"
1052
+ [`lib/api/alpha_vantage_api.rb:455`](https://github.com/madbomber/sqa/blob/main/lib/api/alpha_vantage_api.rb#L455)
1053
+
1054
+ ---
1055
+
1056
+ ## 📝 Attributes
1057
+