echolon
# echolon
**See what others can't.**
echolon is the library that takes a certified trading strategy from a release
bundle to a broker order. It is deliberately small.
```
panel/ the market-data snapshot format (bars, contracts, sector, QC)
score/ the SignalEngine contract every strategy implements
bundle/ hash-verified release manifests (build, verify, load)
live/ bundle runtime -> target lots -> MiniQMT orders, plus the paper
fill model, the book risk overlay and the position reconciler
```
That is the whole product. 41 Python files.
## What it is not
echolon is **not** a backtest engine, an optimiser, an indicator library, or an
agent toolkit. It used to advertise all four. On 2026-08-18 the old framework —
the Backtrader engine wrapper, the Optuna study, the 214-indicator TA-Lib
catalog, the five-component strategy system, the MCP server, the 23 in-package
agent skills, the data extractors, the per-exchange market adapters, the
slot-era live tree and the M1 book programme — was retired in one commit,
because nothing in the current framework reached any of it.
If you need that code it is not gone, it is elsewhere: tag
`checkpoint-2026-08-18-pre-echolon-retirement`, branch
`legacy/pre-retirement-2026-08-18`. See `ARCHITECTURE.md` for what remains and
why, and `CHANGELOG.md` 0.4.0 for the full removal list.
**Breaking:** `echolon` and `echolon-mcp` are no longer installed. `echolon
hello`, `echolon init`, `echolon backtest`, `claude mcp add … echolon-mcp`,
`echolon.run_backtest(...)` and every `from echolon import BacktestConfig`-style
re-export are gone. There is no compatibility shim; this is intentional.
## Install
```bash
pip install echolon
```
Five runtime dependencies: pandas, numpy, pydantic, pyarrow, structlog.
MiniQMT execution additionally needs `xtquant`, which is Windows-only and ships
with the broker terminal rather than from PyPI — the rest of the library works
without it.
## Use
Load a hash-verified bundle into a runnable strategy:
```python
from echolon.live.book.bundle_runtime import load_bundle_strategy
runtime = load_bundle_strategy("bundles/composite_daily_v1_prod_1")
runtime.strategy # SmokeStrategy, built from the manifest's constructor
runtime.engines # the SignalEngine instances the manifest pins
runtime.rebalance_rule
```
`load_bundle_strategy` recomputes every file hash before importing anything,
requires each signal module to be self-contained and to define exactly one
`SignalEngine`, checks the loaded engine's `signal_id`/`family` against the
manifest, and refuses a constructor it cannot build. Every one of those is a
hard failure with no override.
Build and verify bundles from the command line:
```bash
echolon-bundle --help # the only console script
```
Write a signal:
```python
from echolon.score import ScoreVector, SignalEngine
class MySignal(SignalEngine):
signal_id = "my_signal_v1"
family = "tsmom"
def compute(self, view) -> ScoreVector:
...
```
## Status
0.4.0. Live MiniQMT execution is the part that is shipped and used; it is what
the rest of the library exists to serve. Bring your own market data — echolon
defines the panel format and reads it, but no longer extracts it.
## Development
```bash
pip install -e ".[dev]"
pytest tests/ -q -ra
```
`-ra` is not cosmetic: a public checkout has no artifact store, so the
store-backed falsifiers skip, and a skip is indistinguishable from a pass in a
bare summary.
Licence: Apache-2.0.
TDQS
Scored across 23 tools
Each tool has a clearly distinct purpose: API introspection, parameter generation, documentation retrieval, catalog listing, scaffolding, and various validation checks. Overlap among validation tools is resolved by specific validation targets (integration, logging, protocol, parameters, etc.).
Tools follow a mostly consistent verb_noun pattern (e.g., get_doc, list_indicators, validate_strategy). Minor deviations like 'indicator_info' instead of 'get_indicator_info' and 'suggest_similar' instead of 'get_suggestions' are tolerable.
23 tools cover a comprehensive set of operations for a strategy framework: API description, parameter generation, documentation, catalog browsing, scaffolding, and multiple validation checks. The count is well-scoped for the domain.
The tool surface covers key development and validation workflows. Minor gaps exist (e.g., no tool for creating a new strategy directory or running backtests), but the core lifecycle of building and validating components is well-supported.