Your strategies.
One trading OS.
Built to preserve time for your models, with explicit risk controls and execution feedback. MorphIQ Crucible is a Rust trading runtime for independent quants. Plug in your strategy through its SDK, with market data, risk controls, and broker execution in one workflow.
Plug in your strategy
Your logic. A complete trading workflow.
Keep ownership of your models and trading rules. Bring market data through MorphIQ Feed using your provider credentials; Crucible handles risk controls and execution feedback.
The strategy interface
Context in. Intent out. Feedback back.
Receive an event and read-only trading context. Return order intents; use execution feedback to update your model.
Read the callback example and SDK contract →fn on_event(
&mut self,
ctx: &StrategyContext<'_>,
event: &Event,
) -> Vec<OrderIntent> {
match event {
Event::Market(market) => {
self.model.propose(ctx, market)
}
Event::Fill { fill, .. } => {
self.model.on_fill(fill);
vec![]
}
_ => vec![],
}
}model.propose and model.on_fill are your own strategy methods; the SDK supplies the context, events, and intent types.Broker integration
Connect your broker.
Translate execution commands into broker requests. Return acknowledgements, fills, and order updates; expose broker state for reconciliation.
After an interruption, establish whether the broker accepted a command before deciding whether it can be retried.
Explore the broker adapter contract →// Selected method signatures.
fn submit(
&mut self,
cmd: ExecutionCommand,
) -> Result<(), ExecError>;
fn poll_events(
&mut self,
) -> Vec<ExecutionEvent>;
fn command_outcome(
&mut self,
command_id: CommandId,
) -> CommandOutcome;ExchangeAdapter. Connection lifecycle, reconciliation queries, and default implementations are omitted.Measured Throughput
~100Kevents / second1.75 µsreplay event-step p99
Options replay with recorded market data, two-leg valuation, and a synchronized trading journal.
Inspect the workload, all five runs, and latency tails →MorphIQ Feed · Reader benchmark
Feed reading with integrity checks.
BLAKE3 binds checkpoints to consumed history, so a resumed reader can detect changed data.
225 ns / event
Batched checkpoints
Checkpoint every 1,024 events
436 ns / event
Checkpoint every event
Delivery plus checkpoint creation
Median amortized reader costs on warm-cache recorded data. These component measurements are separate from the replay p99 above.
Inspect the workload, recovery costs, and methodology →- Accepted dataOrder and validity
- Your computationStrategy evaluation
- Risk decisionAdmission and limits
Order dispatch follows the configured durability policy. Broker acknowledgements and fills return as execution feedback.
Direct evaluation
Strategy logic is designed to run inside Crucible’s loop through ordinary Rust calls, keeping the path from accepted input to a risk decision short.
A loop focused on compute
Blocking network calls, storage work, and waits for queue capacity belong outside strategy evaluation. Overload needs explicit behavior.
Correctness with a contract
Every number carries a responsibility.
A price feeds a decision. A fill changes a position. A balance constrains the next trade. Numerical behavior and state updates need explicit rules at each boundary.
An accounting example
A financial update must preserve a consistent ledger.
Crucible’s accounting checks exact representability for addition, subtraction, and multiplication. An unsupported result returns an error instead of silently discarding a fractional amount.
- Validate the update. Prepare and check the affected financial entries before committing them.
- Preserve state on failure. A rejected financial update leaves portfolio state unchanged.
- Stop the sequence. The runner blocks further order submission after a reduction failure, retaining the rejected event for reconciliation.
Replay and operational control
Understand the session. Handle the unexpected.
When a trade is refused, an order partially fills, or a connection drops, the trading record should help you establish what happened and what remains unresolved.
Trace a decision
Connect retained market inputs, strategy proposals, risk decisions, and execution reports. Keep the context behind a trade alongside its outcome.
Reconcile execution
An order sent is not a fill confirmed. Make acknowledgements, partial fills, cancellations, and uncertain broker outcomes explicit.
Replay with context
Reconstruct state from retained events, accepted order, configuration, and compatible code. Use that record to investigate behavior and support recovery.
Engineering at MorphIQ Labs
The work behind the platform.
Explore MorphIQ Labs' research on numerical correctness, implementation notes, and verification work. Follow the reasoning from a mathematical contract to the software that carries it.
About MorphIQ Labs →- MorphIQ Labs · Research paperResearch to Runtime: Correctness Under Adversarial Numerics →
- Numerical methods · Case studyThe Constant No Test Could Catch →
- MorphIQ Risk · VerificationInspect the numerical assurance layers →
The MorphIQ technology family
Mathematical depth. Practical purpose.
Crucible brings the MorphIQ focus on numerical correctness, performance, and inspectable results to the trading lifecycle. Explore market data, pricing, analysis, replay, and the numerical foundations for quantitative computation.
MorphIQ Feed
Your data providers. One feed interface.
Normalize market events and expose source status through a common feed interface, using your provider credentials.
Explore MorphIQ Feed →MorphIQ Risk
Pricing and risk, from contract to portfolio.
Option values, sensitivities, volatility surfaces, and portfolio exposures.
Explore MorphIQ Risk →MorphIQ Wave
Signal structure across time and scale.
Decomposition, denoising, and cross-asset coherence for market signals.
Explore MorphIQ Wave →MorphIQ Markov
Hidden states. Observable evidence.
Hidden-state modeling, filtering, smoothing, and parameter estimation for time series, with explicit convergence and numerical diagnostics.
Explore MorphIQ Markov →MorphIQ Analytics
Market context for your decisions.
Statistical modeling and deep learning for estimates of regime, direction, and relative volatility.
Explore MorphIQ Analytics →MorphIQ Replay
Explicit time. Reproducible sessions.
Deterministic clocks and replay helpers, with formally checked clock, wake, interval, and realignment laws.
Explore MorphIQ Replay →MorphIQ Numerics
A verifiable numerical foundation.
Elementary functions, reproducible random streams, and SIMD kernels with documented rounding and error bounds.
Explore MorphIQ Numerics →What would you build on Crucible?
Tell us about the strategies you want to run, the computation they demand, and the trading infrastructure you want to stop rebuilding.
hello@morphiqlabs.com