Skip to content

feat: add CCXTTickerDataProvider for TICKER data sources (#350)#395

Merged
MDUYN merged 2 commits into
devfrom
squad/350-add-ccxt-ticker-data-provider
Mar 18, 2026
Merged

feat: add CCXTTickerDataProvider for TICKER data sources (#350)#395
MDUYN merged 2 commits into
devfrom
squad/350-add-ccxt-ticker-data-provider

Conversation

@MDUYN
Copy link
Copy Markdown
Collaborator

@MDUYN MDUYN commented Mar 18, 2026

Summary

Adds a new CCXTTickerDataProvider that handles DataType.TICKER data sources using CCXT's fetch_ticker API. Previously, requesting ticker data would fail with "No data provider found for ticker" because only OHLCV providers existed.

Changes

  • New CCXTTickerDataProvider class in infrastructure/data_providers/ccxt.py
    • has_data(): Validates symbol exists on the exchange via CCXT
    • get_data(): Fetches real-time ticker (bid, ask, last, volume, etc.) via exchange.fetch_ticker()
    • copy(): Creates a configured instance from a DataSource
    • Backtest methods are no-ops (ticker data in backtests is derived from OHLCV by the service layer fallback)
  • Registered as default data provider alongside CCXTOHLCVDataProvider in get_default_data_providers()
  • Exported from all package __init__.py levels so users can from investing_algorithm_framework import CCXTTickerDataProvider
  • 15 unit tests with mocked CCXT calls covering all methods

Closes #350

MDUYN added 2 commits March 18, 2026 16:43
Adds a new CCXTTickerDataProvider that handles DataType.TICKER data
sources using CCXT's fetch_ticker API. This resolves the 'No data
provider found' error when strategies request ticker data.

Changes:
- New CCXTTickerDataProvider class in infrastructure/data_providers/ccxt.py
- Registered as default data provider alongside CCXTOHLCVDataProvider
- Exported from all package __init__.py levels
- 15 unit tests with mocked CCXT calls

Closes #350
Replace the CI-only skip with a fully mocked CCXT exchange so the
download test reads from local CSV data in tests/resources/test_data/ohlcv
instead of making network calls.
@MDUYN MDUYN merged commit be80c86 into dev Mar 18, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant