Sim vs Live semantics
This page explains the most important behavioral differences between MesoSim backtests and MesoLive execution. Use it as the mental model for interpreting the rest of the compatibility matrix.
For a MesoSim feature-by-feature mapping (beyond Strategy Definition fields), see MesoSim Features.
Mental model
- MesoSim is a simulation engine: it executes automatically, using historical data and simulated fills.
- MesoLive is an execution platform: it evaluates rules to produce signals, but a Operator or an API Client executes (places orders, confirms fills, and applies adjustments).
Where rules run in MesoLive
In MesoLive, Strategy Definition expressions and rules are evaluated in different contexts:
| Context | What happens | Typical examples |
|---|---|---|
| Bui ld (position construction) | Resolve expirations/strikes/qty using live option chains and the ScriptEngine, then show a proposed structure. | Structure.*, StrikeSelector.*, Entry.QtyMultiplier |
| Signal evaluation (server-side periodic) | Periodically evaluate entry/exit/adjustment conditions using latest market data + position state; produce signals. | Entry.Conditions, Exit.Conditions, Adjustment.ConditionalAdjustments |
| Execution (broker) | Orders are sent/filled by the broker; position state updates from executions. | Actual fills, partial fills, retries, manual overrides |
Key consequence: compared to MesoSim, many rules are advisory rather than deterministic and automatic.
Time & scheduling differences
- Simulation time vs wall-clock: MesoSim runs on historical timestamps; MesoLive runs on current exchange time.
- Schedule resolution: schedule minutes are rounded to 5-minute increments to match MesoSim timing.
- Schedule “windowing” in live: MesoLive evaluates schedules with a small time window (5 minutes) because signal evaluation runs periodically (default: ~60 seconds).
See also: Entry → Schedule
Data & pricing differences
- Market data source: MesoLive depends on the connected Agent(s) and provider mode (e.g., IBKR/Tasty).
- Missing/stale data: if quotes/greeks are missing, expressions can fail to evaluate and the UI can show
Eval failed. - Greeks/IV semantics: values come from live snapshots; some fields may be provider-limited (for example, rho is currently always
0).
See also:
External data in live
External CSV variables are supported. The live engine loads a recent time window and refreshes periodically. You can update your CSV in Google Sheets automatically and use it in MesoSim and MesoLive.
For an example of this approach please see this free application: TradingView to Google Sheet Automation
See: External Data