Stocks

Overview

This documentation is organized as a 1:1 mirror of the IEX Cloud Stocks Documentation.

The Stock object is instantiated with one or more symbols (equities, ETFs, etc.) and allows access to most endpoints:

In [1]: from iexfinance.stocks import Stock

In [2]: aapl = Stock("AAPL")

In [3]: aapl.get_price()
Out[3]: 172.03

Certain endpoints, such as Sector Performance, which are unrelated to specific symbols, are supported by top-level functions (i.e. iexfinance.stocks.get_sector_performance).

In [4]: from iexfinance.stocks import get_sector_performance

In [5]: get_sector_performance()[0]
Out[5]: 
{'type': 'sector',
 'name': 'Materials',
 'performance': 0.01715,
 'lastUpdated': 1550696400348}

Additional utility functions, such as get_historical_data are provided as well:

In [6]: from iexfinance.stocks import get_historical_data

In [7]: get_historical_data("AAPL", output_format='pandas').head()
Out[7]: 
                open      high       low     close    volume
date                                                        
2015-01-02  103.4410  103.4874   99.6893  101.5280  53204626
2015-01-05  100.5622  100.8965   97.8877   98.6678  64285491
2015-01-06   98.9371   99.7636   97.1634   98.6771  65797116
2015-01-07   99.5500  100.4786   99.0810  100.0607  40105934
2015-01-08  101.4351  104.1468  100.9429  103.9053  59364547

See Additional Methods for more a list of methods available.

List of Endpoints

All endpoints not available as methods of the Stock object are noted below.

The Stock object

The Stock object allows retrieval of endpoints (Earnings, Quote, etc) for up to 100 symbols at once.

class iexfinance.stocks.base.Stock(symbols=None, **kwargs)

Base class for obtaining data from the Stock endpoints of IEX.

symbols

A symbol or list of symbols for which to obtain data

Type:str or list-like (list, tuple, pandas.Series, pandas.Index)
output_format

Desired output format for requests (default is json, also accepts pandas for a pandas.DataFrame output format)

Type:str
token

Authentication token (reuqired for use with IEX Cloud)

Type:str, optional

Basic Usage Example

In [8]: from iexfinance.stocks import Stock

In [9]: aapl = Stock("aapl")

In [10]: aapl.get_price()
Out[10]: 172.03

Balance Sheet

Stock.get_balance_sheet(**kwargs)

Balance Sheet

Pulls balance sheet data. Available quarterly (4 quarters) and annually (4 years)

Reference: https://iexcloud.io/docs/api/#balance-sheet

Data Weighting: 3000 per symbol per period

Warning

This endpoint is only available using IEX Cloud. See Migrating to IEX Cloud for more information.

Parameters:period (str, default 'quarterly', optional) – Allows you to specify annual or quarterly balance sheet. Defaults to quarterly. Values should be annual or quarter.

Book

Stock.get_book(**kwargs)

Book

Reference: https://iexcloud.io/docs/api/#book

Data Weighting: 1 per quote returned

Returns:Stocks Book endpoint data
Return type:dict or pandas.DataFrame

Cash Flow

Stock.get_cash_flow(**kwargs)

Cash Flow

Pulls cash flow data. Available quarterly (4 quarters) or annually (4 years).

Reference: https://iexcloud.io/docs/api/#cash-flow

Data Weighting: 1000 per symbol per period

Warning

This endpoint is only available using IEX Cloud. See Migrating to IEX Cloud for more information.

Parameters:period (str, default 'quarterly', optional) – Allows you to specify annual or quarterly cash flows. Defaults to quarterly. Values should be annual or quarter.

Chart

Stock.get_chart(**kwargs)

Chart

MOVED in IEX Cloud

See also

get_historical_prices

Collections

The Collections endpoint of Stocks allows retrieval of certain groups of companies, organized by:

Use get_collections to access.

iexfinance.stocks.get_collections(collection_name, collection_type='tag', **kwargs)

Collections

Returns an array of quote objects for a given collection type. Currently supported collection types are sector, tag, and list

Reference: https://iexcloud.io/docs/api/#collections

Data Weighting: Weight of /stock/quote per method

Parameters:
  • collection_name (str) – Desired collection name
  • collection_type (str, default "tag", optional) – Desired collection type (sector, tag, or list) kwargs: Additional Request Parameters (see base class)

Examples

Tag

In [11]: from iexfinance.stocks import get_collections

In [12]: get_collections("Computer Hardware", output_format='pandas').head()
Out[12]: 
symbol               UAVS     VIOT     MLAB   ...        HUBB     NOVT     ALOT
avgTotalVolume     207227    34477    22976   ...      410852   122920    11430
calculationPrice    close    close    close   ...       close    close    close
change            -0.0125     0.49    -0.24   ...        1.11     1.11     -0.3
changePercent    -0.02673  0.05414 -0.00103   ...     0.00935  0.01473 -0.01505
close              0.4551     9.54    232.6   ...      119.79    76.47    19.64

[5 rows x 168 columns]

Sector

In [13]: get_collections("Industrials", output_format='pandas').head()
Out[13]: 
symbol               STNG     CMCO     STRL   ...         FLY     MYRG      FRO
avgTotalVolume    1005768   113430   150305   ...       89643    40357   396822
calculationPrice    close    close    close   ...       close    close    close
change              -0.28      0.1     0.22   ...       -0.14     1.39    -0.15
changePercent    -0.01404  0.00262  0.01551   ...    -0.01183  0.04127 -0.02555
close               19.67     38.2     14.4   ...       11.69    35.07     5.72

[5 rows x 868 columns]

Company

Stock.get_company(**kwargs)

Company

Reference: https://iexcloud.io/docs/api/#company

Data Weighting: 1

Returns:Stocks Company endpoint data
Return type:dict or pandas.DataFrame

Cryptocurrencies

As of the 5/18/2018 IEX Provider update, quotes are provided for certain Cryptocurrencies. Access to these quotes is available by creating a Stock object and using the get_quote method.

To retrieve quotes for all available cryptocurrencies, use the get_crypto_quotes function:

iexfinance.stocks.get_crypto_quotes(**kwargs)

Function for obtaining all available cryptocurrency quotes

Warning

This endpoint is only available using the legacy IEX Developer API (v1). See Migrating to IEX Cloud for more information.

The following tickers are supported:

  • Bitcoin USD (BTCUSDT)
  • EOS USD (EOSUSDT)
  • Ethereum USD (ETHUSDT)
  • Binance Coin USD (BNBUSDT)
  • Ontology USD (ONTUSDT)
  • Bitcoin Cash USD (BCCUSDT)
  • Cardano USD (ADAUSDT)
  • Ripple USD (XRPUSDT)
  • TrueUSD (TUSDUSDT)
  • TRON USD (TRXUSDT)
  • Litecoin USD (LTCUSDT)
  • Ethereum Classic USD (ETCUSDT)
  • MIOTA USD (IOTAUSDT)
  • ICON USD (ICXUSDT)
  • NEO USD (NEOUSDT)
  • VeChain USD (VENUSDT)
  • Stellar Lumens USD (XLMUSDT)
  • Qtum USD (QTUMUSDT)

Examples

In [14]: from iexfinance.stocks import get_crypto_quotes

In [15]: get_crypto_quotes(output_format='pandas').head()
Out[15]: 
symbol           BTCUSDT EOSUSDT  ETHUSDT   ...    VENUSDT  XLMUSDT QTUMUSDT
askPrice         3962.37  3.8171   146.84   ...        NaN  0.09202    2.137
askSize         0.092678   255.8  5.90578   ...        NaN    258.7  199.187
avgTotalVolume      None    None     None   ...       None     None     None
bidPrice         3962.04  3.8137   146.79   ...        NaN  0.09195     2.13
bidSize                1    5.77   6.3542   ...        NaN   4610.5   97.991

[5 rows x 18 columns]

Delayed Quote

Stock.get_delayed_quote(**kwargs)

Delayed Quote

Reference: https://iexcloud.io/docs/api/#delayed-quote

Data Weighting: 1 per symbol per quote

Returns:Stocks Delayed Quote endpoint data
Return type:dict or pandas.DataFrame

Dividends

Stock.get_dividends(**kwargs)

Dividends

Reference: https://iexcloud.io/docs/api/#dividends

Data Weighting: 10 per symbol per period returned

Keyword Arguments:
 range (str, default '1m', optional) – Time period of dividends to return Choose from [5y,`2y`,`1y`,`ytd`,`6m`,`3m`,`1m`]
Returns:Stocks Dividends endpoint data
Return type:list of dict or pandas.DataFrame

Earnings

Stock.get_earnings(**kwargs)

Earnings

Earnings data for a given company including the actual EPS, consensus, and fiscal period. Earnings are available quarterly (last 4 quarters) and annually (last 4 years).

Reference: https://iexcloud.io/docs/api/#earnings

Data Weighting: 1000 per symbol per period

Returns:Stocks Earnings endpoint data
Return type:dict or pandas.DataFrame

Earnings Today

Warning

get_todays_earnings has been deprecated and renamed get_earnings_today.

Earnings Today was added to the Stocks endpoints in 2018. Access is provided through the get_earnings_today function.

iexfinance.stocks.get_earnings_today(**kwargs)

Earnings Today

Returns earnings that will be reported today as two arrays: before the open bto and after market close amc. Each array contains an object with all keys from earnings, a quote object, and a headline key.

Reference: https://iexcloud.io/docs/api/#earnings-today

Data Weighting: 1051 per symbol returned

Note

get_earnings_today supports JSON output formatting only.

Examples

In [16]: from iexfinance.stocks import get_earnings_today

In [17]: get_earnings_today()["bto"]
Out[17]: []

Effective Spread

Stock.get_effective_spread(**kwargs)

Effective Spread

This returns an array of effective spread, eligible volume, and price improvement of a stock, by market. Unlike volume-by-venue, this will only return a venue if effective spread is not ‘N/A’. Values are sorted in descending order by effectiveSpread. Lower effectiveSpread and higher priceImprovement values are generally considered optimal.

Effective spread is designed to measure marketable orders executed in relation to the market center’s quoted spread and takes into account hidden and midpoint liquidity available at each market center. Effective Spread is calculated by using eligible trade prices recorded to the consolidated tape and comparing those trade prices to the National Best Bid and Offer (“NBBO”) at the time of the execution.

View the data disclaimer at the bottom of the stocks app for more information about how these values are calculated.

Reference: https://iexcloud.io/docs/api/#effective-spread

Data Weighting: 0

Returns:Stocks Effective Spread endpoint data
Return type:list or pandas.DataFrame

Estimates

Stock.get_estimates(**kwargs)

Estimates

Provides the latest consensus estimate for the next fiscal period

Reference: https://iexcloud.io/docs/api/#estimates

Data Weighting: 10000 per symbol per period

Warning

This endpoint is only available using IEX Cloud. See Migrating to IEX Cloud for more information.

Returns:
Return type:dict or pandas.DataFrame

Financials

Stock.get_financials(**kwargs)

Financials

Pulls income statement, balance sheet, and cash flow data from the most recent reported quarter.

Reference: https://iexcloud.io/docs/api/#financials

Data Weighting: 5000 per symbol per period

Parameters:period (str, default 'quarter', choose between 'annual' and 'quarter') –
Returns:Stocks Financials endpoint data
Return type:dict or pandas.DataFrame

Historical Prices

The method used to obtain historical prices from a Stock object:

In [18]: from iexfinance.stocks import Stock

In [19]: aapl = Stock("AAPL")

In [20]: aapl.get_historical_prices()
Out[20]: 
[{'date': '2019-01-22',
  'open': 155.742,
  'high': 156.0606,
  'low': 151.9682,
  'close': 152.6453,
  'volume': 30393970,
  'unadjustedVolume': 30393970,
  'change': -3.505,
  'changePercent': -2.245,
  'vwap': 153.603,
  'label': 'Jan 22',
  'changeOverTime': 0},
 {'date': '2019-01-23',
  'open': 153.4916,
  'high': 154.4774,
  'low': 151.0521,
  'close': 153.2626,
  'volume': 23130570,
  'unadjustedVolume': 23130570,
  'change': 0.617352,
  'changePercent': 0.404,
  'vwap': 152.7788,
  'label': 'Jan 23',
  'changeOverTime': 0.004044015767272233},
 {'date': '2019-01-24',
  'open': 153.4518,
  'high': 153.8202,
  'low': 151.0919,
  'close': 152.0478,
  'volume': 25441549,
  'unadjustedVolume': 25441549,
  'change': -1.2148,
  'changePercent': -0.793,
  'vwap': 152.0069,
  'label': 'Jan 24',
  'changeOverTime': -0.0039143032900455935},
 {'date': '2019-01-25',
  'open': 154.8159,
  'high': 157.4546,
  'low': 153.6609,
  'close': 157.0862,
  'volume': 33547893,
  'unadjustedVolume': 33547893,
  'change': 5.0384,
  'changePercent': 3.314,
  'vwap': 156.1717,
  'label': 'Jan 25',
  'changeOverTime': 0.02909293636947878},
 {'date': '2019-01-28',
  'open': 155.1246,
  'high': 155.6623,
  'low': 153.0037,
  'close': 155.6324,
  'volume': 26192058,
  'unadjustedVolume': 26192058,
  'change': -1.4538,
  'changePercent': -0.925,
  'vwap': 154.6201,
  'label': 'Jan 28',
  'changeOverTime': 0.01956889599614268},
 {'date': '2019-01-29',
  'open': 155.5827,
  'high': 157.4546,
  'low': 153.4518,
  'close': 154.0194,
  'volume': 41587239,
  'unadjustedVolume': 41587239,
  'change': -1.6131,
  'changePercent': -1.036,
  'vwap': 155.1149,
  'label': 'Jan 29',
  'changeOverTime': 0.009001914896822887},
 {'date': '2019-01-30',
  'open': 162.5528,
  'high': 165.4404,
  'low': 159.5457,
  'close': 164.5442,
  'volume': 61109780,
  'unadjustedVolume': 61109780,
  'change': 10.5249,
  'changePercent': 6.833,
  'vwap': 162.5289,
  'label': 'Jan 30',
  'changeOverTime': 0.07795130279150421},
 {'date': '2019-01-31',
  'open': 165.4005,
  'high': 168.2782,
  'low': 163.8572,
  'close': 165.7291,
  'volume': 40739649,
  'unadjustedVolume': 40739649,
  'change': 1.1849,
  'changePercent': 0.72,
  'vwap': 166.4004,
  'label': 'Jan 31',
  'changeOverTime': 0.08571374290593944},
 {'date': '2019-02-01',
  'open': 166.2469,
  'high': 168.2583,
  'low': 165.2213,
  'close': 165.8088,
  'volume': 32668138,
  'unadjustedVolume': 32668138,
  'change': 0.079658,
  'changePercent': 0.048,
  'vwap': 166.4557,
  'label': 'Feb 1',
  'changeOverTime': 0.08623586838245265},
 {'date': '2019-02-04',
  'open': 166.695,
  'high': 170.9219,
  'low': 166.5655,
  'close': 170.5186,
  'volume': 31495582,
  'unadjustedVolume': 31495582,
  'change': 4.7098,
  'changePercent': 2.84,
  'vwap': 169.6668,
  'label': 'Feb 4',
  'changeOverTime': 0.11709040501083232},
 {'date': '2019-02-05',
  'open': 172.1217,
  'high': 174.3322,
  'low': 171.614,
  'close': 173.4361,
  'volume': 36101628,
  'unadjustedVolume': 36101628,
  'change': 2.9175,
  'changePercent': 1.711,
  'vwap': 173.2622,
  'label': 'Feb 5',
  'changeOverTime': 0.13620334199611792},
 {'date': '2019-02-06',
  'open': 173.9041,
  'high': 174.8201,
  'low': 172.1148,
  'close': 173.4958,
  'volume': 28239591,
  'unadjustedVolume': 28239591,
  'change': 0.059744,
  'changePercent': 0.034,
  'vwap': 173.5179,
  'label': 'Feb 6',
  'changeOverTime': 0.13659444476836177},
 {'date': '2019-02-07',
  'open': 171.6637,
  'high': 173.1971,
  'low': 169.6125,
  'close': 170.2099,
  'volume': 31741690,
  'unadjustedVolume': 31741690,
  'change': -3.2859,
  'changePercent': -1.894,
  'vwap': 170.9104,
  'label': 'Feb 7',
  'changeOverTime': 0.1150680695704356},
 {'date': '2019-02-08',
  'open': 168.99,
  'high': 170.66,
  'low': 168.42,
  'close': 170.41,
  'volume': 23819966,
  'unadjustedVolume': 23819966,
  'change': 0.200085,
  'changePercent': 0.118,
  'vwap': 169.7869,
  'label': 'Feb 8',
  'changeOverTime': 0.11637895172664998},
 {'date': '2019-02-11',
  'open': 171.05,
  'high': 171.21,
  'low': 169.25,
  'close': 169.43,
  'volume': 20993425,
  'unadjustedVolume': 20993425,
  'change': -0.98,
  'changePercent': -0.575,
  'vwap': 169.9464,
  'label': 'Feb 11',
  'changeOverTime': 0.1099588392174539},
 {'date': '2019-02-12',
  'open': 170.1,
  'high': 171,
  'low': 169.7,
  'close': 170.89,
  'volume': 22283523,
  'unadjustedVolume': 22283523,
  'change': 1.46,
  'changePercent': 0.862,
  'vwap': 170.3732,
  'label': 'Feb 12',
  'changeOverTime': 0.11952349662911335},
 {'date': '2019-02-13',
  'open': 171.39,
  'high': 172.48,
  'low': 169.92,
  'close': 170.18,
  'volume': 22490233,
  'unadjustedVolume': 22490233,
  'change': -0.71,
  'changePercent': -0.415,
  'vwap': 171.0037,
  'label': 'Feb 13',
  'changeOverTime': 0.114872190627553},
 {'date': '2019-02-14',
  'open': 169.71,
  'high': 171.2615,
  'low': 169.38,
  'close': 170.8,
  'volume': 21835747,
  'unadjustedVolume': 21835747,
  'change': 0.62,
  'changePercent': 0.364,
  'vwap': 170.6527,
  'label': 'Feb 14',
  'changeOverTime': 0.11893389445990162},
 {'date': '2019-02-15',
  'open': 171.25,
  'high': 171.7,
  'low': 169.75,
  'close': 170.42,
  'volume': 24626814,
  'unadjustedVolume': 24626814,
  'change': -0.38,
  'changePercent': -0.222,
  'vwap': 170.4848,
  'label': 'Feb 15',
  'changeOverTime': 0.11644446307878459},
 {'date': '2019-02-19',
  'open': 169.71,
  'high': 171.44,
  'low': 169.49,
  'close': 170.93,
  'volume': 18972826,
  'unadjustedVolume': 18972826,
  'change': 0.51,
  'changePercent': 0.299,
  'vwap': 170.52,
  'label': 'Feb 19',
  'changeOverTime': 0.1197855420376521},
 {'date': '2019-02-20',
  'open': 171.19,
  'high': 173.32,
  'low': 170.99,
  'close': 172.03,
  'volume': 26114362,
  'unadjustedVolume': 26114362,
  'change': 1.1,
  'changePercent': 0.644,
  'vwap': 172.2129,
  'label': 'Feb 20',
  'changeOverTime': 0.12699179077246409}]

Historical time series data is also available through the get_historical_prices method or the top-level get_historical_data and get_historical_intraday functions of stocks, which source the Historical Prices endpoint.

Daily data can be retrieved from up to 5 years before the current date, and historical data up to 3 months prior to the current date.

Daily

To obtain daily historical data, use get_historical_data.

iexfinance.stocks.get_historical_data(symbols, start=None, end=None, **kwargs)

Function to obtain historical date for a symbol or list of symbols. Return an instance of HistoricalReader

Parameters:
  • symbols (str or list) – A symbol or list of symbols
  • start (datetime.datetime, default None) – Beginning of desired date range
  • end (datetime.datetime, default None) – End of required date range
  • kwargs – Additional Request Parameters (see base class)
Returns:

Historical stock prices over date range, start to end

Return type:

list or DataFrame

If no date parameters are passed, the start date will default to 2015/1/1 and the end date will default to the current date.

In [21]: from iexfinance.stocks import get_historical_data

In [22]: from datetime import datetime

In [23]: start = datetime(2017, 2, 9)

In [24]: end = datetime(2017, 5, 24)

In [25]: f = get_historical_data('AAPL', start, end, output_format='pandas')

In [26]: f.loc["2017-02-09"]
Out[26]: 
open      1.276558e+02
high      1.284266e+02
low       1.271418e+02
close     1.284024e+02
volume    2.834986e+07
Name: 2017-02-09 00:00:00, dtype: float64

Minutely

To obtain one-minute intraday data for a given date, use get_historical_intraday. Note: this endpoint has a maximum of one symbol and a single date.

iexfinance.stocks.get_historical_intraday(symbol, date=None, **kwargs)

Function to obtain intraday one-minute pricing data for one symbol on a given date (defaults to current date)

Parameters:
  • symbol (str) – A single ticker
  • date (datetime.datetime, default current date) – Desired date for intraday retrieval, defaults to today
  • kwargs – Additional Request Parameters (see base class)
Returns:

Intraday pricing data for specified symbol on given date

Return type:

list or DataFrame

In [27]: from datetime import datetime

In [28]: from iexfinance.stocks import get_historical_intraday

In [29]: date = datetime(2018, 11, 27)

In [30]: data = get_historical_intraday("AAPL", date, output_format='pandas')

In [31]: data.head()
Out[31]: 
                     average  changeOverTime  ...       open volume
2018-11-27 09:30:00  171.706        0.000000  ...    171.675  13749
2018-11-27 09:31:00  172.151        0.002592  ...    171.490  11239
2018-11-27 09:32:00  172.419        0.004152  ...    172.620  13500
2018-11-27 09:33:00  172.646        0.005474  ...    172.490   9703
2018-11-27 09:34:00  172.599        0.005201  ...    172.730  12970

[5 rows x 20 columns]

Income Statement

Stock.get_income_statement(**kwargs)

Income Statement

Pulls income statement data. Available quarterly (4 quarters) or annually (4 years).

Reference: https://iexcloud.io/docs/api/#income-statement

Data Weighting: 1000 per symbol per period

Warning

This endpoint is only available using IEX Cloud. See Migrating to IEX Cloud for more information.

Parameters:period (str, default 'quarterly', optional) – Allows you to specify annual or quarterly income statement. Defaults to quarterly. Values should be annual or quarter

IPO Calendar

IPO Calendar was added to the Stocks endpoints in 2018. Access is provided through the get_ipo_calendar function.

iexfinance.stocks.get_ipo_calendar(period='upcoming-ipos', **kwargs)

IPO Calendar

This returns a list of upcoming or today IPOs scheduled for the current and next month. The response is split into two structures: rawData and viewData. rawData represents all available data for an IPO. viewData represents data structured for display to a user.

Reference: https://iexcloud.io/docs/api/#ipo-calendar

Data Weighting: 100 per IPO returned for upcoming-ipos, 500 returned for today-ipos

Parameters:period (str, default "upcoming-ipos", optional) – Desired period (options are “upcoming-ipos” and “today-ipos”)

There are two possible values for the period parameter, of which upcoming-ipos is the default. today-ipos is also available.

Examples

In [32]: from iexfinance.stocks import get_ipo_calendar

In [33]: get_ipo_calendar()["rawData"][0]
Out[33]: 
{'symbol': 'ACAMU',
 'companyName': 'ACAMAR PARTNERS ACQUISITION CORP.\t',
 'expectedDate': '2019-02-22',
 'leadUnderwriters': ['Deutsche Bank Securities Inc.',
  'Goldman Sachs & Co. LLC'],
 'underwriters': [],
 'companyCounsel': ['Ellenoff Grossman & Schole LLP'],
 'underwriterCounsel': ['Skadden, Arps, Slate, Meagher & Flom LLP'],
 'auditor': 'American Stock Transfer & Trust Company, LLC',
 'market': 'NASDAQ Capital',
 'cik': '0001759008',
 'address': '1450 Brickell Avenue',
 'city': 'MIAMI',
 'state': 'FL',
 'zip': '33131',
 'phone': '(786) 264-6680',
 'ceo': 'Luis Ignacio Solorzano Aizpuru',
 'employees': 4,
 'url': '',
 'status': 'Filed',
 'sharesOffered': 30000000,
 'priceLow': 10,
 'priceHigh': None,
 'offerAmount': None,
 'totalExpenses': 750000,
 'sharesOverAlloted': 4500000,
 'shareholderShares': None,
 'sharesOutstanding': 37500000,
 'lockupPeriodExpiration': '',
 'quietPeriodExpiration': '',
 'revenue': 0,
 'netIncome': -2750,
 'totalAssets': 306004,
 'totalLiabilities': 283754,
 'stockholderEquity': 22250,
 'companyDescription': 'We are a newly organized blank check company formed for the purpose of effecting 
 a merger, capital stock exchange, asset acquisition, stock purchase, 
 reorganization or similar business combination with one or more businesses, 
 which we refer to throughout this prospectus as our initial business 
 combination. We have not selected any business combination target and we have 
 not, nor has anyone on our behalf, initiated any substantive discussions, 
 directly or indirectly, with any business combination target. 
  
 We will seek to capitalize on the substantial deal sourcing, investing and 
 operating expertise of our management team to select, acquire and help operate 
 high growth potential businesses in North America or Western Europe, with a 
 focus on the consumer and retail sectors, including but not limited to 
 businesses operating in travel retail, food and beverage, luxury goods, fashion, 
 lifestyle and leisure products and services, and consumer branded products, 
 although we may pursue acquisition opportunities in other regions or sectors. 
 --- 
  
 Our executive offices are located at 1450 Brickell Avenue, Suite 2160, Miami, 
 Florida 33131 and our telephone number is (786) 264-6680.',
 'businessDescription': 'We are a newly organized blank check company formed for the purpose of effecting 
 a merger, capital stock exchange, asset acquisition, stock purchase, 
 reorganization or similar business combination with one or more businesses, 
 which we refer to throughout this prospectus as our initial business 
 combination. We have not selected any business combination target and we have 
 not, nor has anyone on our behalf, initiated any substantive discussions, 
 directly or indirectly, with any business combination target. 
  
 We will seek to capitalize on the substantial deal sourcing, investing and 
 operating expertise of our management team to select, acquire and help operate 
 high growth potential businesses in North America or Western Europe, with a 
 focus on the consumer and retail sectors, including but not limited to 
 businesses operating in travel retail, food and beverage, luxury goods, fashion, 
 lifestyle and leisure products and services, and consumer branded products, 
 although we may pursue acquisition opportunities in other regions or sectors. 
 --- 
  
 Our executive offices are located at 1450 Brickell Avenue, Suite 2160, Miami, 
 Florida 33131 and our telephone number is (786) 264-6680.',
 'useOfProceeds': 'We are offering 30,000,000 units at an offering price of $10.00 per unit. We 
 estimate that the net proceeds of this offering together with the funds we will 
 receive from the sale of the private placement warrants will be used as set 
 forth in the following table. 
  
                                                                                                                                         Option to 
                                                                                                               Without                    Purchase         
                                                                                                         Option to Purchase           Additional Units     
                                                                                                          Additional Units           Exercised in Full      
 Gross proceeds                                                                                                                                             
 Gross proceeds from units offered to public(1)                                                            $     300,000,000           $    345,000,000     
 Gross proceeds from private placement warrants offered in                                                                                                 
 the private placement                                                                                             9,000,000                  9,900,000     
 Total gross proceeds                                                                                      $     309,000,000           $    354,900,000     
 Estimated offering expenses(2)                                                                                                                             
 Underwriting commissions (2.0% of gross proceeds from units offered to public, excluding deferred                                                         
 portion)(3)                                                                                               $       6,000,000           $      6,900,000     
 Legal fees and expenses                                                                                             250,000                    250,000     
 Printing expenses                                                                                                    40,000                     40,000     
 Accounting fees and expenses                                                                                         52,000                     52,000     
 SEC/FINRA Expenses                                                                                                   94,064                     94,064     
 Travel and road show                                                                                                 50,000                     50,000     
 Directors and officers insurance premiums                                                                           125,000                    125,000     
 Nasdaq listing and filing fees                                                                                       75,000                     75,000     
 Miscellaneous expenses                                                                                               63,936                     63,936     
 Total estimated offering expenses (other than underwriting                                                                                                
 commissions)                                                                                                        750,000                    750,000     
 Proceeds after estimated offering expenses                                                                $     302,250,000           $    347,250,000     
 Held in trust account(3)                                                                                  $     300,000,000           $    345,000,000     
 % of public offering size                                                                                              100%                       100%     
 Not held in trust account                                                                                 $       2,250,000           $      2,250,000 
  
 The following table shows the use of the approximately $2,250,000 of net 
 proceeds not held in the trust account.(4) 
  
                                                                                                                    Amount           % of Total     
 Legal, accounting, due diligence, travel and other expenses in connection with any business combination(5)       $   900,000             40.0%     
 Legal and accounting fees related to regulatory reporting obligations                                                275,000              12.2     
 Payment for office space, administrative, support and due diligence and related services                             888,000              39.5     
 Nasdaq continued listing fees                                                                                         75,000               3.3     
 Working capital to cover miscellaneous expenses                                                                      112,000               5.0     
 Total                                                                                                            $ 2,250,000            100.0%  
  
 (1) Includes amounts payable to public stockholders who properly redeem their 
     shares in connection with our successful completion of our initial business 
     combination. 
   
 (2) A portion of the offering expenses have been paid from the proceeds of loans 
     from our sponsor (directly or through its affiliates) of up to $400,000 as 
     described in this prospectus. As of December 31, 2018, there was $283,754 
     outstanding under such promissory note. These loans will be repaid upon 
     completion of this offering out of the offering proceeds that has been 
     allocated for the payment of offering expenses (other than underwriting 
     commissions) not held in the trust account. In the event that offering 
     expenses are less than as set forth in this table, any such amounts will be 
     used for post-closing working capital expenses. In the event that the 
     offering expenses are more than as set forth in this table, we may fund such 
     excess with funds not held in the trust account. 
  
 (3) The underwriters have agreed to defer underwriting commissions equal to 3.5% 
     of the gross proceeds of this offering. Upon completion of our initial 
     business combination, $10,500,000, which constitutes the underwriters’ 
     deferred commissions (or up to $12,075,000 if the underwriters’ option to 
     purchase additional units is exercised in full) will be paid to the 
     underwriters from the funds held in the trust account and the remaining 
     funds, less amounts released to the trustee to pay redeeming stockholders, 
     will be released to us and can be used to pay all or a portion of the 
     purchase price of the business or businesses with which our initial business 
     combination occurs or for general corporate purposes, including payment of 
     principal or interest on indebtedness incurred in connection with our 
     initial business combination, to fund the purchases of other companies or 
     for working capital. The underwriters will not be entitled to any interest 
     accrued on the deferred underwriting discounts and commissions. 
   
 (4) These expenses are estimates only. Our actual expenditures for some or all 
     of these items may differ from the estimates set forth herein. The amount in 
     the table above does not include interest available to us from the trust 
     account. Based on current interest rates, we would expect approximately 
     $4,200,000 to be available to us annually from interest earned on the funds 
     held in the trust account; however, we can provide no assurances regarding 
     this amount. This estimate assumes an interest rate of 1.4% per annum based 
     upon current yields of securities in which the trust account may be 
     invested. 
   
 (5) Includes estimated amounts that may also be used in connection with our 
     initial business combination to fund a “no shop” provision and commitment 
     fees for financing. 
   
 The Nasdaq listing rules provide that at least 90% of the gross proceeds from 
 this offering and the sale of the private placement warrants be deposited in a 
 trust account. Of the net proceeds of this offering and the sale of the private 
 placement warrants, $300,000,000 (or $345,000,000 if the underwriters’ option to 
 purchase additional units is exercised in full), including $10,500,000 (or up to 
 $12,075,000 if the underwriters’ option to purchase additional units is 
 exercised in full) of deferred underwriting commissions, will, upon the 
 consummation of this offering, be placed in a U.S. based trust account at J.P. 
 Morgan Chase Bank, N.A., with American Stock Transfer & Trust Company acting as 
 trustee. The funds in the trust account will be invested only in U.S. government 
 treasury bills with a maturity of 180 days or less or in money market funds that 
 meet certain conditions under Rule 2a-7 under the Investment Company Act of 1940 
 and that invest only in direct U.S. government obligations. Based on current 
 interest rates, we estimate that the interest earned on the trust account will 
 be approximately $4,200,000 per year, assuming an interest rate of 1.4% per 
 year. We will not be permitted to withdraw any of the principal or interest held 
 in the trust account, except with respect to interest earned on the funds held 
 in the trust account that may be released to us to pay our taxes, if any. The 
 funds held in the trust account will not be released from the trust account 
 until the earliest of: (1) the completion of our initial business combination; 
 (2) the redemption of any public shares properly tendered in connection with a 
 stockholder vote to amend our amended and restated certificate of incorporation 
 (A) to modify the substance and timing of our obligation to provide for the 
 redemption of our public shares in connection with an initial business 
 combination or to redeem 100% of our public shares if we do not complete our 
 initial business combination within 24 months from the closing of this offering 
 or (B) with respect to any other provision relating to stockholders’ rights or 
 pre-initial business combination activity; and (3) the redemption of all of our 
 public shares if we are unable to complete our initial business combination 
 within 24 months from the closing of this offering, subject to applicable law. 
 Based on current interest rates, we expect that interest earned on the trust 
 account will be sufficient to pay taxes. 
  
 The net proceeds held in the trust account may be used as consideration to pay 
 the sellers of a target business with which we ultimately complete our initial 
 business combination. If our initial business combination is paid for using 
 equity or debt securities or not all of the funds released from the trust 
 account are used for payment of the consideration in connection with our initial 
 business combination or used for redemption of our public shares, we may apply 
 the balance of the cash released to us from the trust account for general 
 corporate purposes, including for maintenance or expansion of operations of 
 post-transaction businesses, the payment of principal or interest due on 
 indebtedness incurred in completing our initial business combination, to fund 
 the purchase of other companies or for working capital. There is no limitation 
 on our ability to raise funds privately or through loans in connection with our 
 initial business combination. 
  
 We believe that amounts not held in trust will be sufficient to pay the costs 
 and expenses to which such proceeds are allocated. This belief is based on the 
 fact that while we may begin preliminary due diligence of a target business in 
 connection with an indication of interest, we intend to undertake in-depth due 
 diligence, depending on the circumstances of the relevant prospective 
 acquisition, only after we have negotiated and signed a letter of intent or 
 other preliminary agreement that addresses the terms of a business combination. 
 However, if our estimate of the costs of undertaking in-depth due diligence and 
 negotiating a business combination is less than the actual amount necessary to 
 do so, we may be required to raise additional capital, the amount, availability 
 and cost of which is currently unascertainable. If we are required to seek 
 additional capital, we could seek such additional capital through loans or 
 additional investments from our sponsor, members of our management team or any 
 of their respective affiliates, but such persons are not under any obligation or 
 other duty to loan funds to, or invest in, us. 
  
 We will enter into an Administrative Services Agreement pursuant to which we 
 will pay an affiliate of our sponsor a total of $37,000 per month for office 
 space, administrative, support and salaries to be paid to employees of such 
 affiliate for due diligence and related services in connection with our search 
 for a target company (although no salaries or fees will be paid from the monthly 
 fee to members of our management team). Upon completion of our initial business 
 combination or our liquidation, we will cease paying these monthly fees. 
  
 Prior to the closing of this offering, our sponsor (directly or through its 
 affiliates) has agreed to loan us up to $400,000 under an unsecured promissory 
 note to be used for a portion of the expenses of this offering. As of 
 December 31, 2018, $283,754 was outstanding under such promissory note. 
 Subsequent to December 31, 2018, we borrowed an additional $75,000 under such 
 promissory note. These loans are non-interest bearing, unsecured and are due at 
 the earlier of June 30, 2019 and the closing of this offering. These loans will 
 be repaid upon completion of this offering out of the offering proceeds that has 
 been allocated for the payment of offering expenses (other than underwriting 
 commissions) not held in the trust account. 
  
 In addition, in order to finance transaction costs in connection with an 
 intended initial business combination, our sponsor, an affiliate of our sponsor 
 or our officers and directors may, but are not obligated to, loan us funds as 
 may be required. If we complete our initial business combination, we would repay 
 such loaned amounts out of the proceeds of the trust account released to us. In 
 the event that our initial business combination does not close, we may use a 
 portion of the working capital held outside the trust account to repay such 
 loaned amounts but no proceeds from our trust account would be used to repay 
 such loaned amounts. Up to $2,000,000 of such loans made to us by our sponsor, 
 an affiliate of our sponsor or our officers and directors may be convertible 
 into units at a price of $10.00 per unit at the option of the lender at the 
 time of the business combination. Such units would be identical to the units 
 sold in this offering except that the warrants underlying such units would be 
 identical to the private placement warrants issued to our sponsor. The terms of 
 such loans by our sponsor, an affiliate of our sponsor or our officers and 
 directors, if any, have not been determined and no written agreements exist with 
 respect to such loans. We do not expect to seek loans from parties other than 
 our sponsor, an affiliate of our sponsor or our officers and directors, if any, 
 as we do not believe third parties will be willing to loan such funds and 
 provide a waiver against any and all rights to seek access to funds in our trust 
 account. 
  
 If we seek stockholder approval of our initial business combination and we do 
 not conduct redemptions in connection with our initial business combination 
 pursuant to the tender offer rules, our sponsor, directors, officers, advisors 
 or any of their respective affiliates may also purchase shares in privately 
 negotiated transactions or in the open market either prior to or following the 
 completion of our initial business combination. The price per share paid in any 
 such transaction may be different than the amount per share a public stockholder 
 would receive if it elected to redeem its shares in connection with our initial 
 business combination. However, such persons have no current commitments, plans 
 or intentions to engage in such transactions and have not formulated any terms 
 or conditions for any such transactions. If they engage in such transactions, 
 they will be restricted from making any such purchases when they are in 
 possession of any material non-public information not disclosed to the seller or 
 if such purchases are prohibited by Regulation M under the Exchange Act. We do 
 not currently anticipate that such purchases, if any, would constitute a tender 
 offer subject to the tender offer rules under the Exchange Act or a 
 going-private transaction subject to the going-private rules under the Exchange 
 Act; however, if the purchasers determine at the time of any such purchases that 
 the purchases are subject to such rules, the purchasers will comply with such 
 rules. 
  
 We may not redeem our public shares in an amount that would cause our net 
 tangible assets, after payment of the deferred underwriting commissions, to be 
 less than $5,000,001 upon consummation of our initial business combination (so 
 that we do not then become subject to the SEC’s “penny stock” rules) and the 
 agreement for our initial business combination may require as a closing 
 condition that we have a minimum net worth or a certain amount of cash. If too 
 many public stockholders exercise their redemption rights so that we cannot 
 satisfy the net tangible asset requirement or any net worth or cash 
 requirements, we would not proceed with the redemption of our public shares or 
 the business combination, and instead may search for an alternate business 
 combination. 
  
 A public stockholder will be entitled to receive funds from the trust account 
 only upon the earlier to occur of: (1) the completion of our initial business 
 combination and then, only in connection with those public shares that such 
 stockholder has properly elected to redeem, subject to the limitations described 
 in this prospectus; (2) the redemption of any public shares properly tendered in 
 connection with a stockholder vote to amend our amended and restated certificate 
 of incorporation (A) to modify the substance or timing of our obligation to 
 provide for the redemption of our public shares in connection with an initial 
 business combination or to redeem 100% of our public shares if we do not 
 complete our initial business combination within 24 months from the closing of 
 this offering or (B) with respect to any other provision relating to 
 stockholders’ rights or pre-initial business combination activity; and (3) the 
 redemption of all of our public shares if we are unable to complete our initial 
 business combination within 24 months from the closing of this offering, subject 
 to applicable law. In no other circumstances will a public stockholder have any 
 right or interest of any kind to or in the trust account. 
  
 Our initial stockholders, officers and directors have entered into a letter 
 agreement with us, pursuant to which they have agreed to (1) waive their 
 redemption rights with respect to any founder shares and any public shares held 
 by them in connection with the completion of our initial business combination 
 and (2) waive their redemption rights with respect to any founder shares and 
 public shares held by them in connection with a stockholder vote to approve an 
 amendment to our amended and restated certificate of incorporation (A) to modify 
 the substance or timing of our obligation to provide for the redemption of our 
 public shares in connection with an initial business combination or to redeem 
 100% of our public shares if we have not consummated our initial business 
 combination within 24 months from the closing of this offering or (B) with 
 respect to any other provision relating to stockholders’ rights or pre-initial 
 business combination activity. In addition, our initial stockholders, officers 
 and directors have agreed to waive their rights to liquidating distributions 
 from the trust account with respect to any founder shares held by them if we 
 fail to complete our initial business combination within the prescribed time 
 frame. However, if our sponsor or any of our officers or directors acquires 
 public shares in or after this offering, they will be entitled to liquidating 
 distributions from the trust account with respect to such public shares if we 
 fail to complete our initial business combination within the prescribed time 
 frame.',
 'competition': 'In identifying, evaluating and selecting a target business for our initial 
 business combination, we may encounter intense competition from other entities 
 having a business objective similar to ours, including other blank check 
 companies, private equity groups and leveraged buyout funds, public companies 
 and operating businesses seeking strategic acquisitions. Many of these entities 
 are well established and have extensive experience identifying and effecting 
 business combinations directly or through affiliates. Moreover, many of these 
 competitors possess greater financial, technical, human and other resources than 
 us. Our ability to acquire larger target businesses will be limited by our 
 available financial resources. This inherent limitation gives others an 
 advantage in pursuing the acquisition of a target business. Furthermore, our 
 obligation to pay cash in connection with our public stockholders who exercise 
 their redemption rights may reduce the resources available to us for our initial 
 business combination and our outstanding warrants, and the future dilution they 
 potentially represent, may not be viewed favorably by certain target businesses. 
 Either of these factors may place us at a competitive disadvantage in 
 successfully negotiating an initial business combination.',
 'amount': 150000000,
 'percentOffered': '80.00'}

Key Stats

Stock.get_key_stats(**kwargs)

Reference: https://iexcloud.io/docs/api/#key-stats

Returns:Stocks Key Stats endpoint data
Return type:dict or pandas.DataFrame

List

See also

Market Movers

Largest Trades

Stock.get_largest_trades(**kwargs)

Reference: https://iexcloud.io/docs/api/#largest-trades

Returns:Stocks Largest Trades endpoint data
Return type:dict or pandas.DataFrame

Market Volume (U.S)

Market Volume returns real-time traded volume on U.S. Markets. Access is provided through the get_market_volume function.

iexfinance.stocks.get_market_volume(**kwargs)

Market Volume

This endpoint returns real time traded volume on U.S. markets.

Data Weighting: 1 per call

Warning

Data only available from 7:45am-5:15pm ET Mon-Fri. This endpoint is only available using IEX Cloud. See Migrating to IEX Cloud for more information.

Examples

from iexfinance.stocks import get_market_volume

get_market_volume()

News

Stock.get_news(**kwargs)

News

Reference: https://iexcloud.io/docs/api/#news

Data Weighting: 10 per symbol per news item returned

Parameters:range (int, default 10, optional) – Time period of news to return (in days)
Returns:Stocks News endpoint data
Return type:list or dict

OHLC

Stock.get_ohlc(**kwargs)

OHLC

Returns the official open and close for a give symbol.

Reference: https://iexcloud.io/docs/api/#ohlc

Data Weighting: 2 per symbol

Returns:Stocks OHLC endpoint data
Return type:dict or pandas.DataFrame

Open/Close Price

See also

Time Series is an alias for the OHLC endpoint

Stock.get_open_close(**kwargs)

Open/Close Price

Reference: https://iexcloud.io/docs/api/#open-close-price

Data Weighting: 2 per symbol

Notes

Open/Close Price is an alias for the OHLC endpoint, and will return the same

Returns:Stocks Open/Close (OHLC) endpoint data
Return type:list or pandas.DataFrame

Peers

Stock.get_peers(**kwargs)

Peers

Reference:https://iexcloud.io/docs/api/#peers

Data Weighting: 500 per call

Notes

Only allows JSON format (pandas not supported).

Returns:Stocks Peers endpoint data
Return type:list

Previous Day Prices

Stock.get_previous(**kwargs)

DEPRECATED: Renamed get_previous_day_prices

Price

Stock.get_price(**kwargs)

Price

Reference: https://iexcloud.io/docs/api/#price

1 per symbol

Returns:Stocks Price endpoint data
Return type:float or pandas.DataFrame

Price Target

Stock.get_price_target(**kwargs)

Price Target

Provides the latest avg, high, and low analyst price target for a symbol.

Reference: https://iexcloud.io/docs/api/#price-target

Data Weighting: 500 per symbol

Warning

This endpoint is only available using IEX Cloud. See Migrating to IEX Cloud for more information.

Returns:Latest average, high, and low price targets for a symbol
Return type:dict or pandas.DataFrame

Quote

Stock.get_quote(**kwargs)

Quote

Reference: https://iexcloud.io/docs/api/#quote

Data Weighting: 1 per quote

Returns:Stocks Quote endpoint data
Return type:dict or pandas.DataFrame

Relevant Stocks

Stock.get_relevant(**kwargs)

DEPRECATED: Renamed get_relevant_stocks

Sector Performance

Sector Performance was added to the Stocks endpoints in 2018. Access to this endpoint is provided through the get_sector_performance function.

iexfinance.stocks.get_sector_performance(**kwargs)

Sector Performance

This returns an array of each sector and performance for the current trading day. Performance is based on each sector ETF.

Reference: https://iexcloud.io/docs/api/#sector-performance

Data Weighting: 1 per sector

Returns:data – List of dictionary sector performance items
Return type:list

Examples

In [34]: from iexfinance.stocks import get_sector_performance

In [35]: get_sector_performance(output_format='pandas')
Out[35]: 
                 Materials      ...          Real Estate
lastUpdated  1550696400348      ...        1550696400361
name             Materials      ...          Real Estate
performance        0.01715      ...             -0.00628
type                sector      ...               sector

[4 rows x 11 columns]

Splits

Stock.get_splits(**kwargs)

Splits

Reference: https://iexcloud.io/docs/api/#splits

Parameters:range (str, default '1m', optional) – Time period of splits to return
Returns:Stocks Splits endpoint data
Return type:list or pandas.DataFrame

Time Series

See also

Time Series is an alias for the Chart endpoint

Stock.get_time_series(**kwargs)

Time Series

MOVED in IEX Cloud

See also

get_historical_prices

Volume by Venue

Stock.get_volume_by_venue(**kwargs)

Volume by Venue

Reference: https://iexcloud.io/docs/api/#volume-by-venue

Data Weighting: 20 per call

Returns:Stocks Volume by Venue endpoint data
Return type:list or pandas.DataFrame

Additional Methods

In addition, various additional Stock methods are provided for certain endpoints. These methods will allow retrieval of a single datapoint, such as get_open, get_company_name, etc. Field methods are displayed below the endpoint methods for which they are available (namely Quote and Key Stats).

Key Stats

Stock.get_beta()
Stock.get_short_interest()
Stock.get_short_ratio()
Stock.get_latest_eps()
Stock.get_shares_outstanding()
Stock.get_float()
Stock.get_eps_consensus()

Quote

Stock.get_company_name()
Stock.get_sector()
Stock.get_open()
Stock.get_close()
Stock.get_years_high()
Stock.get_years_low()
Stock.get_ytd_change()
Stock.get_volume()
Stock.get_market_cap()

Market Movers

The List endpoint of stocks provides information about market movers from a given trading day. iexfinance implements these market mover lists with the functions listed below. These functions return a list of quotes of the top-10 symbols in each list.

  • Gainers (stocks.get_market_gainers)
  • Losers (stocks.get_market_losers)
  • Most Active (stocks.get_market_most_active)
  • IEX Volume (stocks.get_market_iex_volume)
  • IEX Percent (stocks.get_market_iex_percent)
  • In Focus (stocks.get_market_in_focus)
In [36]: from iexfinance.stocks import get_market_gainers

In [37]: get_market_gainers()[0]
Out[37]: 
{'symbol': 'WINS',
 'companyName': 'Wins Finance Holdings Inc.',
 'primaryExchange': 'NASDAQ Capital Market',
 'sector': 'Financial Services',
 'calculationPrice': 'close',
 'open': 24,
 'openTime': 1550673000988,
 'close': 24.29,
 'closeTime': 1550696400419,
 'high': 24.25,
 'low': 23.233,
 'latestPrice': 24.29,
 'latestSource': 'Close',
 'latestTime': 'February 20, 2019',
 'latestUpdate': 1550696400419,
 'latestVolume': 1081,
 'iexRealtimePrice': 0,
 'iexRealtimeSize': 0,
 'iexLastUpdated': 0,
 'delayedPrice': 24.29,
 'delayedPriceTime': 1550696400419,
 'extendedPrice': 23.35,
 'extendedChange': -0.94,
 'extendedChangePercent': -0.0387,
 'extendedPriceTime': 1550699968660,
 'previousClose': 24.2501,
 'change': 0.0399,
 'changePercent': 0.00165,
 'iexMarketPercent': 0,
 'iexVolume': 0,
 'avgTotalVolume': 5304,
 'iexBidPrice': 0,
 'iexBidSize': 0,
 'iexAskPrice': 0,
 'iexAskSize': 0,
 'marketCap': 481856324,
 'peRatio': None,
 'week52High': 165,
 'week52Low': 20.98,
 'ytdChange': 0.061568293236495694}