AxonX
π§ What is AxonX?
AxonX is an agent-native harness for quantitative research. Agents develop research plugins, execute experiments, and inspect the same parameters, logs, dependencies and artifacts as researchers.
You define the question; the Agent implements it; AxonX manages execution and evidence. Use CLI, HTTP, MCP or Studio. The reference plugins adapt Microsoft Qlib's Alpha158 baseline with configurable factors and portfolio policies.
Quick start Β· Plugins Β· Case study Β· Documentation Β· Try Playground
Related MCP server: OpenFinClaw CLI
β¨ Why AxonX?
Develop with Agents: use the AxonX Skill, source tools and live Task schemas.
Keep traceable experiments: typed inputs/outputs, process identity, logs and versioned artifact references.
Inspect in Studio: Task control, workspace previews, research charts and strategy comparisons.
π° Latest Updates
0.3.0 released: supports inheritable configuration, unified Task execution, and scheduled Tasks that continue across service restarts.
Alpha158 experiments: risk factors and rank retention improved Top20 net annualized returns by +1.36 pp and +24.70 pp over the adapted baseline. See results and evidence limits.
Studio Playground: explore Tasks and charts with simulated data. Try it online.
π Quick start
This checkout is AxonX 0.3.1. Requires Python 3.12+ on macOS or Linux. Studio is an optional, independently released package.
1. Install and start
Install from pip:
pip install 'axonx[studio]'Or install the backend and Studio from source:
git clone https://github.com/FlowLLM-AI/AxonX.git
cd AxonX
pip install -e ./axonx_studio -e '.[studio]'
npm --prefix axonx_studio ci
npm --prefix axonx_studio run buildThe source install uses editable packages. Building Studio requires Node.js 22.13+ (22.x), 24.x or 26+; rebuild after frontend changes.
Then start the service:
export AXONX_SERVICE_TOKEN='replace-with-your-service-token'
axonx app --service.host 127.0.0.1Defaults: port 1024, workspace .axonx, service/CLI logs logs/. Use example.env for optional settings; CLI startup loads the nearest .env from the launch directory or its parents, preserving existing environment values. Keep this terminal open and use another with the same Python environment and token.
For custom settings, save a YAML file such as axonx.local.yaml:
extends: default
workspace_dir: .axonx
service:
host: 127.0.0.1Start it with axonx app --config ./axonx.local.yaml. Custom configs inherit the bundled service, components and Jobs only with extends: default; mappings merge, while lists and scalars replace. Installed plugins can also provide named configs. See configuration.
2. Run Demo and open Studio
axonx get_task_def --task demo
axonx exec --task demo --task-name quickstart --x 2 --y 3
axonx status --task-id 'base#demo#quickstart' --detail fullexec waits and returns business output (result=5) plus the Task exit code. Demo needs no market data or model credentials. Open http://127.0.0.1:1024/ and enter the token in Settings β Local service token.
axonx --help shows offline usage; axonx help queries the running service's Jobs. Execution settings use explicit CLI options β service get_config β built-in defaults. The CLI falls back only when the service connection is unavailable; authentication and service errors are reported. Task-specific parameters come from get_task_def.
Keep the Task ID and metadata started_at. Use different instance names to preserve experiments: same-name reruns replace current records and outputs, retaining persistent/. See Task management.
3. Develop with an Agent
For the reference research plugins, use the source checkout above (or clone the repository if you installed from pip). From the repository root, install into the execution service's Python environment:
axonx plugin install -e ./plugins/qlib_a158
axonx restart_serviceResearch plugins are installed from source. Install Alpha158 first, then factor or strategy as needed; the two extensions do not depend on each other. Restart persistent services after code changes; reinstall after dependency or entry-point changes. Wait for the service to be ready before querying definitions.
Provide the checkout, file/command tools and AxonX Skill. Install the Skill from main with GitHub CLI (--agent claude-code for Claude Code):
gh skill install FlowLLM-AI/AxonX axonx --agent codex --scope user --pin mainInstall AxonX and the research plugins as described above, then choose an access path:
External Agent: the host manages model credentials. Use CLI or Streamable HTTP MCP at
http://127.0.0.1:1024/mcpwithAuthorization: Bearer <token>. See MCP integration.Built-in Agent: set the following model environment, restart the service, and open Studio β Agent. Configure its
cwdfor the checkout; see Agent configuration.
CLAUDE_CODE_API_KEY=your-model-api-key
CLAUDE_CODE_BASE_URL=https://api.anthropic.com
CLAUDE_CODE_MODEL_NAME=your-model-nameGive the Agent a concrete objective, for example:
Read the AxonX Skill and Alpha158 implementation. Develop a separate plugin to test residual volatility and downside risk. Fix data, training settings, costs and evaluation windows; use only signal-time information. Test the code, run experiments, and report Task IDs, RankIC, net returns, drawdown and limitations. Reserve an independent confirmation window.
Prepare historical data and AXONX_TUSHARE_TOKEN before following the research workflow.
π§© From Qlib Alpha158 to research plugins
The main chain is ETL β Train β Predict β Backtest, with optional factor analysis from ETL. qlib_a158_research composes these stages; leaf Tasks can reuse compatible upstream artifacts.
Plugin | Capability |
158 price/volume features, LightGBM, factor analysis and TopN backtests | |
13 optional features; training defaults to the 158-feature baseline | |
Minimum holding periods, rank retention and replacement limits; reuses predictions |
Other research methods use the same Task and plugin contracts. The baseline adapts Qlib's data, labels, training and trading assumptions; see differences from original Qlib.
π Alpha158 improvement case
This recorded experiment adds two risk features, then applies a rank-retention policy to the factor-model predictions:
Configuration | Top20 net annualized | Max drawdown | Daily two-sided turnover |
Alpha158 baseline | 7.67% | -38.65% | 198.83% |
Risk-factor model | 9.03% | -40.69% | 199.35% |
Rank-retention strategy | 32.37% | -24.91% | 40.01% |
Training: [20150101,20230101); evaluation: 20230103β20261008 (909 market dates). Buy/sell fees: 0.05% / 0.15%. The strategy uses a 3-day minimum holding period and a 20% replacement count cap per side; initial construction is exempt.
Evidence limits: no independent confirmation window; base/factor feature_fraction differs (0.9/1.0), so results do not isolate the added factors. All backtests report incomplete_market_data, use same-close fill proxies and include a partial 2026. These results do not establish outperformance over original Qlib.
Full settings, reproduction commands and historical Task provenance.
π οΈ CLI and remote execution
Set the destination token and keep the same target for execution and observation:
export AXONX_TARGET_TOKEN='replace-with-target-token'
axonx exec --task demo --task-name remote-check --x 2 --y 3 --target node-b:1024
axonx status --task-id 'base#demo#remote-check' --detail full --target node-b:1024Replace the example address. --target uses AXONX_TARGET_TOKEN; default local calls use AXONX_SERVICE_TOKEN. Remote paths belong to the target. Deploy local plugins by build β upload β install location β clean path β restart/verify; see plugin management.
Studio uses backend-configured targets; AXONX_TARGET populates the bundled remote config and does not select a CLI destination by itself. See remote machines. Service restarts stop service-owned manual commands and preserve daemon-owned scheduled Tasks; schedules accept local axonx exec --task NAME commands. See service updates.
π Documentation
Goal | Guide |
Run research | |
Use an Agent | |
Develop plugins | |
Evaluate results | |
Operate or extend AxonX | CLI Β· Configuration Β· Architecture |
English documentation Β· δΈζζζ‘£
π¬ Contributing
Contributions to the framework, plugins, experiments and documentation are welcome. See CONTRIBUTING.md for setup and checks, or GitHub issues for bugs and proposals.
βοΈ License
This server cannot be deployed
Maintenance
Related MCP Connectors
Research-only MCP server: your AI as a quant research desk. 90 tools, no trades, no brokers.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
MCP Server for an Agent Task Marketplace
Related MCP Servers
- AlicenseBqualityDmaintenanceAn extensible framework that exposes quantitative research functions and financial data connectors, such as FRED, via an MCP server. It enables users to perform complex financial modelling, data retrieval, and autonomous research loops with built-in guardrails and pluggable components.64MIT
- FlicenseNot gradedqualityDmaintenanceEnables quant research, strategy generation, backtesting, and paper trading from natural language prompts, integrating with AI agents via an MCP server.24-
- AlicenseBqualityBmaintenanceQuantitative research MCP server that lets AI define strategies and uses MetaTrader 5's official Strategy Tester to execute backtests, managing experiments and results via tools like run_backtest, get_run, and compare_runs.18MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to run a full quant research workflow over MCP: pulling data, authoring and backtesting strategies, running statistical validation and risk checks, and recording findings for future sessions.1MIT