Improving Volatility Risk Premium with Trailing Stops


Writing options is a common and straightforward method for generating income from derivatives, often referred to as Volatility Risk Premium (VRP) harvesting

Selling put options is akin to operating an insurance business:
the option seller is rewarded with the premium (option price) in exchange for taking the risk of assignment if the market moves below the strike price at expiration.

This simple strategy can be highly profitable in bull markets, but it can result in significant losses during bear markets and sudden down moves.

Simulating Option Writing on SPX

MesoSim was created to study options trading strategies. It offers numerous built-in templates demonstrating key features as well as ready-to-use strategies. 

For simulating Option Writing, we will utilize the [SPX-ShortPut] built-in template.
The above screenshots capture the overview of two runs for different time periods:

Trailing Stops

In general

Trailing Stops are well known to equity, futures and options traders alike. The idea is simple: As the profit increases we store the highest profit achieved (high watermark) and create a stop order relative to the high watermark. This way, our stop loss will not be fixed, but it will continuously move higher as the strategy gains.

Programatically it can be described as:

  1. At entry:
    Set pnl_high_watermark to 0
  2. When current_pnl > pnl_high_watermark:
    Set pnl_high_watermark to current_pnl
  3. When current_pnl < pnl_high_watermark * x%:
    Exit the position

Implementing in MesoSim

To explore how a trailing stop could enhance a trading strategy - such as option writing-  in different market conditions, we will implement it in MesoSim. The above logic can be translated into a Job Definition as follows:

1. At entry initialize pnl_high_watermark variable to 0:

"Entry": {
  "VarDefines": {
      "pnl_high_watermark": "0"

2. Increase pnl_high_watermark when we reach a new high of pnl:

"Adjustment": {
  "ConditionalAdjustments": {
    "pos_pnl > pnl_high_watermark -- record new high watermark": {
      "UpdateVarsAdjustment": {
        "VarDefines": {
          "pnl_high_watermark": "pos_pnl"

3. Exit when the current pnl falls below the 75% of the high watermark:

"Exit": {
  "Conditions": [
    "pos_pnl < (pnl_high_watermark * 0.75) -- Exit if pnl drops 25pct from high water mark"

Trailing Stop with SPX Short Put results

Incorporating the trailing stop snippets into the Short Put template and re-running the tests produces the following results:

The above runs can be accessed in the following URLs:

Summarizing the results

When comparing the original Short Put runs with the Trailing Stop version, we can conclude that the trailing stop signifficantly improved the strategy performance in Bear market. In contrast, the results in bull market became more modest, although it remains fairly good (with a sharpe ratio around 2).


Trailing stop is a dynamic approach to increase strategy performance. It has proven to be beneficial for the simple SPX Put Writing strategy by locking in gains without sacrificing much upside potential. 

Someone interested in this approach should try different relative ranges from the high watermark to see how it affects her strategy performance.