Files
fn_registry/dev/issues/0088b-trading-market-data-capability-group.md
T

2.1 KiB

id, title, status, type, domain, scope, priority, depends, blocks, related, created, updated, tags
id title status type domain scope priority depends blocks related created updated tags
0088b Trading: capability group `market_data` pendiente feature
trading
meta
multi-app alta
2026-05-17 2026-05-17

0088b — Trading: capability group market_data

Status: pendiente Created: 2026-05-14 Type: feature Parent: 0088 Depends: 0088a Blocks: 0088g, 0088h

Problema

El registry ya tiene fetch_ohlcv_go_finance, stream_ticks_go_finance, tick_to_ohlcv_go_finance, load_ohlcv_from_duckdb_go_finance, write_ohlcv_to_parquet_go_finance — pero no estan unificadas detras de un contrato comun ni cubren multi-fuente. Hace falta un capability group market_data que agrupe adapters por fuente (binance, alphavantage, yfinance, csv local) bajo la misma firma.

Piezas

  1. Tag plano market_data aplicado a las funciones existentes que ya cubren OHLCV/ticks.
  2. Nuevas funciones impuras (una por fuente, todas siguen la misma forma de salida OHLCVFrame):
    • fetch_ohlcv_binance_py_finance (REST).
    • fetch_ohlcv_yfinance_py_finance (yfinance lib).
    • fetch_ohlcv_alphavantage_py_finance (API key via env).
    • fetch_ohlcv_csv_py_finance (local file, util para datasets snapshot).
  3. Funcion pura normalize_ohlcv_frames_py_finance que recibe frames de distintas fuentes y devuelve uno reconciliado (mismo timezone UTC, mismas columnas, ordenado por timestamp).
  4. Pipeline impuro ingest_ohlcv_multisource_py_finance que orquesta fetch_* + normalize + write a parquet en ~/vaults/market_data/raw/<source>/<symbol>/<interval>.parquet.
  5. Pagina madre docs/capabilities/market_data.md con tabla + ejemplo canonico end-to-end.

Aceptacion

  • mcp__registry__fn_search query="" tag="market_data" devuelve >= 5 funciones.
  • docs/capabilities/market_data.md enlazado desde docs/capabilities/INDEX.md.
  • Pipeline ingest_ohlcv_multisource documentado con ## Ejemplo lanzable (issue 0087).
  • Funciones cumplen reglas purity.md + ids_naming.md.

No-objetivos

  • Streaming en vivo de multiples fuentes (eso queda para el live_runner, 0088h).
  • Indicadores tecnicos (ya estan en finance/).