MesoSim v2.11: Monitoring, ChatGPT & Margin

Intro

We are pleased to announce the release of MesoSim-v2.11. This release represents the most significant update to our codebase to date, encompassing over six months of R&D work.

New features include:

  • Backtest Position Monitor with high-accuracy Risk Graphs
  • Portfolio Margin-Like Margin calculation
  • Stabilized VIX Data
  • ChatGPT support
  • Leg Bid/Ask prices
  • Multiple fixes in the variable browser, missing data handling
  • Performance improvements

🎉 To celebrate Spring in the Northern Hemisphere we have a limited-time sale ongoing

Subscribe before 2024. 04. 15. to secure the best price available today.

Backtest Position Monitor

The Backtest Position Monitor, the first feature backported from MesoLive - our live offering - provides an accurate Risk Graph along with time series of PnL, Greeks, SPX, and VIX prices.

Accuracy

The Risk Graph Projection utilizes BQL - our proprietary extension of QuantLib - to deliver unparalleled accuracy in modeling both short- and long-dated options. We employ the Black-Scholes-Merton (BSM) model and tackle critical yet frequently overlooked challenges: the impact of weekends and business holidays and the determination of the risk-free rate.

IV over Weekend

Have you ever tried to project the payout of short-dated options that span over a weekend? You might have noticed that the Risk Graph drastically changes from Friday to Monday in traditional modeling software. This is because the implied volatility (IV) on Friday accounts for the weekend, a time when markets are closed but market-moving events can still occur. With HD mode enabled, we adjust the IVs to provide a more accurate projection in MesoSim.

As the screenshots demonstrate, OptionNet Explorer (among others) tends to underestimate the payout for the outlined scenario. When HD mode is disabled, MesoSim’s Risk Graph resembles those of lower-resolution modeling tools.

Further read:
This topic is covered by Harel Jacobson (volquant) and Kris Abdelmessih (Moontower).

Business days vs. Calendar days

The BSM Model requires the number of days until expiration to be provided. While most implementations utilize Calendar Days, it's important to note that US Index Options are tradable only on business days. To improve accuracy, we use a Business Calendar that accounts for weekends, market holidays, and early closures.

Risk Free Rate

The risk-free rate is an essential input parameter for the BSM model. While US Treasury bills (T-Bills) are commonly used as a simple proxy for the risk-free rate, more accurate results can be achieved by extracting (bootstrapping) the risk-free rate from option chains. This extraction can be performed using Box Spreads, where we establish a synthetic long and a synthetic short position at the same set of strikes within the same expirations. For European options, the payout will reflect the actual risk-free rate as implied by the option contracts.

We calculate thousands of Box Spreads to derive a stable measure for each expiration. We then apply the expiration-specific risk-free rate to project the PnL for the position in question.

Accurately determining the risk-free rate is particularly crucial for longer-dated options and has become increasingly relevant as we move away from the zero interest rate policy (ZIRP).

Further read:
Risk Free Interest Rates by Jacobs Levy Equity Management Center

Time projections

Traditional 2D risk graphs are commonly utilized to illustrate the risk profile of a position. However, due to their format, it is impractical to depict drastic changes (e.g., when a contract expires) in the projection or to demonstrate how the Greeks change over time. To overcome these limitations, we have introduced 3D graphs that display both the PnL projection and the Greeks throughout the entire lifecycle (until the last expiration) of the position.

Usage

To capture the Risk Graphs, you must enable Trace Collection through SimSettings.PositionMonitor. Once enabled, the information will be displayed in the Position Monitor tab of a completed backtest.

"SimSettings": {
                 "PositionMonitor": {
                   "TraceCollectionInterval": "Hourly"
                 }
               }

For legends and controls, please refer to our documentation.

Note: HD Risk Graphs are available in our Advanced and Academia plans.

Performance

We are proud to announce that Risk Graph generation is fast!
It can sustain a rendering performance* of 24 frames per second on modern cloud hardware, enabling you to navigate through frames with minimal to no delay.

*: for a three-legged options structure using one expiration

Margin calculation

In MesoSim-v2.8, we introduced Regulation T margin, which has now been enhanced with a model similar to the Portfolio Margin used by brokerages. We utilize the technology behind Risk Graphs to approximate Portfolio Margin requirements using User-Specified configurations (including haircut levels).

As with RegT margin, the calculations are made accessible to the user via the pos_margin variable.

Note: Margin enhancements are available in our Advanced and Academia plans.

VIX becomes Stable

We obtained VIX data from the CBOE some time ago. During the ingestion process, we noticed inconsistencies in some of the Greeks, leading us to label the VIX data as beta. After extensive discussions with the CBOE, they revised their models and provided us with an updated dataset. With the most recent update, the issues we identified have been resolved, and we are pleased to announce that the VIX data is now classified as stable in MesoSim.

Note: VIX, along with RUT, is available in our Advanced and Academia plans.

🤖  ChatGPT Support

We trained ChatGPT to know about MesoSim semantics to reduce the barrier of entry!
Head to the dedicated post to learn more about this offering or try to use it directly.

Leg’s Bid/Ask variables

We have added two variables to expose the Bid and Ask prices of the legs at any given time. These Bid/Ask prices can subsequently be utilized in all Lua fields.

By exposing the Bid/Ask prices, one can configure the Exit Conditions so that a position is exited only when both prices are present.

Acknowledgements

We would like to thank all the MesoLive and MesoSim beta testers who helped to craft the Position Monitor. We're extremely grateful for AKJ’s insights regarding the accuracy of the Black-Scholes-Merton Model!

Next Steps

We are actively working on MesoSim’s Optimizer, which will be available in the Institutional version. In addition, we plan to enhance the Documentation and Education sections of our site.

Furthermore, development of MesoLive continues as well.

Featured Articles

Recent Articles