MesoLive Dev Update #2

Introduction

This article continues from the MesoLive Development Update #1, published on our blog in October 2023.

Since the last report, the majority of MesoSim’s functionality has been integrated into MesoLive. We feel it’s time to provide an update on the current status and outlook of the offering.

In the past 10 months, we focused primarily on trade initiation, adjustments, and exits. During this period, our private beta users tracked more than 2,000 positions, with MesoLive assisting in the opening of over 800 of them.

Monitoring Improvements

The initial version of MesoLive included a Position Monitor capable of displaying PnL, Greek, and Risk Graphs.

We built on this technology to provide strategy- and underlying-based rollups, allowing you to study and monitor risk at both the strategy and portfolio levels.


Each monitoring view is equipped with slideshow capabilities, allowing you to cycle through all your positions hands-free. This feature is especially useful when the site is displayed on a TV.

We also added a calendar-based view (Today’s view) to show both currently open trades and those scheduled to open.

Finally, we created an Event Viewer, enabling users to review the processing steps of each tracked position.

Trade Management

Entries relates to two sections in the Job Definition: Structure and Entry.
Structure defines what to enter, while Entry defines when to enter.

Structure

The Structure section can be further divided into Expirations and StrikeSelectors.
The Expiration subsection is fully supported, and the majority of StrikeSelectors are also implemented.

We selected the ones that cover 90% of use cases:
Prices, Delta, and Statement.

While MesoSim includes strike selectors for other Greeks (e.g., gamma, vega), they are largely unused, as our users prefer the Complex Strike Selector, which supports all variables, including all the Greeks.

We plan to add the Complex Strike Selector to MesoLive and retire the lesser-used ones from MesoSim. This will result in a streamlined StrikeSelector in Meso jobs.

Entries

Entry.Conditions, .VarDefines, and .AbortConditions are now fully supported. QtyMultiplier and Concurrency are currently user-controlled. When the user determines that the portfolio can support additional positions, new positions can be built and entered.

The Entry Schedule is presented in a calendar view, allowing users to initiate positions based on the timing information specified in the Job Definition.

Contract re-use (aka “stepping on strikes”) is supported for both MesoLive-initiated and externally initiated positions.

Adjustments

One of the distinguishing feature of MesoSim are Conditional Adjustments.
We’re happy to report that AddLegs, RemoveLegs, and MoveLeg adjustments are fully supported, along with their respective VarDefines.

To help time the adjustments an audio-visual Signal is issued when any of the adjustment conditions are met.

For MoveLeg and AddLegs adjustments, the old and new structures can be conveniently compared.

UpdateVarsAdjustment still needs implementation, which we plan to add over time.

Exits

In MesoSim, the position exit signal can be based on ProfitTarget, StopLoss, MaxDaysInTrade, or other, user-defined Conditions. All these options are included in MesoLive and reported to the user via the Signal.

Exit.VarDefines isn’t particularly meaningful in a live trading context, so we decided not to implement it.

ScriptEngine Vars

Most of MesoSim’s functionality is powered by the ScriptEngine and its respective variables. We have added all leg-related variables and the majority of top-level variables (such as underlying_price, underlying_iv, etc.). A small subset of top-level variables will be added before the public release.

We plan to deprecate some of the rarely used variables, (e.g.: `acc_*`).
The External Data (CSV) functionality is fully supported in Live, enabling near real-time signal processing based on your custom alphas.
As outlined above, user-defined VarDefines are implemented for Entry and Adjustments.

Operating System support

We now support all the three major Operating Systems:

  • Windows:
    Native GUI Application available at MS Store
  • Mac OS X:
    1. Native GUI Application at Apple Store (certification in progress)
    2. CLI agent (dockerized)
  • Linux:
    CLI agent (dockerized)

Scoped-out items

This section lists items available in MesoSim but not planned for support in MesoLive.

  • Indicators:
    Most of our users bring their indicators via External Data, which is also our preferred approach.
  • LegSelectionConstraint = None
    This mode cannot be supported, as brokerage clients are not allowed to maintain standing orders in both long and short directions. However, LegSelectionConstraint = UniqueInPos is supported and covers most use cases.
  • Exit.VarDefines:
    See above

Items ahead of us

  • Add the remainder of the top level variables
  • Implementation of UpdateVars Adjustment
  • Support Complex Strike Selector
  • Margin Calculations
  • Portfolio Tearsheets
  • Documentation
  • Schwab support
  • API support (Institutional Plan only)

Demo

Here is a short demonstration of the above Entry and Adjustment capabilities

MesoLive trading capabilities
MesoLive trading capabilities

Planned release date

We plan to reach General Availability with MesoLive before the end of 2024.