MesoSim v2.12 and MesoLive v1.0
Intro
We're excited to announce the dual release of MesoSim v2.12 and MesoLive v1.0. This marks a major milestone for us: we are now capable of live trading the strategies developed using MesoSim.
MesoSim and MesoLive Releases
View All TagsWe're excited to announce the dual release of MesoSim v2.12 and MesoLive v1.0. This marks a major milestone for us: we are now capable of live trading the strategies developed using MesoSim.
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.
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:
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.
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.
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.
This topic is covered by Harel Jacobson (volquant) and Kris Abdelmessih (Moontower).
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.
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).
Risk Free Interest Rates by Jacobs Levy Equity Management Center
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.
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.
HD Risk Graphs are available in our Advanced and Academia plans.
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
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.
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.
VIX, along with RUT, is available in our Advanced and Academia plans.
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.
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.
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!
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.
It’s been a while since we started working on MesoLive - the Live version of MesoSim. It’s a good time to give an update on what has been achieved so far.
Before we dive into the specifics here are the requirements driving the development:
Based on the above requirements MesoLive is not a replica or clone of any other software. It’s a new way of addressing the real pain points of options trading today.
The majority of time spent in trading is dedicated to monitoring open positions and waiting for Profit Target or Stop Loss to be hit. While brokerages offer the tools (TWS by IBKR, ThinkOrSwim, or TastyTrade’s app) which display live positions and certain risk metrics, they lack the following functionalities:
The most frequently used analytical tool for Options Trade by retail users - OptionNet Explorer (ONE) - bridges some of the gaps, but it still falls short on the following points:
Moving legs around is cumbersome:
One needs to specify trade details (such as entry price and commission) manually.
Low-resolution PnL chart on a strategy level:
Just the realized PnL is shown, but intra-trade drawdowns and quantitative metrics are missing.
Limited information on Greeks:
Therefore, people (including us) often track their trades not just in ONE, but in a tracker Excel or Google Sheets. This approach works but takes a lot of time to administer.
With MesoLive we are addressing the above pain points by
To fully address the “Limited information on Greeks” part we utilize 3D charts to display the changes in Greeks and PnL throughout the trades lifecycle. These graphs are useful to better understand the trade characteristics of position.
For open positions we show the PnL for both At Bid/Ask and at the Mark/Mid price level.
The monitoring capability of MesoLive is still a Work in Progress, but we believe it is already providing value compared to the currently existing solutions.
Some might think that once a trade plan is made the hardest part is over. While this is true, our experience shows that a lot of risk is present during execution. Sometimes it is hard to precisely follow the trade plan, due to:
These points will be addressed by MesoLive by taking MesoSim’s Job Definition and turning a backtest into a live trading job. We still believe that a full hands-off mode is risky with options trading, therefore it is not our goal to develop a fully automated system here. We might revisit this decision later.
The workflow we propose for executions (Entry / Adjustment / Exit) is as follows:
This part of MesoLive is not ready yet, but it is the next big work item in our roadmap.
We’ll take an iterative approach: Exits, Entries then finally Adjustments will be implemented.
While the three items in the heading seem distinctly related, they are actually defining our software architecture. Here is why:
Realtime data is expensive, especially for professionals and businesses.
Delayed data is unfeasible for trading, unless you do “buy and hold with monthly rebalances” type of strategy.
While it would be easy and pleasant to develop a solution using data feeds from Exchanges or Data Vendors, it would make the price of the offering unfeasible for retail.
Security is of very high priority when it comes to handling money.
Storing access keys to brokerage accounts comes with risks we wish not to take.
Additionally, the user must be in full control at all times managing their account.
Both of the points above are addressed with our model:
We’ve created an Agent application that is run by the user providing a bridge between their brokerage account, live data stream, and our system. The Agent is certified by trusted software vendors, such as Microsoft and Apple. The Agent uses secure communication channels with tamper-proof keys to bring in account and realtime data to our systems. It is resilient to network failures and uses minimal system resources. The user is in full control of running this application.
MesoLive has been undergoing private beta for some time now with IBKR accounts.
We’re onboarding customers have shown interest in small groups on a weekly basis.
Currently, IBKR TWS is the only supported platform; additional brokerages may be supported later.
We consider the Position Monitor part to be 80% ready and expect to start the execution-related tasks immediately. As MesoSim provides a rich set of tools, reaching feature parity between Sim and Live is likely to be some quarters ahead.Since the offering is fairly resource intensive it will not be free.
We are continuously improving its performance so that it can operate in a cost-effective manner. Therefore, it would be too early to put a price tag on the offering.
As MesoLive in its full form will take MesoSim Jobs to Live, it makes sense to consider it as a paid add-on to MesoSim. We might or might not release the monitoring part as a separate solution later. Execution without access to MesoSim plan is a definite no from our standpoint.
At Deltaray we are committed to providing retail traders and institutions tools that help them make informed trading decisions. As part of this initiative, we are releasing a Free API today, which provides access to some of the building blocks of MesoSim and MesoLive.
In trading, the ultimate goal is to increase your capital while minimizing the risk to an acceptable level. Measuring risk is a complicated process. Even the simplest risk metric - Max Drawdown - requires you to keep track of the highs and lows in a rolling manner. When evaluating strategy performance, it is advised to study the Risk-Adjusted Return (e.g., Sharpe or Sortino), which takes both returns and drawdowns into account.
In MesoSim and MesoLive we are using Ran Aroussi's excellent QuantStats library to calculate quantitative metrics and create portfolio analytics tearsheets.
With Q-API we are releasing the tearsheet generation and risk metrics calculation free for personal use. These functionalities are available using the following endpoints:
/quantstats/v1/tearsheet-from-json
/quantstats/v1/tearsheet-from-csv
/quantstats/v1/metrics-from-json
/quantstats/v1/metrics-from-csv
Both endpoints require the user to provide the Strategy Performance and a Benchmark Price (such as ^SPX) as time-series.
It's important to know when we can engage in a particular activity we're interested in. This holds true for trading as well; it's essential to be aware of the market's opening and closing times, including early closures.
Q-API enables the users to access this information using the /market-calendar/v1/trading-hours
endpoint. Our trading calendar's historical data dates back to 1998.
We plan to expand Q-API's functionality, including (but not limited to):
MesoSim API is currently available to institutional clients only.Therefore, Q-API does not include access to MesoSim's API.
Head to Q-API and begin using it today.You can leverage the Swagger-UI to explore and try the API.