Replicating Strategy

Github Repo: https://github.com/haiko-xyz/strategy-replicating (private access only)

The Replicating Strategy is the first strategy released by the Haiko team. It is designed to return market-neutral yield to depositors and offer principal protection against market volatility.

Architecture

The Replicator runs a simple market making strategy by placing two (Bid and Ask) positions around the CEX oracle price, collecting premiums on filled positions. It adjusts the spread dynamically to minimise portfolio skew and optimise execution quality.

Rebalancing occurs whenever the expected swap fees from filling an incoming trade exceeds the expected Loss Versus Rebalancing incurred on that trade.

Crucially, positions rebalancing before swaps execute. This ensures the strategy always remains market neutral and never incurs losses from crossing the spread.

The Replicating Strategy should be thought of as a highly defensive strategy that prioritises execution quality and principal preservation.

Rebalancing Gain / Loss

Regular liquidity positions are subject to Divergence Loss (or Impermanent Loss). This refers to the phenomenon whereby price changes cause the position to be increasingly weighted toward the asset that is falling in value.

With the Replicating Strategy, this is replaced by Rebalancing Gain / Loss:

  • If rebalancing gains are outweighed by losses from DL / IL, a net rebalancing loss is reported.

  • If rebalancing gains outperform losses from DL / IL, a net rebalancing gain is reported.

Either way, active rebalancing typically improves DL / IL outcomes as compared to regular positions.

Contract

Like the core AMM protocol, the Replicating Strategy is built with a singleton design. This means all Haiko markets and associated Strategy Vaults can be served from one smart contract.

Safeguards

The strategy's execution quality is highly contingent on the quality of the price oracle feed. We introduce safeguards by internalising a number of safeguards in the strategy execution logic itself.

In particular, all positions will be withdrawn and paused whenever the oracle feed deteriorates in quality, either when:

  1. A stale price quote is returned (e.g. older than 10 minutes)

  2. A non-robust price quote is returned (e.g. it achieves consensus from <3 publishers)

The oracle price feed is provided by Pragma, a Starkware-backed company that provides oracle infrastructure for Starknet.

Backtesting

Initial backtests with Uniswap V3 data shows significantly improved results relative to both static liquidity positions and actual LP performance.

If you are interested in learning more about these backtests, please reach out to a member of our team on Discord.

Last updated