Original case study background and problem formulation (SPX)
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