A Python client for the marketdata.app API
Project description
MarketData API Client
This Python module provides a client for interacting with the marketdata.app API. It offers both synchronous and asynchronous methods to fetch various financial data, including stock candles, options chains, and options quotes.
Features
- Synchronous and asynchronous API clients
- Caching mechanism for efficient data retrieval
- Parallel processing for bulk data requests
- Support for various API endpoints:
- Stock candles
- Options chains
- Options quotes
- Index candles and quotes
- Market status
- Earnings data
- Stock news
Configuration
Create a file named marketdata_api.key in the credentials directory and add your MarketData API key to it.
Usage
Basic Usage
from marketdata.manager import MarketDataManager
from datetime import date
mdm = MarketDataManager()
# Fetch stock candles
candles = mdm.get_stock_candles(["AAPL", "GOOGL"], "1D", from_date=date(2023, 1, 1), to_date=date(2023, 6, 1))
# Print the results
for symbol, df in candles.items():
print(f"Candles for {symbol}:")
print(df.head())
print("\n")
Fetching Options Data
from marketdata.client_params import OptionsChainParams, OptionsQuoteParams
# Fetch options chains
chain_params = [
OptionsChainParams(underlying="AAPL"),
OptionsChainParams(underlying="GOOGL")
]
chains = mdm.get_options_chains(chain_params)
# Fetch options quotes
quote_params = [
OptionsQuoteParams(option_symbol="AAPL230616C00150000"),
OptionsQuoteParams(option_symbol="GOOGL230616P02000000")
]
quotes = mdm.get_options_quotes(quote_params)
Using BasicParams and FromToParams
The BasicParams and FromToParams classes are used to provide common parameters for API requests:
from marketdata.client_params import BasicParams, FromToParams
from datetime import date
# Basic parameters
basic_params = BasicParams(
lookup_date=date(2023, 6, 1),
dateformat="timestamp",
limit=1000
)
# Date range parameters
from_to_params = FromToParams(
from_date=date(2023, 1, 1),
to_date=date(2023, 6, 1)
)
# Use these params in API calls
candles = mdm.get_stock_candles(
["AAPL"],
"1D",
basic_params=basic_params,
from_to_params=from_to_params
)
BasicParams includes common options like date format and result limits, while FromToParams specifies date ranges for historical data queries.
Caching
The module implements caching to reduce API calls and improve performance. Cached data is stored in the ./data/cache directory.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file marketdata_py-0.0.4.tar.gz.
File metadata
- Download URL: marketdata_py-0.0.4.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de77ede421524fa5db51c58de0609225843cae6caae36e420e2ca06d00cde002
|
|
| MD5 |
94aa6528437dfc169eb598dc58f56835
|
|
| BLAKE2b-256 |
f4df56768918849addd8c46a0563f82f8ef496cc4e65de809f4ea89967b8563e
|
File details
Details for the file marketdata_py-0.0.4-py3-none-any.whl.
File metadata
- Download URL: marketdata_py-0.0.4-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a2473ddb51c3f63f0309e8aa5cb597afaad596e72ed9be5b35d4c2f42dbed3a
|
|
| MD5 |
57e8b82f5be91413cd97a5a4d114427c
|
|
| BLAKE2b-256 |
61ddbc918a198a75ee3d428df260fdb632dc401fd085863d158aa31e67565c0c
|