Skip to main content
Glama

Echolon

PyPI Python License Status By DolphinQuant

📖 Inglés · 简体中文

Un framework de backtest nativo para agentes LLM destinado a la investigación de futuros. Incluye un servidor MCP, 22 habilidades integradas, 32 códigos de error catalogados y configuraciones Pydantic tipadas; los agentes llaman a herramientas estructuradas en lugar de adivinar las formas de la API a partir de documentación en prosa. De extremo a extremo en futuros diarios de SHFE.

Motor de producción dentro de Qorka, el producto de generación de estrategias nativo de IA de DolphinQuant. Utilizado con dinero real en SHFE cada día de negociación.

Inicio rápido

Tres comandos cubren la trayectoria natural del recién llegado:

Comando

Propósito

Tiempo

echolon hello

Demo rápida. Descarga aluminio de SHFE (últimos 2 años) vía akshare, crea el andamiaje de una estrategia y ejecuta un backtest. Requiere red.

~30s

echolon init <workspace> --market SHFE --instrument <i> --start <d> --end <d> --template <t>

Inicia un proyecto real. Descarga datos de mercado vía akshare (gratis, sin registro), crea el andamiaje de una estrategia a partir de una plantilla y escribe un marcador de espacio de trabajo.

~1–5 min

echolon backtest single <strategy_dir> [--json]

Itera después de editar. Recorre el árbol para recuperar el contexto del marcador de espacio de trabajo, recalcula indicadores y ejecuta el backtest. No se necesitan flags.

~5–10s

pip install echolon
mkdir -p ~/echolon-playground && cd ~/echolon-playground
echolon hello                  # 30-second demo

echolon hello descarga ~2 años de datos de aluminio, crea el andamiaje de la plantilla momentum_breakout, escribe .echolon-workspace.json y ejecuta el backtest. Abre ./echolon-hello/strategy/baseline/entry.py, ajusta un parámetro y luego vuelve a ejecutar con echolon backtest single ./echolon-hello/strategy/baseline/ para ver cómo cambia el Sharpe.

Se incluyen tres plantillas en el paquete: minimal, momentum_breakout, rsi_mean_reversion. echolon examples --list las muestra; pasa --template <nombre> a echolon init / echolon hello para comenzar con una.

Si pip install falla en Linux ARM64 / Alpine / FreeBSD, ejecuta echolon doctor: diagnostica la biblioteca C de ta-lib, la única dependencia que puede requerir compilación desde el código fuente fuera de las plataformas estándar de ruedas preconstruidas (Linux x86_64, macOS x86_64+arm64, Windows x86_64; Python 3.11–3.12).

Contrólalo desde tu agente

pip install echolon                                # 1. install
claude mcp add -s user echolon -- echolon-mcp      # 2. register MCP server (user-wide)
# 3. restart Claude Code to load mcp__echolon__* tools

Luego pregunta:

"Construye una estrategia de seguimiento de tendencia en cobre, haz un backtest de 2018 a 2024."

Detrás de escena, el agente llama a list_skills → elige patterns y quick_startload_template("momentum_breakout")list_indicators(has_lookback=True) → edita entry.py y exit.py → ejecuta un bucle validate_strategy_full(strategy_dir) hasta que todo pase → ejecuta el backtest. Si algo falla, analiza [CODE-NNN] del traceback y llama a get_error_doc(code). No hay ningún punto en el que tenga que adivinar.

Entorno de ejecución

Configuración

Claude Code

claude mcp add -s user echolon -- echolon-mcp

Cursor

En ~/.cursor/mcp.json añade una entrada bajo mcpServers: "echolon": {"command": "echolon-mcp", "args": []}

OpenAI Codex CLI

codex mcp add echolon -- echolon-mcp (escribe [mcp_servers.echolon] en ~/.codex/config.toml)

OpenAI Agents SDK (Python)

MCPServerStdio(name="echolon", params={"command": "echolon-mcp", "args": []})

LangChain / LangGraph

langchain-mcp-adapters: MultiServerMCPClient({"echolon": {"transport": "stdio", "command": "echolon-mcp", "args": []}})

Cualquier otro cliente compatible con MCP (CrewAI, AutoGen, …)

Configúralo como un servidor stdio con command="echolon-mcp", sin argumentos. Consulta la documentación de MCP de tu cliente para conocer la forma de la llamada.

Para Claude Code: -s user hace que el registro se aplique a todos tus proyectos (elimínalo para que sea solo para el proyecto actual); -- separa el nombre de registro del comando de lanzamiento. Después de ejecutarlo una vez, claude mcp list debería mostrar echolon como un servidor stdio conectado. La guía de orientación del agente es llms.txt, que también se coloca en la raíz del espacio de trabajo mediante echolon init / hello para que un agente que entre en el proyecto la encuentre sin necesidad del paquete.

Qué está incluido hoy

Hecho de extremo a extremo (grado de producción, ejercitado diariamente):

  • Investigación de futuros diarios de SHFE: ingesta de datos, catálogo de 214 indicadores, ejecución en Backtrader, optimización TPE de Optuna (objetivo único + multiobjetivo), análisis walk-forward con puntuación de preparación para el despliegue, selección de pruebas robustas basada en KMeans.

  • Superficie del agente: 23 herramientas MCP, 22 habilidades, 32 códigos de error, 3 plantillas de trabajo.

Aún no (abre un issue si quieres impulsar una parte):

  • Backtesting intradía de SHFE: pipeline de datos listo, fontanería del motor en proceso de consolidación.

  • Trading en vivo vía MiniQMT: lanzamiento público limpio en progreso.

  • Perpetuos de criptomonedas (andamiaje del adaptador CCXT), futuros de CME, acciones.

  • Alternativas a Optuna (sin grid, sin aleatorio, sin búsqueda de presupuesto bayesiano), orquestación distribuida, Python ≤ 3.10.

  • Pre-1.0: la API pública puede cambiar entre versiones menores. Los cambios importantes se documentan en CHANGELOG.md.

Trae tus propios datos

Si ya tienes archivos XLS sin procesar de SHFE (descargados de shfe.com.cn), ejecuta SHFEFileDayExtractor directamente en lugar de usar akshare. Para otros formatos (CSV de bróker, tushare, base de datos personalizada), tres archivos deben terminar bajo {workspace}/workspace/data/market_data/SHFE/{instrument}/:

Archivo

Esquema

sort_by_contract/{contract}.csv

contract, date, prev_close, prev_settlement, open, high, low, close, settlement, price_change, settlement_change, volume, turnover, open_interest

sort_by_date.csv

Mismas columnas, todas las filas concatenadas y ordenadas por fecha.

trading_calendar.csv

date, is_trading_day (booleano).

Además, bajo {workspace}/data/SHFE/{instrument_code}/ (ten en cuenta el código CORTO, p. ej., al no aluminum):

Archivo

Esquema

main_contract.csv

date, main_contract donde main_contract es el código del contrato con el sufijo .SF (p. ej., al2401.SF). Una fila por fecha de cambio de contrato principal.

Echolon no deriva automáticamente main_contract.csv de OHLCV sin procesar; es una entrada del USUARIO que codifica tu convención de rollover (reglas basadas en volumen, interés abierto o días hasta el vencimiento). Para SHFE vía akshare, echolon init lo deriva por ti; de lo contrario, prodúcelo tú mismo y colócalo en su lugar.

Información del proyecto

Apache 2.0: consulta LICENSE. Úsalo libremente, comercialmente o de otro modo. Desarrollo activo, v0.1.2 beta. Construido y mantenido por DolphinQuant, el mismo equipo que ejecuta Qorka en SHFE. Los issues y pull requests son bienvenidos en github.com/dolphinquant/echolon.

@software{echolon,
  title = {Echolon: AI-native quantitative trading engine},
  author = {DolphinQuant},
  year = {2026},
  url = {https://github.com/dolphinquant/echolon},
}
Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DolphinQuant/echolon'

If you have feedback or need assistance with the MCP directory API, please join our Discord server