A lightweight, easily extensible interface to a range of financial data feeds (Polygon.io, IBKR WebClient API).
You may find some examples in test/runtests.jl.
If you are interested in a NGINX proxy to IBKR WebClient (to peacefully enforce the pacing limits), take a look at a config generator make-proxy.jl.
#
MarketDataFeeds.aggregates — Function.
aggregates(source="POLYGON"; <keyword arguments>)Get aggregate bars for an instrument over a given date range in custom time window sizes from given data source.
Return a tuple of series attributes and a matrix where bars correspond to rows, respectively.
Keyword arguments generally correspond to request parameters for respective data providers.
Data Sources
:POLYGON: polygon.io REST API; requiresapiKey(POLYGON_API_KEYenvironment var by default). For keyword arguments, see polygon.io's docs:IBKR: IBKR WebClient API; for keyword arguments, see IBKR docs
#
MarketDataFeeds.aggregates_h5 — Function.
aggregates_h5(source=Val(:POLYGON); path, <keyword arguments>)Get aggregate bars for an instrument from a given data source, and save the result with associated metadata as an attributed HDF5 file.
Reduces to a call to aggregates.
Provide keyword argument path for the file name. Other keyword arguments are passed to aggregates.
#
MarketDataFeeds.sync! — Function.
sync!(paths; to=now(UTC))Update HDF5 files with aggregates in paths (a path or a vector of paths, incl. directories) up to time to.
sync!(f::HDF5.File; to=now(UTC))Update a HDF5 file with aggregates up to time to.
Pro tip: Data synchronization agents are provided in agents/aggregates-sync.
#
MarketDataFeeds.change_provider! — Function.
change_provider!(source="IBKR", paths; <keyword arguments>)Change the feed of market data stores in paths (a path or a vector of paths, incl. directories) to source. The original group bars will be replaced by a view into it. File's metadata will be updated accordingly (special care has to be taken with timespan conversion - see IBKR_PERIODS, POLYGON_PERIODS).
Reduces to _change_provider.
#
MarketDataFeeds.snapshot — Function.
snapshot(source="IBKR"; <keyword arguments>)Get instantaneous market snapshot.
Keyword arguments generally correspond to request parameters for respective data providers.
Data Sources
:IBKR: IBKR WebClient; for keyword arguments, see IBKR docs