echolon
Echolon
Фреймворк для бэктестинга, ориентированный на работу с LLM-агентами для исследования фьючерсов. Включает MCP-сервер, 22 встроенных навыка, 32 каталогизированных кода ошибок и типизированные конфигурации Pydantic — агенты вызывают структурированные инструменты вместо того, чтобы угадывать структуру API по текстовой документации. Сквозное решение для дневных фьючерсов SHFE.
Производственный движок внутри Qorka, продукта DolphinQuant для генерации стратегий с помощью ИИ. Используется для реальной торговли на SHFE каждый торговый день.
Быстрый старт
Три команды охватывают основной путь новичка:
Команда | Назначение | Время |
| Быстрая демонстрация. Загружает данные по алюминию SHFE (за последние 2 года) через akshare, создает каркас стратегии, запускает бэктест. Требуется сеть. | ~30с |
| Начало реального проекта. Загружает рыночные данные через akshare (бесплатно, без регистрации), создает каркас стратегии из шаблона, записывает маркер рабочей области. | ~1–5 мин |
| Итерация после редактирования. Переходит вверх по дереву для восстановления контекста из маркера рабочей области, пересчитывает индикаторы, запускает бэктест. Флаги не требуются. | ~5–10с |
pip install echolon
mkdir -p ~/echolon-playground && cd ~/echolon-playground
echolon hello # 30-second demoecholon hello загружает данные по алюминию примерно за 2 года, создает каркас шаблона momentum_breakout, записывает .echolon-workspace.json и запускает бэктест. Откройте ./echolon-hello/strategy/baseline/entry.py, измените параметр, затем снова запустите echolon backtest single ./echolon-hello/strategy/baseline/, чтобы увидеть, как изменится коэффициент Шарпа.
В пакет включены три шаблона — minimal, momentum_breakout, rsi_mean_reversion. echolon examples --list показывает их список; передайте --template <name> в echolon init / echolon hello, чтобы начать работу с одним из них.
Если
pip installзавершается ошибкой на Linux ARM64 / Alpine / FreeBSD, запуститеecholon doctor— он продиагностирует C-библиотеку ta-lib, единственную зависимость, которую, возможно, придется собирать из исходного кода вне стандартных платформ с готовыми колесами (Linux x86_64, macOS x86_64+arm64, Windows x86_64; Python 3.11–3.12).
Управление через вашего агента
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Затем спросите:
"Создай трендовую стратегию на медь, проведи бэктест за 2018–2024 годы."
За кулисами агент вызывает list_skills → выбирает patterns и quick_start → load_template("momentum_breakout") → list_indicators(has_lookback=True) → редактирует entry.py и exit.py → циклически вызывает validate_strategy_full(strategy_dir), пока все не пройдет успешно → запускает бэктест. Если что-то ломается, он парсит [CODE-NNN] из трассировки стека и вызывает get_error_doc(code). Ему не нужно ничего угадывать.
Среда выполнения | Настройка |
Claude Code |
|
Cursor | В |
OpenAI Codex CLI |
|
OpenAI Agents SDK (Python) |
|
LangChain / LangGraph |
|
Любой другой MCP-совместимый клиент (CrewAI, AutoGen, …) | Настройте его как stdio-сервер с |
Для Claude Code: -s user делает регистрацию доступной для всех ваших проектов (уберите это для текущего проекта); -- отделяет имя регистрации от команды запуска. После однократного запуска claude mcp list должен показать echolon как подключенный stdio-сервер. Руководство по ориентации агента — llms.txt — также размещается в корне рабочей области командой echolon init / hello, чтобы агент, заходящий в проект, нашел его без необходимости наличия пакета.
Что входит в текущую версию
Реализовано полностью (промышленный уровень, используется ежедневно):
Исследование дневных фьючерсов SHFE — загрузка данных, каталог из 214 индикаторов, выполнение через Backtrader, оптимизация Optuna TPE (одно- и многоцелевая), анализ walk-forward с оценкой готовности к развертыванию, выбор надежных испытаний на основе KMeans.
Интерфейс агента — 23 MCP-инструмента, 22 навыка, 32 кода ошибок, 3 рабочих шаблона.
Пока нет (откройте issue, если хотите ускорить разработку какой-то части):
Внутридневной бэктестинг SHFE — конвейер данных готов, движок дорабатывается.
Живая торговля через MiniQMT — чистый публичный релиз в процессе.
Бессрочные криптофьючерсы (каркас адаптера CCXT готов), фьючерсы CME, акции.
Альтернативы Optuna (без grid, без random, без поиска с байесовским бюджетом), распределенная оркестрация, Python ≤ 3.10.
До версии 1.0 — публичный API может меняться между минорными версиями. Критические изменения документируются в CHANGELOG.md.
Используйте свои данные
Если у вас уже есть необработанные XLS-файлы SHFE (скачанные с shfe.com.cn), запустите SHFEFileDayExtractor напрямую вместо использования akshare. Для других форматов (брокерский CSV, tushare, пользовательская БД) три файла должны оказаться в {workspace}/workspace/data/market_data/SHFE/{instrument}/:
Файл | Схема |
|
|
| Те же столбцы, все строки объединены и отсортированы по дате. |
|
|
Плюс в {workspace}/data/SHFE/{instrument_code}/ (обратите внимание на КОРОТКИЙ код, например al, а не aluminum):
Файл | Схема |
|
|
Echolon не выводит main_contract.csv автоматически из необработанных OHLCV — это ввод ПОЛЬЗОВАТЕЛЯ, который кодирует вашу конвенцию роллирования (правила, основанные на объеме, открытом интересе или днях до истечения срока). Для SHFE через akshare echolon init выводит его за вас; в противном случае создайте его самостоятельно и поместите в нужное место.
Информация о проекте
Apache 2.0 — см. LICENSE. Используйте свободно, в коммерческих или иных целях. Активная разработка, v0.1.2 beta. Создано и поддерживается DolphinQuant — той же командой, которая управляет Qorka на SHFE. Вопросы и pull-реквесты приветствуются на github.com/dolphinquant/echolon.
@software{echolon,
title = {Echolon: AI-native quantitative trading engine},
author = {DolphinQuant},
year = {2026},
url = {https://github.com/dolphinquant/echolon},
}Maintenance
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