Fine-Tuning ETH Options Bot: Adding RSI-Based Assignment Logic

| Algo Trading | 13 seen

After two weeks of live testing and iteration, we made another meaningful upgrade to our algo trading bot

For the past 14 days, the Terramatris ETH options engine has been running continuously in production, managing short-duration ETH put strategies on Bybit.

So far, results have been encouraging: the bot has maintained a 100% win rate during the initial live testing period while automatically managing expiries, scanning new opportunities, rolling winning positions forward, and tracking performance metrics in real time.

But despite the strong early performance, one important question remained: What should the bot do when a put option expires in the money?

The Problem With Blind Assignment

Initially, the logic was simple:

  • If the option expired worthless, collect premium and open a new put.
  • If the option expired in the money, buy spot ETH equal to the option size.

While functional, this approach had an important weakness. Not every assignment is desirable.

There is a major difference between:

  • buying ETH after a sharp panic selloff,
  • and buying ETH during a slow grind lower in a weakening market structure.

The first can be an opportunity. The second can become an expensive mistake.

We wanted the bot to better distinguish between those situations.

Adding RSI-Based Assignment Logic

To improve assignment handling, we introduced RSI filtering into the lifecycle engine.

The current logic now works as follows:

If the put expires worthless:

  • The bot collects premium.
  • A new put position is opened automatically.

If the put expires in the money:

The bot now checks ETH RSI before deciding what to do next.

If RSI is below 30:

  • The market is considered oversold.
  • The bot is allowed to buy spot ETH automatically.
  • Assignment is accepted.

If RSI is above 30:

  • The bot does not buy spot automatically.
  • The system logs: “Manual roll required”

At this stage, rolling decisions are still handled manually. This conservative approach allows us to gradually test and validate the assignment management logic before granting the system full autonomous control. If the position expires above 30, the current approach is to manually roll and extend the position further out in expiry, ideally for a net credit.

Why RSI?

RSI is not used for entry timing.

The scanner itself still primarily relies on:

  • delta,
  • strike distance,
  • premium yield,
  • and liquidity conditions.

RSI is instead being used as a regime filter.

In other words: “Is this a sufficiently oversold market where accumulating spot ETH actually makes sense?”

This distinction matters.

A low-delta put can still become dangerous if volatility expands sharply near expiry. The new RSI logic is intended to reduce unnecessary spot accumulation during weaker market conditions while still allowing the system to take advantage of sharp panic-driven selloffs.

Why We Chose 4-Hour RSI

We also decided not to rely on 1-hour RSI signals.

While faster, shorter timeframes produced too much noise and too many false oversold readings.

Instead, the bot now uses:

  • 4-hour RSI,
  • 14-period calculation,
  • oversold threshold at 30.

This gives the system a broader market context and avoids reacting to random intraday volatility.

What Still Remains Manual

At the moment, the system still requires manual intervention for:

  • rolling challenged positions (if RSI is above 30)
  • strike selection adjustments,
  • long spot management,
  • and directional discretion during major volatility events.

This is intentional. We prefer incremental automation with controlled risk exposure rather than fully autonomous execution too early in development.

Future Development Ideas

Several important features are already planned for future iterations:

Automated Roll Logic

The bot will eventually:

  • detect challenged positions before expiry,
  • select safer later expiries,
  • adjust strike levels dynamically,
  • and execute rollouts automatically.

Volatility Regime Detection

Future versions may adapt behavior based on:

  • implied volatility conditions,
  • realized volatility,
  • market structure,
  • and trend persistence.

Position Sizing Logic

One of the next major upgrades will likely involve:

  • reducing put size as spot ETH exposure increases,
  • limiting cumulative assignment risk,
  • and dynamically adjusting leverage.

Assignment Probability Tracking

We are also beginning to collect internal statistics on:

  • delta at entry,
  • strike distance,
  • premium yield,
  • and assignment outcomes.

Over time, this data should help refine the model further and identify which combinations of risk and premium are most sustainable.

Final Thoughts

The interesting part about building trading infrastructure is that the strategy evolves together with the tooling itself. Not every premium opportunity is worth taking. Not every assignment is worth accepting. And not every dip should automatically be bought. The goal is no longer simply to automate options selling. The goal is to automate better judgment.