fad4006f60
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
54 lines
2.1 KiB
Markdown
54 lines
2.1 KiB
Markdown
---
|
|
id: "0088b"
|
|
title: "Trading: capability group `market_data`"
|
|
status: pendiente
|
|
type: feature
|
|
domain:
|
|
- trading
|
|
- meta
|
|
scope: multi-app
|
|
priority: alta
|
|
depends: []
|
|
blocks: []
|
|
related: []
|
|
created: 2026-05-17
|
|
updated: 2026-05-17
|
|
tags: []
|
|
---
|
|
# 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/).
|