Skip to content
New: Star-import, signal unraveling, Python 3.12 support, and more

#
polygon module

Module with PolygonData.

## PolygonData class

    PolygonData(
        wrapper,
        data,
        single_key=True,
        classes=None,
        level_name=None,
        fetch_kwargs=None,
        returned_kwargs=None,
        last_index=None,
        delisted=None,
        tz_localize=None,
        tz_convert=None,
        missing_index=None,
        missing_columns=None,
        **kwargs
    )

Data class for fetching from Polygon.

See https://github.com/polygon-io/client-python for API.

See PolygonData.fetch_symbol() for arguments.

Usage

- Set up the API key globally:

    >>> from vectorbtpro import *

    >>> vbt.PolygonData.set_custom_settings(
    ...     client_config=dict(
    ...         api_key="YOUR_KEY"
    ...     )
    ... )

- Pull stock data:

    >>> data = vbt.PolygonData.pull(
    ...     "AAPL",
    ...     start="2021-01-01",
    ...     end="2022-01-01",
    ...     timeframe="1 day"
    ... )

- Pull crypto data:

    >>> data = vbt.PolygonData.pull(
    ...     "X:BTCUSD",
    ...     start="2021-01-01",
    ...     end="2022-01-01",
    ...     timeframe="1 day"
    ... )

Superclasses

- Analyzable
- AttrResolverMixin
- BaseDataMixin
- Cacheable
- Chainable
- Comparable
- Configured
- CustomData
- Data
- DataWithFeatures
- ExtPandasIndexer
- HasSettings
- IndexingBase
- OHLCDataMixin
- PandasIndexer
- Pickleable
- PlotsBuilderMixin
- Prettified
- RemoteData
- StatsBuilderMixin
- Wrapping

Inherited members

- AttrResolverMixin.deep_getattr()
- AttrResolverMixin.post_resolve_attr()
- AttrResolverMixin.pre_resolve_attr()
- AttrResolverMixin.resolve_attr()
- AttrResolverMixin.resolve_shortcut_attr()
- BaseDataMixin.assert_has_feature()
- BaseDataMixin.assert_has_symbol()
- BaseDataMixin.get_feature()
- BaseDataMixin.get_feature_idx()
- BaseDataMixin.get_symbol()
- BaseDataMixin.get_symbol_idx()
- BaseDataMixin.has_feature()
- BaseDataMixin.has_multiple_keys()
- BaseDataMixin.has_symbol()
- BaseDataMixin.prepare_key()
- BaseDataMixin.select_features()
- BaseDataMixin.select_symbols()
- Cacheable.get_ca_setup()
- Chainable.pipe()
- Configured.copy()
- Configured.equals()
- Configured.get_writeable_attrs()
- Configured.prettify()
- Configured.resolve_merge_kwargs()
- Configured.update_config()
- CustomData.get_custom_setting()
- CustomData.get_custom_settings()
- CustomData.has_custom_setting()
- CustomData.has_custom_settings()
- CustomData.key_match()
- CustomData.resolve_custom_setting()
- CustomData.set_custom_settings()
- Data.add()
- Data.add_column()
- Data.add_feature()
- Data.add_key()
- Data.add_symbol()
- Data.align_columns()
- Data.align_data()
- Data.align_index()
- Data.build_feature_config_doc()
- Data.check_dict_type()
- Data.column_stack()
- Data.concat()
- Data.dropna()
- Data.fetch()
- Data.fetch_feature()
- Data.fix_data_dict_type()
- Data.fix_dict_types_in_kwargs()
- Data.from_csv()
- Data.from_data()
- Data.from_data_str()
- Data.from_duckdb()
- Data.from_feather()
- Data.from_hdf()
- Data.from_parquet()
- Data.from_sql()
- Data.get()
- Data.get_base_setting()
- Data.get_base_settings()
- Data.get_feature_wrapper()
- Data.get_key_wrapper()
- Data.get_keys()
- Data.get_symbol_wrapper()
- Data.has_base_setting()
- Data.has_base_settings()
- Data.has_key_dict()
- Data.indexing_func()
- Data.invert()
- Data.invert_data()
- Data.merge()
- Data.modify_state()
- Data.override_feature_config_doc()
- Data.plot()
- Data.prepare_dt()
- Data.prepare_dt_column()
- Data.prepare_dt_index()
- Data.prepare_tzaware_index()
- Data.pull()
- Data.realign()
- Data.remove()
- Data.remove_columns()
- Data.remove_features()
- Data.remove_keys()
- Data.remove_symbols()
- Data.rename()
- Data.rename_columns()
- Data.rename_features()
- Data.rename_in_dict()
- Data.rename_keys()
- Data.rename_symbols()
- Data.replace()
- Data.resample()
- Data.resolve_base_setting()
- Data.resolve_columns()
- Data.resolve_features()
- Data.resolve_key_arg()
- Data.resolve_keys()
- Data.resolve_keys_meta()
- Data.resolve_symbols()
- Data.row_stack()
- Data.run()
- Data.select()
- Data.select_classes()
- Data.select_columns()
- Data.select_delisted()
- Data.select_feature_from_dict()
- Data.select_feature_idxs()
- Data.select_feature_kwargs()
- Data.select_fetch_kwargs()
- Data.select_from_dict()
- Data.select_key_from_dict()
- Data.select_key_kwargs()
- Data.select_keys()
- Data.select_last_index()
- Data.select_returned_kwargs()
- Data.select_run_func_args()
- Data.select_run_func_kwargs()
- Data.select_symbol_from_dict()
- Data.select_symbol_idxs()
- Data.select_symbol_kwargs()
- Data.set_base_settings()
- Data.sql()
- Data.switch_class()
- Data.to_csv()
- Data.to_duckdb()
- Data.to_feather()
- Data.to_feature_oriented()
- Data.to_hdf()
- Data.to_parquet()
- Data.to_sql()
- Data.to_symbol_oriented()
- Data.transform()
- Data.try_fetch_feature()
- Data.try_fetch_symbol()
- Data.try_run()
- Data.try_update_feature()
- Data.try_update_symbol()
- Data.update()
- Data.update_classes()
- Data.update_feature()
- Data.update_fetch_kwargs()
- Data.update_returned_kwargs()
- Data.update_symbol()
- Data.use_feature_config_of()
- HasSettings.get_path_setting()
- HasSettings.get_path_settings()
- HasSettings.get_setting()
- HasSettings.get_settings()
- HasSettings.has_path_setting()
- HasSettings.has_path_settings()
- HasSettings.has_setting()
- HasSettings.has_settings()
- HasSettings.reset_settings()
- HasSettings.resolve_setting()
- HasSettings.resolve_settings_paths()
- HasSettings.set_settings()
- IndexingBase.indexing_setter_func()
- OHLCDataMixin.get_daily_log_returns()
- OHLCDataMixin.get_daily_returns()
- OHLCDataMixin.get_drawdowns()
- OHLCDataMixin.get_log_returns()
- OHLCDataMixin.get_returns()
- OHLCDataMixin.get_returns_acc()
- PandasIndexer.xs()
- Pickleable.decode_config()
- Pickleable.decode_config_node()
- Pickleable.dumps()
- Pickleable.encode_config()
- Pickleable.encode_config_node()
- Pickleable.file_exists()
- Pickleable.getsize()
- Pickleable.load()
- Pickleable.loads()
- Pickleable.resolve_file_path()
- Pickleable.save()
- PlotsBuilderMixin.build_subplots_doc()
- PlotsBuilderMixin.override_subplots_doc()
- PlotsBuilderMixin.plots()
- RemoteData.classes
- RemoteData.close
- RemoteData.cls_dir
- RemoteData.column_only_select
- RemoteData.column_type
- RemoteData.columns
- RemoteData.config
- RemoteData.daily_log_returns
- RemoteData.daily_returns
- RemoteData.data
- RemoteData.delisted
- RemoteData.dict_type
- RemoteData.drawdowns
- RemoteData.feature_classes
- RemoteData.feature_config
- RemoteData.feature_oriented
- RemoteData.feature_wrapper
- RemoteData.features
- RemoteData.fetch_kwargs
- RemoteData.freq
- RemoteData.group_select
- RemoteData.has_ohlc
- RemoteData.has_ohlcv
- RemoteData.high
- RemoteData.hlc3
- RemoteData.iloc
- RemoteData.index
- RemoteData.indexing_kwargs
- RemoteData.key_wrapper
- RemoteData.keys
- RemoteData.last_index
- RemoteData.level_name
- RemoteData.loc
- RemoteData.log_returns
- RemoteData.low
- RemoteData.missing_columns
- RemoteData.missing_index
- RemoteData.ndim
- RemoteData.ohlc
- RemoteData.ohlc4
- RemoteData.ohlcv
- RemoteData.open
- RemoteData.plots_defaults
- RemoteData.range_only_select
- RemoteData.rec_state
- RemoteData.returned_kwargs
- RemoteData.returns
- RemoteData.returns_acc
- RemoteData.self_aliases
- RemoteData.shape
- RemoteData.shape_2d
- RemoteData.single_feature
- RemoteData.single_key
- RemoteData.single_symbol
- RemoteData.stats_defaults
- RemoteData.symbol_classes
- RemoteData.symbol_oriented
- RemoteData.symbol_wrapper
- RemoteData.symbols
- RemoteData.trade_count
- RemoteData.tz_convert
- RemoteData.tz_localize
- RemoteData.volume
- RemoteData.vwap
- RemoteData.wrapper
- RemoteData.xloc
- StatsBuilderMixin.build_metrics_doc()
- StatsBuilderMixin.override_metrics_doc()
- StatsBuilderMixin.stats()
- Wrapping.regroup()
- Wrapping.resolve_column_stack_kwargs()
- Wrapping.resolve_row_stack_kwargs()
- Wrapping.resolve_self()
- Wrapping.resolve_stack_kwargs()
- Wrapping.select_col()
- Wrapping.select_col_from_obj()
- Wrapping.split()

### fetch_symbol class method

    PolygonData.fetch_symbol(
        symbol,
        client=None,
        client_config=None,
        start=None,
        end=None,
        timeframe=None,
        tz=None,
        adjusted=None,
        limit=None,
        params=None,
        delay=None,
        retries=None,
        show_progress=None,
        pbar_kwargs=None,
        silence_warnings=None
    )

Override Data.fetch_symbol() to fetch a symbol from Polygon.

Args

`symbol` :`str`

  Symbol.

  Supports the following APIs:

  - Stocks and equities
  - Currencies - symbol must have the prefix `C:`
  - Crypto - symbol must have the prefix `X:`
`client` :`polygon.rest.RESTClient`

  Client.

  See PolygonData.resolve_client().

`client_config` :`dict`

  Client config.

  See PolygonData.resolve_client().

`start` :`any`

  The start of the aggregate time window.

  See to_tzaware_datetime().

`end` :`any`

  The end of the aggregate time window.

  See to_tzaware_datetime().

`timeframe` :`str`

  Timeframe.

  Allows human-readable strings such as "15 minutes".

`tz` :`any`

  Timezone.

  See to_timezone().

`adjusted` :`str`

  Whether the results are adjusted for splits.

  By default, results are adjusted. Set this to False to get results that are NOT adjusted for splits.

`limit` :`int`

  Limits the number of base aggregates queried to create the aggregate results.

  Max 50000 and Default 5000.

`params` :`dict`
  Any additional query params.
`delay` :`float`
  Time to sleep after each request (in milliseconds).
`retries` :`int`
  The number of retries on failure to fetch data.
`show_progress` :`bool`
  Whether to show the progress bar.
`pbar_kwargs` :`dict`
  Keyword arguments passed to get_pbar().
`silence_warnings` :`bool`
  Whether to silence all warnings.

For defaults, see `custom.polygon` in data.

Note

If you're using a free plan that has an API rate limit of several requests per minute, make sure to set `delay` to a higher number, such as 12000 (which makes 5 requests per minute).

### list_symbols class method

    PolygonData.list_symbols(
        pattern=None,
        use_regex=False,
        client=None,
        client_config=None,
        **list_tickers_kwargs
    )

List all symbols.

Uses CustomData.key_match() to check each symbol against `pattern`.

For supported keyword arguments, see `polygon.RESTClient.list_tickers`.

### resolve_client class method

    PolygonData.resolve_client(
        client=None,
        **client_config
    )

Resolve the client.

If provided, must be of the type `polygon.rest.RESTClient`. Otherwise, will be created using `client_config`.

#### Cookie consent

We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.

- Google Analytics
- GitHub

Manage settings