MarketDataFeeds.jl
A lightweight interface to a range of financial data feeds (featuring polygon.io, IBKR API).
Install / Use
/learn @thevolatilebit/MarketDataFeeds.jlREADME
MarketDataFeeds.jl
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.
Historical Market Data Retrieval
<a id='MarketDataFeeds.aggregates' href='#MarketDataFeeds.aggregates'>#</a>
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
<a id='MarketDataFeeds.aggregates_h5' href='#MarketDataFeeds.aggregates_h5'>#</a>
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.
<a id='MarketDataFeeds.sync!' href='#MarketDataFeeds.sync!'>#</a>
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.
<a id='MarketDataFeeds.change_provider!' href='#MarketDataFeeds.change_provider!'>#</a>
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.
Market Snapshots
<a id='MarketDataFeeds.snapshot' href='#MarketDataFeeds.snapshot'>#</a>
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
Related Skills
valuecell
10.2kValueCell is a community-driven, multi-agent platform for financial applications.
beanquery-mcp
43Beancount MCP Server is an experimental implementation that utilizes the Model Context Protocol (MCP) to enable AI assistants to query and analyze Beancount ledger files using Beancount Query Language (BQL) and the beanquery tool.
Payment Integration
Implement Stripe payment processing for robust, PCI-compliant payment flows including checkout, subscriptions, and webhooks.
REFERENCE
An intelligent middleware layer between crypto wallets and traditional payment systems.
