Image showing the hedgebands resulting around potential stock prices.

Zakamouline Optimal Delta Hedging Under Transaction Cost Constraints

Dec 11, 2022

Summary

This project implements Valeri I. Zakamouline's Optimal Hedging of Options with Transaction Costs method. It utilizes a Black-Scholes-Merton model for pricing options. Users can obtain hedgeband values at the current spot price and for a range of spot prices. The hedgebands are calculated considering proportional transaction costs and a risk aversion parameter. Interpretation involves adjusting the position delta by buying or selling shares to maintain it within the specified hedgebands, minimizing transaction costs. References include Zakamouline's work and Euan Sinclair's "Volatility Trading: 2nd Edition.

Github Repo.

The project "Zakamouline Optimal Delta Hedging" implements the methodology from "Optimal Hedging of Options with Transaction Costs" by Valeri I. Zakamouline. It incorporates a Black-Scholes-Merton (BSM) model to price options and manage hedging efficiently in the presence of transaction costs.

Graph showing hedgeband calculations

Graph illustrating the calculation of hedgebands in Zakamouline Optimal Delta Hedging.

Requirements

This implementation leverages an existing BSM model from my other repo, demonstrating the practical integration of financial models in options hedging strategies.

Usage

Users can determine hedgeband values at the current spot price and across a range of prices, factoring in transaction costs and risk aversion parameters. This functionality aids in decision-making for options hedging.

@Init Call & Put
Spot = 100
Strike = 100
DTE = 60
RFR = 5%
Volatility = 30%
call = BsmOption(False, 'C', 100, 100, 60, 0.05, sigma=0.3)
put = BsmOption(False, 'P', 100, 100, 60, 0.05, sigma=0.3)

#Init short straddle position
short_straddle = OptionPosition([call, put])

#Get hedgebands at current spot price
Position = short_straddle
Proportional transaction cost lambda where (tc = lambda * num_shares * spot) = 2%
Risk aversion parameter (higher results in tighter bands) = 1
up_band, down_band = hedgebands(short_straddle, 0.02, 1)

Interpretation

The hedgebands guide users in adjusting the position delta to minimize transaction costs. For example, if a market gap moves the position delta outside of the bands, the user must buy or sell shares to realign to the nearest hedgeband.

References

The project is based on Valeri I. Zakamouline's research and further supported by insights from Euan Sinclair's "Volatility Trading: 2nd Edition."