A.
A. Agents are first-class
- Factor / risk / evolution agents, each with its own toolset
- Opposing stances in research debate by design
- Traceable decisions, not vibes
- Replay-able from any timestamp
Factor lab · Risk engine · Strategy evolution · Plan/Exec — every factor proposed, every strategy mutated, every order routed is logged, versioned, and reviewable. The LLM writes the code; the engineering harness signs every decision.
git clone https://github.com/mirror29/inalphaMost LLM trading stacks return a single score and a paragraph. You can't replay it, you can't audit it, and you can't disagree with it. Inalpha treats every factor, plan, and order as a versioned record — not a vibe.
A.
B.
─── A alone is just a chat wrapper. B alone is just another backtest framework. Both — that's Inalpha.
Strategy code is written once. Swap the Clock for backtest vs live; swap the Gateway for paper vs broker. Business logic stays put — divergence can only come from physical reality (slippage, latency, data precision).
Strategy code is written once. Swap the Clock for backtest vs live; swap the Gateway for paper vs broker. Business logic stays put — divergence can only come from physical reality (slippage, latency, data precision).
from inalpha_paper import BacktestEngineengine = BacktestEngine(bars=bars_2024)strategy.run(engine)from inalpha_paper import LiveEngineengine = LiveEngine(broker=ibkr)strategy.run(engine)Multi-venue feeds. Freshness-anchored. Same client across markets.
from inalpha_data import get_barsIn-memory matching, backtest engine, persistent paper trading. State is replay-able.
from inalpha_paper import run_backtestMulti-analyst LLM debate. Opposing stances. No stale numbers passed as insight.
from inalpha_research import debateDeclarative configs decide what each agent can call. Plan → approve → execute is enforced by a one-shot, TTL-bound token — the LLM never reaches the order path unsupervised. Subagents isolate risk. MCP plugs in tools without hand-rolled glue.
$ research:
allow:
- data.get_bars
- data.get_news
deny:
- paper.place_order
risk:
allow: ["*"]
require_human: ["place_order > 0.5"]hooks
Middleware runs on every tool call.
permissions
Tool access scoped per agent role.
plan-exec
Plan first, execute once, no runaway loops.
subagent
Risk and review live in isolated subagents.
MCP
Model Context Protocol native, no glue code.
Swarm
Parallel workers run grid backtests.
All markets route through one orchestrator. Add a venue, every agent gets it for free.
── Crypto / 1
── Equities / 9
── Macro / 2
── Where we are honest with you
Inalpha is alpha-stage and AGPL-3.0. No real money yet — every line is on GitHub.
git clone https://github.com/mirror29/inalpha