intrinio-sdk 2.1.0 → 2.2.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.
Files changed (403) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +168 -2
  3. data/docs/AccumulationDistributionIndexTechnicalValue.md +9 -0
  4. data/docs/ApiResponseCryptoBook.md +12 -0
  5. data/docs/ApiResponseCryptoBookAsks.md +11 -0
  6. data/docs/ApiResponseCryptoBookBids.md +11 -0
  7. data/docs/ApiResponseCryptoCurrencies.md +8 -0
  8. data/docs/ApiResponseCryptoExchanges.md +8 -0
  9. data/docs/ApiResponseCryptoPairs.md +9 -0
  10. data/docs/ApiResponseCryptoPrices.md +12 -0
  11. data/docs/ApiResponseCryptoSnapshot.md +10 -0
  12. data/docs/ApiResponseCryptoStats.md +8 -0
  13. data/docs/ApiResponseOptionPrices.md +10 -0
  14. data/docs/ApiResponseOptions.md +9 -0
  15. data/docs/ApiResponseOptionsChain.md +8 -0
  16. data/docs/ApiResponseOptionsExpirations.md +8 -0
  17. data/docs/ApiResponseSecurityAccumulationDistributionIndex.md +11 -0
  18. data/docs/ApiResponseSecurityAverageDailyTradingVolume.md +11 -0
  19. data/docs/ApiResponseSecurityAverageDirectionalIndex.md +11 -0
  20. data/docs/ApiResponseSecurityAverageTrueRange.md +11 -0
  21. data/docs/ApiResponseSecurityAwesomeOscillator.md +11 -0
  22. data/docs/ApiResponseSecurityBollingerBands.md +11 -0
  23. data/docs/ApiResponseSecurityChaikinMoneyFlow.md +11 -0
  24. data/docs/ApiResponseSecurityCommodityChannelIndex.md +11 -0
  25. data/docs/ApiResponseSecurityDetrendedPriceOscillator.md +11 -0
  26. data/docs/ApiResponseSecurityDonchianChannel.md +11 -0
  27. data/docs/ApiResponseSecurityEaseOfMovement.md +11 -0
  28. data/docs/ApiResponseSecurityForceIndex.md +11 -0
  29. data/docs/ApiResponseSecurityIchimokuKinkoHyo.md +11 -0
  30. data/docs/ApiResponseSecurityKeltnerChannel.md +11 -0
  31. data/docs/ApiResponseSecurityKnowSureThing.md +11 -0
  32. data/docs/ApiResponseSecurityMassIndex.md +11 -0
  33. data/docs/ApiResponseSecurityMoneyFlowIndex.md +11 -0
  34. data/docs/ApiResponseSecurityMovingAverageConvergenceDivergence.md +11 -0
  35. data/docs/ApiResponseSecurityNegativeVolumeIndex.md +11 -0
  36. data/docs/ApiResponseSecurityOnBalanceVolume.md +11 -0
  37. data/docs/ApiResponseSecurityOnBalanceVolumeMean.md +11 -0
  38. data/docs/ApiResponseSecurityRelativeStrengthIndex.md +11 -0
  39. data/docs/ApiResponseSecuritySimpleMovingAverage.md +11 -0
  40. data/docs/ApiResponseSecurityStochasticOscillator.md +11 -0
  41. data/docs/ApiResponseSecurityTripleExponentialAverage.md +11 -0
  42. data/docs/ApiResponseSecurityTrueStrengthIndex.md +11 -0
  43. data/docs/ApiResponseSecurityUltimateOscillator.md +11 -0
  44. data/docs/ApiResponseSecurityVolumePriceTrend.md +11 -0
  45. data/docs/ApiResponseSecurityVolumeWeightedAveragePrice.md +11 -0
  46. data/docs/ApiResponseSecurityVortexIndicator.md +11 -0
  47. data/docs/ApiResponseSecurityWilliamsR.md +11 -0
  48. data/docs/AverageDailyTradingVolumeTechnicalValue.md +9 -0
  49. data/docs/AverageDirectionalIndexTechnicalValue.md +11 -0
  50. data/docs/AverageTrueRangeTechnicalValue.md +9 -0
  51. data/docs/AwesomeOscillatorTechnicalValue.md +9 -0
  52. data/docs/BollingerBandsTechnicalValue.md +11 -0
  53. data/docs/ChaikinMoneyFlowTechnicalValue.md +9 -0
  54. data/docs/CommodityChannelIndexTechnicalValue.md +9 -0
  55. data/docs/CompanyApi.md +15 -15
  56. data/docs/CryptoApi.md +433 -0
  57. data/docs/CryptoAsk.md +9 -0
  58. data/docs/CryptoBid.md +9 -0
  59. data/docs/CryptoBookEntry.md +9 -0
  60. data/docs/CryptoCurrency.md +12 -0
  61. data/docs/CryptoExchange.md +13 -0
  62. data/docs/CryptoExchangeSummary.md +9 -0
  63. data/docs/CryptoPair.md +15 -0
  64. data/docs/CryptoPairSummary.md +9 -0
  65. data/docs/CryptoPrice.md +13 -0
  66. data/docs/CryptoSnapshot.md +22 -0
  67. data/docs/CryptoStat.md +15 -0
  68. data/docs/DataPointApi.md +10 -10
  69. data/docs/DetrendedPriceOscillatorTechnicalValue.md +9 -0
  70. data/docs/DonchianChannelTechnicalValue.md +10 -0
  71. data/docs/EaseOfMovementTechnicalValue.md +9 -0
  72. data/docs/ForceIndexTechnicalValue.md +9 -0
  73. data/docs/FundamentalsApi.md +4 -4
  74. data/docs/HistoricalDataApi.md +7 -5
  75. data/docs/IchimokuKinkoHyoTechnicalValue.md +13 -0
  76. data/docs/KeltnerChannelTechnicalValue.md +11 -0
  77. data/docs/KnowSureThingTechnicalValue.md +9 -0
  78. data/docs/MassIndexTechnicalValue.md +9 -0
  79. data/docs/MoneyFlowIndexTechnicalValue.md +9 -0
  80. data/docs/MovingAverageConvergenceDivergenceTechnicalValue.md +11 -0
  81. data/docs/NegativeVolumeIndexTechnicalValue.md +9 -0
  82. data/docs/OnBalanceVolumeMeanTechnicalValue.md +9 -0
  83. data/docs/OnBalanceVolumeTechnicalValue.md +9 -0
  84. data/docs/Option.md +13 -0
  85. data/docs/OptionChain.md +9 -0
  86. data/docs/OptionPrice.md +21 -0
  87. data/docs/OptionsApi.md +225 -0
  88. data/docs/RelativeStrengthIndexTechnicalValue.md +9 -0
  89. data/docs/ReportedFinancial.md +1 -0
  90. data/docs/ReportedFinancialDimension.md +9 -0
  91. data/docs/Security.md +1 -0
  92. data/docs/SecurityApi.md +1717 -22
  93. data/docs/SimpleMovingAverageTechnicalValue.md +9 -0
  94. data/docs/StochasticOscillatorTechnicalValue.md +10 -0
  95. data/docs/StockExchangeApi.md +6 -6
  96. data/docs/TechnicalApi.md +1701 -0
  97. data/docs/TechnicalIndicator.md +9 -0
  98. data/docs/TripleExponentialAverageTechnicalValue.md +9 -0
  99. data/docs/TrueStrengthIndexTechnicalValue.md +9 -0
  100. data/docs/UltimateOscillatorTechnicalValue.md +9 -0
  101. data/docs/VolumePriceTrendTechnicalValue.md +9 -0
  102. data/docs/VolumeWeightedAveragePriceValue.md +9 -0
  103. data/docs/VortexIndicatorTechnicalValue.md +10 -0
  104. data/docs/WilliamsRTechnicalValue.md +9 -0
  105. data/intrinio-sdk.gemspec +1 -1
  106. data/lib/intrinio-sdk.rb +95 -1
  107. data/lib/intrinio-sdk/api/company_api.rb +19 -19
  108. data/lib/intrinio-sdk/api/crypto_api.rb +560 -0
  109. data/lib/intrinio-sdk/api/data_point_api.rb +13 -13
  110. data/lib/intrinio-sdk/api/data_tag_api.rb +1 -1
  111. data/lib/intrinio-sdk/api/filing_api.rb +1 -1
  112. data/lib/intrinio-sdk/api/forex_api.rb +1 -1
  113. data/lib/intrinio-sdk/api/fundamentals_api.rb +5 -5
  114. data/lib/intrinio-sdk/api/historical_data_api.rb +13 -7
  115. data/lib/intrinio-sdk/api/index_api.rb +1 -1
  116. data/lib/intrinio-sdk/api/municipality_api.rb +1 -1
  117. data/lib/intrinio-sdk/api/options_api.rb +325 -0
  118. data/lib/intrinio-sdk/api/security_api.rb +2472 -21
  119. data/lib/intrinio-sdk/api/stock_exchange_api.rb +3 -3
  120. data/lib/intrinio-sdk/api/technical_api.rb +2474 -0
  121. data/lib/intrinio-sdk/api_client.rb +1 -1
  122. data/lib/intrinio-sdk/api_error.rb +1 -1
  123. data/lib/intrinio-sdk/configuration.rb +1 -1
  124. data/lib/intrinio-sdk/models/accumulation_distribution_index_technical_value.rb +199 -0
  125. data/lib/intrinio-sdk/models/api_response_companies.rb +1 -1
  126. data/lib/intrinio-sdk/models/api_response_companies_search.rb +1 -1
  127. data/lib/intrinio-sdk/models/api_response_company_filings.rb +1 -1
  128. data/lib/intrinio-sdk/models/api_response_company_fundamentals.rb +1 -1
  129. data/lib/intrinio-sdk/models/api_response_company_historical_data.rb +1 -1
  130. data/lib/intrinio-sdk/models/api_response_company_news.rb +1 -1
  131. data/lib/intrinio-sdk/models/api_response_company_securities.rb +1 -1
  132. data/lib/intrinio-sdk/models/api_response_crypto_book.rb +231 -0
  133. data/lib/intrinio-sdk/models/api_response_crypto_book_asks.rb +219 -0
  134. data/lib/intrinio-sdk/models/api_response_crypto_book_bids.rb +219 -0
  135. data/lib/intrinio-sdk/models/api_response_crypto_currencies.rb +191 -0
  136. data/lib/intrinio-sdk/models/api_response_crypto_exchanges.rb +191 -0
  137. data/lib/intrinio-sdk/models/api_response_crypto_pairs.rb +201 -0
  138. data/lib/intrinio-sdk/models/api_response_crypto_prices.rb +229 -0
  139. data/lib/intrinio-sdk/models/api_response_crypto_snapshot.rb +206 -0
  140. data/lib/intrinio-sdk/models/api_response_crypto_stats.rb +191 -0
  141. data/lib/intrinio-sdk/models/api_response_data_tags.rb +1 -1
  142. data/lib/intrinio-sdk/models/api_response_data_tags_search.rb +1 -1
  143. data/lib/intrinio-sdk/models/api_response_economic_index_historical_data.rb +1 -1
  144. data/lib/intrinio-sdk/models/api_response_economic_indices.rb +1 -1
  145. data/lib/intrinio-sdk/models/api_response_economic_indices_search.rb +1 -1
  146. data/lib/intrinio-sdk/models/api_response_filing_notes.rb +1 -1
  147. data/lib/intrinio-sdk/models/api_response_filing_notes_search.rb +1 -1
  148. data/lib/intrinio-sdk/models/api_response_filings.rb +1 -1
  149. data/lib/intrinio-sdk/models/api_response_forex_currencies.rb +1 -1
  150. data/lib/intrinio-sdk/models/api_response_forex_pairs.rb +1 -1
  151. data/lib/intrinio-sdk/models/api_response_forex_prices.rb +1 -1
  152. data/lib/intrinio-sdk/models/api_response_historical_data.rb +1 -1
  153. data/lib/intrinio-sdk/models/api_response_municipalities.rb +1 -1
  154. data/lib/intrinio-sdk/models/api_response_municipalitiy_financials.rb +1 -1
  155. data/lib/intrinio-sdk/models/api_response_news.rb +1 -1
  156. data/lib/intrinio-sdk/models/api_response_option_prices.rb +210 -0
  157. data/lib/intrinio-sdk/models/api_response_options.rb +201 -0
  158. data/lib/intrinio-sdk/models/api_response_options_chain.rb +191 -0
  159. data/lib/intrinio-sdk/models/api_response_options_expirations.rb +191 -0
  160. data/lib/intrinio-sdk/models/api_response_reported_financials.rb +1 -1
  161. data/lib/intrinio-sdk/models/api_response_securities.rb +1 -1
  162. data/lib/intrinio-sdk/models/api_response_securities_search.rb +1 -1
  163. data/lib/intrinio-sdk/models/api_response_security_accumulation_distribution_index.rb +220 -0
  164. data/lib/intrinio-sdk/models/api_response_security_average_daily_trading_volume.rb +220 -0
  165. data/lib/intrinio-sdk/models/api_response_security_average_directional_index.rb +220 -0
  166. data/lib/intrinio-sdk/models/api_response_security_average_true_range.rb +220 -0
  167. data/lib/intrinio-sdk/models/api_response_security_awesome_oscillator.rb +220 -0
  168. data/lib/intrinio-sdk/models/api_response_security_bollinger_bands.rb +220 -0
  169. data/lib/intrinio-sdk/models/api_response_security_chaikin_money_flow.rb +220 -0
  170. data/lib/intrinio-sdk/models/api_response_security_commodity_channel_index.rb +220 -0
  171. data/lib/intrinio-sdk/models/api_response_security_detrended_price_oscillator.rb +220 -0
  172. data/lib/intrinio-sdk/models/api_response_security_donchian_channel.rb +220 -0
  173. data/lib/intrinio-sdk/models/api_response_security_ease_of_movement.rb +220 -0
  174. data/lib/intrinio-sdk/models/api_response_security_force_index.rb +220 -0
  175. data/lib/intrinio-sdk/models/api_response_security_historical_data.rb +1 -1
  176. data/lib/intrinio-sdk/models/api_response_security_ichimoku_kinko_hyo.rb +220 -0
  177. data/lib/intrinio-sdk/models/api_response_security_intraday_prices.rb +1 -1
  178. data/lib/intrinio-sdk/models/api_response_security_keltner_channel.rb +220 -0
  179. data/lib/intrinio-sdk/models/api_response_security_know_sure_thing.rb +220 -0
  180. data/lib/intrinio-sdk/models/api_response_security_mass_index.rb +220 -0
  181. data/lib/intrinio-sdk/models/api_response_security_money_flow_index.rb +220 -0
  182. data/lib/intrinio-sdk/models/api_response_security_moving_average_convergence_divergence.rb +220 -0
  183. data/lib/intrinio-sdk/models/api_response_security_negative_volume_index.rb +220 -0
  184. data/lib/intrinio-sdk/models/api_response_security_on_balance_volume.rb +220 -0
  185. data/lib/intrinio-sdk/models/api_response_security_on_balance_volume_mean.rb +220 -0
  186. data/lib/intrinio-sdk/models/api_response_security_relative_strength_index.rb +220 -0
  187. data/lib/intrinio-sdk/models/api_response_security_simple_moving_average.rb +220 -0
  188. data/lib/intrinio-sdk/models/api_response_security_stochastic_oscillator.rb +220 -0
  189. data/lib/intrinio-sdk/models/api_response_security_stock_price_adjustments.rb +1 -1
  190. data/lib/intrinio-sdk/models/api_response_security_stock_prices.rb +1 -1
  191. data/lib/intrinio-sdk/models/api_response_security_triple_exponential_average.rb +220 -0
  192. data/lib/intrinio-sdk/models/api_response_security_true_strength_index.rb +220 -0
  193. data/lib/intrinio-sdk/models/api_response_security_ultimate_oscillator.rb +220 -0
  194. data/lib/intrinio-sdk/models/api_response_security_volume_price_trend.rb +220 -0
  195. data/lib/intrinio-sdk/models/api_response_security_volume_weighted_average_price.rb +220 -0
  196. data/lib/intrinio-sdk/models/api_response_security_vortex_indicator.rb +220 -0
  197. data/lib/intrinio-sdk/models/api_response_security_williams_r.rb +220 -0
  198. data/lib/intrinio-sdk/models/api_response_sic_index_historical_data.rb +1 -1
  199. data/lib/intrinio-sdk/models/api_response_sic_indices.rb +1 -1
  200. data/lib/intrinio-sdk/models/api_response_sic_indices_search.rb +1 -1
  201. data/lib/intrinio-sdk/models/api_response_standardized_financials.rb +1 -1
  202. data/lib/intrinio-sdk/models/api_response_stock_exchange_realtime_stock_prices.rb +1 -1
  203. data/lib/intrinio-sdk/models/api_response_stock_exchange_securities.rb +1 -1
  204. data/lib/intrinio-sdk/models/api_response_stock_exchange_stock_price_adjustments.rb +1 -1
  205. data/lib/intrinio-sdk/models/api_response_stock_exchange_stock_prices.rb +1 -1
  206. data/lib/intrinio-sdk/models/api_response_stock_exchanges.rb +1 -1
  207. data/lib/intrinio-sdk/models/api_response_stock_market_index_historical_data.rb +1 -1
  208. data/lib/intrinio-sdk/models/api_response_stock_market_indices.rb +1 -1
  209. data/lib/intrinio-sdk/models/api_response_stock_market_indices_search.rb +1 -1
  210. data/lib/intrinio-sdk/models/average_daily_trading_volume_technical_value.rb +199 -0
  211. data/lib/intrinio-sdk/models/average_directional_index_technical_value.rb +219 -0
  212. data/lib/intrinio-sdk/models/average_true_range_technical_value.rb +199 -0
  213. data/lib/intrinio-sdk/models/awesome_oscillator_technical_value.rb +199 -0
  214. data/lib/intrinio-sdk/models/bollinger_bands_technical_value.rb +219 -0
  215. data/lib/intrinio-sdk/models/chaikin_money_flow_technical_value.rb +199 -0
  216. data/lib/intrinio-sdk/models/commodity_channel_index_technical_value.rb +199 -0
  217. data/lib/intrinio-sdk/models/company.rb +1 -1
  218. data/lib/intrinio-sdk/models/company_filing.rb +1 -1
  219. data/lib/intrinio-sdk/models/company_news.rb +1 -1
  220. data/lib/intrinio-sdk/models/company_news_summary.rb +1 -1
  221. data/lib/intrinio-sdk/models/company_summary.rb +1 -1
  222. data/lib/intrinio-sdk/models/crypto_ask.rb +199 -0
  223. data/lib/intrinio-sdk/models/crypto_bid.rb +199 -0
  224. data/lib/intrinio-sdk/models/crypto_book_entry.rb +199 -0
  225. data/lib/intrinio-sdk/models/crypto_currency.rb +229 -0
  226. data/lib/intrinio-sdk/models/crypto_exchange.rb +239 -0
  227. data/lib/intrinio-sdk/models/crypto_exchange_summary.rb +199 -0
  228. data/lib/intrinio-sdk/models/crypto_pair.rb +259 -0
  229. data/lib/intrinio-sdk/models/crypto_pair_summary.rb +199 -0
  230. data/lib/intrinio-sdk/models/crypto_price.rb +239 -0
  231. data/lib/intrinio-sdk/models/crypto_snapshot.rb +329 -0
  232. data/lib/intrinio-sdk/models/crypto_stat.rb +259 -0
  233. data/lib/intrinio-sdk/models/data_tag.rb +1 -1
  234. data/lib/intrinio-sdk/models/data_tag_summary.rb +1 -1
  235. data/lib/intrinio-sdk/models/detrended_price_oscillator_technical_value.rb +199 -0
  236. data/lib/intrinio-sdk/models/dividend_record.rb +1 -1
  237. data/lib/intrinio-sdk/models/donchian_channel_technical_value.rb +209 -0
  238. data/lib/intrinio-sdk/models/earnings_record.rb +1 -1
  239. data/lib/intrinio-sdk/models/ease_of_movement_technical_value.rb +199 -0
  240. data/lib/intrinio-sdk/models/economic_index.rb +1 -1
  241. data/lib/intrinio-sdk/models/economic_index_summary.rb +1 -1
  242. data/lib/intrinio-sdk/models/filing.rb +1 -1
  243. data/lib/intrinio-sdk/models/filing_note.rb +1 -1
  244. data/lib/intrinio-sdk/models/filing_note_filing.rb +1 -1
  245. data/lib/intrinio-sdk/models/filing_note_summary.rb +1 -1
  246. data/lib/intrinio-sdk/models/filing_summary.rb +1 -1
  247. data/lib/intrinio-sdk/models/force_index_technical_value.rb +199 -0
  248. data/lib/intrinio-sdk/models/forex_currency.rb +1 -1
  249. data/lib/intrinio-sdk/models/forex_pair.rb +1 -1
  250. data/lib/intrinio-sdk/models/forex_price.rb +1 -1
  251. data/lib/intrinio-sdk/models/fundamental.rb +1 -1
  252. data/lib/intrinio-sdk/models/fundamental_summary.rb +1 -1
  253. data/lib/intrinio-sdk/models/historical_data.rb +1 -1
  254. data/lib/intrinio-sdk/models/ichimoku_kinko_hyo_technical_value.rb +239 -0
  255. data/lib/intrinio-sdk/models/intraday_stock_price.rb +1 -1
  256. data/lib/intrinio-sdk/models/keltner_channel_technical_value.rb +219 -0
  257. data/lib/intrinio-sdk/models/know_sure_thing_technical_value.rb +199 -0
  258. data/lib/intrinio-sdk/models/mass_index_technical_value.rb +199 -0
  259. data/lib/intrinio-sdk/models/money_flow_index_technical_value.rb +199 -0
  260. data/lib/intrinio-sdk/models/moving_average_convergence_divergence_technical_value.rb +219 -0
  261. data/lib/intrinio-sdk/models/municipality.rb +1 -1
  262. data/lib/intrinio-sdk/models/municipality_financial.rb +1 -1
  263. data/lib/intrinio-sdk/models/negative_volume_index_technical_value.rb +199 -0
  264. data/lib/intrinio-sdk/models/on_balance_volume_mean_technical_value.rb +199 -0
  265. data/lib/intrinio-sdk/models/on_balance_volume_technical_value.rb +199 -0
  266. data/lib/intrinio-sdk/models/option.rb +239 -0
  267. data/lib/intrinio-sdk/models/option_chain.rb +197 -0
  268. data/lib/intrinio-sdk/models/option_price.rb +319 -0
  269. data/lib/intrinio-sdk/models/realtime_stock_price.rb +1 -1
  270. data/lib/intrinio-sdk/models/realtime_stock_price_security.rb +1 -1
  271. data/lib/intrinio-sdk/models/relative_strength_index_technical_value.rb +199 -0
  272. data/lib/intrinio-sdk/models/reported_financial.rb +18 -6
  273. data/lib/intrinio-sdk/models/reported_financial_dimension.rb +199 -0
  274. data/lib/intrinio-sdk/models/reported_tag.rb +1 -1
  275. data/lib/intrinio-sdk/models/security.rb +15 -5
  276. data/lib/intrinio-sdk/models/security_screen_clause.rb +1 -1
  277. data/lib/intrinio-sdk/models/security_screen_group.rb +1 -1
  278. data/lib/intrinio-sdk/models/security_screen_result.rb +1 -1
  279. data/lib/intrinio-sdk/models/security_screen_result_data.rb +1 -1
  280. data/lib/intrinio-sdk/models/security_summary.rb +1 -1
  281. data/lib/intrinio-sdk/models/sic_index.rb +1 -1
  282. data/lib/intrinio-sdk/models/simple_moving_average_technical_value.rb +199 -0
  283. data/lib/intrinio-sdk/models/standardized_financial.rb +1 -1
  284. data/lib/intrinio-sdk/models/stochastic_oscillator_technical_value.rb +209 -0
  285. data/lib/intrinio-sdk/models/stock_exchange.rb +1 -1
  286. data/lib/intrinio-sdk/models/stock_market_index.rb +1 -1
  287. data/lib/intrinio-sdk/models/stock_market_index_summary.rb +1 -1
  288. data/lib/intrinio-sdk/models/stock_price.rb +1 -1
  289. data/lib/intrinio-sdk/models/stock_price_adjustment.rb +1 -1
  290. data/lib/intrinio-sdk/models/stock_price_adjustment_summary.rb +1 -1
  291. data/lib/intrinio-sdk/models/stock_price_summary.rb +1 -1
  292. data/lib/intrinio-sdk/models/technical_indicator.rb +199 -0
  293. data/lib/intrinio-sdk/models/triple_exponential_average_technical_value.rb +199 -0
  294. data/lib/intrinio-sdk/models/true_strength_index_technical_value.rb +199 -0
  295. data/lib/intrinio-sdk/models/ultimate_oscillator_technical_value.rb +199 -0
  296. data/lib/intrinio-sdk/models/volume_price_trend_technical_value.rb +199 -0
  297. data/lib/intrinio-sdk/models/volume_weighted_average_price_value.rb +199 -0
  298. data/lib/intrinio-sdk/models/vortex_indicator_technical_value.rb +209 -0
  299. data/lib/intrinio-sdk/models/williams_r_technical_value.rb +199 -0
  300. data/lib/intrinio-sdk/version.rb +2 -2
  301. data/spec/api/company_api_spec.rb +9 -9
  302. data/spec/api/crypto_api_spec.rb +166 -0
  303. data/spec/api/data_point_api_spec.rb +6 -6
  304. data/spec/api/fundamentals_api_spec.rb +2 -2
  305. data/spec/api/historical_data_api_spec.rb +4 -3
  306. data/spec/api/options_api_spec.rb +105 -0
  307. data/spec/api/security_api_spec.rb +562 -10
  308. data/spec/api/stock_exchange_api_spec.rb +1 -1
  309. data/spec/api/technical_api_spec.rb +587 -0
  310. data/spec/models/accumulation_distribution_index_technical_value_spec.rb +48 -0
  311. data/spec/models/api_response_crypto_book_asks_spec.rb +60 -0
  312. data/spec/models/api_response_crypto_book_bids_spec.rb +60 -0
  313. data/spec/models/api_response_crypto_book_spec.rb +66 -0
  314. data/spec/models/api_response_crypto_currencies_spec.rb +42 -0
  315. data/spec/models/api_response_crypto_exchanges_spec.rb +42 -0
  316. data/spec/models/api_response_crypto_pairs_spec.rb +48 -0
  317. data/spec/models/api_response_crypto_prices_spec.rb +66 -0
  318. data/spec/models/api_response_crypto_snapshot_spec.rb +54 -0
  319. data/spec/models/api_response_crypto_stats_spec.rb +42 -0
  320. data/spec/models/api_response_option_prices_spec.rb +54 -0
  321. data/spec/models/api_response_options_chain_spec.rb +42 -0
  322. data/spec/models/api_response_options_expirations_spec.rb +42 -0
  323. data/spec/models/api_response_options_spec.rb +48 -0
  324. data/spec/models/api_response_security_accumulation_distribution_index_spec.rb +60 -0
  325. data/spec/models/api_response_security_average_daily_trading_volume_spec.rb +60 -0
  326. data/spec/models/api_response_security_average_directional_index_spec.rb +60 -0
  327. data/spec/models/api_response_security_average_true_range_spec.rb +60 -0
  328. data/spec/models/api_response_security_awesome_oscillator_spec.rb +60 -0
  329. data/spec/models/api_response_security_bollinger_bands_spec.rb +60 -0
  330. data/spec/models/api_response_security_chaikin_money_flow_spec.rb +60 -0
  331. data/spec/models/api_response_security_commodity_channel_index_spec.rb +60 -0
  332. data/spec/models/api_response_security_detrended_price_oscillator_spec.rb +60 -0
  333. data/spec/models/api_response_security_donchian_channel_spec.rb +60 -0
  334. data/spec/models/api_response_security_ease_of_movement_spec.rb +60 -0
  335. data/spec/models/api_response_security_force_index_spec.rb +60 -0
  336. data/spec/models/api_response_security_ichimoku_kinko_hyo_spec.rb +60 -0
  337. data/spec/models/api_response_security_keltner_channel_spec.rb +60 -0
  338. data/spec/models/api_response_security_know_sure_thing_spec.rb +60 -0
  339. data/spec/models/api_response_security_mass_index_spec.rb +60 -0
  340. data/spec/models/api_response_security_money_flow_index_spec.rb +60 -0
  341. data/spec/models/api_response_security_moving_average_convergence_divergence_spec.rb +60 -0
  342. data/spec/models/api_response_security_negative_volume_index_spec.rb +60 -0
  343. data/spec/models/api_response_security_on_balance_volume_mean_spec.rb +60 -0
  344. data/spec/models/api_response_security_on_balance_volume_spec.rb +60 -0
  345. data/spec/models/api_response_security_relative_strength_index_spec.rb +60 -0
  346. data/spec/models/api_response_security_simple_moving_average_spec.rb +60 -0
  347. data/spec/models/api_response_security_stochastic_oscillator_spec.rb +60 -0
  348. data/spec/models/api_response_security_triple_exponential_average_spec.rb +60 -0
  349. data/spec/models/api_response_security_true_strength_index_spec.rb +60 -0
  350. data/spec/models/api_response_security_ultimate_oscillator_spec.rb +60 -0
  351. data/spec/models/api_response_security_volume_price_trend_spec.rb +60 -0
  352. data/spec/models/api_response_security_volume_weighted_average_price_spec.rb +60 -0
  353. data/spec/models/api_response_security_vortex_indicator_spec.rb +60 -0
  354. data/spec/models/api_response_security_williams_r_spec.rb +60 -0
  355. data/spec/models/average_daily_trading_volume_technical_value_spec.rb +48 -0
  356. data/spec/models/average_directional_index_technical_value_spec.rb +60 -0
  357. data/spec/models/average_true_range_technical_value_spec.rb +48 -0
  358. data/spec/models/awesome_oscillator_technical_value_spec.rb +48 -0
  359. data/spec/models/bollinger_bands_technical_value_spec.rb +60 -0
  360. data/spec/models/chaikin_money_flow_technical_value_spec.rb +48 -0
  361. data/spec/models/commodity_channel_index_technical_value_spec.rb +48 -0
  362. data/spec/models/crypto_ask_spec.rb +48 -0
  363. data/spec/models/crypto_bid_spec.rb +48 -0
  364. data/spec/models/crypto_book_entry_spec.rb +48 -0
  365. data/spec/models/crypto_currency_spec.rb +66 -0
  366. data/spec/models/crypto_exchange_spec.rb +72 -0
  367. data/spec/models/crypto_exchange_summary_spec.rb +48 -0
  368. data/spec/models/crypto_pair_spec.rb +84 -0
  369. data/spec/models/crypto_pair_summary_spec.rb +48 -0
  370. data/spec/models/crypto_price_spec.rb +72 -0
  371. data/spec/models/crypto_snapshot_spec.rb +126 -0
  372. data/spec/models/crypto_stat_spec.rb +84 -0
  373. data/spec/models/detrended_price_oscillator_technical_value_spec.rb +48 -0
  374. data/spec/models/donchian_channel_technical_value_spec.rb +54 -0
  375. data/spec/models/ease_of_movement_technical_value_spec.rb +48 -0
  376. data/spec/models/force_index_technical_value_spec.rb +48 -0
  377. data/spec/models/ichimoku_kinko_hyo_technical_value_spec.rb +72 -0
  378. data/spec/models/keltner_channel_technical_value_spec.rb +60 -0
  379. data/spec/models/know_sure_thing_technical_value_spec.rb +48 -0
  380. data/spec/models/mass_index_technical_value_spec.rb +48 -0
  381. data/spec/models/money_flow_index_technical_value_spec.rb +48 -0
  382. data/spec/models/moving_average_convergence_divergence_technical_value_spec.rb +60 -0
  383. data/spec/models/negative_volume_index_technical_value_spec.rb +48 -0
  384. data/spec/models/on_balance_volume_mean_technical_value_spec.rb +48 -0
  385. data/spec/models/on_balance_volume_technical_value_spec.rb +48 -0
  386. data/spec/models/option_chain_spec.rb +48 -0
  387. data/spec/models/option_price_spec.rb +120 -0
  388. data/spec/models/option_spec.rb +72 -0
  389. data/spec/models/relative_strength_index_technical_value_spec.rb +48 -0
  390. data/spec/models/reported_financial_dimension_spec.rb +48 -0
  391. data/spec/models/reported_financial_spec.rb +6 -0
  392. data/spec/models/security_spec.rb +6 -0
  393. data/spec/models/simple_moving_average_technical_value_spec.rb +48 -0
  394. data/spec/models/stochastic_oscillator_technical_value_spec.rb +54 -0
  395. data/spec/models/technical_indicator_spec.rb +48 -0
  396. data/spec/models/triple_exponential_average_technical_value_spec.rb +48 -0
  397. data/spec/models/true_strength_index_technical_value_spec.rb +48 -0
  398. data/spec/models/ultimate_oscillator_technical_value_spec.rb +48 -0
  399. data/spec/models/volume_price_trend_technical_value_spec.rb +48 -0
  400. data/spec/models/volume_weighted_average_price_value_spec.rb +48 -0
  401. data/spec/models/vortex_indicator_technical_value_spec.rb +54 -0
  402. data/spec/models/williams_r_technical_value_spec.rb +48 -0
  403. metadata +378 -2
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Welcome to the Intrinio API! Through our Financial Data Marketplace, we offer a wide selection of financial data feed APIs sourced by our own proprietary processes as well as from many data vendors. For a complete API request / response reference please view the [Intrinio API documentation](https://intrinio.com/documentation/api_v2). If you need additional help in using the API, please visit the [Intrinio website](https://intrinio.com) and click on the chat icon in the lower right corner.
5
5
 
6
- OpenAPI spec version: 2.2.0
6
+ OpenAPI spec version: 2.5.0
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.3.0-SNAPSHOT
@@ -21,7 +21,7 @@ module Intrinio
21
21
  end
22
22
 
23
23
  # All Stock Exchanges
24
- # Returns all Stock Exchanges. Returns Stock Exchanges matching parameters when specified.
24
+ # Returns all Stock Exchanges matching the specified parameters
25
25
  # @param [Hash] opts the optional parameters
26
26
  # @option opts [String] :city Filter by city
27
27
  # @option opts [String] :country Filter by country
@@ -34,7 +34,7 @@ module Intrinio
34
34
  end
35
35
 
36
36
  # All Stock Exchanges
37
- # Returns all Stock Exchanges. Returns Stock Exchanges matching parameters when specified.
37
+ # Returns all Stock Exchanges matching the specified parameters
38
38
  # @param [Hash] opts the optional parameters
39
39
  # @option opts [String] :city Filter by city
40
40
  # @option opts [String] :country Filter by country
@@ -0,0 +1,2474 @@
1
+ =begin
2
+ #Intrinio API
3
+
4
+ #Welcome to the Intrinio API! Through our Financial Data Marketplace, we offer a wide selection of financial data feed APIs sourced by our own proprietary processes as well as from many data vendors. For a complete API request / response reference please view the [Intrinio API documentation](https://intrinio.com/documentation/api_v2). If you need additional help in using the API, please visit the [Intrinio website](https://intrinio.com) and click on the chat icon in the lower right corner.
5
+
6
+ OpenAPI spec version: 2.5.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require "uri"
14
+
15
+ module Intrinio
16
+ class TechnicalApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+
23
+ # Accumulation/Distribution Index
24
+ # Returns the Accumulation/Distribution Index values of Stock Prices for the Security with the given `identifier`
25
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
26
+ # @param [Hash] opts the optional parameters
27
+ # @option opts [String] :start_date Return technical indicator values on or after the date
28
+ # @option opts [String] :end_date Return technical indicator values on or before the date
29
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
30
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
31
+ # @return [ApiResponseSecurityAccumulationDistributionIndex]
32
+ def get_security_price_technicals_adi(identifier, opts = {})
33
+ data, _status_code, _headers = get_security_price_technicals_adi_with_http_info(identifier, opts)
34
+ return data
35
+ end
36
+
37
+ # Accumulation/Distribution Index
38
+ # Returns the Accumulation/Distribution Index values of Stock Prices for the Security with the given `identifier`
39
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
40
+ # @param [Hash] opts the optional parameters
41
+ # @option opts [String] :start_date Return technical indicator values on or after the date
42
+ # @option opts [String] :end_date Return technical indicator values on or before the date
43
+ # @option opts [Integer] :page_size The number of results to return
44
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
45
+ # @return [Array<(ApiResponseSecurityAccumulationDistributionIndex, Fixnum, Hash)>] ApiResponseSecurityAccumulationDistributionIndex data, response status code and response headers
46
+ def get_security_price_technicals_adi_with_http_info(identifier, opts = {})
47
+ if @api_client.config.debugging
48
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adi ..."
49
+ end
50
+ # verify the required parameter 'identifier' is set
51
+ if @api_client.config.client_side_validation && identifier.nil?
52
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adi"
53
+ end
54
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
55
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adi, must be smaller than or equal to 10000.'
56
+ end
57
+
58
+ # resource path
59
+ local_var_path = "/securities/{identifier}/prices/technicals/adi".sub('{' + 'identifier' + '}', identifier.to_s)
60
+
61
+ # query parameters
62
+ query_params = {}
63
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
64
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
65
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
66
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
67
+
68
+ # header parameters
69
+ header_params = {}
70
+ # HTTP header 'Accept' (if needed)
71
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
72
+
73
+ # form parameters
74
+ form_params = {}
75
+
76
+ # http body (model)
77
+ post_body = nil
78
+ auth_names = ['ApiKeyAuth']
79
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
80
+ :header_params => header_params,
81
+ :query_params => query_params,
82
+ :form_params => form_params,
83
+ :body => post_body,
84
+ :auth_names => auth_names,
85
+ :return_type => 'ApiResponseSecurityAccumulationDistributionIndex')
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+
92
+ # Average Daily Trading Volume
93
+ # Returns the Average Daily Trading Volume values of Stock Prices for the Security with the given `identifier`
94
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
95
+ # @param [Hash] opts the optional parameters
96
+ # @option opts [Integer] :period The number of observations, per period, to calculate Average Daily Trading Volume (default to 22)
97
+ # @option opts [String] :start_date Return technical indicator values on or after the date
98
+ # @option opts [String] :end_date Return technical indicator values on or before the date
99
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
100
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
101
+ # @return [ApiResponseSecurityAverageDailyTradingVolume]
102
+ def get_security_price_technicals_adtv(identifier, opts = {})
103
+ data, _status_code, _headers = get_security_price_technicals_adtv_with_http_info(identifier, opts)
104
+ return data
105
+ end
106
+
107
+ # Average Daily Trading Volume
108
+ # Returns the Average Daily Trading Volume values of Stock Prices for the Security with the given &#x60;identifier&#x60;
109
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
110
+ # @param [Hash] opts the optional parameters
111
+ # @option opts [Integer] :period The number of observations, per period, to calculate Average Daily Trading Volume
112
+ # @option opts [String] :start_date Return technical indicator values on or after the date
113
+ # @option opts [String] :end_date Return technical indicator values on or before the date
114
+ # @option opts [Integer] :page_size The number of results to return
115
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
116
+ # @return [Array<(ApiResponseSecurityAverageDailyTradingVolume, Fixnum, Hash)>] ApiResponseSecurityAverageDailyTradingVolume data, response status code and response headers
117
+ def get_security_price_technicals_adtv_with_http_info(identifier, opts = {})
118
+ if @api_client.config.debugging
119
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adtv ..."
120
+ end
121
+ # verify the required parameter 'identifier' is set
122
+ if @api_client.config.client_side_validation && identifier.nil?
123
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adtv"
124
+ end
125
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5
126
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_adtv, must be greater than or equal to 5.'
127
+ end
128
+
129
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
130
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adtv, must be smaller than or equal to 10000.'
131
+ end
132
+
133
+ # resource path
134
+ local_var_path = "/securities/{identifier}/prices/technicals/adtv".sub('{' + 'identifier' + '}', identifier.to_s)
135
+
136
+ # query parameters
137
+ query_params = {}
138
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
139
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
140
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
141
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
142
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
143
+
144
+ # header parameters
145
+ header_params = {}
146
+ # HTTP header 'Accept' (if needed)
147
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
148
+
149
+ # form parameters
150
+ form_params = {}
151
+
152
+ # http body (model)
153
+ post_body = nil
154
+ auth_names = ['ApiKeyAuth']
155
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
156
+ :header_params => header_params,
157
+ :query_params => query_params,
158
+ :form_params => form_params,
159
+ :body => post_body,
160
+ :auth_names => auth_names,
161
+ :return_type => 'ApiResponseSecurityAverageDailyTradingVolume')
162
+ if @api_client.config.debugging
163
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adtv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
164
+ end
165
+ return data, status_code, headers
166
+ end
167
+
168
+ # Average Directional Index
169
+ # Returns the Average Directional Index values of Stock Prices for the Security with the given `identifier`
170
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
171
+ # @param [Hash] opts the optional parameters
172
+ # @option opts [Integer] :period The number of observations, per period, to calculate Average Directional Index (default to 14)
173
+ # @option opts [String] :start_date Return technical indicator values on or after the date
174
+ # @option opts [String] :end_date Return technical indicator values on or before the date
175
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
176
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
177
+ # @return [ApiResponseSecurityAverageDirectionalIndex]
178
+ def get_security_price_technicals_adx(identifier, opts = {})
179
+ data, _status_code, _headers = get_security_price_technicals_adx_with_http_info(identifier, opts)
180
+ return data
181
+ end
182
+
183
+ # Average Directional Index
184
+ # Returns the Average Directional Index values of Stock Prices for the Security with the given &#x60;identifier&#x60;
185
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
186
+ # @param [Hash] opts the optional parameters
187
+ # @option opts [Integer] :period The number of observations, per period, to calculate Average Directional Index
188
+ # @option opts [String] :start_date Return technical indicator values on or after the date
189
+ # @option opts [String] :end_date Return technical indicator values on or before the date
190
+ # @option opts [Integer] :page_size The number of results to return
191
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
192
+ # @return [Array<(ApiResponseSecurityAverageDirectionalIndex, Fixnum, Hash)>] ApiResponseSecurityAverageDirectionalIndex data, response status code and response headers
193
+ def get_security_price_technicals_adx_with_http_info(identifier, opts = {})
194
+ if @api_client.config.debugging
195
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adx ..."
196
+ end
197
+ # verify the required parameter 'identifier' is set
198
+ if @api_client.config.client_side_validation && identifier.nil?
199
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adx"
200
+ end
201
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 3
202
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_adx, must be greater than or equal to 3.'
203
+ end
204
+
205
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
206
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adx, must be smaller than or equal to 10000.'
207
+ end
208
+
209
+ # resource path
210
+ local_var_path = "/securities/{identifier}/prices/technicals/adx".sub('{' + 'identifier' + '}', identifier.to_s)
211
+
212
+ # query parameters
213
+ query_params = {}
214
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
215
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
216
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
217
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
218
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
219
+
220
+ # header parameters
221
+ header_params = {}
222
+ # HTTP header 'Accept' (if needed)
223
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
224
+
225
+ # form parameters
226
+ form_params = {}
227
+
228
+ # http body (model)
229
+ post_body = nil
230
+ auth_names = ['ApiKeyAuth']
231
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
232
+ :header_params => header_params,
233
+ :query_params => query_params,
234
+ :form_params => form_params,
235
+ :body => post_body,
236
+ :auth_names => auth_names,
237
+ :return_type => 'ApiResponseSecurityAverageDirectionalIndex')
238
+ if @api_client.config.debugging
239
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adx\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
240
+ end
241
+ return data, status_code, headers
242
+ end
243
+
244
+ # Awesome Oscillator
245
+ # Returns the Awesome Oscillator values of Stock Prices for the Security with the given `identifier`
246
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
247
+ # @param [Hash] opts the optional parameters
248
+ # @option opts [Integer] :short_period The number of observations, per period, to calculate short period Simple Moving Average of the Awesome Oscillator (default to 5)
249
+ # @option opts [Integer] :long_period The number of observations, per period, to calculate long period Simple Moving Average of the Awesome Oscillator (default to 34)
250
+ # @option opts [String] :start_date Return technical indicator values on or after the date
251
+ # @option opts [String] :end_date Return technical indicator values on or before the date
252
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
253
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
254
+ # @return [ApiResponseSecurityAwesomeOscillator]
255
+ def get_security_price_technicals_ao(identifier, opts = {})
256
+ data, _status_code, _headers = get_security_price_technicals_ao_with_http_info(identifier, opts)
257
+ return data
258
+ end
259
+
260
+ # Awesome Oscillator
261
+ # Returns the Awesome Oscillator values of Stock Prices for the Security with the given &#x60;identifier&#x60;
262
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
263
+ # @param [Hash] opts the optional parameters
264
+ # @option opts [Integer] :short_period The number of observations, per period, to calculate short period Simple Moving Average of the Awesome Oscillator
265
+ # @option opts [Integer] :long_period The number of observations, per period, to calculate long period Simple Moving Average of the Awesome Oscillator
266
+ # @option opts [String] :start_date Return technical indicator values on or after the date
267
+ # @option opts [String] :end_date Return technical indicator values on or before the date
268
+ # @option opts [Integer] :page_size The number of results to return
269
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
270
+ # @return [Array<(ApiResponseSecurityAwesomeOscillator, Fixnum, Hash)>] ApiResponseSecurityAwesomeOscillator data, response status code and response headers
271
+ def get_security_price_technicals_ao_with_http_info(identifier, opts = {})
272
+ if @api_client.config.debugging
273
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_ao ..."
274
+ end
275
+ # verify the required parameter 'identifier' is set
276
+ if @api_client.config.client_side_validation && identifier.nil?
277
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_ao"
278
+ end
279
+ if @api_client.config.client_side_validation && !opts[:'long_period'].nil? && opts[:'long_period'] < 5
280
+ fail ArgumentError, 'invalid value for "opts[:"long_period"]" when calling TechnicalApi.get_security_price_technicals_ao, must be greater than or equal to 5.'
281
+ end
282
+
283
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
284
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_ao, must be smaller than or equal to 10000.'
285
+ end
286
+
287
+ # resource path
288
+ local_var_path = "/securities/{identifier}/prices/technicals/ao".sub('{' + 'identifier' + '}', identifier.to_s)
289
+
290
+ # query parameters
291
+ query_params = {}
292
+ query_params[:'short_period'] = opts[:'short_period'] if !opts[:'short_period'].nil?
293
+ query_params[:'long_period'] = opts[:'long_period'] if !opts[:'long_period'].nil?
294
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
295
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
296
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
297
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
298
+
299
+ # header parameters
300
+ header_params = {}
301
+ # HTTP header 'Accept' (if needed)
302
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
303
+
304
+ # form parameters
305
+ form_params = {}
306
+
307
+ # http body (model)
308
+ post_body = nil
309
+ auth_names = ['ApiKeyAuth']
310
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
311
+ :header_params => header_params,
312
+ :query_params => query_params,
313
+ :form_params => form_params,
314
+ :body => post_body,
315
+ :auth_names => auth_names,
316
+ :return_type => 'ApiResponseSecurityAwesomeOscillator')
317
+ if @api_client.config.debugging
318
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_ao\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
319
+ end
320
+ return data, status_code, headers
321
+ end
322
+
323
+ # Average True Range
324
+ # Returns the Average True Range values of Stock Prices for the Security with the given `identifier`
325
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
326
+ # @param [Hash] opts the optional parameters
327
+ # @option opts [Integer] :period The number of observations, per period, to calculate Average True Range (default to 14)
328
+ # @option opts [String] :start_date Return technical indicator values on or after the date
329
+ # @option opts [String] :end_date Return technical indicator values on or before the date
330
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
331
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
332
+ # @return [ApiResponseSecurityAverageTrueRange]
333
+ def get_security_price_technicals_atr(identifier, opts = {})
334
+ data, _status_code, _headers = get_security_price_technicals_atr_with_http_info(identifier, opts)
335
+ return data
336
+ end
337
+
338
+ # Average True Range
339
+ # Returns the Average True Range values of Stock Prices for the Security with the given &#x60;identifier&#x60;
340
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
341
+ # @param [Hash] opts the optional parameters
342
+ # @option opts [Integer] :period The number of observations, per period, to calculate Average True Range
343
+ # @option opts [String] :start_date Return technical indicator values on or after the date
344
+ # @option opts [String] :end_date Return technical indicator values on or before the date
345
+ # @option opts [Integer] :page_size The number of results to return
346
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
347
+ # @return [Array<(ApiResponseSecurityAverageTrueRange, Fixnum, Hash)>] ApiResponseSecurityAverageTrueRange data, response status code and response headers
348
+ def get_security_price_technicals_atr_with_http_info(identifier, opts = {})
349
+ if @api_client.config.debugging
350
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_atr ..."
351
+ end
352
+ # verify the required parameter 'identifier' is set
353
+ if @api_client.config.client_side_validation && identifier.nil?
354
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_atr"
355
+ end
356
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4
357
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_atr, must be greater than or equal to 4.'
358
+ end
359
+
360
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
361
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_atr, must be smaller than or equal to 10000.'
362
+ end
363
+
364
+ # resource path
365
+ local_var_path = "/securities/{identifier}/prices/technicals/atr".sub('{' + 'identifier' + '}', identifier.to_s)
366
+
367
+ # query parameters
368
+ query_params = {}
369
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
370
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
371
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
372
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
373
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
374
+
375
+ # header parameters
376
+ header_params = {}
377
+ # HTTP header 'Accept' (if needed)
378
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
379
+
380
+ # form parameters
381
+ form_params = {}
382
+
383
+ # http body (model)
384
+ post_body = nil
385
+ auth_names = ['ApiKeyAuth']
386
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
387
+ :header_params => header_params,
388
+ :query_params => query_params,
389
+ :form_params => form_params,
390
+ :body => post_body,
391
+ :auth_names => auth_names,
392
+ :return_type => 'ApiResponseSecurityAverageTrueRange')
393
+ if @api_client.config.debugging
394
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_atr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
395
+ end
396
+ return data, status_code, headers
397
+ end
398
+
399
+ # Bollinger Bands
400
+ # Returns the Bollinger Bands values of Stock Prices for the Security with the given `identifier`
401
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
402
+ # @param [Hash] opts the optional parameters
403
+ # @option opts [Integer] :period The number of observations, per period, to calculate Bollinger Bands (default to 20)
404
+ # @option opts [Float] :standard_deviations The number of standard deviations to calculate the upper and lower bands of the Bollinger Bands (default to 2.0)
405
+ # @option opts [String] :price_key The Stock Price field to use when calculating Bollinger Bands (default to close)
406
+ # @option opts [String] :start_date Return technical indicator values on or after the date
407
+ # @option opts [String] :end_date Return technical indicator values on or before the date
408
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
409
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
410
+ # @return [ApiResponseSecurityBollingerBands]
411
+ def get_security_price_technicals_bb(identifier, opts = {})
412
+ data, _status_code, _headers = get_security_price_technicals_bb_with_http_info(identifier, opts)
413
+ return data
414
+ end
415
+
416
+ # Bollinger Bands
417
+ # Returns the Bollinger Bands values of Stock Prices for the Security with the given &#x60;identifier&#x60;
418
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
419
+ # @param [Hash] opts the optional parameters
420
+ # @option opts [Integer] :period The number of observations, per period, to calculate Bollinger Bands
421
+ # @option opts [Float] :standard_deviations The number of standard deviations to calculate the upper and lower bands of the Bollinger Bands
422
+ # @option opts [String] :price_key The Stock Price field to use when calculating Bollinger Bands
423
+ # @option opts [String] :start_date Return technical indicator values on or after the date
424
+ # @option opts [String] :end_date Return technical indicator values on or before the date
425
+ # @option opts [Integer] :page_size The number of results to return
426
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
427
+ # @return [Array<(ApiResponseSecurityBollingerBands, Fixnum, Hash)>] ApiResponseSecurityBollingerBands data, response status code and response headers
428
+ def get_security_price_technicals_bb_with_http_info(identifier, opts = {})
429
+ if @api_client.config.debugging
430
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_bb ..."
431
+ end
432
+ # verify the required parameter 'identifier' is set
433
+ if @api_client.config.client_side_validation && identifier.nil?
434
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_bb"
435
+ end
436
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5
437
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_bb, must be greater than or equal to 5.'
438
+ end
439
+
440
+ if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key'])
441
+ fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume'
442
+ end
443
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
444
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_bb, must be smaller than or equal to 10000.'
445
+ end
446
+
447
+ # resource path
448
+ local_var_path = "/securities/{identifier}/prices/technicals/bb".sub('{' + 'identifier' + '}', identifier.to_s)
449
+
450
+ # query parameters
451
+ query_params = {}
452
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
453
+ query_params[:'standard_deviations'] = opts[:'standard_deviations'] if !opts[:'standard_deviations'].nil?
454
+ query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil?
455
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
456
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
457
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
458
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
459
+
460
+ # header parameters
461
+ header_params = {}
462
+ # HTTP header 'Accept' (if needed)
463
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
464
+
465
+ # form parameters
466
+ form_params = {}
467
+
468
+ # http body (model)
469
+ post_body = nil
470
+ auth_names = ['ApiKeyAuth']
471
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
472
+ :header_params => header_params,
473
+ :query_params => query_params,
474
+ :form_params => form_params,
475
+ :body => post_body,
476
+ :auth_names => auth_names,
477
+ :return_type => 'ApiResponseSecurityBollingerBands')
478
+ if @api_client.config.debugging
479
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_bb\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
480
+ end
481
+ return data, status_code, headers
482
+ end
483
+
484
+ # Commodity Channel Index
485
+ # Returns the Commodity Channel Index values of Stock Prices for the Security with the given `identifier`
486
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
487
+ # @param [Hash] opts the optional parameters
488
+ # @option opts [Integer] :period The number of observations, per period, to calculate Commodity Channel Index (default to 20)
489
+ # @option opts [Float] :constant The number of observations, per period, to calculate Commodity Channel Index (default to 0.015)
490
+ # @option opts [String] :start_date Return technical indicator values on or after the date
491
+ # @option opts [String] :end_date Return technical indicator values on or before the date
492
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
493
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
494
+ # @return [ApiResponseSecurityCommodityChannelIndex]
495
+ def get_security_price_technicals_cci(identifier, opts = {})
496
+ data, _status_code, _headers = get_security_price_technicals_cci_with_http_info(identifier, opts)
497
+ return data
498
+ end
499
+
500
+ # Commodity Channel Index
501
+ # Returns the Commodity Channel Index values of Stock Prices for the Security with the given &#x60;identifier&#x60;
502
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
503
+ # @param [Hash] opts the optional parameters
504
+ # @option opts [Integer] :period The number of observations, per period, to calculate Commodity Channel Index
505
+ # @option opts [Float] :constant The number of observations, per period, to calculate Commodity Channel Index
506
+ # @option opts [String] :start_date Return technical indicator values on or after the date
507
+ # @option opts [String] :end_date Return technical indicator values on or before the date
508
+ # @option opts [Integer] :page_size The number of results to return
509
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
510
+ # @return [Array<(ApiResponseSecurityCommodityChannelIndex, Fixnum, Hash)>] ApiResponseSecurityCommodityChannelIndex data, response status code and response headers
511
+ def get_security_price_technicals_cci_with_http_info(identifier, opts = {})
512
+ if @api_client.config.debugging
513
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_cci ..."
514
+ end
515
+ # verify the required parameter 'identifier' is set
516
+ if @api_client.config.client_side_validation && identifier.nil?
517
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_cci"
518
+ end
519
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5
520
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_cci, must be greater than or equal to 5.'
521
+ end
522
+
523
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
524
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_cci, must be smaller than or equal to 10000.'
525
+ end
526
+
527
+ # resource path
528
+ local_var_path = "/securities/{identifier}/prices/technicals/cci".sub('{' + 'identifier' + '}', identifier.to_s)
529
+
530
+ # query parameters
531
+ query_params = {}
532
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
533
+ query_params[:'constant'] = opts[:'constant'] if !opts[:'constant'].nil?
534
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
535
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
536
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
537
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
538
+
539
+ # header parameters
540
+ header_params = {}
541
+ # HTTP header 'Accept' (if needed)
542
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
543
+
544
+ # form parameters
545
+ form_params = {}
546
+
547
+ # http body (model)
548
+ post_body = nil
549
+ auth_names = ['ApiKeyAuth']
550
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
551
+ :header_params => header_params,
552
+ :query_params => query_params,
553
+ :form_params => form_params,
554
+ :body => post_body,
555
+ :auth_names => auth_names,
556
+ :return_type => 'ApiResponseSecurityCommodityChannelIndex')
557
+ if @api_client.config.debugging
558
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_cci\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
559
+ end
560
+ return data, status_code, headers
561
+ end
562
+
563
+ # Chaikin Money Flow
564
+ # Returns the Chaikin Money Flow values of Stock Prices for the Security with the given `identifier`
565
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
566
+ # @param [Hash] opts the optional parameters
567
+ # @option opts [Integer] :period The number of observations, per period, to calculate Chaikin Money Flow (default to 20)
568
+ # @option opts [String] :start_date Return technical indicator values on or after the date
569
+ # @option opts [String] :end_date Return technical indicator values on or before the date
570
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
571
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
572
+ # @return [ApiResponseSecurityChaikinMoneyFlow]
573
+ def get_security_price_technicals_cmf(identifier, opts = {})
574
+ data, _status_code, _headers = get_security_price_technicals_cmf_with_http_info(identifier, opts)
575
+ return data
576
+ end
577
+
578
+ # Chaikin Money Flow
579
+ # Returns the Chaikin Money Flow values of Stock Prices for the Security with the given &#x60;identifier&#x60;
580
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
581
+ # @param [Hash] opts the optional parameters
582
+ # @option opts [Integer] :period The number of observations, per period, to calculate Chaikin Money Flow
583
+ # @option opts [String] :start_date Return technical indicator values on or after the date
584
+ # @option opts [String] :end_date Return technical indicator values on or before the date
585
+ # @option opts [Integer] :page_size The number of results to return
586
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
587
+ # @return [Array<(ApiResponseSecurityChaikinMoneyFlow, Fixnum, Hash)>] ApiResponseSecurityChaikinMoneyFlow data, response status code and response headers
588
+ def get_security_price_technicals_cmf_with_http_info(identifier, opts = {})
589
+ if @api_client.config.debugging
590
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_cmf ..."
591
+ end
592
+ # verify the required parameter 'identifier' is set
593
+ if @api_client.config.client_side_validation && identifier.nil?
594
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_cmf"
595
+ end
596
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5
597
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_cmf, must be greater than or equal to 5.'
598
+ end
599
+
600
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
601
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_cmf, must be smaller than or equal to 10000.'
602
+ end
603
+
604
+ # resource path
605
+ local_var_path = "/securities/{identifier}/prices/technicals/cmf".sub('{' + 'identifier' + '}', identifier.to_s)
606
+
607
+ # query parameters
608
+ query_params = {}
609
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
610
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
611
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
612
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
613
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
614
+
615
+ # header parameters
616
+ header_params = {}
617
+ # HTTP header 'Accept' (if needed)
618
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
619
+
620
+ # form parameters
621
+ form_params = {}
622
+
623
+ # http body (model)
624
+ post_body = nil
625
+ auth_names = ['ApiKeyAuth']
626
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
627
+ :header_params => header_params,
628
+ :query_params => query_params,
629
+ :form_params => form_params,
630
+ :body => post_body,
631
+ :auth_names => auth_names,
632
+ :return_type => 'ApiResponseSecurityChaikinMoneyFlow')
633
+ if @api_client.config.debugging
634
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_cmf\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
635
+ end
636
+ return data, status_code, headers
637
+ end
638
+
639
+ # Donchian Channel
640
+ # Returns the Donchian Channel values of Stock Prices for the Security with the given `identifier`
641
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
642
+ # @param [Hash] opts the optional parameters
643
+ # @option opts [Integer] :period The number of observations, per period, to calculate Donchian Channel (default to 20)
644
+ # @option opts [String] :price_key The Stock Price field to use when calculating Donchian Channel (default to close)
645
+ # @option opts [String] :start_date Return technical indicator values on or after the date
646
+ # @option opts [String] :end_date Return technical indicator values on or before the date
647
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
648
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
649
+ # @return [ApiResponseSecurityDonchianChannel]
650
+ def get_security_price_technicals_dc(identifier, opts = {})
651
+ data, _status_code, _headers = get_security_price_technicals_dc_with_http_info(identifier, opts)
652
+ return data
653
+ end
654
+
655
+ # Donchian Channel
656
+ # Returns the Donchian Channel values of Stock Prices for the Security with the given &#x60;identifier&#x60;
657
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
658
+ # @param [Hash] opts the optional parameters
659
+ # @option opts [Integer] :period The number of observations, per period, to calculate Donchian Channel
660
+ # @option opts [String] :price_key The Stock Price field to use when calculating Donchian Channel
661
+ # @option opts [String] :start_date Return technical indicator values on or after the date
662
+ # @option opts [String] :end_date Return technical indicator values on or before the date
663
+ # @option opts [Integer] :page_size The number of results to return
664
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
665
+ # @return [Array<(ApiResponseSecurityDonchianChannel, Fixnum, Hash)>] ApiResponseSecurityDonchianChannel data, response status code and response headers
666
+ def get_security_price_technicals_dc_with_http_info(identifier, opts = {})
667
+ if @api_client.config.debugging
668
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_dc ..."
669
+ end
670
+ # verify the required parameter 'identifier' is set
671
+ if @api_client.config.client_side_validation && identifier.nil?
672
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_dc"
673
+ end
674
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5
675
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_dc, must be greater than or equal to 5.'
676
+ end
677
+
678
+ if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key'])
679
+ fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume'
680
+ end
681
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
682
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_dc, must be smaller than or equal to 10000.'
683
+ end
684
+
685
+ # resource path
686
+ local_var_path = "/securities/{identifier}/prices/technicals/dc".sub('{' + 'identifier' + '}', identifier.to_s)
687
+
688
+ # query parameters
689
+ query_params = {}
690
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
691
+ query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil?
692
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
693
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
694
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
695
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
696
+
697
+ # header parameters
698
+ header_params = {}
699
+ # HTTP header 'Accept' (if needed)
700
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
701
+
702
+ # form parameters
703
+ form_params = {}
704
+
705
+ # http body (model)
706
+ post_body = nil
707
+ auth_names = ['ApiKeyAuth']
708
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
709
+ :header_params => header_params,
710
+ :query_params => query_params,
711
+ :form_params => form_params,
712
+ :body => post_body,
713
+ :auth_names => auth_names,
714
+ :return_type => 'ApiResponseSecurityDonchianChannel')
715
+ if @api_client.config.debugging
716
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_dc\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
717
+ end
718
+ return data, status_code, headers
719
+ end
720
+
721
+ # Detrended Price Oscillator
722
+ # Returns the Detrended Price Oscillator values of Stock Prices for the Security with the given `identifier`
723
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
724
+ # @param [Hash] opts the optional parameters
725
+ # @option opts [Integer] :period The number of observations, per period, to calculate Detrended Price Oscillator (default to 20)
726
+ # @option opts [String] :price_key The Stock Price field to use when calculating Detrended Price Oscillator (default to close)
727
+ # @option opts [String] :start_date Return technical indicator values on or after the date
728
+ # @option opts [String] :end_date Return technical indicator values on or before the date
729
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
730
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
731
+ # @return [ApiResponseSecurityDetrendedPriceOscillator]
732
+ def get_security_price_technicals_dpo(identifier, opts = {})
733
+ data, _status_code, _headers = get_security_price_technicals_dpo_with_http_info(identifier, opts)
734
+ return data
735
+ end
736
+
737
+ # Detrended Price Oscillator
738
+ # Returns the Detrended Price Oscillator values of Stock Prices for the Security with the given &#x60;identifier&#x60;
739
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
740
+ # @param [Hash] opts the optional parameters
741
+ # @option opts [Integer] :period The number of observations, per period, to calculate Detrended Price Oscillator
742
+ # @option opts [String] :price_key The Stock Price field to use when calculating Detrended Price Oscillator
743
+ # @option opts [String] :start_date Return technical indicator values on or after the date
744
+ # @option opts [String] :end_date Return technical indicator values on or before the date
745
+ # @option opts [Integer] :page_size The number of results to return
746
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
747
+ # @return [Array<(ApiResponseSecurityDetrendedPriceOscillator, Fixnum, Hash)>] ApiResponseSecurityDetrendedPriceOscillator data, response status code and response headers
748
+ def get_security_price_technicals_dpo_with_http_info(identifier, opts = {})
749
+ if @api_client.config.debugging
750
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_dpo ..."
751
+ end
752
+ # verify the required parameter 'identifier' is set
753
+ if @api_client.config.client_side_validation && identifier.nil?
754
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_dpo"
755
+ end
756
+ if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key'])
757
+ fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume'
758
+ end
759
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
760
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_dpo, must be smaller than or equal to 10000.'
761
+ end
762
+
763
+ # resource path
764
+ local_var_path = "/securities/{identifier}/prices/technicals/dpo".sub('{' + 'identifier' + '}', identifier.to_s)
765
+
766
+ # query parameters
767
+ query_params = {}
768
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
769
+ query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil?
770
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
771
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
772
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
773
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
774
+
775
+ # header parameters
776
+ header_params = {}
777
+ # HTTP header 'Accept' (if needed)
778
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
779
+
780
+ # form parameters
781
+ form_params = {}
782
+
783
+ # http body (model)
784
+ post_body = nil
785
+ auth_names = ['ApiKeyAuth']
786
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
787
+ :header_params => header_params,
788
+ :query_params => query_params,
789
+ :form_params => form_params,
790
+ :body => post_body,
791
+ :auth_names => auth_names,
792
+ :return_type => 'ApiResponseSecurityDetrendedPriceOscillator')
793
+ if @api_client.config.debugging
794
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_dpo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
795
+ end
796
+ return data, status_code, headers
797
+ end
798
+
799
+ # Ease of Movement
800
+ # Returns the Ease of Movement values of Stock Prices for the Security with the given `identifier`
801
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
802
+ # @param [Hash] opts the optional parameters
803
+ # @option opts [Integer] :period The number of observations, per period, to calculate Ease of Movement (default to 20)
804
+ # @option opts [String] :start_date Return technical indicator values on or after the date
805
+ # @option opts [String] :end_date Return technical indicator values on or before the date
806
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
807
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
808
+ # @return [ApiResponseSecurityEaseOfMovement]
809
+ def get_security_price_technicals_eom(identifier, opts = {})
810
+ data, _status_code, _headers = get_security_price_technicals_eom_with_http_info(identifier, opts)
811
+ return data
812
+ end
813
+
814
+ # Ease of Movement
815
+ # Returns the Ease of Movement values of Stock Prices for the Security with the given &#x60;identifier&#x60;
816
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
817
+ # @param [Hash] opts the optional parameters
818
+ # @option opts [Integer] :period The number of observations, per period, to calculate Ease of Movement
819
+ # @option opts [String] :start_date Return technical indicator values on or after the date
820
+ # @option opts [String] :end_date Return technical indicator values on or before the date
821
+ # @option opts [Integer] :page_size The number of results to return
822
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
823
+ # @return [Array<(ApiResponseSecurityEaseOfMovement, Fixnum, Hash)>] ApiResponseSecurityEaseOfMovement data, response status code and response headers
824
+ def get_security_price_technicals_eom_with_http_info(identifier, opts = {})
825
+ if @api_client.config.debugging
826
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_eom ..."
827
+ end
828
+ # verify the required parameter 'identifier' is set
829
+ if @api_client.config.client_side_validation && identifier.nil?
830
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_eom"
831
+ end
832
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4
833
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_eom, must be greater than or equal to 4.'
834
+ end
835
+
836
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
837
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_eom, must be smaller than or equal to 10000.'
838
+ end
839
+
840
+ # resource path
841
+ local_var_path = "/securities/{identifier}/prices/technicals/eom".sub('{' + 'identifier' + '}', identifier.to_s)
842
+
843
+ # query parameters
844
+ query_params = {}
845
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
846
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
847
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
848
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
849
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
850
+
851
+ # header parameters
852
+ header_params = {}
853
+ # HTTP header 'Accept' (if needed)
854
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
855
+
856
+ # form parameters
857
+ form_params = {}
858
+
859
+ # http body (model)
860
+ post_body = nil
861
+ auth_names = ['ApiKeyAuth']
862
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
863
+ :header_params => header_params,
864
+ :query_params => query_params,
865
+ :form_params => form_params,
866
+ :body => post_body,
867
+ :auth_names => auth_names,
868
+ :return_type => 'ApiResponseSecurityEaseOfMovement')
869
+ if @api_client.config.debugging
870
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_eom\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
871
+ end
872
+ return data, status_code, headers
873
+ end
874
+
875
+ # Force Index
876
+ # Returns the Force Index values of Stock Prices for the Security with the given `identifier`
877
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
878
+ # @param [Hash] opts the optional parameters
879
+ # @option opts [String] :start_date Return technical indicator values on or after the date
880
+ # @option opts [String] :end_date Return technical indicator values on or before the date
881
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
882
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
883
+ # @return [ApiResponseSecurityForceIndex]
884
+ def get_security_price_technicals_fi(identifier, opts = {})
885
+ data, _status_code, _headers = get_security_price_technicals_fi_with_http_info(identifier, opts)
886
+ return data
887
+ end
888
+
889
+ # Force Index
890
+ # Returns the Force Index values of Stock Prices for the Security with the given &#x60;identifier&#x60;
891
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
892
+ # @param [Hash] opts the optional parameters
893
+ # @option opts [String] :start_date Return technical indicator values on or after the date
894
+ # @option opts [String] :end_date Return technical indicator values on or before the date
895
+ # @option opts [Integer] :page_size The number of results to return
896
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
897
+ # @return [Array<(ApiResponseSecurityForceIndex, Fixnum, Hash)>] ApiResponseSecurityForceIndex data, response status code and response headers
898
+ def get_security_price_technicals_fi_with_http_info(identifier, opts = {})
899
+ if @api_client.config.debugging
900
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_fi ..."
901
+ end
902
+ # verify the required parameter 'identifier' is set
903
+ if @api_client.config.client_side_validation && identifier.nil?
904
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_fi"
905
+ end
906
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
907
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_fi, must be smaller than or equal to 10000.'
908
+ end
909
+
910
+ # resource path
911
+ local_var_path = "/securities/{identifier}/prices/technicals/fi".sub('{' + 'identifier' + '}', identifier.to_s)
912
+
913
+ # query parameters
914
+ query_params = {}
915
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
916
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
917
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
918
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
919
+
920
+ # header parameters
921
+ header_params = {}
922
+ # HTTP header 'Accept' (if needed)
923
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
924
+
925
+ # form parameters
926
+ form_params = {}
927
+
928
+ # http body (model)
929
+ post_body = nil
930
+ auth_names = ['ApiKeyAuth']
931
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
932
+ :header_params => header_params,
933
+ :query_params => query_params,
934
+ :form_params => form_params,
935
+ :body => post_body,
936
+ :auth_names => auth_names,
937
+ :return_type => 'ApiResponseSecurityForceIndex')
938
+ if @api_client.config.debugging
939
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_fi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
940
+ end
941
+ return data, status_code, headers
942
+ end
943
+
944
+ # Ichimoku Kinko Hyo
945
+ # Returns the Ichimoku Kinko Hyo values of Stock Prices for the Security with the given `identifier`
946
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
947
+ # @param [Hash] opts the optional parameters
948
+ # @option opts [Integer] :low_period The number of observations, per period, to calculate Tenkan Sen (Conversion Line) of Ichimoku Kinko Hyo (default to 9)
949
+ # @option opts [Integer] :medium_period The number of observations, per period, to calculate Kijun Sen (Base Line), Senkou Span A (Leading Span A), and Chikou Span (Lagging Span) of Ichimoku Kinko Hyo (default to 26)
950
+ # @option opts [Integer] :high_period The number of observations, per period, to calculate Senkou Span B (Leading Span B) of Ichimoku Kinko Hyo (default to 52)
951
+ # @option opts [String] :start_date Return technical indicator values on or after the date
952
+ # @option opts [String] :end_date Return technical indicator values on or before the date
953
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
954
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
955
+ # @return [ApiResponseSecurityIchimokuKinkoHyo]
956
+ def get_security_price_technicals_ichimoku(identifier, opts = {})
957
+ data, _status_code, _headers = get_security_price_technicals_ichimoku_with_http_info(identifier, opts)
958
+ return data
959
+ end
960
+
961
+ # Ichimoku Kinko Hyo
962
+ # Returns the Ichimoku Kinko Hyo values of Stock Prices for the Security with the given &#x60;identifier&#x60;
963
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
964
+ # @param [Hash] opts the optional parameters
965
+ # @option opts [Integer] :low_period The number of observations, per period, to calculate Tenkan Sen (Conversion Line) of Ichimoku Kinko Hyo
966
+ # @option opts [Integer] :medium_period The number of observations, per period, to calculate Kijun Sen (Base Line), Senkou Span A (Leading Span A), and Chikou Span (Lagging Span) of Ichimoku Kinko Hyo
967
+ # @option opts [Integer] :high_period The number of observations, per period, to calculate Senkou Span B (Leading Span B) of Ichimoku Kinko Hyo
968
+ # @option opts [String] :start_date Return technical indicator values on or after the date
969
+ # @option opts [String] :end_date Return technical indicator values on or before the date
970
+ # @option opts [Integer] :page_size The number of results to return
971
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
972
+ # @return [Array<(ApiResponseSecurityIchimokuKinkoHyo, Fixnum, Hash)>] ApiResponseSecurityIchimokuKinkoHyo data, response status code and response headers
973
+ def get_security_price_technicals_ichimoku_with_http_info(identifier, opts = {})
974
+ if @api_client.config.debugging
975
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_ichimoku ..."
976
+ end
977
+ # verify the required parameter 'identifier' is set
978
+ if @api_client.config.client_side_validation && identifier.nil?
979
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_ichimoku"
980
+ end
981
+ if @api_client.config.client_side_validation && !opts[:'medium_period'].nil? && opts[:'medium_period'] < 2
982
+ fail ArgumentError, 'invalid value for "opts[:"medium_period"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be greater than or equal to 2.'
983
+ end
984
+
985
+ if @api_client.config.client_side_validation && !opts[:'high_period'].nil? && opts[:'high_period'] < 4
986
+ fail ArgumentError, 'invalid value for "opts[:"high_period"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be greater than or equal to 4.'
987
+ end
988
+
989
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
990
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be smaller than or equal to 10000.'
991
+ end
992
+
993
+ # resource path
994
+ local_var_path = "/securities/{identifier}/prices/technicals/ichimoku".sub('{' + 'identifier' + '}', identifier.to_s)
995
+
996
+ # query parameters
997
+ query_params = {}
998
+ query_params[:'low_period'] = opts[:'low_period'] if !opts[:'low_period'].nil?
999
+ query_params[:'medium_period'] = opts[:'medium_period'] if !opts[:'medium_period'].nil?
1000
+ query_params[:'high_period'] = opts[:'high_period'] if !opts[:'high_period'].nil?
1001
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1002
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1003
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1004
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1005
+
1006
+ # header parameters
1007
+ header_params = {}
1008
+ # HTTP header 'Accept' (if needed)
1009
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1010
+
1011
+ # form parameters
1012
+ form_params = {}
1013
+
1014
+ # http body (model)
1015
+ post_body = nil
1016
+ auth_names = ['ApiKeyAuth']
1017
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1018
+ :header_params => header_params,
1019
+ :query_params => query_params,
1020
+ :form_params => form_params,
1021
+ :body => post_body,
1022
+ :auth_names => auth_names,
1023
+ :return_type => 'ApiResponseSecurityIchimokuKinkoHyo')
1024
+ if @api_client.config.debugging
1025
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_ichimoku\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1026
+ end
1027
+ return data, status_code, headers
1028
+ end
1029
+
1030
+ # Keltner Channel
1031
+ # Returns the Keltner Channel values of Stock Prices for the Security with the given `identifier`
1032
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1033
+ # @param [Hash] opts the optional parameters
1034
+ # @option opts [Integer] :period The number of observations, per period, to calculate Kelter Channel (default to 10)
1035
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1036
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1037
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1038
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1039
+ # @return [ApiResponseSecurityKeltnerChannel]
1040
+ def get_security_price_technicals_kc(identifier, opts = {})
1041
+ data, _status_code, _headers = get_security_price_technicals_kc_with_http_info(identifier, opts)
1042
+ return data
1043
+ end
1044
+
1045
+ # Keltner Channel
1046
+ # Returns the Keltner Channel values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1047
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1048
+ # @param [Hash] opts the optional parameters
1049
+ # @option opts [Integer] :period The number of observations, per period, to calculate Kelter Channel
1050
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1051
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1052
+ # @option opts [Integer] :page_size The number of results to return
1053
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1054
+ # @return [Array<(ApiResponseSecurityKeltnerChannel, Fixnum, Hash)>] ApiResponseSecurityKeltnerChannel data, response status code and response headers
1055
+ def get_security_price_technicals_kc_with_http_info(identifier, opts = {})
1056
+ if @api_client.config.debugging
1057
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_kc ..."
1058
+ end
1059
+ # verify the required parameter 'identifier' is set
1060
+ if @api_client.config.client_side_validation && identifier.nil?
1061
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_kc"
1062
+ end
1063
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5
1064
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_kc, must be greater than or equal to 5.'
1065
+ end
1066
+
1067
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1068
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_kc, must be smaller than or equal to 10000.'
1069
+ end
1070
+
1071
+ # resource path
1072
+ local_var_path = "/securities/{identifier}/prices/technicals/kc".sub('{' + 'identifier' + '}', identifier.to_s)
1073
+
1074
+ # query parameters
1075
+ query_params = {}
1076
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
1077
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1078
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1079
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1080
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1081
+
1082
+ # header parameters
1083
+ header_params = {}
1084
+ # HTTP header 'Accept' (if needed)
1085
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1086
+
1087
+ # form parameters
1088
+ form_params = {}
1089
+
1090
+ # http body (model)
1091
+ post_body = nil
1092
+ auth_names = ['ApiKeyAuth']
1093
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1094
+ :header_params => header_params,
1095
+ :query_params => query_params,
1096
+ :form_params => form_params,
1097
+ :body => post_body,
1098
+ :auth_names => auth_names,
1099
+ :return_type => 'ApiResponseSecurityKeltnerChannel')
1100
+ if @api_client.config.debugging
1101
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_kc\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1102
+ end
1103
+ return data, status_code, headers
1104
+ end
1105
+
1106
+ # Know Sure Thing
1107
+ # Returns the Know Sure Thing values of Stock Prices for the Security with the given `identifier`
1108
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1109
+ # @param [Hash] opts the optional parameters
1110
+ # @option opts [Integer] :roc1 The number of observations, per period, to calculate the rate-of-change for RCMA1 (default to 10)
1111
+ # @option opts [Integer] :roc2 The number of observations, per period, to calculate the rate-of-change for RCMA2 (default to 15)
1112
+ # @option opts [Integer] :roc3 The number of observations, per period, to calculate the rate-of-change for RCMA2 (default to 15)
1113
+ # @option opts [Integer] :roc4 The number of observations, per period, to calculate the rate-of-change for RCMA3 (default to 20)
1114
+ # @option opts [Integer] :roc5 The number of observations, per period, to calculate the rate-of-change for RCMA4 (default to 30)
1115
+ # @option opts [Integer] :sma1 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA1 (default to 10)
1116
+ # @option opts [Integer] :sma2 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA2 (default to 10)
1117
+ # @option opts [Integer] :sma3 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA3 (default to 10)
1118
+ # @option opts [Integer] :sma4 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA4 (default to 15)
1119
+ # @option opts [String] :price_key The Stock Price field to use when calculating Know Sure Thing (default to close)
1120
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1121
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1122
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1123
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1124
+ # @return [ApiResponseSecurityKnowSureThing]
1125
+ def get_security_price_technicals_kst(identifier, opts = {})
1126
+ data, _status_code, _headers = get_security_price_technicals_kst_with_http_info(identifier, opts)
1127
+ return data
1128
+ end
1129
+
1130
+ # Know Sure Thing
1131
+ # Returns the Know Sure Thing values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1132
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1133
+ # @param [Hash] opts the optional parameters
1134
+ # @option opts [Integer] :roc1 The number of observations, per period, to calculate the rate-of-change for RCMA1
1135
+ # @option opts [Integer] :roc2 The number of observations, per period, to calculate the rate-of-change for RCMA2
1136
+ # @option opts [Integer] :roc3 The number of observations, per period, to calculate the rate-of-change for RCMA2
1137
+ # @option opts [Integer] :roc4 The number of observations, per period, to calculate the rate-of-change for RCMA3
1138
+ # @option opts [Integer] :roc5 The number of observations, per period, to calculate the rate-of-change for RCMA4
1139
+ # @option opts [Integer] :sma1 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA1
1140
+ # @option opts [Integer] :sma2 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA2
1141
+ # @option opts [Integer] :sma3 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA3
1142
+ # @option opts [Integer] :sma4 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA4
1143
+ # @option opts [String] :price_key The Stock Price field to use when calculating Know Sure Thing
1144
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1145
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1146
+ # @option opts [Integer] :page_size The number of results to return
1147
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1148
+ # @return [Array<(ApiResponseSecurityKnowSureThing, Fixnum, Hash)>] ApiResponseSecurityKnowSureThing data, response status code and response headers
1149
+ def get_security_price_technicals_kst_with_http_info(identifier, opts = {})
1150
+ if @api_client.config.debugging
1151
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_kst ..."
1152
+ end
1153
+ # verify the required parameter 'identifier' is set
1154
+ if @api_client.config.client_side_validation && identifier.nil?
1155
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_kst"
1156
+ end
1157
+ if @api_client.config.client_side_validation && !opts[:'roc5'].nil? && opts[:'roc5'] < 3
1158
+ fail ArgumentError, 'invalid value for "opts[:"roc5"]" when calling TechnicalApi.get_security_price_technicals_kst, must be greater than or equal to 3.'
1159
+ end
1160
+
1161
+ if @api_client.config.client_side_validation && !opts[:'sma4'].nil? && opts[:'sma4'] < 3
1162
+ fail ArgumentError, 'invalid value for "opts[:"sma4"]" when calling TechnicalApi.get_security_price_technicals_kst, must be greater than or equal to 3.'
1163
+ end
1164
+
1165
+ if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key'])
1166
+ fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume'
1167
+ end
1168
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1169
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_kst, must be smaller than or equal to 10000.'
1170
+ end
1171
+
1172
+ # resource path
1173
+ local_var_path = "/securities/{identifier}/prices/technicals/kst".sub('{' + 'identifier' + '}', identifier.to_s)
1174
+
1175
+ # query parameters
1176
+ query_params = {}
1177
+ query_params[:'roc1'] = opts[:'roc1'] if !opts[:'roc1'].nil?
1178
+ query_params[:'roc2'] = opts[:'roc2'] if !opts[:'roc2'].nil?
1179
+ query_params[:'roc2'] = opts[:'roc3'] if !opts[:'roc3'].nil?
1180
+ query_params[:'roc3'] = opts[:'roc4'] if !opts[:'roc4'].nil?
1181
+ query_params[:'roc4'] = opts[:'roc5'] if !opts[:'roc5'].nil?
1182
+ query_params[:'sma1'] = opts[:'sma1'] if !opts[:'sma1'].nil?
1183
+ query_params[:'sma2'] = opts[:'sma2'] if !opts[:'sma2'].nil?
1184
+ query_params[:'sma3'] = opts[:'sma3'] if !opts[:'sma3'].nil?
1185
+ query_params[:'sma4'] = opts[:'sma4'] if !opts[:'sma4'].nil?
1186
+ query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil?
1187
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1188
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1189
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1190
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1191
+
1192
+ # header parameters
1193
+ header_params = {}
1194
+ # HTTP header 'Accept' (if needed)
1195
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1196
+
1197
+ # form parameters
1198
+ form_params = {}
1199
+
1200
+ # http body (model)
1201
+ post_body = nil
1202
+ auth_names = ['ApiKeyAuth']
1203
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1204
+ :header_params => header_params,
1205
+ :query_params => query_params,
1206
+ :form_params => form_params,
1207
+ :body => post_body,
1208
+ :auth_names => auth_names,
1209
+ :return_type => 'ApiResponseSecurityKnowSureThing')
1210
+ if @api_client.config.debugging
1211
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_kst\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1212
+ end
1213
+ return data, status_code, headers
1214
+ end
1215
+
1216
+ # Moving Average Convergence Divergence
1217
+ # Returns the Moving Average Convergence Divergence values of Stock Prices for the Security with the given `identifier`
1218
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1219
+ # @param [Hash] opts the optional parameters
1220
+ # @option opts [Integer] :fast_period The number of observations, per period, to calculate the fast moving Exponential Moving Average for Moving Average Convergence Divergence (default to 12)
1221
+ # @option opts [Integer] :slow_period The number of observations, per period, to calculate the slow moving Exponential Moving Average for Moving Average Convergence Divergence (default to 26)
1222
+ # @option opts [Integer] :signal_period The number of observations, per period, to calculate the signal line for Moving Average Convergence Divergence (default to 9)
1223
+ # @option opts [String] :price_key The Stock Price field to use when calculating Moving Average Convergence Divergence (default to close)
1224
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1225
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1226
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1227
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1228
+ # @return [ApiResponseSecurityMovingAverageConvergenceDivergence]
1229
+ def get_security_price_technicals_macd(identifier, opts = {})
1230
+ data, _status_code, _headers = get_security_price_technicals_macd_with_http_info(identifier, opts)
1231
+ return data
1232
+ end
1233
+
1234
+ # Moving Average Convergence Divergence
1235
+ # Returns the Moving Average Convergence Divergence values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1236
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1237
+ # @param [Hash] opts the optional parameters
1238
+ # @option opts [Integer] :fast_period The number of observations, per period, to calculate the fast moving Exponential Moving Average for Moving Average Convergence Divergence
1239
+ # @option opts [Integer] :slow_period The number of observations, per period, to calculate the slow moving Exponential Moving Average for Moving Average Convergence Divergence
1240
+ # @option opts [Integer] :signal_period The number of observations, per period, to calculate the signal line for Moving Average Convergence Divergence
1241
+ # @option opts [String] :price_key The Stock Price field to use when calculating Moving Average Convergence Divergence
1242
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1243
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1244
+ # @option opts [Integer] :page_size The number of results to return
1245
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1246
+ # @return [Array<(ApiResponseSecurityMovingAverageConvergenceDivergence, Fixnum, Hash)>] ApiResponseSecurityMovingAverageConvergenceDivergence data, response status code and response headers
1247
+ def get_security_price_technicals_macd_with_http_info(identifier, opts = {})
1248
+ if @api_client.config.debugging
1249
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_macd ..."
1250
+ end
1251
+ # verify the required parameter 'identifier' is set
1252
+ if @api_client.config.client_side_validation && identifier.nil?
1253
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_macd"
1254
+ end
1255
+ if @api_client.config.client_side_validation && !opts[:'slow_period'].nil? && opts[:'slow_period'] < 3
1256
+ fail ArgumentError, 'invalid value for "opts[:"slow_period"]" when calling TechnicalApi.get_security_price_technicals_macd, must be greater than or equal to 3.'
1257
+ end
1258
+
1259
+ if @api_client.config.client_side_validation && !opts[:'signal_period'].nil? && opts[:'signal_period'] < 3
1260
+ fail ArgumentError, 'invalid value for "opts[:"signal_period"]" when calling TechnicalApi.get_security_price_technicals_macd, must be greater than or equal to 3.'
1261
+ end
1262
+
1263
+ if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key'])
1264
+ fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume'
1265
+ end
1266
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1267
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_macd, must be smaller than or equal to 10000.'
1268
+ end
1269
+
1270
+ # resource path
1271
+ local_var_path = "/securities/{identifier}/prices/technicals/macd".sub('{' + 'identifier' + '}', identifier.to_s)
1272
+
1273
+ # query parameters
1274
+ query_params = {}
1275
+ query_params[:'fast_period'] = opts[:'fast_period'] if !opts[:'fast_period'].nil?
1276
+ query_params[:'slow_period'] = opts[:'slow_period'] if !opts[:'slow_period'].nil?
1277
+ query_params[:'signal_period'] = opts[:'signal_period'] if !opts[:'signal_period'].nil?
1278
+ query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil?
1279
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1280
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1281
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1282
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1283
+
1284
+ # header parameters
1285
+ header_params = {}
1286
+ # HTTP header 'Accept' (if needed)
1287
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1288
+
1289
+ # form parameters
1290
+ form_params = {}
1291
+
1292
+ # http body (model)
1293
+ post_body = nil
1294
+ auth_names = ['ApiKeyAuth']
1295
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1296
+ :header_params => header_params,
1297
+ :query_params => query_params,
1298
+ :form_params => form_params,
1299
+ :body => post_body,
1300
+ :auth_names => auth_names,
1301
+ :return_type => 'ApiResponseSecurityMovingAverageConvergenceDivergence')
1302
+ if @api_client.config.debugging
1303
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_macd\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1304
+ end
1305
+ return data, status_code, headers
1306
+ end
1307
+
1308
+ # Money Flow Index
1309
+ # Returns the Money Flow Index values of Stock Prices for the Security with the given `identifier`
1310
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1311
+ # @param [Hash] opts the optional parameters
1312
+ # @option opts [Integer] :period The number of observations, per period, to calculate Money Flow Index (default to 14)
1313
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1314
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1315
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1316
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1317
+ # @return [ApiResponseSecurityMoneyFlowIndex]
1318
+ def get_security_price_technicals_mfi(identifier, opts = {})
1319
+ data, _status_code, _headers = get_security_price_technicals_mfi_with_http_info(identifier, opts)
1320
+ return data
1321
+ end
1322
+
1323
+ # Money Flow Index
1324
+ # Returns the Money Flow Index values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1325
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1326
+ # @param [Hash] opts the optional parameters
1327
+ # @option opts [Integer] :period The number of observations, per period, to calculate Money Flow Index
1328
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1329
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1330
+ # @option opts [Integer] :page_size The number of results to return
1331
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1332
+ # @return [Array<(ApiResponseSecurityMoneyFlowIndex, Fixnum, Hash)>] ApiResponseSecurityMoneyFlowIndex data, response status code and response headers
1333
+ def get_security_price_technicals_mfi_with_http_info(identifier, opts = {})
1334
+ if @api_client.config.debugging
1335
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_mfi ..."
1336
+ end
1337
+ # verify the required parameter 'identifier' is set
1338
+ if @api_client.config.client_side_validation && identifier.nil?
1339
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_mfi"
1340
+ end
1341
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4
1342
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_mfi, must be greater than or equal to 4.'
1343
+ end
1344
+
1345
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1346
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_mfi, must be smaller than or equal to 10000.'
1347
+ end
1348
+
1349
+ # resource path
1350
+ local_var_path = "/securities/{identifier}/prices/technicals/mfi".sub('{' + 'identifier' + '}', identifier.to_s)
1351
+
1352
+ # query parameters
1353
+ query_params = {}
1354
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
1355
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1356
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1357
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1358
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1359
+
1360
+ # header parameters
1361
+ header_params = {}
1362
+ # HTTP header 'Accept' (if needed)
1363
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1364
+
1365
+ # form parameters
1366
+ form_params = {}
1367
+
1368
+ # http body (model)
1369
+ post_body = nil
1370
+ auth_names = ['ApiKeyAuth']
1371
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1372
+ :header_params => header_params,
1373
+ :query_params => query_params,
1374
+ :form_params => form_params,
1375
+ :body => post_body,
1376
+ :auth_names => auth_names,
1377
+ :return_type => 'ApiResponseSecurityMoneyFlowIndex')
1378
+ if @api_client.config.debugging
1379
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_mfi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1380
+ end
1381
+ return data, status_code, headers
1382
+ end
1383
+
1384
+ # Mass Index
1385
+ # Returns the Mass Index values of Stock Prices for the Security with the given `identifier`
1386
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1387
+ # @param [Hash] opts the optional parameters
1388
+ # @option opts [Integer] :ema_period The number of observations, per period, to calculate the single Exponential Moving Average and the Double Exponential Moving Average for Mass Index (default to 9)
1389
+ # @option opts [Integer] :sum_period The number of observations, per period, to calculate the sum of the Exponetinal Moving Average Ratios for Mass Index (default to 25)
1390
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1391
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1392
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1393
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1394
+ # @return [ApiResponseSecurityMassIndex]
1395
+ def get_security_price_technicals_mi(identifier, opts = {})
1396
+ data, _status_code, _headers = get_security_price_technicals_mi_with_http_info(identifier, opts)
1397
+ return data
1398
+ end
1399
+
1400
+ # Mass Index
1401
+ # Returns the Mass Index values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1402
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1403
+ # @param [Hash] opts the optional parameters
1404
+ # @option opts [Integer] :ema_period The number of observations, per period, to calculate the single Exponential Moving Average and the Double Exponential Moving Average for Mass Index
1405
+ # @option opts [Integer] :sum_period The number of observations, per period, to calculate the sum of the Exponetinal Moving Average Ratios for Mass Index
1406
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1407
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1408
+ # @option opts [Integer] :page_size The number of results to return
1409
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1410
+ # @return [Array<(ApiResponseSecurityMassIndex, Fixnum, Hash)>] ApiResponseSecurityMassIndex data, response status code and response headers
1411
+ def get_security_price_technicals_mi_with_http_info(identifier, opts = {})
1412
+ if @api_client.config.debugging
1413
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_mi ..."
1414
+ end
1415
+ # verify the required parameter 'identifier' is set
1416
+ if @api_client.config.client_side_validation && identifier.nil?
1417
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_mi"
1418
+ end
1419
+ if @api_client.config.client_side_validation && !opts[:'ema_period'].nil? && opts[:'ema_period'] < 2
1420
+ fail ArgumentError, 'invalid value for "opts[:"ema_period"]" when calling TechnicalApi.get_security_price_technicals_mi, must be greater than or equal to 2.'
1421
+ end
1422
+
1423
+ if @api_client.config.client_side_validation && !opts[:'sum_period'].nil? && opts[:'sum_period'] < 3
1424
+ fail ArgumentError, 'invalid value for "opts[:"sum_period"]" when calling TechnicalApi.get_security_price_technicals_mi, must be greater than or equal to 3.'
1425
+ end
1426
+
1427
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1428
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_mi, must be smaller than or equal to 10000.'
1429
+ end
1430
+
1431
+ # resource path
1432
+ local_var_path = "/securities/{identifier}/prices/technicals/mi".sub('{' + 'identifier' + '}', identifier.to_s)
1433
+
1434
+ # query parameters
1435
+ query_params = {}
1436
+ query_params[:'ema_period'] = opts[:'ema_period'] if !opts[:'ema_period'].nil?
1437
+ query_params[:'sum_period'] = opts[:'sum_period'] if !opts[:'sum_period'].nil?
1438
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1439
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1440
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1441
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1442
+
1443
+ # header parameters
1444
+ header_params = {}
1445
+ # HTTP header 'Accept' (if needed)
1446
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1447
+
1448
+ # form parameters
1449
+ form_params = {}
1450
+
1451
+ # http body (model)
1452
+ post_body = nil
1453
+ auth_names = ['ApiKeyAuth']
1454
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1455
+ :header_params => header_params,
1456
+ :query_params => query_params,
1457
+ :form_params => form_params,
1458
+ :body => post_body,
1459
+ :auth_names => auth_names,
1460
+ :return_type => 'ApiResponseSecurityMassIndex')
1461
+ if @api_client.config.debugging
1462
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_mi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1463
+ end
1464
+ return data, status_code, headers
1465
+ end
1466
+
1467
+ # Negative Volume Index
1468
+ # Returns the Negative Volume Index values of Stock Prices for the Security with the given `identifier`
1469
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1470
+ # @param [Hash] opts the optional parameters
1471
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1472
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1473
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1474
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1475
+ # @return [ApiResponseSecurityNegativeVolumeIndex]
1476
+ def get_security_price_technicals_nvi(identifier, opts = {})
1477
+ data, _status_code, _headers = get_security_price_technicals_nvi_with_http_info(identifier, opts)
1478
+ return data
1479
+ end
1480
+
1481
+ # Negative Volume Index
1482
+ # Returns the Negative Volume Index values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1483
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1484
+ # @param [Hash] opts the optional parameters
1485
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1486
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1487
+ # @option opts [Integer] :page_size The number of results to return
1488
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1489
+ # @return [Array<(ApiResponseSecurityNegativeVolumeIndex, Fixnum, Hash)>] ApiResponseSecurityNegativeVolumeIndex data, response status code and response headers
1490
+ def get_security_price_technicals_nvi_with_http_info(identifier, opts = {})
1491
+ if @api_client.config.debugging
1492
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_nvi ..."
1493
+ end
1494
+ # verify the required parameter 'identifier' is set
1495
+ if @api_client.config.client_side_validation && identifier.nil?
1496
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_nvi"
1497
+ end
1498
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1499
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_nvi, must be smaller than or equal to 10000.'
1500
+ end
1501
+
1502
+ # resource path
1503
+ local_var_path = "/securities/{identifier}/prices/technicals/nvi".sub('{' + 'identifier' + '}', identifier.to_s)
1504
+
1505
+ # query parameters
1506
+ query_params = {}
1507
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1508
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1509
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1510
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1511
+
1512
+ # header parameters
1513
+ header_params = {}
1514
+ # HTTP header 'Accept' (if needed)
1515
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1516
+
1517
+ # form parameters
1518
+ form_params = {}
1519
+
1520
+ # http body (model)
1521
+ post_body = nil
1522
+ auth_names = ['ApiKeyAuth']
1523
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1524
+ :header_params => header_params,
1525
+ :query_params => query_params,
1526
+ :form_params => form_params,
1527
+ :body => post_body,
1528
+ :auth_names => auth_names,
1529
+ :return_type => 'ApiResponseSecurityNegativeVolumeIndex')
1530
+ if @api_client.config.debugging
1531
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_nvi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1532
+ end
1533
+ return data, status_code, headers
1534
+ end
1535
+
1536
+ # On-balance Volume
1537
+ # Returns the On-balance Volume values of Stock Prices for the Security with the given `identifier`
1538
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1539
+ # @param [Hash] opts the optional parameters
1540
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1541
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1542
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1543
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1544
+ # @return [ApiResponseSecurityOnBalanceVolume]
1545
+ def get_security_price_technicals_obv(identifier, opts = {})
1546
+ data, _status_code, _headers = get_security_price_technicals_obv_with_http_info(identifier, opts)
1547
+ return data
1548
+ end
1549
+
1550
+ # On-balance Volume
1551
+ # Returns the On-balance Volume values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1552
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1553
+ # @param [Hash] opts the optional parameters
1554
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1555
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1556
+ # @option opts [Integer] :page_size The number of results to return
1557
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1558
+ # @return [Array<(ApiResponseSecurityOnBalanceVolume, Fixnum, Hash)>] ApiResponseSecurityOnBalanceVolume data, response status code and response headers
1559
+ def get_security_price_technicals_obv_with_http_info(identifier, opts = {})
1560
+ if @api_client.config.debugging
1561
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_obv ..."
1562
+ end
1563
+ # verify the required parameter 'identifier' is set
1564
+ if @api_client.config.client_side_validation && identifier.nil?
1565
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_obv"
1566
+ end
1567
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1568
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_obv, must be smaller than or equal to 10000.'
1569
+ end
1570
+
1571
+ # resource path
1572
+ local_var_path = "/securities/{identifier}/prices/technicals/obv".sub('{' + 'identifier' + '}', identifier.to_s)
1573
+
1574
+ # query parameters
1575
+ query_params = {}
1576
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1577
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1578
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1579
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1580
+
1581
+ # header parameters
1582
+ header_params = {}
1583
+ # HTTP header 'Accept' (if needed)
1584
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1585
+
1586
+ # form parameters
1587
+ form_params = {}
1588
+
1589
+ # http body (model)
1590
+ post_body = nil
1591
+ auth_names = ['ApiKeyAuth']
1592
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1593
+ :header_params => header_params,
1594
+ :query_params => query_params,
1595
+ :form_params => form_params,
1596
+ :body => post_body,
1597
+ :auth_names => auth_names,
1598
+ :return_type => 'ApiResponseSecurityOnBalanceVolume')
1599
+ if @api_client.config.debugging
1600
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_obv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1601
+ end
1602
+ return data, status_code, headers
1603
+ end
1604
+
1605
+ # On-balance Volume Mean
1606
+ # Returns the On-balance Volume Mean values of Stock Prices for the Security with the given `identifier`
1607
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1608
+ # @param [Hash] opts the optional parameters
1609
+ # @option opts [Integer] :period The number of observations, per period, to calculate On-balance Volume Mean (default to 10)
1610
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1611
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1612
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1613
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1614
+ # @return [ApiResponseSecurityOnBalanceVolumeMean]
1615
+ def get_security_price_technicals_obv_mean(identifier, opts = {})
1616
+ data, _status_code, _headers = get_security_price_technicals_obv_mean_with_http_info(identifier, opts)
1617
+ return data
1618
+ end
1619
+
1620
+ # On-balance Volume Mean
1621
+ # Returns the On-balance Volume Mean values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1622
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1623
+ # @param [Hash] opts the optional parameters
1624
+ # @option opts [Integer] :period The number of observations, per period, to calculate On-balance Volume Mean
1625
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1626
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1627
+ # @option opts [Integer] :page_size The number of results to return
1628
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1629
+ # @return [Array<(ApiResponseSecurityOnBalanceVolumeMean, Fixnum, Hash)>] ApiResponseSecurityOnBalanceVolumeMean data, response status code and response headers
1630
+ def get_security_price_technicals_obv_mean_with_http_info(identifier, opts = {})
1631
+ if @api_client.config.debugging
1632
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_obv_mean ..."
1633
+ end
1634
+ # verify the required parameter 'identifier' is set
1635
+ if @api_client.config.client_side_validation && identifier.nil?
1636
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_obv_mean"
1637
+ end
1638
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4
1639
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_obv_mean, must be greater than or equal to 4.'
1640
+ end
1641
+
1642
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1643
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_obv_mean, must be smaller than or equal to 10000.'
1644
+ end
1645
+
1646
+ # resource path
1647
+ local_var_path = "/securities/{identifier}/prices/technicals/obv_mean".sub('{' + 'identifier' + '}', identifier.to_s)
1648
+
1649
+ # query parameters
1650
+ query_params = {}
1651
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
1652
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1653
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1654
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1655
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1656
+
1657
+ # header parameters
1658
+ header_params = {}
1659
+ # HTTP header 'Accept' (if needed)
1660
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1661
+
1662
+ # form parameters
1663
+ form_params = {}
1664
+
1665
+ # http body (model)
1666
+ post_body = nil
1667
+ auth_names = ['ApiKeyAuth']
1668
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1669
+ :header_params => header_params,
1670
+ :query_params => query_params,
1671
+ :form_params => form_params,
1672
+ :body => post_body,
1673
+ :auth_names => auth_names,
1674
+ :return_type => 'ApiResponseSecurityOnBalanceVolumeMean')
1675
+ if @api_client.config.debugging
1676
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_obv_mean\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1677
+ end
1678
+ return data, status_code, headers
1679
+ end
1680
+
1681
+ # Relative Strength Index
1682
+ # Returns the Relative Strength Index values of Stock Prices for the Security with the given `identifier`
1683
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1684
+ # @param [Hash] opts the optional parameters
1685
+ # @option opts [Integer] :period The number of observations, per period, to calculate Relative Strength Index (default to 14)
1686
+ # @option opts [String] :price_key The Stock Price field to use when calculating Relative Strength Index (default to close)
1687
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1688
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1689
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1690
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1691
+ # @return [ApiResponseSecurityRelativeStrengthIndex]
1692
+ def get_security_price_technicals_rsi(identifier, opts = {})
1693
+ data, _status_code, _headers = get_security_price_technicals_rsi_with_http_info(identifier, opts)
1694
+ return data
1695
+ end
1696
+
1697
+ # Relative Strength Index
1698
+ # Returns the Relative Strength Index values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1699
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1700
+ # @param [Hash] opts the optional parameters
1701
+ # @option opts [Integer] :period The number of observations, per period, to calculate Relative Strength Index
1702
+ # @option opts [String] :price_key The Stock Price field to use when calculating Relative Strength Index
1703
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1704
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1705
+ # @option opts [Integer] :page_size The number of results to return
1706
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1707
+ # @return [Array<(ApiResponseSecurityRelativeStrengthIndex, Fixnum, Hash)>] ApiResponseSecurityRelativeStrengthIndex data, response status code and response headers
1708
+ def get_security_price_technicals_rsi_with_http_info(identifier, opts = {})
1709
+ if @api_client.config.debugging
1710
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_rsi ..."
1711
+ end
1712
+ # verify the required parameter 'identifier' is set
1713
+ if @api_client.config.client_side_validation && identifier.nil?
1714
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_rsi"
1715
+ end
1716
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4
1717
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_rsi, must be greater than or equal to 4.'
1718
+ end
1719
+
1720
+ if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key'])
1721
+ fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume'
1722
+ end
1723
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1724
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_rsi, must be smaller than or equal to 10000.'
1725
+ end
1726
+
1727
+ # resource path
1728
+ local_var_path = "/securities/{identifier}/prices/technicals/rsi".sub('{' + 'identifier' + '}', identifier.to_s)
1729
+
1730
+ # query parameters
1731
+ query_params = {}
1732
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
1733
+ query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil?
1734
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1735
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1736
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1737
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1738
+
1739
+ # header parameters
1740
+ header_params = {}
1741
+ # HTTP header 'Accept' (if needed)
1742
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1743
+
1744
+ # form parameters
1745
+ form_params = {}
1746
+
1747
+ # http body (model)
1748
+ post_body = nil
1749
+ auth_names = ['ApiKeyAuth']
1750
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1751
+ :header_params => header_params,
1752
+ :query_params => query_params,
1753
+ :form_params => form_params,
1754
+ :body => post_body,
1755
+ :auth_names => auth_names,
1756
+ :return_type => 'ApiResponseSecurityRelativeStrengthIndex')
1757
+ if @api_client.config.debugging
1758
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_rsi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1759
+ end
1760
+ return data, status_code, headers
1761
+ end
1762
+
1763
+ # Simple Moving Average
1764
+ # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier`
1765
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1766
+ # @param [Hash] opts the optional parameters
1767
+ # @option opts [Integer] :period The number of observations, per period, to calculate Simple Moving Average (default to 20)
1768
+ # @option opts [String] :price_key The Stock Price field to use when calculating Simple Moving Average (default to close)
1769
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1770
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1771
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1772
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1773
+ # @return [ApiResponseSecuritySimpleMovingAverage]
1774
+ def get_security_price_technicals_sma(identifier, opts = {})
1775
+ data, _status_code, _headers = get_security_price_technicals_sma_with_http_info(identifier, opts)
1776
+ return data
1777
+ end
1778
+
1779
+ # Simple Moving Average
1780
+ # Returns the Simple Moving Average values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1781
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1782
+ # @param [Hash] opts the optional parameters
1783
+ # @option opts [Integer] :period The number of observations, per period, to calculate Simple Moving Average
1784
+ # @option opts [String] :price_key The Stock Price field to use when calculating Simple Moving Average
1785
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1786
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1787
+ # @option opts [Integer] :page_size The number of results to return
1788
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1789
+ # @return [Array<(ApiResponseSecuritySimpleMovingAverage, Fixnum, Hash)>] ApiResponseSecuritySimpleMovingAverage data, response status code and response headers
1790
+ def get_security_price_technicals_sma_with_http_info(identifier, opts = {})
1791
+ if @api_client.config.debugging
1792
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_sma ..."
1793
+ end
1794
+ # verify the required parameter 'identifier' is set
1795
+ if @api_client.config.client_side_validation && identifier.nil?
1796
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_sma"
1797
+ end
1798
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5
1799
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_sma, must be greater than or equal to 5.'
1800
+ end
1801
+
1802
+ if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key'])
1803
+ fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume'
1804
+ end
1805
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1806
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_sma, must be smaller than or equal to 10000.'
1807
+ end
1808
+
1809
+ # resource path
1810
+ local_var_path = "/securities/{identifier}/prices/technicals/sma".sub('{' + 'identifier' + '}', identifier.to_s)
1811
+
1812
+ # query parameters
1813
+ query_params = {}
1814
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
1815
+ query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil?
1816
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1817
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1818
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1819
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1820
+
1821
+ # header parameters
1822
+ header_params = {}
1823
+ # HTTP header 'Accept' (if needed)
1824
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1825
+
1826
+ # form parameters
1827
+ form_params = {}
1828
+
1829
+ # http body (model)
1830
+ post_body = nil
1831
+ auth_names = ['ApiKeyAuth']
1832
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1833
+ :header_params => header_params,
1834
+ :query_params => query_params,
1835
+ :form_params => form_params,
1836
+ :body => post_body,
1837
+ :auth_names => auth_names,
1838
+ :return_type => 'ApiResponseSecuritySimpleMovingAverage')
1839
+ if @api_client.config.debugging
1840
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_sma\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1841
+ end
1842
+ return data, status_code, headers
1843
+ end
1844
+
1845
+ # Stochastic Oscillator
1846
+ # Returns the Stochastic Oscillator values of Stock Prices for the Security with the given `identifier`
1847
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1848
+ # @param [Hash] opts the optional parameters
1849
+ # @option opts [Integer] :period The number of observations, per period, to calculate %K of Stochastic Oscillator (default to 14)
1850
+ # @option opts [Integer] :signal_period The number of observations, per period, to calculate the %D (the Simple Moving Average of %K) as a signal line for Stochastic Oscillator (default to 3)
1851
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1852
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1853
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1854
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1855
+ # @return [ApiResponseSecurityStochasticOscillator]
1856
+ def get_security_price_technicals_sr(identifier, opts = {})
1857
+ data, _status_code, _headers = get_security_price_technicals_sr_with_http_info(identifier, opts)
1858
+ return data
1859
+ end
1860
+
1861
+ # Stochastic Oscillator
1862
+ # Returns the Stochastic Oscillator values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1863
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1864
+ # @param [Hash] opts the optional parameters
1865
+ # @option opts [Integer] :period The number of observations, per period, to calculate %K of Stochastic Oscillator
1866
+ # @option opts [Integer] :signal_period The number of observations, per period, to calculate the %D (the Simple Moving Average of %K) as a signal line for Stochastic Oscillator
1867
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1868
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1869
+ # @option opts [Integer] :page_size The number of results to return
1870
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1871
+ # @return [Array<(ApiResponseSecurityStochasticOscillator, Fixnum, Hash)>] ApiResponseSecurityStochasticOscillator data, response status code and response headers
1872
+ def get_security_price_technicals_sr_with_http_info(identifier, opts = {})
1873
+ if @api_client.config.debugging
1874
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_sr ..."
1875
+ end
1876
+ # verify the required parameter 'identifier' is set
1877
+ if @api_client.config.client_side_validation && identifier.nil?
1878
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_sr"
1879
+ end
1880
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 3
1881
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_sr, must be greater than or equal to 3.'
1882
+ end
1883
+
1884
+ if @api_client.config.client_side_validation && !opts[:'signal_period'].nil? && opts[:'signal_period'] < 3
1885
+ fail ArgumentError, 'invalid value for "opts[:"signal_period"]" when calling TechnicalApi.get_security_price_technicals_sr, must be greater than or equal to 3.'
1886
+ end
1887
+
1888
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1889
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_sr, must be smaller than or equal to 10000.'
1890
+ end
1891
+
1892
+ # resource path
1893
+ local_var_path = "/securities/{identifier}/prices/technicals/sr".sub('{' + 'identifier' + '}', identifier.to_s)
1894
+
1895
+ # query parameters
1896
+ query_params = {}
1897
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
1898
+ query_params[:'signal_period'] = opts[:'signal_period'] if !opts[:'signal_period'].nil?
1899
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1900
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1901
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1902
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1903
+
1904
+ # header parameters
1905
+ header_params = {}
1906
+ # HTTP header 'Accept' (if needed)
1907
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1908
+
1909
+ # form parameters
1910
+ form_params = {}
1911
+
1912
+ # http body (model)
1913
+ post_body = nil
1914
+ auth_names = ['ApiKeyAuth']
1915
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1916
+ :header_params => header_params,
1917
+ :query_params => query_params,
1918
+ :form_params => form_params,
1919
+ :body => post_body,
1920
+ :auth_names => auth_names,
1921
+ :return_type => 'ApiResponseSecurityStochasticOscillator')
1922
+ if @api_client.config.debugging
1923
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_sr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1924
+ end
1925
+ return data, status_code, headers
1926
+ end
1927
+
1928
+ # Triple Exponential Average
1929
+ # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier`
1930
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1931
+ # @param [Hash] opts the optional parameters
1932
+ # @option opts [Integer] :period The number of observations, per period, to calculate Exponential Moving Average for Triple Exponential Average (default to 15)
1933
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1934
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1935
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
1936
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1937
+ # @return [ApiResponseSecurityTripleExponentialAverage]
1938
+ def get_security_price_technicals_trix(identifier, opts = {})
1939
+ data, _status_code, _headers = get_security_price_technicals_trix_with_http_info(identifier, opts)
1940
+ return data
1941
+ end
1942
+
1943
+ # Triple Exponential Average
1944
+ # Returns the Simple Moving Average values of Stock Prices for the Security with the given &#x60;identifier&#x60;
1945
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
1946
+ # @param [Hash] opts the optional parameters
1947
+ # @option opts [Integer] :period The number of observations, per period, to calculate Exponential Moving Average for Triple Exponential Average
1948
+ # @option opts [String] :start_date Return technical indicator values on or after the date
1949
+ # @option opts [String] :end_date Return technical indicator values on or before the date
1950
+ # @option opts [Integer] :page_size The number of results to return
1951
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
1952
+ # @return [Array<(ApiResponseSecurityTripleExponentialAverage, Fixnum, Hash)>] ApiResponseSecurityTripleExponentialAverage data, response status code and response headers
1953
+ def get_security_price_technicals_trix_with_http_info(identifier, opts = {})
1954
+ if @api_client.config.debugging
1955
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_trix ..."
1956
+ end
1957
+ # verify the required parameter 'identifier' is set
1958
+ if @api_client.config.client_side_validation && identifier.nil?
1959
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_trix"
1960
+ end
1961
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 2
1962
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_trix, must be greater than or equal to 2.'
1963
+ end
1964
+
1965
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
1966
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_trix, must be smaller than or equal to 10000.'
1967
+ end
1968
+
1969
+ # resource path
1970
+ local_var_path = "/securities/{identifier}/prices/technicals/trix".sub('{' + 'identifier' + '}', identifier.to_s)
1971
+
1972
+ # query parameters
1973
+ query_params = {}
1974
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
1975
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1976
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1977
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1978
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
1979
+
1980
+ # header parameters
1981
+ header_params = {}
1982
+ # HTTP header 'Accept' (if needed)
1983
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1984
+
1985
+ # form parameters
1986
+ form_params = {}
1987
+
1988
+ # http body (model)
1989
+ post_body = nil
1990
+ auth_names = ['ApiKeyAuth']
1991
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
1992
+ :header_params => header_params,
1993
+ :query_params => query_params,
1994
+ :form_params => form_params,
1995
+ :body => post_body,
1996
+ :auth_names => auth_names,
1997
+ :return_type => 'ApiResponseSecurityTripleExponentialAverage')
1998
+ if @api_client.config.debugging
1999
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_trix\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2000
+ end
2001
+ return data, status_code, headers
2002
+ end
2003
+
2004
+ # True Strength Index
2005
+ # Returns the True Strength Index values of Stock Prices for the Security with the given `identifier`
2006
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2007
+ # @param [Hash] opts the optional parameters
2008
+ # @option opts [Integer] :low_period The number of observations, per period, to calculate low period Exponential Moving Average for smoothing in True Strength Index (default to 13)
2009
+ # @option opts [Integer] :high_period The number of observations, per period, to calculate high period Exponential Moving Average for smoothing in True Strength Index (default to 25)
2010
+ # @option opts [String] :price_key The Stock Price field to use when calculating True Strength Index (default to close)
2011
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2012
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2013
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
2014
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2015
+ # @return [ApiResponseSecurityTrueStrengthIndex]
2016
+ def get_security_price_technicals_tsi(identifier, opts = {})
2017
+ data, _status_code, _headers = get_security_price_technicals_tsi_with_http_info(identifier, opts)
2018
+ return data
2019
+ end
2020
+
2021
+ # True Strength Index
2022
+ # Returns the True Strength Index values of Stock Prices for the Security with the given &#x60;identifier&#x60;
2023
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2024
+ # @param [Hash] opts the optional parameters
2025
+ # @option opts [Integer] :low_period The number of observations, per period, to calculate low period Exponential Moving Average for smoothing in True Strength Index
2026
+ # @option opts [Integer] :high_period The number of observations, per period, to calculate high period Exponential Moving Average for smoothing in True Strength Index
2027
+ # @option opts [String] :price_key The Stock Price field to use when calculating True Strength Index
2028
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2029
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2030
+ # @option opts [Integer] :page_size The number of results to return
2031
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2032
+ # @return [Array<(ApiResponseSecurityTrueStrengthIndex, Fixnum, Hash)>] ApiResponseSecurityTrueStrengthIndex data, response status code and response headers
2033
+ def get_security_price_technicals_tsi_with_http_info(identifier, opts = {})
2034
+ if @api_client.config.debugging
2035
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_tsi ..."
2036
+ end
2037
+ # verify the required parameter 'identifier' is set
2038
+ if @api_client.config.client_side_validation && identifier.nil?
2039
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_tsi"
2040
+ end
2041
+ if @api_client.config.client_side_validation && !opts[:'low_period'].nil? && opts[:'low_period'] < 3
2042
+ fail ArgumentError, 'invalid value for "opts[:"low_period"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be greater than or equal to 3.'
2043
+ end
2044
+
2045
+ if @api_client.config.client_side_validation && !opts[:'high_period'].nil? && opts[:'high_period'] < 3
2046
+ fail ArgumentError, 'invalid value for "opts[:"high_period"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be greater than or equal to 3.'
2047
+ end
2048
+
2049
+ if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key'])
2050
+ fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume'
2051
+ end
2052
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
2053
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be smaller than or equal to 10000.'
2054
+ end
2055
+
2056
+ # resource path
2057
+ local_var_path = "/securities/{identifier}/prices/technicals/tsi".sub('{' + 'identifier' + '}', identifier.to_s)
2058
+
2059
+ # query parameters
2060
+ query_params = {}
2061
+ query_params[:'low_period'] = opts[:'low_period'] if !opts[:'low_period'].nil?
2062
+ query_params[:'high_period'] = opts[:'high_period'] if !opts[:'high_period'].nil?
2063
+ query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil?
2064
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
2065
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
2066
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
2067
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
2068
+
2069
+ # header parameters
2070
+ header_params = {}
2071
+ # HTTP header 'Accept' (if needed)
2072
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2073
+
2074
+ # form parameters
2075
+ form_params = {}
2076
+
2077
+ # http body (model)
2078
+ post_body = nil
2079
+ auth_names = ['ApiKeyAuth']
2080
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2081
+ :header_params => header_params,
2082
+ :query_params => query_params,
2083
+ :form_params => form_params,
2084
+ :body => post_body,
2085
+ :auth_names => auth_names,
2086
+ :return_type => 'ApiResponseSecurityTrueStrengthIndex')
2087
+ if @api_client.config.debugging
2088
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_tsi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2089
+ end
2090
+ return data, status_code, headers
2091
+ end
2092
+
2093
+ # Ultimate Oscillator
2094
+ # Returns the Ultimate Oscillator values of Stock Prices for the Security with the given `identifier`
2095
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2096
+ # @param [Hash] opts the optional parameters
2097
+ # @option opts [Integer] :short_period The number of observations, per period, to calculate the short period for Ultimate Oscillator (default to 7)
2098
+ # @option opts [Integer] :medium_period The number of observations, per period, to calculate the medium period for Ultimate Oscillator (default to 14)
2099
+ # @option opts [Integer] :long_period The number of observations, per period, to calculate the long period for Ultimate Oscillator (default to 28)
2100
+ # @option opts [Float] :short_weight The weight of short Buying Pressure average for Ultimate Oscillator (default to 4.0)
2101
+ # @option opts [Float] :medium_weight The weight of medium Buying Pressure average for Ultimate Oscillator (default to 2.0)
2102
+ # @option opts [Float] :long_weight The weight of long Buying Pressure average for Ultimate Oscillator (default to 1.0)
2103
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2104
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2105
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
2106
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2107
+ # @return [ApiResponseSecurityUltimateOscillator]
2108
+ def get_security_price_technicals_uo(identifier, opts = {})
2109
+ data, _status_code, _headers = get_security_price_technicals_uo_with_http_info(identifier, opts)
2110
+ return data
2111
+ end
2112
+
2113
+ # Ultimate Oscillator
2114
+ # Returns the Ultimate Oscillator values of Stock Prices for the Security with the given &#x60;identifier&#x60;
2115
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2116
+ # @param [Hash] opts the optional parameters
2117
+ # @option opts [Integer] :short_period The number of observations, per period, to calculate the short period for Ultimate Oscillator
2118
+ # @option opts [Integer] :medium_period The number of observations, per period, to calculate the medium period for Ultimate Oscillator
2119
+ # @option opts [Integer] :long_period The number of observations, per period, to calculate the long period for Ultimate Oscillator
2120
+ # @option opts [Float] :short_weight The weight of short Buying Pressure average for Ultimate Oscillator
2121
+ # @option opts [Float] :medium_weight The weight of medium Buying Pressure average for Ultimate Oscillator
2122
+ # @option opts [Float] :long_weight The weight of long Buying Pressure average for Ultimate Oscillator
2123
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2124
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2125
+ # @option opts [Integer] :page_size The number of results to return
2126
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2127
+ # @return [Array<(ApiResponseSecurityUltimateOscillator, Fixnum, Hash)>] ApiResponseSecurityUltimateOscillator data, response status code and response headers
2128
+ def get_security_price_technicals_uo_with_http_info(identifier, opts = {})
2129
+ if @api_client.config.debugging
2130
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_uo ..."
2131
+ end
2132
+ # verify the required parameter 'identifier' is set
2133
+ if @api_client.config.client_side_validation && identifier.nil?
2134
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_uo"
2135
+ end
2136
+ if @api_client.config.client_side_validation && !opts[:'long_period'].nil? && opts[:'long_period'] < 4
2137
+ fail ArgumentError, 'invalid value for "opts[:"long_period"]" when calling TechnicalApi.get_security_price_technicals_uo, must be greater than or equal to 4.'
2138
+ end
2139
+
2140
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
2141
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_uo, must be smaller than or equal to 10000.'
2142
+ end
2143
+
2144
+ # resource path
2145
+ local_var_path = "/securities/{identifier}/prices/technicals/uo".sub('{' + 'identifier' + '}', identifier.to_s)
2146
+
2147
+ # query parameters
2148
+ query_params = {}
2149
+ query_params[:'short_period'] = opts[:'short_period'] if !opts[:'short_period'].nil?
2150
+ query_params[:'medium_period'] = opts[:'medium_period'] if !opts[:'medium_period'].nil?
2151
+ query_params[:'long_period'] = opts[:'long_period'] if !opts[:'long_period'].nil?
2152
+ query_params[:'short_weight'] = opts[:'short_weight'] if !opts[:'short_weight'].nil?
2153
+ query_params[:'medium_weight'] = opts[:'medium_weight'] if !opts[:'medium_weight'].nil?
2154
+ query_params[:'long_weight'] = opts[:'long_weight'] if !opts[:'long_weight'].nil?
2155
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
2156
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
2157
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
2158
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
2159
+
2160
+ # header parameters
2161
+ header_params = {}
2162
+ # HTTP header 'Accept' (if needed)
2163
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2164
+
2165
+ # form parameters
2166
+ form_params = {}
2167
+
2168
+ # http body (model)
2169
+ post_body = nil
2170
+ auth_names = ['ApiKeyAuth']
2171
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2172
+ :header_params => header_params,
2173
+ :query_params => query_params,
2174
+ :form_params => form_params,
2175
+ :body => post_body,
2176
+ :auth_names => auth_names,
2177
+ :return_type => 'ApiResponseSecurityUltimateOscillator')
2178
+ if @api_client.config.debugging
2179
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_uo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2180
+ end
2181
+ return data, status_code, headers
2182
+ end
2183
+
2184
+ # Vortex Indicator
2185
+ # Returns the Vortex Indicator values of Stock Prices for the Security with the given `identifier`
2186
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2187
+ # @param [Hash] opts the optional parameters
2188
+ # @option opts [Integer] :period The number of observations, per period, to calculate Vortex Indicator (default to 14)
2189
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2190
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2191
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
2192
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2193
+ # @return [ApiResponseSecurityVortexIndicator]
2194
+ def get_security_price_technicals_vi(identifier, opts = {})
2195
+ data, _status_code, _headers = get_security_price_technicals_vi_with_http_info(identifier, opts)
2196
+ return data
2197
+ end
2198
+
2199
+ # Vortex Indicator
2200
+ # Returns the Vortex Indicator values of Stock Prices for the Security with the given &#x60;identifier&#x60;
2201
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2202
+ # @param [Hash] opts the optional parameters
2203
+ # @option opts [Integer] :period The number of observations, per period, to calculate Vortex Indicator
2204
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2205
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2206
+ # @option opts [Integer] :page_size The number of results to return
2207
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2208
+ # @return [Array<(ApiResponseSecurityVortexIndicator, Fixnum, Hash)>] ApiResponseSecurityVortexIndicator data, response status code and response headers
2209
+ def get_security_price_technicals_vi_with_http_info(identifier, opts = {})
2210
+ if @api_client.config.debugging
2211
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vi ..."
2212
+ end
2213
+ # verify the required parameter 'identifier' is set
2214
+ if @api_client.config.client_side_validation && identifier.nil?
2215
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vi"
2216
+ end
2217
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4
2218
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_vi, must be greater than or equal to 4.'
2219
+ end
2220
+
2221
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
2222
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vi, must be smaller than or equal to 10000.'
2223
+ end
2224
+
2225
+ # resource path
2226
+ local_var_path = "/securities/{identifier}/prices/technicals/vi".sub('{' + 'identifier' + '}', identifier.to_s)
2227
+
2228
+ # query parameters
2229
+ query_params = {}
2230
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
2231
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
2232
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
2233
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
2234
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
2235
+
2236
+ # header parameters
2237
+ header_params = {}
2238
+ # HTTP header 'Accept' (if needed)
2239
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2240
+
2241
+ # form parameters
2242
+ form_params = {}
2243
+
2244
+ # http body (model)
2245
+ post_body = nil
2246
+ auth_names = ['ApiKeyAuth']
2247
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2248
+ :header_params => header_params,
2249
+ :query_params => query_params,
2250
+ :form_params => form_params,
2251
+ :body => post_body,
2252
+ :auth_names => auth_names,
2253
+ :return_type => 'ApiResponseSecurityVortexIndicator')
2254
+ if @api_client.config.debugging
2255
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2256
+ end
2257
+ return data, status_code, headers
2258
+ end
2259
+
2260
+ # Volume-price Trend
2261
+ # Returns the Volume-price Trend values of Stock Prices for the Security with the given `identifier`
2262
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2263
+ # @param [Hash] opts the optional parameters
2264
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2265
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2266
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
2267
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2268
+ # @return [ApiResponseSecurityVolumePriceTrend]
2269
+ def get_security_price_technicals_vpt(identifier, opts = {})
2270
+ data, _status_code, _headers = get_security_price_technicals_vpt_with_http_info(identifier, opts)
2271
+ return data
2272
+ end
2273
+
2274
+ # Volume-price Trend
2275
+ # Returns the Volume-price Trend values of Stock Prices for the Security with the given &#x60;identifier&#x60;
2276
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2277
+ # @param [Hash] opts the optional parameters
2278
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2279
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2280
+ # @option opts [Integer] :page_size The number of results to return
2281
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2282
+ # @return [Array<(ApiResponseSecurityVolumePriceTrend, Fixnum, Hash)>] ApiResponseSecurityVolumePriceTrend data, response status code and response headers
2283
+ def get_security_price_technicals_vpt_with_http_info(identifier, opts = {})
2284
+ if @api_client.config.debugging
2285
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vpt ..."
2286
+ end
2287
+ # verify the required parameter 'identifier' is set
2288
+ if @api_client.config.client_side_validation && identifier.nil?
2289
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vpt"
2290
+ end
2291
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
2292
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vpt, must be smaller than or equal to 10000.'
2293
+ end
2294
+
2295
+ # resource path
2296
+ local_var_path = "/securities/{identifier}/prices/technicals/vpt".sub('{' + 'identifier' + '}', identifier.to_s)
2297
+
2298
+ # query parameters
2299
+ query_params = {}
2300
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
2301
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
2302
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
2303
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
2304
+
2305
+ # header parameters
2306
+ header_params = {}
2307
+ # HTTP header 'Accept' (if needed)
2308
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2309
+
2310
+ # form parameters
2311
+ form_params = {}
2312
+
2313
+ # http body (model)
2314
+ post_body = nil
2315
+ auth_names = ['ApiKeyAuth']
2316
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2317
+ :header_params => header_params,
2318
+ :query_params => query_params,
2319
+ :form_params => form_params,
2320
+ :body => post_body,
2321
+ :auth_names => auth_names,
2322
+ :return_type => 'ApiResponseSecurityVolumePriceTrend')
2323
+ if @api_client.config.debugging
2324
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vpt\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2325
+ end
2326
+ return data, status_code, headers
2327
+ end
2328
+
2329
+ # Volume Weighted Average Price
2330
+ # Returns the Volume Weighted Average Price values of Stock Prices for the Security with the given `identifier`
2331
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2332
+ # @param [Hash] opts the optional parameters
2333
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2334
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2335
+ # @option opts [Integer] :page_size The number of results to return (default to 100)
2336
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2337
+ # @return [ApiResponseSecurityVolumeWeightedAveragePrice]
2338
+ def get_security_price_technicals_vwap(identifier, opts = {})
2339
+ data, _status_code, _headers = get_security_price_technicals_vwap_with_http_info(identifier, opts)
2340
+ return data
2341
+ end
2342
+
2343
+ # Volume Weighted Average Price
2344
+ # Returns the Volume Weighted Average Price values of Stock Prices for the Security with the given &#x60;identifier&#x60;
2345
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2346
+ # @param [Hash] opts the optional parameters
2347
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2348
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2349
+ # @option opts [Integer] :page_size The number of results to return
2350
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2351
+ # @return [Array<(ApiResponseSecurityVolumeWeightedAveragePrice, Fixnum, Hash)>] ApiResponseSecurityVolumeWeightedAveragePrice data, response status code and response headers
2352
+ def get_security_price_technicals_vwap_with_http_info(identifier, opts = {})
2353
+ if @api_client.config.debugging
2354
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vwap ..."
2355
+ end
2356
+ # verify the required parameter 'identifier' is set
2357
+ if @api_client.config.client_side_validation && identifier.nil?
2358
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vwap"
2359
+ end
2360
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
2361
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vwap, must be smaller than or equal to 10000.'
2362
+ end
2363
+
2364
+ # resource path
2365
+ local_var_path = "/securities/{identifier}/prices/technicals/vwap".sub('{' + 'identifier' + '}', identifier.to_s)
2366
+
2367
+ # query parameters
2368
+ query_params = {}
2369
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
2370
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
2371
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
2372
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
2373
+
2374
+ # header parameters
2375
+ header_params = {}
2376
+ # HTTP header 'Accept' (if needed)
2377
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2378
+
2379
+ # form parameters
2380
+ form_params = {}
2381
+
2382
+ # http body (model)
2383
+ post_body = nil
2384
+ auth_names = ['ApiKeyAuth']
2385
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2386
+ :header_params => header_params,
2387
+ :query_params => query_params,
2388
+ :form_params => form_params,
2389
+ :body => post_body,
2390
+ :auth_names => auth_names,
2391
+ :return_type => 'ApiResponseSecurityVolumeWeightedAveragePrice')
2392
+ if @api_client.config.debugging
2393
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vwap\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2394
+ end
2395
+ return data, status_code, headers
2396
+ end
2397
+
2398
+ # Williams %R
2399
+ # Returns the Williams %R values of Stock Prices for the Security with the given `identifier`
2400
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2401
+ # @param [Hash] opts the optional parameters
2402
+ # @option opts [Integer] :period The number of observations, per period, to look-back when calculating Williams %R (default to 14)
2403
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2404
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2405
+ # @option opts [Float] :page_size The number of results to return (default to 100)
2406
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2407
+ # @return [ApiResponseSecurityWilliamsR]
2408
+ def get_security_price_technicals_wr(identifier, opts = {})
2409
+ data, _status_code, _headers = get_security_price_technicals_wr_with_http_info(identifier, opts)
2410
+ return data
2411
+ end
2412
+
2413
+ # Williams %R
2414
+ # Returns the Williams %R values of Stock Prices for the Security with the given &#x60;identifier&#x60;
2415
+ # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID)
2416
+ # @param [Hash] opts the optional parameters
2417
+ # @option opts [Integer] :period The number of observations, per period, to look-back when calculating Williams %R
2418
+ # @option opts [String] :start_date Return technical indicator values on or after the date
2419
+ # @option opts [String] :end_date Return technical indicator values on or before the date
2420
+ # @option opts [Float] :page_size The number of results to return
2421
+ # @option opts [String] :next_page Gets the next page of data from a previous API call
2422
+ # @return [Array<(ApiResponseSecurityWilliamsR, Fixnum, Hash)>] ApiResponseSecurityWilliamsR data, response status code and response headers
2423
+ def get_security_price_technicals_wr_with_http_info(identifier, opts = {})
2424
+ if @api_client.config.debugging
2425
+ @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_wr ..."
2426
+ end
2427
+ # verify the required parameter 'identifier' is set
2428
+ if @api_client.config.client_side_validation && identifier.nil?
2429
+ fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_wr"
2430
+ end
2431
+ if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5
2432
+ fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_wr, must be greater than or equal to 5.'
2433
+ end
2434
+
2435
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000
2436
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_wr, must be smaller than or equal to 10000.'
2437
+ end
2438
+
2439
+ # resource path
2440
+ local_var_path = "/securities/{identifier}/prices/technicals/wr".sub('{' + 'identifier' + '}', identifier.to_s)
2441
+
2442
+ # query parameters
2443
+ query_params = {}
2444
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
2445
+ query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil?
2446
+ query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil?
2447
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
2448
+ query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil?
2449
+
2450
+ # header parameters
2451
+ header_params = {}
2452
+ # HTTP header 'Accept' (if needed)
2453
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2454
+
2455
+ # form parameters
2456
+ form_params = {}
2457
+
2458
+ # http body (model)
2459
+ post_body = nil
2460
+ auth_names = ['ApiKeyAuth']
2461
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2462
+ :header_params => header_params,
2463
+ :query_params => query_params,
2464
+ :form_params => form_params,
2465
+ :body => post_body,
2466
+ :auth_names => auth_names,
2467
+ :return_type => 'ApiResponseSecurityWilliamsR')
2468
+ if @api_client.config.debugging
2469
+ @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_wr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2470
+ end
2471
+ return data, status_code, headers
2472
+ end
2473
+ end
2474
+ end