We are pleased to announce version 2.5 of MesoSim which includes the following improvements:
Crypto graduates to Stable:
Simulation of Crypto Options (BTCUSD and ETHUSD) traded in Deribit is now fully supported. The documentation has full coverage of Crypto extensions.
See the BTCUSD-Straddle-2022 featured run to get started, or browse our strategy library for other ideas.
Remove Leg Adjustment:
It is now possible to conditionally remove a leg and adjust the structure afterward. Please check out the docs and the built-in template [SPX-RemoveLegAdjustment] for reference.
Multiple Adjustments:
You can do multiple adjustments in one simulation cycle, allowing moving complete structures leg-by-leg. For reference, see the [SPX-MultiLegAdjustment] template.
Historical volatility for the underlying: underlying_hv variable is now available, representing the 30-day historical (or realized) volatility.
Education material:
We also started to put together training material to get you started easier.
You can find the Work in Progress version of the presentation here.
Data Survey result
Thanks to everyone filling out our Data Survey.Based on your responses, we will add Russel-2000 (RUT) Index Options shortly, and later in the year, we'll add VIX as well.
Next work items
In the next cycle, we'll further improve our flexibility related to Adjustments, External Data (CSV) and will keep addressing the rough edges reported by our users.
NetZero (aka 60-40-20) is an At The Money Broken Wing Butterfly trade on SPX that Andrew Falde has devised. This trade has been explained in great detail by Mark Mosley in the Raleigh Durham Open Systematic Options Trading Strategies recording.
The options structure utilized in this trade involves a delta-neutral, positive theta, and negative vega income structure. The Broken Wing Butterfly's legs are strategically placed at deltas 60, 40, and 20 on the put side.
Select strikes having the deltas closest to 60, 40, and 20 deltas
Exit trades when
Middle leg’s delta changes by 30%
Upper leg’s delta changes by 30%
30 days to expiration is reached
Mark Mosley has incorporated an additional exit rule into the trading strategy inspired by the methods of John Locke, whereby an early exit is taken when the delta to theta ratio (delta divided by theta) reaches a threshold of 60%.
We will validate the two variants by simulating their historical performance using MesoSim. In all simulation runs, we will use Multiple Positions in Flight to avoid relying on one execution path.
As the structure definition is trivial, we will only spend time detailing the trade's exit rules.
To enable exit criteria based on delta comparison of the Upper Long and Middle Short Leg with their initial states, we will be recording the delta values of each leg at initiation and storing them in the designated variables:
Please note that we have set the MaxDaysInTrade parameter to an exceptionally large value to render it ineffective. This configuration is aimed at adhering to the original rules of the trading strategy, which mandate an exit from the trade when the legs approach 30 days until expiration. To implement the time based exit rule, we have chosen the leg_shorts_dte variable for the check, although the other two legs' respective variables (leg_upper_long_dte and leg_lower_long_dte) would be equally viable options.
Upon reviewing the Log Return graph, we can observe that the trading strategy exhibits strong performance characteristics in markets that trade sideways, which is reflected by its outstanding performance during the periods of 2015 and 2022.
The trading strategy encounters its most challenging period during the interval between two black swan events, namely the Volmageddon in February 2018 and the Covid Crash in 2020.
During the presentation, Mark Mosley introduced an additional exit rule that employs the delta-to-theta ratio as a benchmark for exiting trades early. We suspect that this additional trading rule comes from John Locke’s methodology on trading Broken Wing Butterflies.
To integrate the additional trading rule, we have made the following modifications to the strategy definition:
Entry.AbortCondition guarantees that we only establish positions that conform to the delta to theta ratio requirement
Exit.Conditions are responsible for exiting the trade when the ratio becomes unfavorable
The respective rule in the Strategy Definition:
"pos_theta ~= 0 and abs(pos_delta / pos_theta) > 0.6"
note
The ScriptEngine in MesoSim (which utilizes Lua programming language), employs the non-equality operator, denoted by ~=. Initially, we leverage this operator to verify that the pos_theta variable is non-zero, which is necessary to circumvent any division by zero issues during the computation of the delta-to-theta ratio.
This time, instead of conducting a comprehensive study on IV Rank, Underlying State, or Theta, as we did for the Boxcar trade, we will make two changes to the strategy to improve its performance.
The original rules for this trade specify the time-based exit using the "Date until Expiry" method, whereas we prefer to set the time barrier based on Days In Trade. We believe that Days In Trade is more predictable in terms of expected performance than the Date until Expiry, which can vary trade by trade. To make this change, we can set the MaxDaysInTrade variable to 30.
According to the original trade rules, legs should be chosen closest to Delta 60, 40, and 20. However, this approach may not always result in delta=0 at the initiation, which adds slight directionality to the trade. To address this issue, we will dynamically select the Lower Long leg such that the overall structure ends up at 0 delta. To accomplish this modification, we will set the target delta for the leg to pos_delta:
For further information on how delta hedging is performed, please refer to the documentation.
Furthermore, we will incorporate an extra exit criterion that will terminate the trade if it becomes overly directional during its lifecycle. Our selected thresholds to exit the position are Delta -10 and 10:
Setting the initial delta of the structure to 0 and maintaining it at around that level resulted in noticeable improvements in Sharpe ratio, CAGR, and Max Drawdown compared to both variants:
Sharpe: 1.32
CAGR: 20.1%
Max Drawdown: -29.94%
Although the trade experienced difficulties in the post-volmageddon period, we consider it a promising subject for further research as it demonstrated remarkable performance in sideways markets.
Although the recovery rate is quick, a Max Drawdown of -29.94% is still a significant loss of investment. As this drawdown happened during a black swan event (Covid crash), it is recommended to include a hedge while trading this strategy. Such a hedge can be as straightforward as buying long puts (teenies), implementing a Black Swan Hedge according to Ron Bertino's PMTT course, incorporating Brent Pedersen's findings on hedging power, or using David Sun's Bomb Shelter or Vibranium Shield.
We attempted to pinpoint the root cause of the structure's difficult period by examining its Risk Profile and analyzing various metrics, including:
Position Theta, Gamma, and Vega throughout the trade
Relative (to the underlying) and Absolute Prices of the structure and the individual legs
Unfortunately none of these metrics yielded significant insights into the reasons for the trade's underperformance during the mentioned period. Since we acknowledge that there is no silver bullet solution to trading, we accept the structure in its current state.
If you have any suggestions for improving the trade, please feel free to leave a comment. We welcome and value your input.
We have performed a simulation of a public SPX trade using MesoSim, which has shown exceptional performance in 2022. Therefore, we consider it a promising candidate for future research. We believe this trade would complement the Boxcar-NG trade well, resulting in a well-rounded portfolio.
MesoSim v3 Migration Note
This article was originally written for MesoSim v2. The examples and terminology have been updated to match the MesoSim v3 Strategy Definition format. For details, see the MesoSim v3.0 release announcement and the v2→v3 migration guide. The performance metrics, described behavior, and referenced run results reflect the original v2 behavior. If you rerun the referenced strategies on MesoSim v3, results may differ slightly due to behavioral changes in the simulator.
We are happy to report that a new release of MesoSim is landed, which extends the functionality of Expirations, pre- and post-trade Analysis with Risk Graphs and Full TearSheet and provides a handful of new Templates to get you started more quickly.
We incorporated your feedback and implemented Root / OCC Symbol Selector and Relative Expirations. In practice, you can now filter (for example) for Weekly SPX Options and elegantly define calendar spreads by specifying the second expiration based on the expiration chosen for the first.
We added the initial version of Risk Graph to JobEditor, so you can now see what you are building (without importing it to ONE). The Risk Graph is calculated and shown based on the first entry your backtest would make.
Please note that this isn't the final version, additional features, such as T+x lines and greeks are coming shortly!
We have extended analytic capabilities by including Ran Aroussi's excellent QuantStats package. You can access it by clicking the 'Full Tearsheet' tab on the backtest details page.
the old-school NetZero trade did pretty good in 2022.
We hope you enjoy this new release!
MesoSim v3 Migration Note
This article was originally written for MesoSim v2. The examples and terminology have been updated to match the MesoSim v3 Strategy Definition format. For details, see the MesoSim v3.0 release announcement and the v2→v3 migration guide. The performance metrics, described behavior, and referenced run results reflect the original v2 behavior. If you rerun the referenced strategies on MesoSim v3, results may differ slightly due to behavioral changes in the simulator.
We are releasing today the next version of our option backtesting service which adds beta support for Crypto Options traded inDeribit.
The new instruments can be accessed via the BTCUSD, ETHUSD and SOLUSD symbols. Our historical goes back until 2019. 06. 01. for BTC and ETH, while Solana is available between 2022. 05. 09. - 2022. 12. 31.
Please note that the offering isn't complete, we are still working on the following open items:
Commission to support Deribit's scheme
Data validation
UI and Template improvements
For further details, actual status of the project please reach out to the #crypto-options channel in our Slack.
We are excited to introduce our new, simplified Graphical User Interface to help our more cautious users get their feet wet.
The Simple Run page utilizes a few key parameters and allows users to start backtesting simpler strategies.
While a GUI like this is an implementation that feels more familiar to most people, it will always require huge compromises in terms of functionalities and flexibility due to its nature. For this reason, we developed the Simple Run with the features we believe provide the most user benefits:
Leg selection by DTE and Delta
Delta hedging by a simple click
The full feature-set of the Simulator remains available via the Job Editor; its custom-made, simplified Domain Specific Language is how the complete set of functionalities is made available. This includes functions that are not possible or difficult to display on a graphical interface, so you don’t have to settle for less complex strategies.
We encourage you to start playing with the Simple Run. If you made it this far in this article, you have the necessary attention span to start experimenting with advanced features.
The documentation of this new feature will be published soon; however, we were so excited about this new development we decided to release it immediately.
We are excited to see our users start playing with this shiny new toy, so we reset and increased the number of available runs for our users with free accounts.