Release Notes

Version 2.8

Released on 1st of July, 2023. Blog post.


  • Complex StrikeSelector
  • New strategy: Volatility Hedged Theta Engine
  • New strategy: SuperBull by John Locke
  • RegT Margin calculation graduates to Stable


  • Use official Settlement Prices in AM and PM settled options
  • Add ExternalVars to Structure/StrikeSelector validator
  • Division by 0 in Margin Report

Version 2.8

Released on 27th of May, 2023. Blog post.


  • VIX Index Options (beta)
  • Reg-T Margin Calculation (beta)
  • Risk Graph is promoted from beta to production


  • Propagate indicator names to all ScriptEngine validators
  • Remove outdated waring about MaxDaysInTrade

Version 2.7

Released on 23rd of April, 2023. Blog post.


  • Russell 2000 (RUT) Index support
  • New adjustment type: Add Legs Adjustment
  • Extend Move Leg Adjustment with Expirations (rolling out in time)
  • Least restrictive Leg Selection Constraint:
    Enable stepping on strikes within and across positions
  • Automatically upgrade cloned jobs to contain all the new fields
  • Manually upgrade templates via 'Upgrade' action in Manage Templates


  • Do not try to close position when not all contract prices (missing data) are available
  • Exports for OptionNet Explorer with settlements contained wrong Position ID for the last settled leg

Version 2.6

Released on 1 April 2023. Blog post.

Main features

  • External Data (CSV) support
  • Extended Leg Selection Constraints to use contracts across positions

Version 2.5

Released on 19 March 2023. Blog post.

Main features

  • Crypto graduates to Stable
  • Remove Leg Adjustments
  • Multiple Adjustment support
  • Historical Volatility

Version 2.4

Released on 19 February 2023. Blog post.

Main features

  • Relative Expirations
  • Root Selector in Expirations
  • Risk Graph (beta) in JobEditor
  • Full TearSheet
  • New built-in Templates and Featured runs

Version 2.3

Released on 30 December 2022. Blog post

Main Features

  • Crypto Support of BTCUSD / ETHUSD via Deribit (Beta)
  • TradeId reporting related fixes

Version 2.2

Released on 25 November 2022. Blog post

Main Features

  • Simple Run interface
  • Mobile UI Improvements
  • Missing Data Handling related improvements
  • Ability to export over 1000 trades to OptionNet Explorer

Version 2.1

Released on 02 October 2022. Blog post

Main Features

  • Event Log Exporter
  • Strategy template for Theta Engine by David Sun
  • Fixes related to edge cases when no trades are made
  • Fix expiry in OptionNet Explorer export for non-us customers

Version 2.0

Released on 18 Sept 2022. Blog post

Main Features

  • Multiple positions in flight, aka Campaign mode
  • Indicator support
  • IV Rank & Pct of the underlying
  • Equity curve CSV export
  • And many more usability enhancements

MesoSim v2.0 contains one backward incompatible change, which is related to the Multiple Positions in Flight (aka Campaign mode) feature.

Change log

v2.0.2: MAINT: Show Max Position in flight in backtest details (#176)
            MAINT: Variable cosmetics before  Go Live with 2.0 (#177)
v2.0.1: DOC: Add help screen to Job Editor and Template Editor (#174)
v2.0.0: DOC: Points to site (#172)
            ENH: Limit the number of jobs in flight (#170)
            ENH: Add equity curve CSV export feature (#167)
            ENH: Add implied volatility variables (#166)
            FIX: Liquidate when multiple days of data are missing (#165)
            FIX: Missing data handling (#160)
            FIX: Win, Loss, and Avg DIT calculation in stats
            ENH: IV Rank and Pct calculation (#158)
            ENH: Multiple trades in flight (#156)
            ENH: Indicators (#154)

Backward incompatible changes

Previously, the (position’s) greeks were exposed using the delta, gamma, theta, vega, wvega, rho, iv variables. As MesoSim-1.x always had one request in flight, these variables represented both the position’s and account’s greeks.

With MesoSim-2.0, we are introducing multiple positions in flight, which requires us to differentiate Position and Account Greeks. The position Greeks are still tracking single or multi-legged structure's Greeks, while the account Greeks are an accumulation of all the position Greeks. For example:

 - We have two positions in flight:
          - Position #1 delta = 5
          - Position #2 delta = 7
 - Then the account greeks are the accumulation of all positions:
          - Account delta = (Position #1 delta + Position #2 delta) = 5 + 7 = 12
 - The same logic can be applied to all Greeks.

To remove ambiguity around the Greeks, we introduced prefixes to each of such variables:

In other words (using delta as an example):
delta becomes pos_delta, and the acc_delta variable is introduced.

We made the migration process automatic; therefore, the user does not need to update the previous runs stored in MesoSim.

  • acc_: Prefix for account related variables. For example: acc_delta, acc_theta
  • pos_: Prefix for the current position’s variables: E.g.: pos_delta, pos_theta
  • leg_: (Unchanged) prefix for leg related variables: E.g.: leg_LEGNAME_delta

Version 1.0

Released on 1 July 2022

Main Features

  • Backtest multi-leg Option Strategies
  • Define legs using Greeks, IV, Prices, or custom statements
  • Define entry, exit, and adjustment logic via algorithmically defined conditions
  • Test intraday strategies by leveraging 5 minutes resolution options data on SPX dating back to 2004
  • Provide Settlement for cases when the position is not liquidated at the end
  • Accurate execution modeling backed by two order fill models and slippage definition
  • Strategy performance analytics using risk metrics and visualization of NAVs and Greeks
  • Convert strategy performance via templates using various market regimes:
  • grind up, grind down, crash, and sideways
  • Export runs to OptionNet Explorer for further modeling and analysis
  • Conveniently validate strategies using various market conditions