Skip to main content

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:

ContextWhat happensTypical 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