Pricing European Cryptocurrency Options Using Numerical Replication

Back to main page

Original case study background and problem formulation (SPX)

Cryptocurrency case study

Instructions for optimization with PSG Run-File, PSG MATLAB Toolbox, PSG MATLAB Subroutines, PSG R, Gurobi, and PSG Python.

PROBLEM 1: optimizationSPX

Minimizing squared error of excess/shortfall money in the hedging portfolio
——————————————————————–
Python files contain problem formulation and data for minimization problem pricing 49 day SPX calls. The displayed result is for one particular problem.  

  # of Variables # of Steps Solving Time, PC 3.60GHz (sec)
Dataset 1500 15 725.38
Environments
Python Data Solution

PROBLEM 2: optimization_btc_calls

Minimizing squared error of excess/shortfall money in the hedging portfolio
——————————————————————–
Python files contain problem formulation and data for minimization problem pricing 19 day Bitcoin calls. The displayed result is for one particular problem.  

  # of Variables # of Steps Solving Time, PC 3.60GHz (sec)
Dataset 1000 25 904.54
Environments
Python Data Solution

PROBLEM 3: optimization_btc_puts

Minimizing squared error of excess/shortfall money in the hedging portfolio
——————————————————————–
Python files contain problem formulation and data for minimization problem pricing 19 day Bitcoin puts. The displayed result is for one particular problem.  

  # of Variables # of Steps Solving Time, PC 3.60GHz (sec)
Dataset 1000 25 2102.49
Environments
Python Data Solution

PROBLEM 4: optimization_eth_calls

Minimizing squared error of excess/shortfall money in the hedging portfolio
——————————————————————–
Python files contain problem formulation and data for minimization problem pricing 19 day Ethereum calls. The displayed result is for one particular problem.  

  # of Variables # of Steps Solving Time, PC 3.60GHz (sec)
Dataset 1000 25 3603.69
Environments
Python Data Solution

PROBLEM 5: optimization_eth_puts

Minimizing squared error of excess/shortfall money in the hedging portfolio
——————————————————————–
Python files contain problem formulation and data for minimization problem pricing 19 day Ethereum puts. The displayed result is for one particular problem.  

  # of Variables # of Steps Solving Time, PC 3.60GHz (sec)
Dataset 1000 25 3907.75
Environments
Python Data Solution

CASE STUDY SUMMARY

This case study considers a regression approach to pricing European options in an incomplete market. The algorithm replicates an option by a portfolio consisting of the underlying security and a risk-free bond. We apply linear regression framework and quadratic programming with linear constraints (input = sample paths of underlying security; output = table of option prices as a function of time and price of the underlying security). We populate the model with historical prices of the underlying security (possibly massaged to the present volatility) or with Monte Carlo simulated prices. Risk neutral processes or probabilities are not needed in this framework.

 


References

• Valeriy Ryabchenko, Sergey Sarykalin, and Stan Uryasev (2004): Pricing european options by numerical replication: quadratic programming with constraints. Asia-Pacific Financial (2004) Markets 11 , no. 3, 301–333.
• Stan Uryasev, Jack Peters, and Taras Vorobets (2022): Pricing European Cryptocurrency Options using Numerical Replication. Working Paper