intrinio-sdk 5.2.0 → 5.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -3
  3. data/docs/ApiResponseETFHoldings.md +25 -0
  4. data/docs/ApiResponseETFs.md +21 -0
  5. data/docs/ApiResponseZacksEPSEstimates.md +24 -0
  6. data/docs/ApiResponseZacksEPSGrowthRates.md +24 -0
  7. data/docs/ApiResponseZacksETFHoldings.md +24 -0
  8. data/docs/ApiResponseZacksInstitutionalHoldingCompanies.md +24 -0
  9. data/docs/ApiResponseZacksInstitutionalHoldingOwners.md +24 -0
  10. data/docs/ApiResponseZacksInstitutionalHoldings.md +24 -0
  11. data/docs/ApiResponseZacksLongTermGrowthRates.md +24 -0
  12. data/docs/ApiResponseZacksTargetPriceConsensuses.md +24 -0
  13. data/docs/BulkDownloadsApi.md +2 -2
  14. data/docs/ETF.md +138 -0
  15. data/docs/ETFAnalytics.md +31 -0
  16. data/docs/ETFHolding.md +37 -0
  17. data/docs/ETFStats.md +53 -0
  18. data/docs/ETFSummary.md +27 -0
  19. data/docs/ETFsApi.md +517 -0
  20. data/docs/Filing.md +3 -0
  21. data/docs/FilingApi.md +168 -0
  22. data/docs/ZacksApi.md +779 -49
  23. data/docs/ZacksEPSEstimate.md +39 -0
  24. data/docs/ZacksEPSGrowthRate.md +45 -0
  25. data/docs/ZacksETFHolding.md +26 -0
  26. data/docs/ZacksInstitutionalHolding.md +41 -0
  27. data/docs/ZacksInstitutionalHoldingCompanyDetail.md +32 -0
  28. data/docs/ZacksInstitutionalHoldingCompanySummary.md +22 -0
  29. data/docs/ZacksInstitutionalHoldingHistoricalSummary.md +21 -0
  30. data/docs/ZacksInstitutionalHoldingOwnerDetail.md +40 -0
  31. data/docs/ZacksInstitutionalHoldingOwnerSummary.md +21 -0
  32. data/docs/ZacksLongTermGrowthRate.md +47 -0
  33. data/docs/ZacksTargetPriceConsensus.md +35 -0
  34. data/intrinio-sdk.gemspec +1 -1
  35. data/lib/intrinio-sdk.rb +28 -1
  36. data/lib/intrinio-sdk/api/bulk_downloads_api.rb +3 -3
  37. data/lib/intrinio-sdk/api/company_api.rb +1 -1
  38. data/lib/intrinio-sdk/api/data_point_api.rb +1 -1
  39. data/lib/intrinio-sdk/api/data_tag_api.rb +1 -1
  40. data/lib/intrinio-sdk/api/et_fs_api.rb +359 -0
  41. data/lib/intrinio-sdk/api/filing_api.rb +113 -1
  42. data/lib/intrinio-sdk/api/forex_api.rb +1 -1
  43. data/lib/intrinio-sdk/api/fundamentals_api.rb +1 -1
  44. data/lib/intrinio-sdk/api/historical_data_api.rb +1 -1
  45. data/lib/intrinio-sdk/api/index_api.rb +1 -1
  46. data/lib/intrinio-sdk/api/municipality_api.rb +1 -1
  47. data/lib/intrinio-sdk/api/options_api.rb +1 -1
  48. data/lib/intrinio-sdk/api/security_api.rb +1 -1
  49. data/lib/intrinio-sdk/api/stock_exchange_api.rb +1 -1
  50. data/lib/intrinio-sdk/api/technical_api.rb +1 -1
  51. data/lib/intrinio-sdk/api/zacks_api.rb +538 -13
  52. data/lib/intrinio-sdk/api_client.rb +1 -1
  53. data/lib/intrinio-sdk/api_error.rb +1 -1
  54. data/lib/intrinio-sdk/configuration.rb +1 -1
  55. data/lib/intrinio-sdk/models/accumulation_distribution_index_technical_value.rb +1 -1
  56. data/lib/intrinio-sdk/models/api_response_bulk_download_links.rb +1 -1
  57. data/lib/intrinio-sdk/models/api_response_companies.rb +1 -1
  58. data/lib/intrinio-sdk/models/api_response_companies_search.rb +1 -1
  59. data/lib/intrinio-sdk/models/api_response_company_filings.rb +1 -1
  60. data/lib/intrinio-sdk/models/api_response_company_fundamentals.rb +1 -1
  61. data/lib/intrinio-sdk/models/api_response_company_historical_data.rb +1 -1
  62. data/lib/intrinio-sdk/models/api_response_company_news.rb +1 -1
  63. data/lib/intrinio-sdk/models/api_response_company_securities.rb +1 -1
  64. data/lib/intrinio-sdk/models/api_response_data_tags.rb +1 -1
  65. data/lib/intrinio-sdk/models/api_response_data_tags_search.rb +1 -1
  66. data/lib/intrinio-sdk/models/api_response_economic_index_historical_data.rb +1 -1
  67. data/lib/intrinio-sdk/models/api_response_economic_indices.rb +1 -1
  68. data/lib/intrinio-sdk/models/api_response_economic_indices_search.rb +1 -1
  69. data/lib/intrinio-sdk/models/api_response_et_fs.rb +198 -0
  70. data/lib/intrinio-sdk/models/api_response_etf_holdings.rb +207 -0
  71. data/lib/intrinio-sdk/models/api_response_filing_fundamentals.rb +1 -1
  72. data/lib/intrinio-sdk/models/api_response_filing_notes.rb +1 -1
  73. data/lib/intrinio-sdk/models/api_response_filing_notes_search.rb +1 -1
  74. data/lib/intrinio-sdk/models/api_response_filings.rb +1 -1
  75. data/lib/intrinio-sdk/models/api_response_forex_currencies.rb +1 -1
  76. data/lib/intrinio-sdk/models/api_response_forex_pairs.rb +1 -1
  77. data/lib/intrinio-sdk/models/api_response_forex_prices.rb +1 -1
  78. data/lib/intrinio-sdk/models/api_response_historical_data.rb +1 -1
  79. data/lib/intrinio-sdk/models/api_response_initial_public_offerings.rb +1 -1
  80. data/lib/intrinio-sdk/models/api_response_municipalities.rb +1 -1
  81. data/lib/intrinio-sdk/models/api_response_municipalitiy_financials.rb +1 -1
  82. data/lib/intrinio-sdk/models/api_response_news.rb +1 -1
  83. data/lib/intrinio-sdk/models/api_response_option_prices.rb +1 -1
  84. data/lib/intrinio-sdk/models/api_response_options.rb +1 -1
  85. data/lib/intrinio-sdk/models/api_response_options_chain.rb +1 -1
  86. data/lib/intrinio-sdk/models/api_response_options_expirations.rb +1 -1
  87. data/lib/intrinio-sdk/models/api_response_reported_financials.rb +1 -1
  88. data/lib/intrinio-sdk/models/api_response_securities.rb +1 -1
  89. data/lib/intrinio-sdk/models/api_response_securities_search.rb +1 -1
  90. data/lib/intrinio-sdk/models/api_response_security_accumulation_distribution_index.rb +1 -1
  91. data/lib/intrinio-sdk/models/api_response_security_average_daily_trading_volume.rb +1 -1
  92. data/lib/intrinio-sdk/models/api_response_security_average_directional_index.rb +1 -1
  93. data/lib/intrinio-sdk/models/api_response_security_average_true_range.rb +1 -1
  94. data/lib/intrinio-sdk/models/api_response_security_awesome_oscillator.rb +1 -1
  95. data/lib/intrinio-sdk/models/api_response_security_bollinger_bands.rb +1 -1
  96. data/lib/intrinio-sdk/models/api_response_security_chaikin_money_flow.rb +1 -1
  97. data/lib/intrinio-sdk/models/api_response_security_commodity_channel_index.rb +1 -1
  98. data/lib/intrinio-sdk/models/api_response_security_detrended_price_oscillator.rb +1 -1
  99. data/lib/intrinio-sdk/models/api_response_security_donchian_channel.rb +1 -1
  100. data/lib/intrinio-sdk/models/api_response_security_ease_of_movement.rb +1 -1
  101. data/lib/intrinio-sdk/models/api_response_security_force_index.rb +1 -1
  102. data/lib/intrinio-sdk/models/api_response_security_historical_data.rb +1 -1
  103. data/lib/intrinio-sdk/models/api_response_security_ichimoku_kinko_hyo.rb +1 -1
  104. data/lib/intrinio-sdk/models/api_response_security_intraday_prices.rb +1 -1
  105. data/lib/intrinio-sdk/models/api_response_security_keltner_channel.rb +1 -1
  106. data/lib/intrinio-sdk/models/api_response_security_know_sure_thing.rb +1 -1
  107. data/lib/intrinio-sdk/models/api_response_security_mass_index.rb +1 -1
  108. data/lib/intrinio-sdk/models/api_response_security_money_flow_index.rb +1 -1
  109. data/lib/intrinio-sdk/models/api_response_security_moving_average_convergence_divergence.rb +1 -1
  110. data/lib/intrinio-sdk/models/api_response_security_negative_volume_index.rb +1 -1
  111. data/lib/intrinio-sdk/models/api_response_security_on_balance_volume.rb +1 -1
  112. data/lib/intrinio-sdk/models/api_response_security_on_balance_volume_mean.rb +1 -1
  113. data/lib/intrinio-sdk/models/api_response_security_relative_strength_index.rb +1 -1
  114. data/lib/intrinio-sdk/models/api_response_security_simple_moving_average.rb +1 -1
  115. data/lib/intrinio-sdk/models/api_response_security_stochastic_oscillator.rb +1 -1
  116. data/lib/intrinio-sdk/models/api_response_security_stock_price_adjustments.rb +1 -1
  117. data/lib/intrinio-sdk/models/api_response_security_stock_prices.rb +1 -1
  118. data/lib/intrinio-sdk/models/api_response_security_triple_exponential_average.rb +1 -1
  119. data/lib/intrinio-sdk/models/api_response_security_true_strength_index.rb +1 -1
  120. data/lib/intrinio-sdk/models/api_response_security_ultimate_oscillator.rb +1 -1
  121. data/lib/intrinio-sdk/models/api_response_security_volume_price_trend.rb +1 -1
  122. data/lib/intrinio-sdk/models/api_response_security_volume_weighted_average_price.rb +1 -1
  123. data/lib/intrinio-sdk/models/api_response_security_vortex_indicator.rb +1 -1
  124. data/lib/intrinio-sdk/models/api_response_security_williams_r.rb +1 -1
  125. data/lib/intrinio-sdk/models/api_response_security_zacks_analyst_ratings.rb +1 -1
  126. data/lib/intrinio-sdk/models/api_response_security_zacks_analyst_ratings_snapshot.rb +1 -1
  127. data/lib/intrinio-sdk/models/api_response_security_zacks_eps_surprises.rb +1 -1
  128. data/lib/intrinio-sdk/models/api_response_security_zacks_sales_surprises.rb +1 -1
  129. data/lib/intrinio-sdk/models/api_response_sic_index_historical_data.rb +1 -1
  130. data/lib/intrinio-sdk/models/api_response_sic_indices.rb +1 -1
  131. data/lib/intrinio-sdk/models/api_response_sic_indices_search.rb +1 -1
  132. data/lib/intrinio-sdk/models/api_response_standardized_financials.rb +1 -1
  133. data/lib/intrinio-sdk/models/api_response_stock_exchange_realtime_stock_prices.rb +1 -1
  134. data/lib/intrinio-sdk/models/api_response_stock_exchange_securities.rb +1 -1
  135. data/lib/intrinio-sdk/models/api_response_stock_exchange_stock_price_adjustments.rb +1 -1
  136. data/lib/intrinio-sdk/models/api_response_stock_exchange_stock_prices.rb +1 -1
  137. data/lib/intrinio-sdk/models/api_response_stock_exchanges.rb +1 -1
  138. data/lib/intrinio-sdk/models/api_response_stock_market_index_historical_data.rb +1 -1
  139. data/lib/intrinio-sdk/models/api_response_stock_market_indices.rb +1 -1
  140. data/lib/intrinio-sdk/models/api_response_stock_market_indices_search.rb +1 -1
  141. data/lib/intrinio-sdk/models/api_response_zacks_analyst_ratings.rb +1 -1
  142. data/lib/intrinio-sdk/models/api_response_zacks_eps_estimates.rb +201 -0
  143. data/lib/intrinio-sdk/models/api_response_zacks_eps_growth_rates.rb +201 -0
  144. data/lib/intrinio-sdk/models/api_response_zacks_eps_surprises.rb +1 -1
  145. data/lib/intrinio-sdk/models/api_response_zacks_etf_holdings.rb +201 -0
  146. data/lib/intrinio-sdk/models/api_response_zacks_institutional_holding_companies.rb +201 -0
  147. data/lib/intrinio-sdk/models/api_response_zacks_institutional_holding_owners.rb +201 -0
  148. data/lib/intrinio-sdk/models/api_response_zacks_institutional_holdings.rb +201 -0
  149. data/lib/intrinio-sdk/models/api_response_zacks_long_term_growth_rates.rb +201 -0
  150. data/lib/intrinio-sdk/models/api_response_zacks_sales_surprises.rb +1 -1
  151. data/lib/intrinio-sdk/models/api_response_zacks_target_price_consensuses.rb +201 -0
  152. data/lib/intrinio-sdk/models/average_daily_trading_volume_technical_value.rb +1 -1
  153. data/lib/intrinio-sdk/models/average_directional_index_technical_value.rb +1 -1
  154. data/lib/intrinio-sdk/models/average_true_range_technical_value.rb +1 -1
  155. data/lib/intrinio-sdk/models/awesome_oscillator_technical_value.rb +1 -1
  156. data/lib/intrinio-sdk/models/bollinger_bands_technical_value.rb +1 -1
  157. data/lib/intrinio-sdk/models/bulk_download_links.rb +1 -1
  158. data/lib/intrinio-sdk/models/bulk_download_summary.rb +1 -1
  159. data/lib/intrinio-sdk/models/chaikin_money_flow_technical_value.rb +1 -1
  160. data/lib/intrinio-sdk/models/commodity_channel_index_technical_value.rb +1 -1
  161. data/lib/intrinio-sdk/models/company.rb +1 -1
  162. data/lib/intrinio-sdk/models/company_filing.rb +1 -1
  163. data/lib/intrinio-sdk/models/company_initial_public_offering.rb +1 -1
  164. data/lib/intrinio-sdk/models/company_news.rb +1 -1
  165. data/lib/intrinio-sdk/models/company_news_summary.rb +1 -1
  166. data/lib/intrinio-sdk/models/company_summary.rb +1 -1
  167. data/lib/intrinio-sdk/models/data_tag.rb +1 -1
  168. data/lib/intrinio-sdk/models/data_tag_summary.rb +1 -1
  169. data/lib/intrinio-sdk/models/detrended_price_oscillator_technical_value.rb +1 -1
  170. data/lib/intrinio-sdk/models/dividend_record.rb +1 -1
  171. data/lib/intrinio-sdk/models/donchian_channel_technical_value.rb +1 -1
  172. data/lib/intrinio-sdk/models/earnings_record.rb +1 -1
  173. data/lib/intrinio-sdk/models/ease_of_movement_technical_value.rb +1 -1
  174. data/lib/intrinio-sdk/models/economic_index.rb +1 -1
  175. data/lib/intrinio-sdk/models/economic_index_summary.rb +1 -1
  176. data/lib/intrinio-sdk/models/etf.rb +1369 -0
  177. data/lib/intrinio-sdk/models/etf_analytics.rb +268 -0
  178. data/lib/intrinio-sdk/models/etf_holding.rb +359 -0
  179. data/lib/intrinio-sdk/models/etf_stats.rb +487 -0
  180. data/lib/intrinio-sdk/models/etf_summary.rb +259 -0
  181. data/lib/intrinio-sdk/models/filing.rb +32 -2
  182. data/lib/intrinio-sdk/models/filing_note.rb +1 -1
  183. data/lib/intrinio-sdk/models/filing_note_filing.rb +1 -1
  184. data/lib/intrinio-sdk/models/filing_note_summary.rb +1 -1
  185. data/lib/intrinio-sdk/models/filing_summary.rb +1 -1
  186. data/lib/intrinio-sdk/models/force_index_technical_value.rb +1 -1
  187. data/lib/intrinio-sdk/models/forex_currency.rb +1 -1
  188. data/lib/intrinio-sdk/models/forex_pair.rb +1 -1
  189. data/lib/intrinio-sdk/models/forex_price.rb +1 -1
  190. data/lib/intrinio-sdk/models/fundamental.rb +1 -1
  191. data/lib/intrinio-sdk/models/fundamental_summary.rb +1 -1
  192. data/lib/intrinio-sdk/models/historical_data.rb +1 -1
  193. data/lib/intrinio-sdk/models/ichimoku_kinko_hyo_technical_value.rb +1 -1
  194. data/lib/intrinio-sdk/models/intraday_stock_price.rb +1 -1
  195. data/lib/intrinio-sdk/models/keltner_channel_technical_value.rb +1 -1
  196. data/lib/intrinio-sdk/models/know_sure_thing_technical_value.rb +1 -1
  197. data/lib/intrinio-sdk/models/mass_index_technical_value.rb +1 -1
  198. data/lib/intrinio-sdk/models/money_flow_index_technical_value.rb +1 -1
  199. data/lib/intrinio-sdk/models/moving_average_convergence_divergence_technical_value.rb +1 -1
  200. data/lib/intrinio-sdk/models/municipality.rb +1 -1
  201. data/lib/intrinio-sdk/models/municipality_financial.rb +1 -1
  202. data/lib/intrinio-sdk/models/negative_volume_index_technical_value.rb +1 -1
  203. data/lib/intrinio-sdk/models/on_balance_volume_mean_technical_value.rb +1 -1
  204. data/lib/intrinio-sdk/models/on_balance_volume_technical_value.rb +1 -1
  205. data/lib/intrinio-sdk/models/option.rb +1 -1
  206. data/lib/intrinio-sdk/models/option_chain.rb +1 -1
  207. data/lib/intrinio-sdk/models/option_price.rb +1 -1
  208. data/lib/intrinio-sdk/models/realtime_stock_price.rb +1 -1
  209. data/lib/intrinio-sdk/models/realtime_stock_price_security.rb +1 -1
  210. data/lib/intrinio-sdk/models/relative_strength_index_technical_value.rb +1 -1
  211. data/lib/intrinio-sdk/models/reported_financial.rb +1 -1
  212. data/lib/intrinio-sdk/models/reported_financial_dimension.rb +1 -1
  213. data/lib/intrinio-sdk/models/reported_tag.rb +1 -1
  214. data/lib/intrinio-sdk/models/security.rb +1 -1
  215. data/lib/intrinio-sdk/models/security_screen_clause.rb +1 -1
  216. data/lib/intrinio-sdk/models/security_screen_group.rb +1 -1
  217. data/lib/intrinio-sdk/models/security_screen_result.rb +1 -1
  218. data/lib/intrinio-sdk/models/security_screen_result_data.rb +1 -1
  219. data/lib/intrinio-sdk/models/security_summary.rb +1 -1
  220. data/lib/intrinio-sdk/models/sic_index.rb +1 -1
  221. data/lib/intrinio-sdk/models/simple_moving_average_technical_value.rb +1 -1
  222. data/lib/intrinio-sdk/models/standardized_financial.rb +1 -1
  223. data/lib/intrinio-sdk/models/stochastic_oscillator_technical_value.rb +1 -1
  224. data/lib/intrinio-sdk/models/stock_exchange.rb +1 -1
  225. data/lib/intrinio-sdk/models/stock_market_index.rb +1 -1
  226. data/lib/intrinio-sdk/models/stock_market_index_summary.rb +1 -1
  227. data/lib/intrinio-sdk/models/stock_price.rb +1 -1
  228. data/lib/intrinio-sdk/models/stock_price_adjustment.rb +1 -1
  229. data/lib/intrinio-sdk/models/stock_price_adjustment_summary.rb +1 -1
  230. data/lib/intrinio-sdk/models/stock_price_summary.rb +1 -1
  231. data/lib/intrinio-sdk/models/technical_indicator.rb +1 -1
  232. data/lib/intrinio-sdk/models/triple_exponential_average_technical_value.rb +1 -1
  233. data/lib/intrinio-sdk/models/true_strength_index_technical_value.rb +1 -1
  234. data/lib/intrinio-sdk/models/ultimate_oscillator_technical_value.rb +1 -1
  235. data/lib/intrinio-sdk/models/volume_price_trend_technical_value.rb +1 -1
  236. data/lib/intrinio-sdk/models/volume_weighted_average_price_value.rb +1 -1
  237. data/lib/intrinio-sdk/models/vortex_indicator_technical_value.rb +1 -1
  238. data/lib/intrinio-sdk/models/williams_r_technical_value.rb +1 -1
  239. data/lib/intrinio-sdk/models/zacks_analyst_rating.rb +1 -1
  240. data/lib/intrinio-sdk/models/zacks_analyst_rating_snapshot.rb +1 -1
  241. data/lib/intrinio-sdk/models/zacks_analyst_rating_summary.rb +1 -1
  242. data/lib/intrinio-sdk/models/zacks_eps_estimate.rb +348 -0
  243. data/lib/intrinio-sdk/models/zacks_eps_growth_rate.rb +408 -0
  244. data/lib/intrinio-sdk/models/zacks_eps_surprise.rb +1 -1
  245. data/lib/intrinio-sdk/models/zacks_eps_surprise_summary.rb +1 -1
  246. data/lib/intrinio-sdk/models/zacks_etf_holding.rb +249 -0
  247. data/lib/intrinio-sdk/models/zacks_institutional_holding.rb +308 -0
  248. data/lib/intrinio-sdk/models/zacks_institutional_holding_company_detail.rb +309 -0
  249. data/lib/intrinio-sdk/models/zacks_institutional_holding_company_summary.rb +209 -0
  250. data/lib/intrinio-sdk/models/zacks_institutional_holding_historical_summary.rb +199 -0
  251. data/lib/intrinio-sdk/models/zacks_institutional_holding_owner_detail.rb +389 -0
  252. data/lib/intrinio-sdk/models/zacks_institutional_holding_owner_summary.rb +199 -0
  253. data/lib/intrinio-sdk/models/zacks_long_term_growth_rate.rb +429 -0
  254. data/lib/intrinio-sdk/models/zacks_sales_surprise.rb +1 -1
  255. data/lib/intrinio-sdk/models/zacks_sales_surprise_summary.rb +1 -1
  256. data/lib/intrinio-sdk/models/zacks_target_price_consensus.rb +308 -0
  257. data/lib/intrinio-sdk/version.rb +2 -2
  258. data/spec/api/bulk_downloads_api_spec.rb +2 -2
  259. data/spec/api/company_api_spec.rb +1 -1
  260. data/spec/api/data_point_api_spec.rb +1 -1
  261. data/spec/api/data_tag_api_spec.rb +1 -1
  262. data/spec/api/et_fs_api_spec.rb +111 -0
  263. data/spec/api/filing_api_spec.rb +27 -1
  264. data/spec/api/forex_api_spec.rb +1 -1
  265. data/spec/api/fundamentals_api_spec.rb +1 -1
  266. data/spec/api/historical_data_api_spec.rb +1 -1
  267. data/spec/api/index_api_spec.rb +1 -1
  268. data/spec/api/municipality_api_spec.rb +1 -1
  269. data/spec/api/options_api_spec.rb +1 -1
  270. data/spec/api/security_api_spec.rb +1 -1
  271. data/spec/api/stock_exchange_api_spec.rb +1 -1
  272. data/spec/api/technical_api_spec.rb +1 -1
  273. data/spec/api/zacks_api_spec.rb +132 -7
  274. data/spec/api_client_spec.rb +1 -1
  275. data/spec/configuration_spec.rb +1 -1
  276. data/spec/models/accumulation_distribution_index_technical_value_spec.rb +1 -1
  277. data/spec/models/api_response_bulk_download_links_spec.rb +1 -1
  278. data/spec/models/api_response_companies_search_spec.rb +1 -1
  279. data/spec/models/api_response_companies_spec.rb +1 -1
  280. data/spec/models/api_response_company_filings_spec.rb +1 -1
  281. data/spec/models/api_response_company_fundamentals_spec.rb +1 -1
  282. data/spec/models/api_response_company_historical_data_spec.rb +1 -1
  283. data/spec/models/api_response_company_news_spec.rb +1 -1
  284. data/spec/models/api_response_company_securities_spec.rb +1 -1
  285. data/spec/models/api_response_data_tags_search_spec.rb +1 -1
  286. data/spec/models/api_response_data_tags_spec.rb +1 -1
  287. data/spec/models/api_response_economic_index_historical_data_spec.rb +1 -1
  288. data/spec/models/api_response_economic_indices_search_spec.rb +1 -1
  289. data/spec/models/api_response_economic_indices_spec.rb +1 -1
  290. data/spec/models/api_response_et_fs_spec.rb +48 -0
  291. data/spec/models/api_response_etf_holdings_spec.rb +54 -0
  292. data/spec/models/api_response_filing_fundamentals_spec.rb +1 -1
  293. data/spec/models/api_response_filing_notes_search_spec.rb +1 -1
  294. data/spec/models/api_response_filing_notes_spec.rb +1 -1
  295. data/spec/models/api_response_filings_spec.rb +1 -1
  296. data/spec/models/api_response_forex_currencies_spec.rb +1 -1
  297. data/spec/models/api_response_forex_pairs_spec.rb +1 -1
  298. data/spec/models/api_response_forex_prices_spec.rb +1 -1
  299. data/spec/models/api_response_historical_data_spec.rb +1 -1
  300. data/spec/models/api_response_initial_public_offerings_spec.rb +1 -1
  301. data/spec/models/api_response_municipalities_spec.rb +1 -1
  302. data/spec/models/api_response_municipalitiy_financials_spec.rb +1 -1
  303. data/spec/models/api_response_news_spec.rb +1 -1
  304. data/spec/models/api_response_option_prices_spec.rb +1 -1
  305. data/spec/models/api_response_options_chain_spec.rb +1 -1
  306. data/spec/models/api_response_options_expirations_spec.rb +1 -1
  307. data/spec/models/api_response_options_spec.rb +1 -1
  308. data/spec/models/api_response_reported_financials_spec.rb +1 -1
  309. data/spec/models/api_response_securities_search_spec.rb +1 -1
  310. data/spec/models/api_response_securities_spec.rb +1 -1
  311. data/spec/models/api_response_security_accumulation_distribution_index_spec.rb +1 -1
  312. data/spec/models/api_response_security_average_daily_trading_volume_spec.rb +1 -1
  313. data/spec/models/api_response_security_average_directional_index_spec.rb +1 -1
  314. data/spec/models/api_response_security_average_true_range_spec.rb +1 -1
  315. data/spec/models/api_response_security_awesome_oscillator_spec.rb +1 -1
  316. data/spec/models/api_response_security_bollinger_bands_spec.rb +1 -1
  317. data/spec/models/api_response_security_chaikin_money_flow_spec.rb +1 -1
  318. data/spec/models/api_response_security_commodity_channel_index_spec.rb +1 -1
  319. data/spec/models/api_response_security_detrended_price_oscillator_spec.rb +1 -1
  320. data/spec/models/api_response_security_donchian_channel_spec.rb +1 -1
  321. data/spec/models/api_response_security_ease_of_movement_spec.rb +1 -1
  322. data/spec/models/api_response_security_force_index_spec.rb +1 -1
  323. data/spec/models/api_response_security_historical_data_spec.rb +1 -1
  324. data/spec/models/api_response_security_ichimoku_kinko_hyo_spec.rb +1 -1
  325. data/spec/models/api_response_security_intraday_prices_spec.rb +1 -1
  326. data/spec/models/api_response_security_keltner_channel_spec.rb +1 -1
  327. data/spec/models/api_response_security_know_sure_thing_spec.rb +1 -1
  328. data/spec/models/api_response_security_mass_index_spec.rb +1 -1
  329. data/spec/models/api_response_security_money_flow_index_spec.rb +1 -1
  330. data/spec/models/api_response_security_moving_average_convergence_divergence_spec.rb +1 -1
  331. data/spec/models/api_response_security_negative_volume_index_spec.rb +1 -1
  332. data/spec/models/api_response_security_on_balance_volume_mean_spec.rb +1 -1
  333. data/spec/models/api_response_security_on_balance_volume_spec.rb +1 -1
  334. data/spec/models/api_response_security_relative_strength_index_spec.rb +1 -1
  335. data/spec/models/api_response_security_simple_moving_average_spec.rb +1 -1
  336. data/spec/models/api_response_security_stochastic_oscillator_spec.rb +1 -1
  337. data/spec/models/api_response_security_stock_price_adjustments_spec.rb +1 -1
  338. data/spec/models/api_response_security_stock_prices_spec.rb +1 -1
  339. data/spec/models/api_response_security_triple_exponential_average_spec.rb +1 -1
  340. data/spec/models/api_response_security_true_strength_index_spec.rb +1 -1
  341. data/spec/models/api_response_security_ultimate_oscillator_spec.rb +1 -1
  342. data/spec/models/api_response_security_volume_price_trend_spec.rb +1 -1
  343. data/spec/models/api_response_security_volume_weighted_average_price_spec.rb +1 -1
  344. data/spec/models/api_response_security_vortex_indicator_spec.rb +1 -1
  345. data/spec/models/api_response_security_williams_r_spec.rb +1 -1
  346. data/spec/models/api_response_security_zacks_analyst_ratings_snapshot_spec.rb +1 -1
  347. data/spec/models/api_response_security_zacks_analyst_ratings_spec.rb +1 -1
  348. data/spec/models/api_response_security_zacks_eps_surprises_spec.rb +1 -1
  349. data/spec/models/api_response_security_zacks_sales_surprises_spec.rb +1 -1
  350. data/spec/models/api_response_sic_index_historical_data_spec.rb +1 -1
  351. data/spec/models/api_response_sic_indices_search_spec.rb +1 -1
  352. data/spec/models/api_response_sic_indices_spec.rb +1 -1
  353. data/spec/models/api_response_standardized_financials_spec.rb +1 -1
  354. data/spec/models/api_response_stock_exchange_realtime_stock_prices_spec.rb +1 -1
  355. data/spec/models/api_response_stock_exchange_securities_spec.rb +1 -1
  356. data/spec/models/api_response_stock_exchange_stock_price_adjustments_spec.rb +1 -1
  357. data/spec/models/api_response_stock_exchange_stock_prices_spec.rb +1 -1
  358. data/spec/models/api_response_stock_exchanges_spec.rb +1 -1
  359. data/spec/models/api_response_stock_market_index_historical_data_spec.rb +1 -1
  360. data/spec/models/api_response_stock_market_indices_search_spec.rb +1 -1
  361. data/spec/models/api_response_stock_market_indices_spec.rb +1 -1
  362. data/spec/models/api_response_zacks_analyst_ratings_spec.rb +1 -1
  363. data/spec/models/api_response_zacks_eps_estimates_spec.rb +48 -0
  364. data/spec/models/api_response_zacks_eps_growth_rates_spec.rb +48 -0
  365. data/spec/models/api_response_zacks_eps_surprises_spec.rb +1 -1
  366. data/spec/models/api_response_zacks_etf_holdings_spec.rb +48 -0
  367. data/spec/models/api_response_zacks_institutional_holding_companies_spec.rb +48 -0
  368. data/spec/models/api_response_zacks_institutional_holding_owners_spec.rb +48 -0
  369. data/spec/models/api_response_zacks_institutional_holdings_spec.rb +48 -0
  370. data/spec/models/api_response_zacks_long_term_growth_rates_spec.rb +48 -0
  371. data/spec/models/api_response_zacks_sales_surprises_spec.rb +1 -1
  372. data/spec/models/api_response_zacks_target_price_consensuses_spec.rb +48 -0
  373. data/spec/models/average_daily_trading_volume_technical_value_spec.rb +1 -1
  374. data/spec/models/average_directional_index_technical_value_spec.rb +1 -1
  375. data/spec/models/average_true_range_technical_value_spec.rb +1 -1
  376. data/spec/models/awesome_oscillator_technical_value_spec.rb +1 -1
  377. data/spec/models/bollinger_bands_technical_value_spec.rb +1 -1
  378. data/spec/models/bulk_download_links_spec.rb +1 -1
  379. data/spec/models/bulk_download_summary_spec.rb +1 -1
  380. data/spec/models/chaikin_money_flow_technical_value_spec.rb +1 -1
  381. data/spec/models/commodity_channel_index_technical_value_spec.rb +1 -1
  382. data/spec/models/company_filing_spec.rb +1 -1
  383. data/spec/models/company_initial_public_offering_spec.rb +1 -1
  384. data/spec/models/company_news_spec.rb +1 -1
  385. data/spec/models/company_news_summary_spec.rb +1 -1
  386. data/spec/models/company_spec.rb +1 -1
  387. data/spec/models/company_summary_spec.rb +1 -1
  388. data/spec/models/data_tag_spec.rb +1 -1
  389. data/spec/models/data_tag_summary_spec.rb +1 -1
  390. data/spec/models/detrended_price_oscillator_technical_value_spec.rb +1 -1
  391. data/spec/models/dividend_record_spec.rb +1 -1
  392. data/spec/models/donchian_channel_technical_value_spec.rb +1 -1
  393. data/spec/models/earnings_record_spec.rb +1 -1
  394. data/spec/models/ease_of_movement_technical_value_spec.rb +1 -1
  395. data/spec/models/economic_index_spec.rb +1 -1
  396. data/spec/models/economic_index_summary_spec.rb +1 -1
  397. data/spec/models/etf_analytics_spec.rb +90 -0
  398. data/spec/models/etf_holding_spec.rb +144 -0
  399. data/spec/models/etf_spec.rb +750 -0
  400. data/spec/models/etf_stats_spec.rb +222 -0
  401. data/spec/models/etf_summary_spec.rb +84 -0
  402. data/spec/models/filing_note_filing_spec.rb +1 -1
  403. data/spec/models/filing_note_spec.rb +1 -1
  404. data/spec/models/filing_note_summary_spec.rb +1 -1
  405. data/spec/models/filing_spec.rb +19 -1
  406. data/spec/models/filing_summary_spec.rb +1 -1
  407. data/spec/models/force_index_technical_value_spec.rb +1 -1
  408. data/spec/models/forex_currency_spec.rb +1 -1
  409. data/spec/models/forex_pair_spec.rb +1 -1
  410. data/spec/models/forex_price_spec.rb +1 -1
  411. data/spec/models/fundamental_spec.rb +1 -1
  412. data/spec/models/fundamental_summary_spec.rb +1 -1
  413. data/spec/models/historical_data_spec.rb +1 -1
  414. data/spec/models/ichimoku_kinko_hyo_technical_value_spec.rb +1 -1
  415. data/spec/models/intraday_stock_price_spec.rb +1 -1
  416. data/spec/models/keltner_channel_technical_value_spec.rb +1 -1
  417. data/spec/models/know_sure_thing_technical_value_spec.rb +1 -1
  418. data/spec/models/mass_index_technical_value_spec.rb +1 -1
  419. data/spec/models/money_flow_index_technical_value_spec.rb +1 -1
  420. data/spec/models/moving_average_convergence_divergence_technical_value_spec.rb +1 -1
  421. data/spec/models/municipality_financial_spec.rb +1 -1
  422. data/spec/models/municipality_spec.rb +1 -1
  423. data/spec/models/negative_volume_index_technical_value_spec.rb +1 -1
  424. data/spec/models/on_balance_volume_mean_technical_value_spec.rb +1 -1
  425. data/spec/models/on_balance_volume_technical_value_spec.rb +1 -1
  426. data/spec/models/option_chain_spec.rb +1 -1
  427. data/spec/models/option_price_spec.rb +1 -1
  428. data/spec/models/option_spec.rb +1 -1
  429. data/spec/models/realtime_stock_price_security_spec.rb +1 -1
  430. data/spec/models/realtime_stock_price_spec.rb +1 -1
  431. data/spec/models/relative_strength_index_technical_value_spec.rb +1 -1
  432. data/spec/models/reported_financial_dimension_spec.rb +1 -1
  433. data/spec/models/reported_financial_spec.rb +1 -1
  434. data/spec/models/reported_tag_spec.rb +1 -1
  435. data/spec/models/security_screen_clause_spec.rb +1 -1
  436. data/spec/models/security_screen_group_spec.rb +1 -1
  437. data/spec/models/security_screen_result_data_spec.rb +1 -1
  438. data/spec/models/security_screen_result_spec.rb +1 -1
  439. data/spec/models/security_spec.rb +1 -1
  440. data/spec/models/security_summary_spec.rb +1 -1
  441. data/spec/models/sic_index_spec.rb +1 -1
  442. data/spec/models/simple_moving_average_technical_value_spec.rb +1 -1
  443. data/spec/models/standardized_financial_spec.rb +1 -1
  444. data/spec/models/stochastic_oscillator_technical_value_spec.rb +1 -1
  445. data/spec/models/stock_exchange_spec.rb +1 -1
  446. data/spec/models/stock_market_index_spec.rb +1 -1
  447. data/spec/models/stock_market_index_summary_spec.rb +1 -1
  448. data/spec/models/stock_price_adjustment_spec.rb +1 -1
  449. data/spec/models/stock_price_adjustment_summary_spec.rb +1 -1
  450. data/spec/models/stock_price_spec.rb +1 -1
  451. data/spec/models/stock_price_summary_spec.rb +1 -1
  452. data/spec/models/technical_indicator_spec.rb +1 -1
  453. data/spec/models/triple_exponential_average_technical_value_spec.rb +1 -1
  454. data/spec/models/true_strength_index_technical_value_spec.rb +1 -1
  455. data/spec/models/ultimate_oscillator_technical_value_spec.rb +1 -1
  456. data/spec/models/volume_price_trend_technical_value_spec.rb +1 -1
  457. data/spec/models/volume_weighted_average_price_value_spec.rb +1 -1
  458. data/spec/models/vortex_indicator_technical_value_spec.rb +1 -1
  459. data/spec/models/williams_r_technical_value_spec.rb +1 -1
  460. data/spec/models/zacks_analyst_rating_snapshot_spec.rb +1 -1
  461. data/spec/models/zacks_analyst_rating_spec.rb +1 -1
  462. data/spec/models/zacks_analyst_rating_summary_spec.rb +1 -1
  463. data/spec/models/zacks_eps_estimate_spec.rb +138 -0
  464. data/spec/models/zacks_eps_growth_rate_spec.rb +174 -0
  465. data/spec/models/zacks_eps_surprise_spec.rb +1 -1
  466. data/spec/models/zacks_eps_surprise_summary_spec.rb +1 -1
  467. data/spec/models/zacks_etf_holding_spec.rb +78 -0
  468. data/spec/models/zacks_institutional_holding_company_detail_spec.rb +114 -0
  469. data/spec/models/zacks_institutional_holding_company_summary_spec.rb +54 -0
  470. data/spec/models/zacks_institutional_holding_historical_summary_spec.rb +48 -0
  471. data/spec/models/zacks_institutional_holding_owner_detail_spec.rb +162 -0
  472. data/spec/models/zacks_institutional_holding_owner_summary_spec.rb +48 -0
  473. data/spec/models/zacks_institutional_holding_spec.rb +114 -0
  474. data/spec/models/zacks_long_term_growth_rate_spec.rb +186 -0
  475. data/spec/models/zacks_sales_surprise_spec.rb +1 -1
  476. data/spec/models/zacks_sales_surprise_summary_spec.rb +1 -1
  477. data/spec/models/zacks_target_price_consensus_spec.rb +114 -0
  478. data/spec/spec_helper.rb +1 -1
  479. metadata +110 -2
@@ -0,0 +1,1369 @@
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.14.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: unset
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Intrinio
16
+ # Exchange Traded Fund (ETF) including extensive metadata
17
+ class ETF
18
+ # The Intrinio ID of the ETF
19
+ attr_accessor :id
20
+
21
+ # The common name of the ETF
22
+ attr_accessor :name
23
+
24
+ # The common ticker symbol for the ETF
25
+ attr_accessor :ticker
26
+
27
+ # The OpenFIGI ticker for the ETF
28
+ attr_accessor :figi_ticker
29
+
30
+ # Reuters Instrument Code (RIC) for the ETF
31
+ attr_accessor :ric
32
+
33
+ # International Securities Identification Number (ISIN) for the ETF
34
+ attr_accessor :isin
35
+
36
+ # Stock Exchange Daily Official List (SEDOL) for the ETF
37
+ attr_accessor :sedol
38
+
39
+ # The exchange Market Identifier Code (MIC) from the International Standards Organization (ISO)
40
+ attr_accessor :exchange_mic
41
+
42
+ # The fund manager (ETF) or issuing bank (ETN)
43
+ attr_accessor :sponsor
44
+
45
+ # High-level classification for the ETF based on its intended investment objective
46
+ attr_accessor :type
47
+
48
+ # The ETF description as published by the ETF sponsor
49
+ attr_accessor :description
50
+
51
+ # Inception Date for the ETF as published by the ETF sponsor
52
+ attr_accessor :inception_date
53
+
54
+ # The last date on which there was a change in a classifications data field for this ETF
55
+ attr_accessor :data_change_date
56
+
57
+ # The date on which this ETF was de-listed if it is no longer listed
58
+ attr_accessor :close_date
59
+
60
+ # If true, the ETF is still listed on an exchange; if false, the ETF is no longer listed
61
+ attr_accessor :is_live_listed
62
+
63
+ # The legal structure as defined in the prospectus
64
+ attr_accessor :legal_structure
65
+
66
+ # Intra-day NAV ticker for the Exchange Traded Fund (ETF)
67
+ attr_accessor :intraday_nav_ticker
68
+
69
+ # The primary ticker field is used for Exchange Traded Products (ETPs) that have multiple listings and share classes. If an ETP has multiple listings or share classes, the same primary ticker is assigned to all the listings and share classes
70
+ attr_accessor :primary_ticker
71
+
72
+ # 2 letter ISO country code for the country of the primary listing
73
+ attr_accessor :primary_ticker_country_code
74
+
75
+ # Geographic region in the country of the primary listing falls
76
+ attr_accessor :primary_listing_region
77
+
78
+ # Gross expense net of Fee Waivers, as a percentage of net assets as published by the ETF Sponsor
79
+ attr_accessor :net_expense_ratio
80
+
81
+ # Captures the underlying nature of the securities in the Exchanged Traded Product (ETP)
82
+ attr_accessor :asset_class
83
+
84
+ # If 'asset_class' field is classified as 'Other Asset Types' this field captures the specific category of the underlying assets
85
+ attr_accessor :other_asset_types
86
+
87
+ # Equity ETFs are classified as falling into categories based on the description of their investment strategy in the prospectus. Examples ('Mega Cap', 'Large Cap', 'Mid Cap', etc.)
88
+ attr_accessor :market_cap_range
89
+
90
+ # If true, the ETF is an equity ETF and holds only stocks listed on NYSE
91
+ attr_accessor :holds_only_nyse_stocks
92
+
93
+ # If false, the ETF is an equity ETF and holds only stocks listed on Nasdaq
94
+ attr_accessor :holds_only_nasdaq_stocks
95
+
96
+ # Classifies equity ETFs as either 'Growth' or Value' based on the stated style tilt in the ETF prospectus. Equity ETFs that do not have a stated style tilt are classified as 'Core / Blend'
97
+ attr_accessor :growth_value_tilt
98
+
99
+ # For ETFs that are classified as 'Growth' in 'growth_value_tilt', this field further identifies those where the stocks in the ETF are both selected and weighted based on their growth (style factor) scores
100
+ attr_accessor :growth_type
101
+
102
+ # For ETFs that are classified as 'Value' in 'growth_value_tilt', this field further identifies those where the stocks in the ETF are both selected and weighted based on their value (style factor) scores
103
+ attr_accessor :value_type
104
+
105
+ # For equity ETFs that aim to provide targeted exposure to a sector or industry, this field identifies the Sector that it provides the exposure to
106
+ attr_accessor :sector
107
+
108
+ # For equity ETFs that aim to provide targeted exposure to an industry, this field identifies the Industry that it provides the exposure to.
109
+ attr_accessor :industry
110
+
111
+ # For equity ETFs that aim to provide targeted exposure to a sub-industry, this field identifies the sub-industry that it provides the exposure to
112
+ attr_accessor :sub_industry
113
+
114
+ # For equity ETFs that aim to provide targeted exposure to a specific investment theme that cuts across GICS sectors, this field identifies the specific cross-sector theme. Examples ('Agri-business', 'Natural Resources', 'Green Investing', etc.)
115
+ attr_accessor :cross_sector_theme
116
+
117
+ # For ETFs that are classified as 'Natural Resources' in the 'cross_sector_theme' field, this field provides further detail on the type of Natural Resources exposure.
118
+ attr_accessor :natural_resources_type
119
+
120
+ # For equity ETFs, identifies those ETFs where the underlying fund holdings will not hold financials stocks, based on the funds intended objective
121
+ attr_accessor :excludes_financials
122
+
123
+ # For equity ETFs, identifies those ETFs where the underlying fund holdings will not hold technology stocks, based on the funds intended objective
124
+ attr_accessor :excludes_technology
125
+
126
+ # Takes the value of 'Domestic' for US exposure, 'International' for non-US exposure and 'Global' for exposure that includes all regions including the US
127
+ attr_accessor :us_or_excludes_us
128
+
129
+ # This field identifies the stage of development of the markets that the ETF provides exposure to
130
+ attr_accessor :developed_emerging
131
+
132
+ # This field is populated if the ETF provides targeted exposure to a specific type of geography-based grouping that does not fall into a specific country or continent grouping. Examples ('BRIC', 'Chindia', etc.)
133
+ attr_accessor :specialized_region
134
+
135
+ # This field is populated if the ETF provides targeted exposure to a specific continent or country within that Continent
136
+ attr_accessor :continent
137
+
138
+ # For ETFs that are classified as 'Latin America' in the 'continent' field, this field provides further detail on the type of regional exposure
139
+ attr_accessor :latin_america_sub_group
140
+
141
+ # For ETFs that are classified as 'Europe' in the 'continent' field, this field provides further detail on the type of regional exposure
142
+ attr_accessor :europe_sub_group
143
+
144
+ # For ETFs that are classified as 'Asia' in the 'continent' field, this field provides further detail on the type of regional exposure
145
+ attr_accessor :asia_sub_group
146
+
147
+ # This field is populated if the ETF provides targeted exposure to a specific country
148
+ attr_accessor :specific_country
149
+
150
+ # For ETFs that are classified as 'China' in the 'country' field, this field provides further detail on the type of exposure in the underlying securities
151
+ attr_accessor :china_listing_location
152
+
153
+ # Takes the value of a US state if the ETF provides targeted exposure to the municipal bonds or equities of companies operating in a specific state in the US
154
+ attr_accessor :us_state
155
+
156
+ # For ETFs that provide targeted real estate exposure, this field is populated if the ETF provides targeted exposure to a specific segment of the real estate market
157
+ attr_accessor :real_estate
158
+
159
+ # For ETFs that track an underlying index, this field provides detail on the index weighting type
160
+ attr_accessor :index_weighting_scheme
161
+
162
+ # For ETFs that take the value 'Market Cap Weighted' in the 'index_weighting_scheme' field, this field provides detail on the market cap weighting type
163
+ attr_accessor :market_cap_weighting_type
164
+
165
+ # For ETFs that take the value ‘Fundamental Weighted’ in the 'index_weighting_scheme' field, this field provides detail on the fundamental weighting methodology
166
+ attr_accessor :fundamental_weighting_type
167
+
168
+ # For ETFs that take the value 'Dividend Weighted' in the 'index_weighting_scheme' field, this field provides detail on the dividend weighting methodology
169
+ attr_accessor :dividend_weighting_type
170
+
171
+ # For ETFs where 'asset_class_type' is 'Bonds', this field provides detail on the type of bonds held in the ETF
172
+ attr_accessor :bond_type
173
+
174
+ # For bond ETFs that take the value 'Treasury & Government' in 'bond_type', this field provides detail on the exposure
175
+ attr_accessor :government_bond_types
176
+
177
+ # For bond ETFs that take the value 'Municipal' in 'bond_type', this field provides additional detail on the geographic exposure
178
+ attr_accessor :municipal_bond_region
179
+
180
+ # For bond ETFs that take the value 'Municipal' in 'bond_type', this field identifies those ETFs that specifically provide exposure to Variable Rate Demand Obligations
181
+ attr_accessor :municipal_vrdo
182
+
183
+ # For bond ETFs that take the value 'Mortgage' in 'bond_type', this field provides additional detail on the type of underlying securities
184
+ attr_accessor :mortgage_bond_types
185
+
186
+ # For all US bond ETFs, this field provides additional detail on the tax treatment of the underlying securities
187
+ attr_accessor :bond_tax_status
188
+
189
+ # For all bond ETFs, this field helps to identify if the ETF provides targeted exposure to securities of a specific credit quality range
190
+ attr_accessor :credit_quality
191
+
192
+ # For all bond ETFs, this field helps to identify if the ETF provides targeted exposure to securities of a specific maturity range
193
+ attr_accessor :average_maturity
194
+
195
+ # For all bond ETFs that take the value 'Specific Maturity Year' in the 'average_maturity' field, this field specifies the calendar year
196
+ attr_accessor :specific_maturity_year
197
+
198
+ # For all bond ETFs, this field provides additional detail on the currency denomination of the underlying securities
199
+ attr_accessor :bond_currency_denomination
200
+
201
+ # For bond ETFs, this field identifies those ETFs that specifically hold bonds in a laddered structure, where the bonds are scheduled to mature in an annual, sequential structure
202
+ attr_accessor :laddered
203
+
204
+ # For bond ETFs, this field identifies those ETFs that specifically hold zero coupon Treasury Bills
205
+ attr_accessor :zero_coupon
206
+
207
+ # For bond ETFs, this field identifies those ETFs that specifically hold floating rate bonds
208
+ attr_accessor :floating_rate
209
+
210
+ # For municipal bond ETFs, this field identifies those ETFs that specifically hold Build America Bonds
211
+ attr_accessor :build_america_bonds
212
+
213
+ # For ETFs where 'asset_class_type' is 'Commodities', this field provides detail on the type of commodities held in the ETF
214
+ attr_accessor :commodity_types
215
+
216
+ # For ETFs where 'commodity_type' is 'Energy', this field provides detail on the type of energy exposure provided by the ETF
217
+ attr_accessor :energy_type
218
+
219
+ # For ETFs where 'commodity_type' is 'Agricultural', this field provides detail on the type of agricultural exposure provided by the ETF
220
+ attr_accessor :agricultural_type
221
+
222
+ # For ETFs where 'commodity_type' is 'Gold & Metals', this field provides detail on the type of exposure provided by the ETF
223
+ attr_accessor :metal_type
224
+
225
+ # This field is populated if the ETF provides inverse or leveraged exposure
226
+ attr_accessor :inverse_leveraged
227
+
228
+ # For ETFs where 'asset_class_type' is 'Target Date / MultiAsset', this field provides detail on the type of commodities held in the ETF
229
+ attr_accessor :target_date_multi_asset_type
230
+
231
+ # This field is populated if the ETF’s strategy involves hedging currency exposure
232
+ attr_accessor :currency_hedged
233
+
234
+ # This field is populated if the ETF’s strategy involves providing exposure to the movements of a currency or involves hedging currency exposure
235
+ attr_accessor :currency_pair
236
+
237
+ # This field is populated if the ETF’s strategy involves providing exposure to a specific social or environmental theme
238
+ attr_accessor :social_environmental_type
239
+
240
+ # This field is populated if the ETF has a value of 'Clean Energy' in the 'social_environmental_type' field.
241
+ attr_accessor :clean_energy_type
242
+
243
+ # This field is populated if the ETF has an intended investment objective of holding dividend-oriented stocks as stated in the prospectus
244
+ attr_accessor :dividend_type
245
+
246
+ # This field is populated if the ETF has a value of 'Dividend – Regular Payors' in the 'dividend_type' field
247
+ attr_accessor :regular_dividend_payor_type
248
+
249
+ # If true, the ETF’s investment objective explicitly specifies that it holds MLPs as an intended part of its investment strategy
250
+ attr_accessor :holds_ml_ps
251
+
252
+ # If true, the ETF’s investment objective explicitly specifies that it holds preferred stock as an intended part of its investment strategy
253
+ attr_accessor :holds_preferred_stock
254
+
255
+ # IF true, if the ETF’s investment objective explicitly specifies that it holds closed end funds as an intended part of its investment strategy
256
+ attr_accessor :holds_closed_end_funds
257
+
258
+ # This field is populated if the ETF has either an index-linked or active strategy that is based on a proprietary quantitative strategy
259
+ attr_accessor :quant_strategies_type
260
+
261
+ # For ETFs where 'quant_strategies_type' is 'Other Quant Model', this field provides the name of the specific proprietary quant model used as the underlying strategy for the ETF
262
+ attr_accessor :other_quant_models
263
+
264
+ # For ETFs where 'other_asset_types' is 'Hedge Fund Replication', this field provides detail on the type of hedge fund replication strategy
265
+ attr_accessor :hedge_fund_type
266
+
267
+ # This field is populated if the ETF holds either listed or over-the-counter derivatives in its portfolio
268
+ attr_accessor :derivatives_based
269
+
270
+ # If true, he ETF’s investment objective explicitly specifies that it holds American Depositary Receipts (ADRs) as an intended part of its investment strategy
271
+ attr_accessor :holds_ad_rs
272
+
273
+ # This field identifies whether an ETF is index linked or active
274
+ attr_accessor :index_linked
275
+
276
+ # This field is populated if the ETF has short exposure in any of its holdings e.g. in a long/short or inverse ETF
277
+ attr_accessor :includes_short_exposure
278
+
279
+ # This field identifies the name of the underlying index tracked by the ETF, if applicable
280
+ attr_accessor :index_name
281
+
282
+ # This field identifies the name of the parent index, which represents the broader universe from which the index underlying the ETF is created, if applicable
283
+ attr_accessor :parent_index
284
+
285
+ # This field identifies the index family to which the index underlying the ETF belongs. The index family is represented as categorized by the index provider
286
+ attr_accessor :index_family
287
+
288
+ # This field identifies the broader index family to which the index underlying the ETF belongs. The broader index family is represented as categorized by the index provider
289
+ attr_accessor :broader_index_family
290
+
291
+ # This field identifies the Index provider for the index underlying the ETF, if applicable
292
+ attr_accessor :index_provider
293
+
294
+ # This field identifies the fund family to which the ETF belongs, as categorized by the ETF Sponsor
295
+ attr_accessor :fund_family
296
+
297
+ # This field identifies the OpenFIGI ticker for the Index underlying the ETF
298
+ attr_accessor :index_ticker
299
+
300
+ # If the product is an Exchange Traded Note (ETN), this field identifies the issuing bank
301
+ attr_accessor :etn_issuing_bank
302
+
303
+ # If the product is an ETN, this field identifies the maturity date for the ETN
304
+ attr_accessor :etn_maturity_date
305
+
306
+ # For ETFs where 'commodity_type' is 'Livestock', this field provides detail on the type of livestock exposure provided by the ETF
307
+ attr_accessor :livestock
308
+
309
+ # If the product holds futures contracts, this field identifies those products where the roll strategy is dynamic (rather than entirely rules based), so as to minimize roll costs
310
+ attr_accessor :dynamic_futures_roll
311
+
312
+ # This field provides the First Bridge code for each Index provider, corresponding to the index underlying the ETF if applicable
313
+ attr_accessor :index_provider_code
314
+
315
+ # This categorization is created for those users who want every ETF to be ‘forced’ into a single bucket, so that the assets for all categories will always sum to the total market
316
+ attr_accessor :single_category_designation
317
+
318
+ # The list of countries where the ETF is legally registered for sale. This may differ from where the ETF is domiciled or traded, particularly in Europe
319
+ attr_accessor :registered_countries
320
+
321
+ # The name of the legal entity that issued the Exchange Traded Product (ETP)
322
+ attr_accessor :issuing_entity_country_code
323
+
324
+ # If true, the Exchange Traded Product (ETP) is Undertakings for the Collective Investment in Transferable Securities (UCITS) compliant
325
+ attr_accessor :ucits
326
+
327
+ # The replication structure of the Exchange Traded Product (ETP)
328
+ attr_accessor :replication_structure
329
+
330
+ # 2 letter ISO country code for the country where the ETP is domiciled
331
+ attr_accessor :domicile
332
+
333
+ # Base currency of the Exchange Traded Product (ETP) in which the net asset value (NAV) is calculated. Reported using the 3-digit ISO currency code
334
+ attr_accessor :base_currency
335
+
336
+ # Listing currency of the Exchange Traded Product (ETP) in which it is traded. Reported using the 3-digit ISO currency code
337
+ attr_accessor :listing_currency
338
+
339
+ # The date on which the Exchange Traded Product (ETP) or share class of the ETP is listed on a specific exchange
340
+ attr_accessor :fund_listing_date
341
+
342
+ # 2 letter ISO country code for the country where the Exchange Traded Product (ETP) is listed
343
+ attr_accessor :listing_country_code
344
+
345
+ # The region in which this specific ETF is listed
346
+ attr_accessor :listing_region
347
+
348
+ # This field identifies whether an ETF provides 'Traditional' beta exposure or 'Smart' beta exposure. ETFs that are active (i.e. non-indexed), leveraged / inverse or have a proprietary quant model (i.e. that don’t provide indexed exposure to a targeted factor) are classified separately
349
+ attr_accessor :smartvs_traditional_beta
350
+
351
+ # This field provides further detail within the traditional and smart beta categories
352
+ attr_accessor :smartvs_traditional_beta_level2
353
+
354
+ # Identifies if an Exchange Traded Fund (ETF) falls into a category that is specifically designed to provide a high yield or income
355
+ attr_accessor :income_category
356
+
357
+ # Classifies Exchange Traded Products (ETPs) into very broad categories based on its legal structure
358
+ attr_accessor :etp_structure_type
359
+
360
+ # Net assets in millions of dollars as of the most recent month end
361
+ attr_accessor :month_end_assets
362
+
363
+ # The percentage of positions turned over in the last 12 months
364
+ attr_accessor :etf_portfolio_turnover
365
+
366
+ # The FirstBridge unique identifier for the Exchange Traded Fund (ETF)
367
+ attr_accessor :firstbridge_id
368
+
369
+ # The FirstBridge unique identifier of the parent Exchange Traded Fund (ETF), if applicable
370
+ attr_accessor :firstbridge_parent_id
371
+
372
+ # The number of holdings for this Exchange Traded Fund (ETF)
373
+ attr_accessor :number_of_holdings
374
+
375
+
376
+ # Attribute mapping from ruby-style variable name to JSON key.
377
+ def self.attribute_map
378
+ {
379
+ :'id' => :'id',
380
+ :'name' => :'name',
381
+ :'ticker' => :'ticker',
382
+ :'figi_ticker' => :'figi_ticker',
383
+ :'ric' => :'ric',
384
+ :'isin' => :'isin',
385
+ :'sedol' => :'sedol',
386
+ :'exchange_mic' => :'exchange_mic',
387
+ :'sponsor' => :'sponsor',
388
+ :'type' => :'type',
389
+ :'description' => :'description',
390
+ :'inception_date' => :'inception_date',
391
+ :'data_change_date' => :'data_change_date',
392
+ :'close_date' => :'close_date',
393
+ :'is_live_listed' => :'is_live_listed',
394
+ :'legal_structure' => :'legal_structure',
395
+ :'intraday_nav_ticker' => :'intraday_nav_ticker',
396
+ :'primary_ticker' => :'primary_ticker',
397
+ :'primary_ticker_country_code' => :'primary_ticker_country_code',
398
+ :'primary_listing_region' => :'primary_listing_region',
399
+ :'net_expense_ratio' => :'net_expense_ratio',
400
+ :'asset_class' => :'asset_class',
401
+ :'other_asset_types' => :'other_asset_types',
402
+ :'market_cap_range' => :'market_cap_range',
403
+ :'holds_only_nyse_stocks' => :'holds_only_nyse_stocks',
404
+ :'holds_only_nasdaq_stocks' => :'holds_only_nasdaq_stocks',
405
+ :'growth_value_tilt' => :'growth_value_tilt',
406
+ :'growth_type' => :'growth_type',
407
+ :'value_type' => :'value_type',
408
+ :'sector' => :'sector',
409
+ :'industry' => :'industry',
410
+ :'sub_industry' => :'sub_industry',
411
+ :'cross_sector_theme' => :'cross_sector_theme',
412
+ :'natural_resources_type' => :'natural_resources_type',
413
+ :'excludes_financials' => :'excludes_financials',
414
+ :'excludes_technology' => :'excludes_technology',
415
+ :'us_or_excludes_us' => :'us_or_excludes_us',
416
+ :'developed_emerging' => :'developed_emerging',
417
+ :'specialized_region' => :'specialized_region',
418
+ :'continent' => :'continent',
419
+ :'latin_america_sub_group' => :'latin_america_sub_group',
420
+ :'europe_sub_group' => :'europe_sub_group',
421
+ :'asia_sub_group' => :'asia_sub_group',
422
+ :'specific_country' => :'specific_country',
423
+ :'china_listing_location' => :'china_listing_location',
424
+ :'us_state' => :'us_state',
425
+ :'real_estate' => :'real_estate',
426
+ :'index_weighting_scheme' => :'index_weighting_scheme',
427
+ :'market_cap_weighting_type' => :'market_cap_weighting_type',
428
+ :'fundamental_weighting_type' => :'fundamental_weighting_type',
429
+ :'dividend_weighting_type' => :'dividend_weighting_type',
430
+ :'bond_type' => :'bond_type',
431
+ :'government_bond_types' => :'government_bond_types',
432
+ :'municipal_bond_region' => :'municipal_bond_region',
433
+ :'municipal_vrdo' => :'municipal_vrdo',
434
+ :'mortgage_bond_types' => :'mortgage_bond_types',
435
+ :'bond_tax_status' => :'bond_tax_status',
436
+ :'credit_quality' => :'credit_quality',
437
+ :'average_maturity' => :'average_maturity',
438
+ :'specific_maturity_year' => :'specific_maturity_year',
439
+ :'bond_currency_denomination' => :'bond_currency_denomination',
440
+ :'laddered' => :'laddered',
441
+ :'zero_coupon' => :'zero_coupon',
442
+ :'floating_rate' => :'floating_rate',
443
+ :'build_america_bonds' => :'build_america_bonds',
444
+ :'commodity_types' => :'commodity_types',
445
+ :'energy_type' => :'energy_type',
446
+ :'agricultural_type' => :'agricultural_type',
447
+ :'metal_type' => :'metal_type',
448
+ :'inverse_leveraged' => :'inverse_leveraged',
449
+ :'target_date_multi_asset_type' => :'target_date_multi_asset_type',
450
+ :'currency_hedged' => :'currency_hedged',
451
+ :'currency_pair' => :'currency_pair',
452
+ :'social_environmental_type' => :'social_environmental_type',
453
+ :'clean_energy_type' => :'clean_energy_type',
454
+ :'dividend_type' => :'dividend_type',
455
+ :'regular_dividend_payor_type' => :'regular_dividend_payor_type',
456
+ :'holds_ml_ps' => :'holds_ml_ps',
457
+ :'holds_preferred_stock' => :'holds_preferred_stock',
458
+ :'holds_closed_end_funds' => :'holds_closed_end_funds',
459
+ :'quant_strategies_type' => :'quant_strategies_type',
460
+ :'other_quant_models' => :'other_quant_models',
461
+ :'hedge_fund_type' => :'hedge_fund_type',
462
+ :'derivatives_based' => :'derivatives_based',
463
+ :'holds_ad_rs' => :'holds_ad_rs',
464
+ :'index_linked' => :'index_linked',
465
+ :'includes_short_exposure' => :'includes_short_exposure',
466
+ :'index_name' => :'index_name',
467
+ :'parent_index' => :'parent_index',
468
+ :'index_family' => :'index_family',
469
+ :'broader_index_family' => :'broader_index_family',
470
+ :'index_provider' => :'index_provider',
471
+ :'fund_family' => :'fund_family',
472
+ :'index_ticker' => :'index_ticker',
473
+ :'etn_issuing_bank' => :'etn_issuing_bank',
474
+ :'etn_maturity_date' => :'etn_maturity_date',
475
+ :'livestock' => :'livestock',
476
+ :'dynamic_futures_roll' => :'dynamic_futures_roll',
477
+ :'index_provider_code' => :'index_provider_code',
478
+ :'single_category_designation' => :'single_category_designation',
479
+ :'registered_countries' => :'registered_countries',
480
+ :'issuing_entity_country_code' => :'issuing_entity_country_code',
481
+ :'ucits' => :'ucits',
482
+ :'replication_structure' => :'replication_structure',
483
+ :'domicile' => :'domicile',
484
+ :'base_currency' => :'base_currency',
485
+ :'listing_currency' => :'listing_currency',
486
+ :'fund_listing_date' => :'fund_listing_date',
487
+ :'listing_country_code' => :'listing_country_code',
488
+ :'listing_region' => :'listing_region',
489
+ :'smartvs_traditional_beta' => :'smartvs_traditional_beta',
490
+ :'smartvs_traditional_beta_level2' => :'smartvs_traditional_beta_level2',
491
+ :'income_category' => :'income_category',
492
+ :'etp_structure_type' => :'etp_structure_type',
493
+ :'month_end_assets' => :'month_end_assets',
494
+ :'etf_portfolio_turnover' => :'etf_portfolio_turnover',
495
+ :'firstbridge_id' => :'firstbridge_id',
496
+ :'firstbridge_parent_id' => :'firstbridge_parent_id',
497
+ :'number_of_holdings' => :'number_of_holdings'
498
+ }
499
+ end
500
+
501
+ # Attribute type mapping.
502
+ def self.swagger_types
503
+ {
504
+ :'id' => :'String',
505
+ :'name' => :'String',
506
+ :'ticker' => :'String',
507
+ :'figi_ticker' => :'String',
508
+ :'ric' => :'String',
509
+ :'isin' => :'String',
510
+ :'sedol' => :'String',
511
+ :'exchange_mic' => :'String',
512
+ :'sponsor' => :'String',
513
+ :'type' => :'String',
514
+ :'description' => :'String',
515
+ :'inception_date' => :'Date',
516
+ :'data_change_date' => :'Date',
517
+ :'close_date' => :'Date',
518
+ :'is_live_listed' => :'BOOLEAN',
519
+ :'legal_structure' => :'String',
520
+ :'intraday_nav_ticker' => :'String',
521
+ :'primary_ticker' => :'String',
522
+ :'primary_ticker_country_code' => :'String',
523
+ :'primary_listing_region' => :'String',
524
+ :'net_expense_ratio' => :'Float',
525
+ :'asset_class' => :'String',
526
+ :'other_asset_types' => :'String',
527
+ :'market_cap_range' => :'String',
528
+ :'holds_only_nyse_stocks' => :'BOOLEAN',
529
+ :'holds_only_nasdaq_stocks' => :'BOOLEAN',
530
+ :'growth_value_tilt' => :'String',
531
+ :'growth_type' => :'String',
532
+ :'value_type' => :'String',
533
+ :'sector' => :'String',
534
+ :'industry' => :'String',
535
+ :'sub_industry' => :'String',
536
+ :'cross_sector_theme' => :'String',
537
+ :'natural_resources_type' => :'String',
538
+ :'excludes_financials' => :'BOOLEAN',
539
+ :'excludes_technology' => :'BOOLEAN',
540
+ :'us_or_excludes_us' => :'String',
541
+ :'developed_emerging' => :'String',
542
+ :'specialized_region' => :'String',
543
+ :'continent' => :'String',
544
+ :'latin_america_sub_group' => :'String',
545
+ :'europe_sub_group' => :'String',
546
+ :'asia_sub_group' => :'String',
547
+ :'specific_country' => :'String',
548
+ :'china_listing_location' => :'String',
549
+ :'us_state' => :'String',
550
+ :'real_estate' => :'String',
551
+ :'index_weighting_scheme' => :'String',
552
+ :'market_cap_weighting_type' => :'String',
553
+ :'fundamental_weighting_type' => :'String',
554
+ :'dividend_weighting_type' => :'String',
555
+ :'bond_type' => :'String',
556
+ :'government_bond_types' => :'String',
557
+ :'municipal_bond_region' => :'String',
558
+ :'municipal_vrdo' => :'BOOLEAN',
559
+ :'mortgage_bond_types' => :'String',
560
+ :'bond_tax_status' => :'String',
561
+ :'credit_quality' => :'String',
562
+ :'average_maturity' => :'String',
563
+ :'specific_maturity_year' => :'Integer',
564
+ :'bond_currency_denomination' => :'String',
565
+ :'laddered' => :'BOOLEAN',
566
+ :'zero_coupon' => :'BOOLEAN',
567
+ :'floating_rate' => :'BOOLEAN',
568
+ :'build_america_bonds' => :'BOOLEAN',
569
+ :'commodity_types' => :'String',
570
+ :'energy_type' => :'String',
571
+ :'agricultural_type' => :'String',
572
+ :'metal_type' => :'String',
573
+ :'inverse_leveraged' => :'String',
574
+ :'target_date_multi_asset_type' => :'String',
575
+ :'currency_hedged' => :'BOOLEAN',
576
+ :'currency_pair' => :'String',
577
+ :'social_environmental_type' => :'String',
578
+ :'clean_energy_type' => :'String',
579
+ :'dividend_type' => :'String',
580
+ :'regular_dividend_payor_type' => :'String',
581
+ :'holds_ml_ps' => :'BOOLEAN',
582
+ :'holds_preferred_stock' => :'BOOLEAN',
583
+ :'holds_closed_end_funds' => :'BOOLEAN',
584
+ :'quant_strategies_type' => :'String',
585
+ :'other_quant_models' => :'String',
586
+ :'hedge_fund_type' => :'String',
587
+ :'derivatives_based' => :'String',
588
+ :'holds_ad_rs' => :'BOOLEAN',
589
+ :'index_linked' => :'String',
590
+ :'includes_short_exposure' => :'BOOLEAN',
591
+ :'index_name' => :'String',
592
+ :'parent_index' => :'String',
593
+ :'index_family' => :'String',
594
+ :'broader_index_family' => :'String',
595
+ :'index_provider' => :'String',
596
+ :'fund_family' => :'String',
597
+ :'index_ticker' => :'String',
598
+ :'etn_issuing_bank' => :'String',
599
+ :'etn_maturity_date' => :'Date',
600
+ :'livestock' => :'String',
601
+ :'dynamic_futures_roll' => :'BOOLEAN',
602
+ :'index_provider_code' => :'String',
603
+ :'single_category_designation' => :'String',
604
+ :'registered_countries' => :'String',
605
+ :'issuing_entity_country_code' => :'String',
606
+ :'ucits' => :'BOOLEAN',
607
+ :'replication_structure' => :'String',
608
+ :'domicile' => :'String',
609
+ :'base_currency' => :'String',
610
+ :'listing_currency' => :'String',
611
+ :'fund_listing_date' => :'Date',
612
+ :'listing_country_code' => :'String',
613
+ :'listing_region' => :'String',
614
+ :'smartvs_traditional_beta' => :'String',
615
+ :'smartvs_traditional_beta_level2' => :'String',
616
+ :'income_category' => :'String',
617
+ :'etp_structure_type' => :'String',
618
+ :'month_end_assets' => :'Float',
619
+ :'etf_portfolio_turnover' => :'Float',
620
+ :'firstbridge_id' => :'String',
621
+ :'firstbridge_parent_id' => :'String',
622
+ :'number_of_holdings' => :'Integer'
623
+ }
624
+ end
625
+
626
+ # Initializes the object
627
+ # @param [Hash] attributes Model attributes in the form of hash
628
+ def initialize(attributes = {})
629
+ return unless attributes.is_a?(Hash)
630
+
631
+ # convert string to symbol for hash key
632
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
633
+
634
+ if attributes.has_key?(:'id')
635
+ self.id = attributes[:'id']
636
+ end
637
+
638
+ if attributes.has_key?(:'name')
639
+ self.name = attributes[:'name']
640
+ end
641
+
642
+ if attributes.has_key?(:'ticker')
643
+ self.ticker = attributes[:'ticker']
644
+ end
645
+
646
+ if attributes.has_key?(:'figi_ticker')
647
+ self.figi_ticker = attributes[:'figi_ticker']
648
+ end
649
+
650
+ if attributes.has_key?(:'ric')
651
+ self.ric = attributes[:'ric']
652
+ end
653
+
654
+ if attributes.has_key?(:'isin')
655
+ self.isin = attributes[:'isin']
656
+ end
657
+
658
+ if attributes.has_key?(:'sedol')
659
+ self.sedol = attributes[:'sedol']
660
+ end
661
+
662
+ if attributes.has_key?(:'exchange_mic')
663
+ self.exchange_mic = attributes[:'exchange_mic']
664
+ end
665
+
666
+ if attributes.has_key?(:'sponsor')
667
+ self.sponsor = attributes[:'sponsor']
668
+ end
669
+
670
+ if attributes.has_key?(:'type')
671
+ self.type = attributes[:'type']
672
+ end
673
+
674
+ if attributes.has_key?(:'description')
675
+ self.description = attributes[:'description']
676
+ end
677
+
678
+ if attributes.has_key?(:'inception_date')
679
+ self.inception_date = attributes[:'inception_date']
680
+ end
681
+
682
+ if attributes.has_key?(:'data_change_date')
683
+ self.data_change_date = attributes[:'data_change_date']
684
+ end
685
+
686
+ if attributes.has_key?(:'close_date')
687
+ self.close_date = attributes[:'close_date']
688
+ end
689
+
690
+ if attributes.has_key?(:'is_live_listed')
691
+ self.is_live_listed = attributes[:'is_live_listed']
692
+ end
693
+
694
+ if attributes.has_key?(:'legal_structure')
695
+ self.legal_structure = attributes[:'legal_structure']
696
+ end
697
+
698
+ if attributes.has_key?(:'intraday_nav_ticker')
699
+ self.intraday_nav_ticker = attributes[:'intraday_nav_ticker']
700
+ end
701
+
702
+ if attributes.has_key?(:'primary_ticker')
703
+ self.primary_ticker = attributes[:'primary_ticker']
704
+ end
705
+
706
+ if attributes.has_key?(:'primary_ticker_country_code')
707
+ self.primary_ticker_country_code = attributes[:'primary_ticker_country_code']
708
+ end
709
+
710
+ if attributes.has_key?(:'primary_listing_region')
711
+ self.primary_listing_region = attributes[:'primary_listing_region']
712
+ end
713
+
714
+ if attributes.has_key?(:'net_expense_ratio')
715
+ self.net_expense_ratio = attributes[:'net_expense_ratio']
716
+ end
717
+
718
+ if attributes.has_key?(:'asset_class')
719
+ self.asset_class = attributes[:'asset_class']
720
+ end
721
+
722
+ if attributes.has_key?(:'other_asset_types')
723
+ self.other_asset_types = attributes[:'other_asset_types']
724
+ end
725
+
726
+ if attributes.has_key?(:'market_cap_range')
727
+ self.market_cap_range = attributes[:'market_cap_range']
728
+ end
729
+
730
+ if attributes.has_key?(:'holds_only_nyse_stocks')
731
+ self.holds_only_nyse_stocks = attributes[:'holds_only_nyse_stocks']
732
+ end
733
+
734
+ if attributes.has_key?(:'holds_only_nasdaq_stocks')
735
+ self.holds_only_nasdaq_stocks = attributes[:'holds_only_nasdaq_stocks']
736
+ end
737
+
738
+ if attributes.has_key?(:'growth_value_tilt')
739
+ self.growth_value_tilt = attributes[:'growth_value_tilt']
740
+ end
741
+
742
+ if attributes.has_key?(:'growth_type')
743
+ self.growth_type = attributes[:'growth_type']
744
+ end
745
+
746
+ if attributes.has_key?(:'value_type')
747
+ self.value_type = attributes[:'value_type']
748
+ end
749
+
750
+ if attributes.has_key?(:'sector')
751
+ self.sector = attributes[:'sector']
752
+ end
753
+
754
+ if attributes.has_key?(:'industry')
755
+ self.industry = attributes[:'industry']
756
+ end
757
+
758
+ if attributes.has_key?(:'sub_industry')
759
+ self.sub_industry = attributes[:'sub_industry']
760
+ end
761
+
762
+ if attributes.has_key?(:'cross_sector_theme')
763
+ self.cross_sector_theme = attributes[:'cross_sector_theme']
764
+ end
765
+
766
+ if attributes.has_key?(:'natural_resources_type')
767
+ self.natural_resources_type = attributes[:'natural_resources_type']
768
+ end
769
+
770
+ if attributes.has_key?(:'excludes_financials')
771
+ self.excludes_financials = attributes[:'excludes_financials']
772
+ end
773
+
774
+ if attributes.has_key?(:'excludes_technology')
775
+ self.excludes_technology = attributes[:'excludes_technology']
776
+ end
777
+
778
+ if attributes.has_key?(:'us_or_excludes_us')
779
+ self.us_or_excludes_us = attributes[:'us_or_excludes_us']
780
+ end
781
+
782
+ if attributes.has_key?(:'developed_emerging')
783
+ self.developed_emerging = attributes[:'developed_emerging']
784
+ end
785
+
786
+ if attributes.has_key?(:'specialized_region')
787
+ self.specialized_region = attributes[:'specialized_region']
788
+ end
789
+
790
+ if attributes.has_key?(:'continent')
791
+ self.continent = attributes[:'continent']
792
+ end
793
+
794
+ if attributes.has_key?(:'latin_america_sub_group')
795
+ self.latin_america_sub_group = attributes[:'latin_america_sub_group']
796
+ end
797
+
798
+ if attributes.has_key?(:'europe_sub_group')
799
+ self.europe_sub_group = attributes[:'europe_sub_group']
800
+ end
801
+
802
+ if attributes.has_key?(:'asia_sub_group')
803
+ self.asia_sub_group = attributes[:'asia_sub_group']
804
+ end
805
+
806
+ if attributes.has_key?(:'specific_country')
807
+ self.specific_country = attributes[:'specific_country']
808
+ end
809
+
810
+ if attributes.has_key?(:'china_listing_location')
811
+ self.china_listing_location = attributes[:'china_listing_location']
812
+ end
813
+
814
+ if attributes.has_key?(:'us_state')
815
+ self.us_state = attributes[:'us_state']
816
+ end
817
+
818
+ if attributes.has_key?(:'real_estate')
819
+ self.real_estate = attributes[:'real_estate']
820
+ end
821
+
822
+ if attributes.has_key?(:'index_weighting_scheme')
823
+ self.index_weighting_scheme = attributes[:'index_weighting_scheme']
824
+ end
825
+
826
+ if attributes.has_key?(:'market_cap_weighting_type')
827
+ self.market_cap_weighting_type = attributes[:'market_cap_weighting_type']
828
+ end
829
+
830
+ if attributes.has_key?(:'fundamental_weighting_type')
831
+ self.fundamental_weighting_type = attributes[:'fundamental_weighting_type']
832
+ end
833
+
834
+ if attributes.has_key?(:'dividend_weighting_type')
835
+ self.dividend_weighting_type = attributes[:'dividend_weighting_type']
836
+ end
837
+
838
+ if attributes.has_key?(:'bond_type')
839
+ self.bond_type = attributes[:'bond_type']
840
+ end
841
+
842
+ if attributes.has_key?(:'government_bond_types')
843
+ self.government_bond_types = attributes[:'government_bond_types']
844
+ end
845
+
846
+ if attributes.has_key?(:'municipal_bond_region')
847
+ self.municipal_bond_region = attributes[:'municipal_bond_region']
848
+ end
849
+
850
+ if attributes.has_key?(:'municipal_vrdo')
851
+ self.municipal_vrdo = attributes[:'municipal_vrdo']
852
+ end
853
+
854
+ if attributes.has_key?(:'mortgage_bond_types')
855
+ self.mortgage_bond_types = attributes[:'mortgage_bond_types']
856
+ end
857
+
858
+ if attributes.has_key?(:'bond_tax_status')
859
+ self.bond_tax_status = attributes[:'bond_tax_status']
860
+ end
861
+
862
+ if attributes.has_key?(:'credit_quality')
863
+ self.credit_quality = attributes[:'credit_quality']
864
+ end
865
+
866
+ if attributes.has_key?(:'average_maturity')
867
+ self.average_maturity = attributes[:'average_maturity']
868
+ end
869
+
870
+ if attributes.has_key?(:'specific_maturity_year')
871
+ self.specific_maturity_year = attributes[:'specific_maturity_year']
872
+ end
873
+
874
+ if attributes.has_key?(:'bond_currency_denomination')
875
+ self.bond_currency_denomination = attributes[:'bond_currency_denomination']
876
+ end
877
+
878
+ if attributes.has_key?(:'laddered')
879
+ self.laddered = attributes[:'laddered']
880
+ end
881
+
882
+ if attributes.has_key?(:'zero_coupon')
883
+ self.zero_coupon = attributes[:'zero_coupon']
884
+ end
885
+
886
+ if attributes.has_key?(:'floating_rate')
887
+ self.floating_rate = attributes[:'floating_rate']
888
+ end
889
+
890
+ if attributes.has_key?(:'build_america_bonds')
891
+ self.build_america_bonds = attributes[:'build_america_bonds']
892
+ end
893
+
894
+ if attributes.has_key?(:'commodity_types')
895
+ self.commodity_types = attributes[:'commodity_types']
896
+ end
897
+
898
+ if attributes.has_key?(:'energy_type')
899
+ self.energy_type = attributes[:'energy_type']
900
+ end
901
+
902
+ if attributes.has_key?(:'agricultural_type')
903
+ self.agricultural_type = attributes[:'agricultural_type']
904
+ end
905
+
906
+ if attributes.has_key?(:'metal_type')
907
+ self.metal_type = attributes[:'metal_type']
908
+ end
909
+
910
+ if attributes.has_key?(:'inverse_leveraged')
911
+ self.inverse_leveraged = attributes[:'inverse_leveraged']
912
+ end
913
+
914
+ if attributes.has_key?(:'target_date_multi_asset_type')
915
+ self.target_date_multi_asset_type = attributes[:'target_date_multi_asset_type']
916
+ end
917
+
918
+ if attributes.has_key?(:'currency_hedged')
919
+ self.currency_hedged = attributes[:'currency_hedged']
920
+ end
921
+
922
+ if attributes.has_key?(:'currency_pair')
923
+ self.currency_pair = attributes[:'currency_pair']
924
+ end
925
+
926
+ if attributes.has_key?(:'social_environmental_type')
927
+ self.social_environmental_type = attributes[:'social_environmental_type']
928
+ end
929
+
930
+ if attributes.has_key?(:'clean_energy_type')
931
+ self.clean_energy_type = attributes[:'clean_energy_type']
932
+ end
933
+
934
+ if attributes.has_key?(:'dividend_type')
935
+ self.dividend_type = attributes[:'dividend_type']
936
+ end
937
+
938
+ if attributes.has_key?(:'regular_dividend_payor_type')
939
+ self.regular_dividend_payor_type = attributes[:'regular_dividend_payor_type']
940
+ end
941
+
942
+ if attributes.has_key?(:'holds_ml_ps')
943
+ self.holds_ml_ps = attributes[:'holds_ml_ps']
944
+ end
945
+
946
+ if attributes.has_key?(:'holds_preferred_stock')
947
+ self.holds_preferred_stock = attributes[:'holds_preferred_stock']
948
+ end
949
+
950
+ if attributes.has_key?(:'holds_closed_end_funds')
951
+ self.holds_closed_end_funds = attributes[:'holds_closed_end_funds']
952
+ end
953
+
954
+ if attributes.has_key?(:'quant_strategies_type')
955
+ self.quant_strategies_type = attributes[:'quant_strategies_type']
956
+ end
957
+
958
+ if attributes.has_key?(:'other_quant_models')
959
+ self.other_quant_models = attributes[:'other_quant_models']
960
+ end
961
+
962
+ if attributes.has_key?(:'hedge_fund_type')
963
+ self.hedge_fund_type = attributes[:'hedge_fund_type']
964
+ end
965
+
966
+ if attributes.has_key?(:'derivatives_based')
967
+ self.derivatives_based = attributes[:'derivatives_based']
968
+ end
969
+
970
+ if attributes.has_key?(:'holds_ad_rs')
971
+ self.holds_ad_rs = attributes[:'holds_ad_rs']
972
+ end
973
+
974
+ if attributes.has_key?(:'index_linked')
975
+ self.index_linked = attributes[:'index_linked']
976
+ end
977
+
978
+ if attributes.has_key?(:'includes_short_exposure')
979
+ self.includes_short_exposure = attributes[:'includes_short_exposure']
980
+ end
981
+
982
+ if attributes.has_key?(:'index_name')
983
+ self.index_name = attributes[:'index_name']
984
+ end
985
+
986
+ if attributes.has_key?(:'parent_index')
987
+ self.parent_index = attributes[:'parent_index']
988
+ end
989
+
990
+ if attributes.has_key?(:'index_family')
991
+ self.index_family = attributes[:'index_family']
992
+ end
993
+
994
+ if attributes.has_key?(:'broader_index_family')
995
+ self.broader_index_family = attributes[:'broader_index_family']
996
+ end
997
+
998
+ if attributes.has_key?(:'index_provider')
999
+ self.index_provider = attributes[:'index_provider']
1000
+ end
1001
+
1002
+ if attributes.has_key?(:'fund_family')
1003
+ self.fund_family = attributes[:'fund_family']
1004
+ end
1005
+
1006
+ if attributes.has_key?(:'index_ticker')
1007
+ self.index_ticker = attributes[:'index_ticker']
1008
+ end
1009
+
1010
+ if attributes.has_key?(:'etn_issuing_bank')
1011
+ self.etn_issuing_bank = attributes[:'etn_issuing_bank']
1012
+ end
1013
+
1014
+ if attributes.has_key?(:'etn_maturity_date')
1015
+ self.etn_maturity_date = attributes[:'etn_maturity_date']
1016
+ end
1017
+
1018
+ if attributes.has_key?(:'livestock')
1019
+ self.livestock = attributes[:'livestock']
1020
+ end
1021
+
1022
+ if attributes.has_key?(:'dynamic_futures_roll')
1023
+ self.dynamic_futures_roll = attributes[:'dynamic_futures_roll']
1024
+ end
1025
+
1026
+ if attributes.has_key?(:'index_provider_code')
1027
+ self.index_provider_code = attributes[:'index_provider_code']
1028
+ end
1029
+
1030
+ if attributes.has_key?(:'single_category_designation')
1031
+ self.single_category_designation = attributes[:'single_category_designation']
1032
+ end
1033
+
1034
+ if attributes.has_key?(:'registered_countries')
1035
+ self.registered_countries = attributes[:'registered_countries']
1036
+ end
1037
+
1038
+ if attributes.has_key?(:'issuing_entity_country_code')
1039
+ self.issuing_entity_country_code = attributes[:'issuing_entity_country_code']
1040
+ end
1041
+
1042
+ if attributes.has_key?(:'ucits')
1043
+ self.ucits = attributes[:'ucits']
1044
+ end
1045
+
1046
+ if attributes.has_key?(:'replication_structure')
1047
+ self.replication_structure = attributes[:'replication_structure']
1048
+ end
1049
+
1050
+ if attributes.has_key?(:'domicile')
1051
+ self.domicile = attributes[:'domicile']
1052
+ end
1053
+
1054
+ if attributes.has_key?(:'base_currency')
1055
+ self.base_currency = attributes[:'base_currency']
1056
+ end
1057
+
1058
+ if attributes.has_key?(:'listing_currency')
1059
+ self.listing_currency = attributes[:'listing_currency']
1060
+ end
1061
+
1062
+ if attributes.has_key?(:'fund_listing_date')
1063
+ self.fund_listing_date = attributes[:'fund_listing_date']
1064
+ end
1065
+
1066
+ if attributes.has_key?(:'listing_country_code')
1067
+ self.listing_country_code = attributes[:'listing_country_code']
1068
+ end
1069
+
1070
+ if attributes.has_key?(:'listing_region')
1071
+ self.listing_region = attributes[:'listing_region']
1072
+ end
1073
+
1074
+ if attributes.has_key?(:'smartvs_traditional_beta')
1075
+ self.smartvs_traditional_beta = attributes[:'smartvs_traditional_beta']
1076
+ end
1077
+
1078
+ if attributes.has_key?(:'smartvs_traditional_beta_level2')
1079
+ self.smartvs_traditional_beta_level2 = attributes[:'smartvs_traditional_beta_level2']
1080
+ end
1081
+
1082
+ if attributes.has_key?(:'income_category')
1083
+ self.income_category = attributes[:'income_category']
1084
+ end
1085
+
1086
+ if attributes.has_key?(:'etp_structure_type')
1087
+ self.etp_structure_type = attributes[:'etp_structure_type']
1088
+ end
1089
+
1090
+ if attributes.has_key?(:'month_end_assets')
1091
+ self.month_end_assets = attributes[:'month_end_assets']
1092
+ end
1093
+
1094
+ if attributes.has_key?(:'etf_portfolio_turnover')
1095
+ self.etf_portfolio_turnover = attributes[:'etf_portfolio_turnover']
1096
+ end
1097
+
1098
+ if attributes.has_key?(:'firstbridge_id')
1099
+ self.firstbridge_id = attributes[:'firstbridge_id']
1100
+ end
1101
+
1102
+ if attributes.has_key?(:'firstbridge_parent_id')
1103
+ self.firstbridge_parent_id = attributes[:'firstbridge_parent_id']
1104
+ end
1105
+
1106
+ if attributes.has_key?(:'number_of_holdings')
1107
+ self.number_of_holdings = attributes[:'number_of_holdings']
1108
+ end
1109
+
1110
+ end
1111
+
1112
+ # Show invalid properties with the reasons. Usually used together with valid?
1113
+ # @return Array for valid properties with the reasons
1114
+ def list_invalid_properties
1115
+ invalid_properties = Array.new
1116
+ return invalid_properties
1117
+ end
1118
+
1119
+ # Check to see if the all the properties in the model are valid
1120
+ # @return true if the model is valid
1121
+ def valid?
1122
+ return true
1123
+ end
1124
+
1125
+ # Checks equality by comparing each attribute.
1126
+ # @param [Object] Object to be compared
1127
+ def ==(o)
1128
+ return true if self.equal?(o)
1129
+ self.class == o.class &&
1130
+ id == o.id &&
1131
+ name == o.name &&
1132
+ ticker == o.ticker &&
1133
+ figi_ticker == o.figi_ticker &&
1134
+ ric == o.ric &&
1135
+ isin == o.isin &&
1136
+ sedol == o.sedol &&
1137
+ exchange_mic == o.exchange_mic &&
1138
+ sponsor == o.sponsor &&
1139
+ type == o.type &&
1140
+ description == o.description &&
1141
+ inception_date == o.inception_date &&
1142
+ data_change_date == o.data_change_date &&
1143
+ close_date == o.close_date &&
1144
+ is_live_listed == o.is_live_listed &&
1145
+ legal_structure == o.legal_structure &&
1146
+ intraday_nav_ticker == o.intraday_nav_ticker &&
1147
+ primary_ticker == o.primary_ticker &&
1148
+ primary_ticker_country_code == o.primary_ticker_country_code &&
1149
+ primary_listing_region == o.primary_listing_region &&
1150
+ net_expense_ratio == o.net_expense_ratio &&
1151
+ asset_class == o.asset_class &&
1152
+ other_asset_types == o.other_asset_types &&
1153
+ market_cap_range == o.market_cap_range &&
1154
+ holds_only_nyse_stocks == o.holds_only_nyse_stocks &&
1155
+ holds_only_nasdaq_stocks == o.holds_only_nasdaq_stocks &&
1156
+ growth_value_tilt == o.growth_value_tilt &&
1157
+ growth_type == o.growth_type &&
1158
+ value_type == o.value_type &&
1159
+ sector == o.sector &&
1160
+ industry == o.industry &&
1161
+ sub_industry == o.sub_industry &&
1162
+ cross_sector_theme == o.cross_sector_theme &&
1163
+ natural_resources_type == o.natural_resources_type &&
1164
+ excludes_financials == o.excludes_financials &&
1165
+ excludes_technology == o.excludes_technology &&
1166
+ us_or_excludes_us == o.us_or_excludes_us &&
1167
+ developed_emerging == o.developed_emerging &&
1168
+ specialized_region == o.specialized_region &&
1169
+ continent == o.continent &&
1170
+ latin_america_sub_group == o.latin_america_sub_group &&
1171
+ europe_sub_group == o.europe_sub_group &&
1172
+ asia_sub_group == o.asia_sub_group &&
1173
+ specific_country == o.specific_country &&
1174
+ china_listing_location == o.china_listing_location &&
1175
+ us_state == o.us_state &&
1176
+ real_estate == o.real_estate &&
1177
+ index_weighting_scheme == o.index_weighting_scheme &&
1178
+ market_cap_weighting_type == o.market_cap_weighting_type &&
1179
+ fundamental_weighting_type == o.fundamental_weighting_type &&
1180
+ dividend_weighting_type == o.dividend_weighting_type &&
1181
+ bond_type == o.bond_type &&
1182
+ government_bond_types == o.government_bond_types &&
1183
+ municipal_bond_region == o.municipal_bond_region &&
1184
+ municipal_vrdo == o.municipal_vrdo &&
1185
+ mortgage_bond_types == o.mortgage_bond_types &&
1186
+ bond_tax_status == o.bond_tax_status &&
1187
+ credit_quality == o.credit_quality &&
1188
+ average_maturity == o.average_maturity &&
1189
+ specific_maturity_year == o.specific_maturity_year &&
1190
+ bond_currency_denomination == o.bond_currency_denomination &&
1191
+ laddered == o.laddered &&
1192
+ zero_coupon == o.zero_coupon &&
1193
+ floating_rate == o.floating_rate &&
1194
+ build_america_bonds == o.build_america_bonds &&
1195
+ commodity_types == o.commodity_types &&
1196
+ energy_type == o.energy_type &&
1197
+ agricultural_type == o.agricultural_type &&
1198
+ metal_type == o.metal_type &&
1199
+ inverse_leveraged == o.inverse_leveraged &&
1200
+ target_date_multi_asset_type == o.target_date_multi_asset_type &&
1201
+ currency_hedged == o.currency_hedged &&
1202
+ currency_pair == o.currency_pair &&
1203
+ social_environmental_type == o.social_environmental_type &&
1204
+ clean_energy_type == o.clean_energy_type &&
1205
+ dividend_type == o.dividend_type &&
1206
+ regular_dividend_payor_type == o.regular_dividend_payor_type &&
1207
+ holds_ml_ps == o.holds_ml_ps &&
1208
+ holds_preferred_stock == o.holds_preferred_stock &&
1209
+ holds_closed_end_funds == o.holds_closed_end_funds &&
1210
+ quant_strategies_type == o.quant_strategies_type &&
1211
+ other_quant_models == o.other_quant_models &&
1212
+ hedge_fund_type == o.hedge_fund_type &&
1213
+ derivatives_based == o.derivatives_based &&
1214
+ holds_ad_rs == o.holds_ad_rs &&
1215
+ index_linked == o.index_linked &&
1216
+ includes_short_exposure == o.includes_short_exposure &&
1217
+ index_name == o.index_name &&
1218
+ parent_index == o.parent_index &&
1219
+ index_family == o.index_family &&
1220
+ broader_index_family == o.broader_index_family &&
1221
+ index_provider == o.index_provider &&
1222
+ fund_family == o.fund_family &&
1223
+ index_ticker == o.index_ticker &&
1224
+ etn_issuing_bank == o.etn_issuing_bank &&
1225
+ etn_maturity_date == o.etn_maturity_date &&
1226
+ livestock == o.livestock &&
1227
+ dynamic_futures_roll == o.dynamic_futures_roll &&
1228
+ index_provider_code == o.index_provider_code &&
1229
+ single_category_designation == o.single_category_designation &&
1230
+ registered_countries == o.registered_countries &&
1231
+ issuing_entity_country_code == o.issuing_entity_country_code &&
1232
+ ucits == o.ucits &&
1233
+ replication_structure == o.replication_structure &&
1234
+ domicile == o.domicile &&
1235
+ base_currency == o.base_currency &&
1236
+ listing_currency == o.listing_currency &&
1237
+ fund_listing_date == o.fund_listing_date &&
1238
+ listing_country_code == o.listing_country_code &&
1239
+ listing_region == o.listing_region &&
1240
+ smartvs_traditional_beta == o.smartvs_traditional_beta &&
1241
+ smartvs_traditional_beta_level2 == o.smartvs_traditional_beta_level2 &&
1242
+ income_category == o.income_category &&
1243
+ etp_structure_type == o.etp_structure_type &&
1244
+ month_end_assets == o.month_end_assets &&
1245
+ etf_portfolio_turnover == o.etf_portfolio_turnover &&
1246
+ firstbridge_id == o.firstbridge_id &&
1247
+ firstbridge_parent_id == o.firstbridge_parent_id &&
1248
+ number_of_holdings == o.number_of_holdings
1249
+ end
1250
+
1251
+ # @see the `==` method
1252
+ # @param [Object] Object to be compared
1253
+ def eql?(o)
1254
+ self == o
1255
+ end
1256
+
1257
+ # Calculates hash code according to all attributes.
1258
+ # @return [Fixnum] Hash code
1259
+ def hash
1260
+ [id, name, ticker, figi_ticker, ric, isin, sedol, exchange_mic, sponsor, type, description, inception_date, data_change_date, close_date, is_live_listed, legal_structure, intraday_nav_ticker, primary_ticker, primary_ticker_country_code, primary_listing_region, net_expense_ratio, asset_class, other_asset_types, market_cap_range, holds_only_nyse_stocks, holds_only_nasdaq_stocks, growth_value_tilt, growth_type, value_type, sector, industry, sub_industry, cross_sector_theme, natural_resources_type, excludes_financials, excludes_technology, us_or_excludes_us, developed_emerging, specialized_region, continent, latin_america_sub_group, europe_sub_group, asia_sub_group, specific_country, china_listing_location, us_state, real_estate, index_weighting_scheme, market_cap_weighting_type, fundamental_weighting_type, dividend_weighting_type, bond_type, government_bond_types, municipal_bond_region, municipal_vrdo, mortgage_bond_types, bond_tax_status, credit_quality, average_maturity, specific_maturity_year, bond_currency_denomination, laddered, zero_coupon, floating_rate, build_america_bonds, commodity_types, energy_type, agricultural_type, metal_type, inverse_leveraged, target_date_multi_asset_type, currency_hedged, currency_pair, social_environmental_type, clean_energy_type, dividend_type, regular_dividend_payor_type, holds_ml_ps, holds_preferred_stock, holds_closed_end_funds, quant_strategies_type, other_quant_models, hedge_fund_type, derivatives_based, holds_ad_rs, index_linked, includes_short_exposure, index_name, parent_index, index_family, broader_index_family, index_provider, fund_family, index_ticker, etn_issuing_bank, etn_maturity_date, livestock, dynamic_futures_roll, index_provider_code, single_category_designation, registered_countries, issuing_entity_country_code, ucits, replication_structure, domicile, base_currency, listing_currency, fund_listing_date, listing_country_code, listing_region, smartvs_traditional_beta, smartvs_traditional_beta_level2, income_category, etp_structure_type, month_end_assets, etf_portfolio_turnover, firstbridge_id, firstbridge_parent_id, number_of_holdings].hash
1261
+ end
1262
+
1263
+ # Builds the object from hash
1264
+ # @param [Hash] attributes Model attributes in the form of hash
1265
+ # @return [Object] Returns the model itself
1266
+ def build_from_hash(attributes)
1267
+ return nil unless attributes.is_a?(Hash)
1268
+ self.class.swagger_types.each_pair do |key, type|
1269
+ if type =~ /\AArray<(.*)>/i
1270
+ # check to ensure the input is an array given that the the attribute
1271
+ # is documented as an array but the input is not
1272
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
1273
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
1274
+ end
1275
+ elsif !attributes[self.class.attribute_map[key]].nil?
1276
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1277
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
1278
+ end
1279
+
1280
+ self
1281
+ end
1282
+
1283
+ # Deserializes the data based on type
1284
+ # @param string type Data type
1285
+ # @param string value Value to be deserialized
1286
+ # @return [Object] Deserialized data
1287
+ def _deserialize(type, value)
1288
+ case type.to_sym
1289
+ when :DateTime
1290
+ DateTime.parse(value)
1291
+ when :Date
1292
+ Date.parse(value)
1293
+ when :String
1294
+ value.to_s
1295
+ when :Integer
1296
+ value.to_i
1297
+ when :Float
1298
+ value.to_f
1299
+ when :BOOLEAN
1300
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
1301
+ true
1302
+ else
1303
+ false
1304
+ end
1305
+ when :Object
1306
+ # generic object (usually a Hash), return directly
1307
+ value
1308
+ when /\AArray<(?<inner_type>.+)>\z/
1309
+ inner_type = Regexp.last_match[:inner_type]
1310
+ value.map { |v| _deserialize(inner_type, v) }
1311
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
1312
+ k_type = Regexp.last_match[:k_type]
1313
+ v_type = Regexp.last_match[:v_type]
1314
+ {}.tap do |hash|
1315
+ value.each do |k, v|
1316
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1317
+ end
1318
+ end
1319
+ else # model
1320
+ temp_model = Intrinio.const_get(type).new
1321
+ temp_model.build_from_hash(value)
1322
+ end
1323
+ end
1324
+
1325
+ # Returns the string representation of the object
1326
+ # @return [String] String presentation of the object
1327
+ def to_s
1328
+ to_hash.to_s
1329
+ end
1330
+
1331
+ # to_body is an alias to to_hash (backward compatibility)
1332
+ # @return [Hash] Returns the object in the form of hash
1333
+ def to_body
1334
+ to_hash
1335
+ end
1336
+
1337
+ # Returns the object in the form of hash
1338
+ # @return [Hash] Returns the object in the form of hash
1339
+ def to_hash
1340
+ hash = {}
1341
+ self.class.attribute_map.each_pair do |attr, param|
1342
+ value = self.send(attr)
1343
+ next if value.nil?
1344
+ hash[param] = _to_hash(value)
1345
+ end
1346
+ hash
1347
+ end
1348
+
1349
+ # Outputs non-array value in the form of hash
1350
+ # For object, use to_hash. Otherwise, just return the value
1351
+ # @param [Object] value Any valid value
1352
+ # @return [Hash] Returns the value in the form of hash
1353
+ def _to_hash(value)
1354
+ if value.is_a?(Array)
1355
+ value.compact.map{ |v| _to_hash(v) }
1356
+ elsif value.is_a?(Hash)
1357
+ {}.tap do |hash|
1358
+ value.each { |k, v| hash[k] = _to_hash(v) }
1359
+ end
1360
+ elsif value.respond_to? :to_hash
1361
+ value.to_hash
1362
+ else
1363
+ value
1364
+ end
1365
+ end
1366
+
1367
+ end
1368
+
1369
+ end