sqa 0.0.32 → 0.0.37

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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +92 -1
  3. data/README.md +4 -0
  4. data/Rakefile +52 -10
  5. data/docs/IMPROVEMENT_PLAN.md +531 -0
  6. data/docs/advanced/index.md +1 -13
  7. data/docs/api/index.md +547 -61
  8. data/docs/api-reference/alphavantageapi.md +1057 -0
  9. data/docs/api-reference/apierror.md +31 -0
  10. data/docs/api-reference/index.md +221 -0
  11. data/docs/api-reference/notimplemented.md +27 -0
  12. data/docs/api-reference/sqa.md +267 -0
  13. data/docs/api-reference/sqa_backtest.md +137 -0
  14. data/docs/api-reference/sqa_backtest_results.md +530 -0
  15. data/docs/api-reference/sqa_badparametererror.md +13 -0
  16. data/docs/api-reference/sqa_config.md +538 -0
  17. data/docs/api-reference/sqa_configurationerror.md +13 -0
  18. data/docs/api-reference/sqa_datafetcherror.md +56 -0
  19. data/docs/api-reference/sqa_dataframe.md +752 -0
  20. data/docs/api-reference/sqa_dataframe_alphavantage.md +30 -0
  21. data/docs/api-reference/sqa_dataframe_data.md +325 -0
  22. data/docs/api-reference/sqa_dataframe_yahoofinance.md +25 -0
  23. data/docs/api-reference/sqa_ensemble.md +413 -0
  24. data/docs/api-reference/sqa_fpop.md +211 -0
  25. data/docs/api-reference/sqa_geneticprogram.md +325 -0
  26. data/docs/api-reference/sqa_geneticprogram_individual.md +114 -0
  27. data/docs/api-reference/sqa_marketregime.md +212 -0
  28. data/docs/api-reference/sqa_multitimeframe.md +227 -0
  29. data/docs/api-reference/sqa_patternmatcher.md +195 -0
  30. data/docs/api-reference/sqa_pluginmanager.md +55 -0
  31. data/docs/api-reference/sqa_portfolio.md +455 -0
  32. data/docs/api-reference/sqa_portfolio_position.md +220 -0
  33. data/docs/api-reference/sqa_portfolio_trade.md +332 -0
  34. data/docs/api-reference/sqa_portfoliooptimizer.md +248 -0
  35. data/docs/api-reference/sqa_riskmanager.md +388 -0
  36. data/docs/api-reference/sqa_seasonalanalyzer.md +121 -0
  37. data/docs/api-reference/sqa_sectoranalyzer.md +163 -0
  38. data/docs/api-reference/sqa_stock.md +649 -0
  39. data/docs/api-reference/sqa_strategy.md +178 -0
  40. data/docs/api-reference/sqa_strategy_bollingerbands.md +26 -0
  41. data/docs/api-reference/sqa_strategy_common.md +29 -0
  42. data/docs/api-reference/sqa_strategy_consensus.md +129 -0
  43. data/docs/api-reference/sqa_strategy_ema.md +41 -0
  44. data/docs/api-reference/sqa_strategy_kbs.md +154 -0
  45. data/docs/api-reference/sqa_strategy_macd.md +26 -0
  46. data/docs/api-reference/sqa_strategy_mp.md +41 -0
  47. data/docs/api-reference/sqa_strategy_mr.md +41 -0
  48. data/docs/api-reference/sqa_strategy_random.md +41 -0
  49. data/docs/api-reference/sqa_strategy_rsi.md +41 -0
  50. data/docs/api-reference/sqa_strategy_sma.md +41 -0
  51. data/docs/api-reference/sqa_strategy_stochastic.md +26 -0
  52. data/docs/api-reference/sqa_strategy_volumebreakout.md +26 -0
  53. data/docs/api-reference/sqa_strategygenerator.md +298 -0
  54. data/docs/api-reference/sqa_strategygenerator_pattern.md +264 -0
  55. data/docs/api-reference/sqa_strategygenerator_patterncontext.md +326 -0
  56. data/docs/api-reference/sqa_strategygenerator_profitablepoint.md +424 -0
  57. data/docs/api-reference/sqa_stream.md +256 -0
  58. data/docs/api-reference/sqa_ticker.md +175 -0
  59. data/docs/api-reference/string.md +135 -0
  60. data/docs/assets/images/advanced-workflow.svg +89 -0
  61. data/docs/assets/images/architecture.svg +107 -0
  62. data/docs/assets/images/data-flow.svg +138 -0
  63. data/docs/assets/images/getting-started-workflow.svg +88 -0
  64. data/docs/assets/images/strategy-flow.svg +78 -0
  65. data/docs/assets/images/system-architecture.svg +150 -0
  66. data/docs/concepts/index.md +292 -19
  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/config.rb +109 -28
  76. data/lib/sqa/data_frame/data.rb +13 -1
  77. data/lib/sqa/data_frame.rb +168 -26
  78. data/lib/sqa/errors.rb +79 -17
  79. data/lib/sqa/init.rb +70 -15
  80. data/lib/sqa/pattern_matcher.rb +4 -4
  81. data/lib/sqa/portfolio.rb +1 -1
  82. data/lib/sqa/sector_analyzer.rb +3 -11
  83. data/lib/sqa/stock.rb +169 -15
  84. data/lib/sqa/strategy.rb +62 -4
  85. data/lib/sqa/ticker.rb +106 -48
  86. data/lib/sqa/version.rb +1 -1
  87. data/lib/sqa.rb +4 -4
  88. data/mkdocs.yml +68 -81
  89. metadata +89 -21
  90. data/docs/README.md +0 -43
  91. data/examples/sinatra_app/Gemfile +0 -42
  92. data/examples/sinatra_app/Gemfile.lock +0 -268
  93. data/examples/sinatra_app/QUICKSTART.md +0 -169
  94. data/examples/sinatra_app/README.md +0 -471
  95. data/examples/sinatra_app/RUNNING_WITHOUT_TALIB.md +0 -90
  96. data/examples/sinatra_app/TROUBLESHOOTING.md +0 -95
  97. data/examples/sinatra_app/app.rb +0 -404
  98. data/examples/sinatra_app/config.ru +0 -5
  99. data/examples/sinatra_app/public/css/style.css +0 -723
  100. data/examples/sinatra_app/public/debug_macd.html +0 -82
  101. data/examples/sinatra_app/public/js/app.js +0 -107
  102. data/examples/sinatra_app/start.sh +0 -53
  103. data/examples/sinatra_app/views/analyze.erb +0 -306
  104. data/examples/sinatra_app/views/backtest.erb +0 -325
  105. data/examples/sinatra_app/views/dashboard.erb +0 -831
  106. data/examples/sinatra_app/views/error.erb +0 -58
  107. data/examples/sinatra_app/views/index.erb +0 -118
  108. data/examples/sinatra_app/views/layout.erb +0 -61
  109. 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`
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`
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`
33
+
34
+ ---
35
+
36
+ ### `#ad(symbol:, interval:)`
37
+
38
+
39
+
40
+
41
+ ??? info "Source Location"
42
+ `lib/api/alpha_vantage_api.rb:45`
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`
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`
63
+
64
+ ---
65
+
66
+ ### `#all_commodities(interval:)`
67
+
68
+
69
+
70
+
71
+ ??? info "Source Location"
72
+ `lib/api/alpha_vantage_api.rb:57`
73
+
74
+ ---
75
+
76
+ ### `#aluminum(interval:)`
77
+
78
+
79
+
80
+
81
+ ??? info "Source Location"
82
+ `lib/api/alpha_vantage_api.rb:61`
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`
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`
103
+
104
+ ---
105
+
106
+ ### `#balance_sheet(symbol:)`
107
+
108
+
109
+
110
+
111
+ ??? info "Source Location"
112
+ `lib/api/alpha_vantage_api.rb:73`
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`
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`
133
+
134
+ ---
135
+
136
+ ### `#earnings(symbol:)`
137
+
138
+
139
+
140
+
141
+ ??? info "Source Location"
142
+ `lib/api/alpha_vantage_api.rb:85`
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`
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`
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`
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`
183
+
184
+ ---
185
+
186
+ ### `#bop(symbol:, interval:)`
187
+
188
+
189
+
190
+
191
+ ??? info "Source Location"
192
+ `lib/api/alpha_vantage_api.rb:105`
193
+
194
+ ---
195
+
196
+ ### `#cash_flow(symbol:)`
197
+
198
+
199
+
200
+
201
+ ??? info "Source Location"
202
+ `lib/api/alpha_vantage_api.rb:109`
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`
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`
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`
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`
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`
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`
263
+
264
+ ---
265
+
266
+ ### `#federal_funds_rate(interval:)`
267
+
268
+
269
+
270
+
271
+ ??? info "Source Location"
272
+ `lib/api/alpha_vantage_api.rb:137`
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`
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`
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`
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`
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`
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`
333
+
334
+ ---
335
+
336
+ ### `#income_statement(symbol:)`
337
+
338
+
339
+
340
+
341
+ ??? info "Source Location"
342
+ `lib/api/alpha_vantage_api.rb:165`
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`
353
+
354
+ ---
355
+
356
+ ### `#brent(interval:)`
357
+
358
+
359
+
360
+
361
+ ??? info "Source Location"
362
+ `lib/api/alpha_vantage_api.rb:174`
363
+
364
+ ---
365
+
366
+ ### `#coffee(interval:)`
367
+
368
+
369
+
370
+
371
+ ??? info "Source Location"
372
+ `lib/api/alpha_vantage_api.rb:178`
373
+
374
+ ---
375
+
376
+ ### `#copper(interval:)`
377
+
378
+
379
+
380
+
381
+ ??? info "Source Location"
382
+ `lib/api/alpha_vantage_api.rb:182`
383
+
384
+ ---
385
+
386
+ ### `#corn(interval:)`
387
+
388
+
389
+
390
+
391
+ ??? info "Source Location"
392
+ `lib/api/alpha_vantage_api.rb:186`
393
+
394
+ ---
395
+
396
+ ### `#cotton(interval:)`
397
+
398
+
399
+
400
+
401
+ ??? info "Source Location"
402
+ `lib/api/alpha_vantage_api.rb:190`
403
+
404
+ ---
405
+
406
+ ### `#cpi(interval:)`
407
+
408
+
409
+
410
+
411
+ ??? info "Source Location"
412
+ `lib/api/alpha_vantage_api.rb:194`
413
+
414
+ ---
415
+
416
+ ### `#durables()`
417
+
418
+
419
+
420
+
421
+ ??? info "Source Location"
422
+ `lib/api/alpha_vantage_api.rb:198`
423
+
424
+ ---
425
+
426
+ ### `#inflation()`
427
+
428
+
429
+
430
+
431
+ ??? info "Source Location"
432
+ `lib/api/alpha_vantage_api.rb:202`
433
+
434
+ ---
435
+
436
+ ### `#ipo_calendar()`
437
+
438
+
439
+
440
+
441
+ ??? info "Source Location"
442
+ `lib/api/alpha_vantage_api.rb:206`
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`
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`
463
+
464
+ ---
465
+
466
+ ### `#market_status()`
467
+
468
+
469
+
470
+
471
+ ??? info "Source Location"
472
+ `lib/api/alpha_vantage_api.rb:218`
473
+
474
+ ---
475
+
476
+ ### `#natural_gas(interval:)`
477
+
478
+
479
+
480
+
481
+ ??? info "Source Location"
482
+ `lib/api/alpha_vantage_api.rb:222`
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`
493
+
494
+ ---
495
+
496
+ ### `#nonfarm_payroll()`
497
+
498
+
499
+
500
+
501
+ ??? info "Source Location"
502
+ `lib/api/alpha_vantage_api.rb:230`
503
+
504
+ ---
505
+
506
+ ### `#real_gdp(interval:)`
507
+
508
+
509
+
510
+
511
+ ??? info "Source Location"
512
+ `lib/api/alpha_vantage_api.rb:234`
513
+
514
+ ---
515
+
516
+ ### `#real_gdp_per_capita()`
517
+
518
+
519
+
520
+
521
+ ??? info "Source Location"
522
+ `lib/api/alpha_vantage_api.rb:238`
523
+
524
+ ---
525
+
526
+ ### `#retail_sales()`
527
+
528
+
529
+
530
+
531
+ ??? info "Source Location"
532
+ `lib/api/alpha_vantage_api.rb:242`
533
+
534
+ ---
535
+
536
+ ### `#sugar(interval:)`
537
+
538
+
539
+
540
+
541
+ ??? info "Source Location"
542
+ `lib/api/alpha_vantage_api.rb:246`
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`
553
+
554
+ ---
555
+
556
+ ### `#top_gainers_losers()`
557
+
558
+
559
+
560
+
561
+ ??? info "Source Location"
562
+ `lib/api/alpha_vantage_api.rb:254`
563
+
564
+ ---
565
+
566
+ ### `#treasury_yield(interval:, maturity:)`
567
+
568
+
569
+
570
+
571
+ ??? info "Source Location"
572
+ `lib/api/alpha_vantage_api.rb:258`
573
+
574
+ ---
575
+
576
+ ### `#unemployment()`
577
+
578
+
579
+
580
+
581
+ ??? info "Source Location"
582
+ `lib/api/alpha_vantage_api.rb:262`
583
+
584
+ ---
585
+
586
+ ### `#wheat(interval:)`
587
+
588
+
589
+
590
+
591
+ ??? info "Source Location"
592
+ `lib/api/alpha_vantage_api.rb:266`
593
+
594
+ ---
595
+
596
+ ### `#wti(interval:)`
597
+
598
+
599
+
600
+
601
+ ??? info "Source Location"
602
+ `lib/api/alpha_vantage_api.rb:270`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
843
+
844
+ ---
845
+
846
+ ### `#overview(symbol:, datatype: = 'json')`
847
+
848
+
849
+
850
+
851
+ ??? info "Source Location"
852
+ `lib/api/alpha_vantage_api.rb:375`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
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`
1053
+
1054
+ ---
1055
+
1056
+ ## 📝 Attributes
1057
+