patternfetch
Resúmenes compactos de criptografía y estado del mercado de trading para agentes de trading de IA: velas compactas + patrones detectados + soporte/resistencia + RSI/EMA interpretados en una sola llamada, en lugar de OHLCV sin procesar.
Documentación
patternfetch
patternfetch es una API de datos de mercado para agentes de IA que cubre acciones de EE. UU., ETFs y cripto al contado. Una sola llamada con un ticker y un marco temporal devuelve un informe de estado de mercado compacto en tokens: velas compactas, patrones de velas y gráficos detectados, niveles de soporte y resistencia, régimen de mercado e indicadores interpretados (RSI, EMA). Cada patrón detectado incluye su tasa de acierto histórica probada con backtesting y su lift frente a la línea base sin patrón del mismo mercado, para que un agente pueda distinguir un patrón que aporta información de uno que no. Seis herramientas — brief, multi, delta,
analogs, scan, capabilities — accesibles vía REST y MCP, con OAuth de un clic, facturación por crédito mediante Stripe o x402 USDC en Base, un endpoint de demostración sin clave y $3 de crédito inicial al registrarse. Datos de mercado impersonales, no asesoramiento de inversión.
Por qué es más pequeño: para BTC/USDT 4h (120 velas), un volcado OHLCV crudo son ~3,260 tokens de solo números que el modelo aún debe analizar; el análisis interpretado de patternfetch es ~1,323 tokens, ya decidido. Reprodúcelo (sin necesidad de cuenta).
- Cobertura: acciones de EE. UU. y ETFs (ajustados por splits y dividendos, retrasados/EOD, vía Yahoo), cripto al contado (en tiempo real, vía Binance).
- Marcos temporales:
1m,5m,15m,30m,1h,4h,1d,1w. - Acceso: REST en
patternfetch.com/v1/*, MCP enpatternfetch.com/mcp(Streamable HTTP), además de un puente stdio local (patternfetch-mcp).
Por qué tasas base y lift
Un detector que solo informa double_top, confidence 0.92 no le dice a un agente nada sobre si ese patrón ha significado algo alguna vez. patternfetch adjunta un bloque evidence a cada patrón detectado:
{
"name": "double_top",
"confidence": 0.92,
"evidence": {
"scope": "US stocks & ETFs",
"tf": "1d",
"band": "0.75-1.00",
"horizon": 10,
"n": 7508,
"hitRate": 0.431,
"ci95": 0.011,
"lift": {
"baseline": 0.419979,
"baselineN": 46038,
"lift": 0.011021,
"ci95": 0.012075,
"informative": false,
"reading": "indistinguishable-from-baseline"
}
}
}
hitRate es la tasa direccional bruta realizable: la fracción de ocurrencias históricas no superpuestas de ese patrón, en ese marco temporal y banda de confianza, cuyo retorno de cierre a cierre durante las siguientes horizon velas fue en la dirección esperada. La ventana hacia adelante comienza en la detección, por lo que no hay lookahead. No se modelan stops, comisiones ni slippage.
lift compara esa tasa de acierto con la línea base del mismo mercado sin patrón presente. Muchos patrones vuelven indistinguishable-from-baseline — ese es el resultado honesto, y reportarlo es el punto. Un agente puede filtrar por informative en lugar de confiar en una puntuación de confianza geométrica.
Calibración. Entre 105 categorías auditadas, 3 quedan fuera de su intervalo de confianza — menos de los ~5.3 que el azar predice en 105 comparaciones. Para acciones de EE. UU. es 0 de 60. Método y tablas completas: patternfetch.com/pattern-base-rates-study. La medición es reproducible con la herramienta de código abierto honest-signals.
Inicio rápido
Sin clave requerida — el endpoint de demostración es público:
curl -X POST https://patternfetch.com/v1/demo \
-H 'content-type: application/json' \
-d '{"ticker":"AAPL","timeframe":"1d"}'
Con una clave (autoservicio, $3 de crédito inicial):
curl -X POST https://patternfetch.com/v1/keys -d '{"email":"you@example.com"}'
curl -X POST https://patternfetch.com/v1/brief \
-H 'authorization: Bearer pf_...' \
-H 'content-type: application/json' \
-d '{"ticker":"BTC/USDT","timeframe":"4h"}'
Cliente JavaScript:
npm install patternfetch
import { Patternfetch } from 'patternfetch';
const { key } = await new Patternfetch().createKey('you@example.com');
const pf = new Patternfetch({ apiKey: key });
const brief = await pf.brief({ ticker: 'AAPL', timeframe: '1d' });
console.log(brief.analysis.nl);
// "AAPL: uptrend (strong), +0.14% last 1d, RSI 71.66 (overbought),
// bearish_engulfing (conf 1, hist 41% over 10b, lift -0.7pp vs 42% base (within noise))."
for (const p of brief.analysis.patterns) {
if (p.evidence?.lift.informative) console.log(p.name, p.evidence.hitRate, p.evidence.lift.lift);
}
Herramientas
Seis herramientas, el mismo conjunto vía MCP (patternfetch_*) y REST (POST /v1/*).
| Herramienta | Qué devuelve | Cuándo la llama un agente |
|---|---|---|
brief | Informe de estado de mercado para un ticker + marco temporal: velas compactas, patrones con tasa base y lift, soporte/resistencia, régimen, RSI/EMA, resumen en una línea. | La opción predeterminada. Necesita la imagen técnica actual de un mercado sin volcar OHLCV crudo al contexto. |
multi | Un informe breve por marco temporal (por defecto 1h, 4h, 1d) más una lectura de alineación entre marcos que detalla acuerdo o divergencia, p. ej. 1h up / 4h up / 1d down. | Quiere saber si una configuración está confirmada o contradicha entre horizontes, sin tres llamadas separadas a brief. |
delta | Solo lo que cambió desde el último informe para ese ticker + marco temporal — cambios de tendencia, nuevos patrones, cambios de estado RSI. Devuelve changed: false cuando nada material se movió. | Sondea el mismo mercado repetidamente. Llama a brief una vez, luego delta en cada sondeo posterior para mantener el costo de tokens cerca de cero. |
analogs | Ventanas históricas cuya forma se asemeja a la acción de precio actual, con la distribución completa de lo que siguió: tasa de victoria, mediana, media, mínimo, máximo y n sobre un horizonte fijo hacia adelante. | Quiere la dispersión de resultados históricos para una configuración en lugar de una estimación puntual. No es una predicción ni un backtest de estrategia. |
scan | Filtro sobre un universo curado de grandes capitalizaciones líquidas de EE. UU., ETFs de núcleo y sectoriales y pares cripto principales. Filtra por clase de activo, régimen, patrón y tasa base mínima; las filas se devuelven ordenadas por tasa base con IC del 95%. Precalculado diariamente. | Necesita encontrar candidatos en todo el mercado en lugar de analizar un ticker que ya nombró. Alimenta la lista corta en brief. |
capabilities | Activos admitidos, marcos temporales, endpoints, límites y precios. Sin entrada. | Primero, antes de confiar en cualquier suposición sobre cobertura. |
Métodos de cliente
| Método | Endpoint |
|---|---|
brief({ticker, timeframe, limit?, fields?, market?}) | POST /v1/brief |
multi({ticker, timeframes?, limit?, market?}) | POST /v1/multi |
delta({ticker, timeframe, limit?}) | POST /v1/delta |
analogs({ticker, timeframe, window?, horizon?}) | POST /v1/analogs |
scan({assetClass?, regime?, pattern?, tf?, minBaseRate?, limit?}) | POST /v1/scan |
candles({ticker, timeframe}) | POST /v1/candles |
platforms() | GET /v1/platforms |
createKey(email) | POST /v1/keys |
MCP
patternfetch es un servidor MCP remoto (Streamable HTTP) en https://patternfetch.com/mcp.
Herramientas: patternfetch_brief, patternfetch_multi, patternfetch_delta, patternfetch_analogs,
patternfetch_scan, patternfetch_capabilities.
El descubrimiento (initialize, tools/list) es gratuito — sin clave. Solo tools/call necesita autenticación.
OAuth de un clic (nada que pegar) — en Claude Code, Claude Desktop, Cursor o Smithery, añade la URL y autoriza una vez; se acuña una clave de nivel gratuito para ti:
claude mcp add --transport http patternfetch https://patternfetch.com/mcp
En claude.ai: Personalizar → Conectores → Añadir conector personalizado → https://patternfetch.com/mcp → Autorizar.
O con una clave Bearer — añade a tu configuración MCP:
{
"mcpServers": {
"patternfetch": {
"url": "https://patternfetch.com/mcp",
"headers": { "Authorization": "Bearer pf_..." }
}
}
}
Obtén una clave gratuita (pequeño crédito inicial) en https://patternfetch.com/v1/keys.
Puente stdio local
¿Prefieres un servidor stdio local (Claude Desktop, sandboxes, sin HTTP entrante)? Este paquete
incluye patternfetch-mcp, un puente stdio↔HTTP sin dependencias que expone las mismas herramientas
y reenvía llamadas a patternfetch.com:
{
"mcpServers": {
"patternfetch": {
"command": "npx",
"args": ["-y", "patternfetch-mcp"],
"env": { "PATTERNFETCH_API_KEY": "pf_..." }
}
}
}
tools/list funciona sin clave y recurre a la instantánea integrada
(mcp-tools.json) cuando el remoto no está disponible, por lo que la introspección siempre
funciona. Las llamadas a herramientas usan PATTERNFETCH_API_KEY, OAuth o x402. Sobrescribe el endpoint con
PATTERNFETCH_MCP_URL.
Actualiza la instantánea desde el servidor en vivo:
curl -s -X POST https://patternfetch.com/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Precios
$3 de crédito inicial al registrarse, al menos $0.50 de ello utilizable inmediatamente sin tarjeta. Después, paga por llamada desde el crédito, recargado vía Stripe o x402 USDC en Base. Plan Studio: $19/mes incluyendo $25 de uso.
| Llamada | Precio |
|---|---|
/v1/brief | $0.010 |
/v1/multi | $0.025 |
/v1/delta | $0.008 ($0.001 cuando nada cambió) |
/v1/candles | $0.005 |
/v1/analogs | $0.050 |
/v1/scan | $0.020 |
Cifras en vivo: GET /v1/platforms.
Legal
patternfetch proporciona datos de mercado impersonales y señales algorítmicas solo con fines informativos. NO es asesoramiento de inversión, financiero, legal o fiscal, ni una recomendación para comprar, vender o mantener cualquier valor o criptoactivo. Los resultados no están personalizados para ti. Las tasas base son frecuencias direccionales brutas sin stops, comisiones ni slippage; el rendimiento pasado y los análogos históricos no garantizan resultados futuros. Los mercados son volátiles — puedes perder todo tu capital. Haz tu propia investigación. Consulta patternfetch.com/disclaimer, /methodology y /terms.