Skip to main content

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

marketdata_py-0.0.1.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

marketdata_py-0.0.1-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file marketdata_py-0.0.1.tar.gz.

File metadata

  • Download URL: marketdata_py-0.0.1.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

Hashes for marketdata_py-0.0.1.tar.gz
Algorithm Hash digest
SHA256 4532d93e21a3e49290cd8288259de366062379e01091908d7e9538dfa7ba3da1
MD5 faaf719bec70723b3a320f54c7c0d4ce
BLAKE2b-256 ccef8372db6771a9a340190f8a60ae727a4952e55d72cc61be9da7e407d6b9e6

See more details on using hashes here.

File details

Details for the file marketdata_py-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: marketdata_py-0.0.1-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

Hashes for marketdata_py-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5534f6bc3e399a22f70bc799d891b9157ac1ce381882d7ad8b98addaea8a9049
MD5 af4ba561f4a27315ed8a0bb4e9dbd11b
BLAKE2b-256 1af76756632ce13e4c86c6a567538c4339f466d92714ec1f7d3ae043e5eb25b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page