{ "cells": [ { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "# American Put Option Pricing Model\n", "\n", "**Randall Romero Aguilar, PhD**\n", "\n", "This demo is based on the original Matlab demo accompanying the Computational Economics and Finance 2001 textbook by Mario Miranda and Paul Fackler.\n", "\n", "Original (Matlab) CompEcon file: **demdp05.m**\n", "\n", "Running this file requires the Python version of CompEcon. This can be installed with pip by running\n", "\n", " !pip install compecon --upgrade\n", "\n", "Last updated: 2022-Oct-23\n", "
" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## About\n", "\n", "An American put option gives the holder the right, but not the obligation, to sell a specified quantity of a commodity at a specified strike price $K$ on or before a specified expiration period $T$. In the discrete time, continuous state Black-Scholes option pricing model, the price of the commodity follows an exogenous continuous-valued Markov process\n", "\\begin{equation}\n", " P_{t+1} = h(P_t, \\epsilon_{t+1})\n", "\\end{equation}\n", "\n", "**What is the value of an American put option in period $t$ if the commodity price is $P$?** At what critical price is it optimal to exercise the put option, and how does this critical price vary over time?\n", "\n", "This is a finite horizon, stochastic model with time $t$ measured in periods. The state variables\n", "\\begin{align}\n", " P &\\in (0,\\infty) \\\\\n", " d &\\in \\{0, 1\\}\n", "\\end{align}\n", "\n", "are the current commodity price, a continuous variable, and the exercise status of the option, a discrete variable that equals 1 if the option has been exercised previously and equals 0 otherwise. The action variable\n", "\\begin{equation}\n", " j \\in \\{0, 1\\}\n", "\\end{equation} \n", "\n", "is the exercise decision, a discrete variable that equals 1 if the option is exercised and equals 0 otherwise. The state transition function is\n", "\\begin{equation}\n", " g(P,d,j,\\epsilon) = \\left(h(P,\\epsilon), j\\right)\n", "\\end{equation}\n", "\n", "The reward function is\n", "\\begin{equation}\n", " f(P,d,j) = \\begin{cases}K − P, &d = 0, j = 1 \\\\\n", " 0, &\\text{otherwise} \\end{cases}\n", "\\end{equation} " ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "The value of an unexercised option in period $t$, given that the commodity price is $P$, satisfies the Bellman equation\n", "\\begin{equation}\n", " V_t(P,0) = \\max\\left\\{K − P, \\quad\\delta E_\\epsilon V_{t+1}\\left(h(P,\\epsilon), 0\\right)\\right\\}\n", "\\end{equation}\n", "\n", "subject to the terminal condition $V_{T+1}(P,1) = 0$. The value of a previously exercised option is zero, regardless of the price of the commodity; that is, $V_t(P,1) = 0$ for all $P$ and $t$." ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "# Preliminary tasks" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from compecon import BasisSpline, NLP, qnwnorm" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "## FORMULATION" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "In what follows, we are going to solve the problem in term of the log-price, defining $p\\equiv\\log(P)$. We assume that log-price of the commodity follows a random walk:\n", "\\begin{equation}\n", " p_{t+1} = p_t + \\epsilon_{t+1}\n", "\\end{equation}\n", "\n", "where $\\epsilon$ is a normal $(\\mu, \\sigma^2)$ shock. We discretize this distribution by using ```qnwnorm```, assuming that $\\mu=0.0001,\\quad\\sigma=0.008$ and setting up $m=15$ nodes." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [ "μ, σ = 0.0001, 0.0080\n", "m = 15\n", "[e,w] = qnwnorm(m,μ,σ**2)" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "We are going to compute the critical exercise price in terms of the time to expiration, up to an horizon of $T=300$ periods. First we allocate memory for the critical prices:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [ "T = 300\n", "pcrit = np.empty(T + 1)" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "The critical exercise price is the price at which the value of exercising the option $K-\\exp(p)$ equals the discounted expected value of keeping the option one more period $\\delta E_\\epsilon V(p + \\epsilon)$. To find it, we set it as a nonlinear rootfinding problem by using the ```NLP``` class; here we assume that the option strike price is $K=1$ and that the discount factor is $\\delta=0.9998$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [ "K = 1.0\n", "δ = 0.9998\n", "f = NLP(lambda p: K - np.exp(p) - δ * Value(p))" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "Notice that we have not defined the ```Value(p)``` function yet. This function is unknown, so we are going to approximate it with a cubic spline, setting 500 nodes between -1 and 1. Since the basis is expressed in terms of log-prices, this interval corresponds to prices between 0.3679 and 2.7183." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "Collapsed": "false" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A 1-dimension Cubic spline basis: using 500 Canonical nodes and 500 polynomials\n", "___________________________________________________________________________\n", "\tlogprice: 500 nodes in [ -1.00, 1.00]\n", "\n", "===========================================================================\n", "WARNING! Class Basis is still work in progress\n" ] } ], "source": [ "n = 500\n", "pmin = -1 # minimum log price\n", "pmax = 1 # maximum log price\n", "Value = BasisSpline(n, pmin, pmax,\n", " labels=['logprice'], l=['value'])\n", "print(Value)" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "In the last expression, by passing the option `l` with a one-element list we are telling the ```BasisSpline``` class that we a single function named \"value\". On creation, the function will be set by default to $V(p)=0$ for all values of $p$, which conveniently corresponds to the terminal condition of this problem." ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "## Finding the critical exercise prices\n", "\n", "We are going to find the prices recursively, starting form a option in the expiration date. Notice that the solution to this problem is trivial: since next-period value is zero, the exercise price is $K$. Either way, we can find it numerically by calling the ```zero``` method on the `f` object." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [ "pcrit[0] = f.zero(0.0)" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "Next, for each possible price shock, we compute next period log-price by adding the shock to current log-prices (the nodes of the Value object). Then, we use each next-period price to compute the expected value of an option with one-period to maturity (save the values in ```v```). We update the value function to reflect the new time-to-maturity and use ```broyden``` to solve for the critical value. We repeat this procedure until we reach the $T=300$ horizon." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [ "for t in range(T):\n", " v = np.zeros((1, n))\n", " for k in range(m):\n", " pnext = Value.nodes + e[k]\n", " v += w[k] * np.maximum(K - np.exp(pnext), δ * Value(pnext))\n", "\n", " Value[:] = v\n", " pcrit[t + 1] = f.broyden(pcrit[t])" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "### Print Critical Exercise Price 300 Periods to Expiration" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "Collapsed": "false" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Critical Price = 0.88\n" ] } ], "source": [ "print('Critical Price = %5.2f' % np.exp(pcrit[-1]))" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "### Plot Critical Exercise Prices" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "Collapsed": "false" }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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Y9y4cZQtW5bVq1ezdu1aILv/ecmSJYwcORJXV1c2bdpEaGgojRo14pNPPuHll18uUq1vv/02U6dOpVq1amzZsoU9e/bQsGFDvvrqqzzTwV7rrbfe4qWXXsLPz4/t27ezceNGPD09ef7555k9e3au6yCaNWvG0qVL6dGjBwkJCaxbt474+Hg6derE4sWLi9w7vXbt2lyv5y+//MK5c+do3bo1H3zwQZ5pEF1cXJg7dy4vvfQSPj4+rF+/nv3799O0aVM+//xzJk6cmGt7Pz8/vvvuOx588EGio6PZsGEDFSpUYO7cubnuMVBcLi4uzJo1i2eeeQZHR0fz74e33347Txunra0tn3/+Of3798fFxYX169cTGhpKw4YN+fTTT83XORTn+zanfVN3Ni39TIYlmvlERKzYtm3bGDRoEG3atOGLL76wdDlWY+DAgWzfvp0lS5bckoutRaRkjR49mj///JNff/21wOkkpXRQS4yIiIjIHSI1NRV7e3vWrFnDn3/+SatWrRTW7wAK7CIiIiJ3iJdfftncwmdnZ8dzzz1n6ZKkBKiHXUREROQOUa9ePRwcHPD392fGjBklPkWsWIZ62EVERERErJhG2EVERERErJh62K8jKyuLzEx9ACEiIiIit5a9fcH3blFgv47MTIPY2GRLlyEiIiIidzhvb/cC16klRkRERETEiimwi4iIiIhYMQV2ERERERErpsAuIiIiImLFFNhFRERERKyYAruIiIiIiBWzqsD+6quvMnDgwEJtGxYWxpgxYwgJCSEkJITx48cTHR1d7O1ERERERKyR1czDvnjxYhYvXkxISMgNt42JiWHw4MGkp6czYsQIMjMzmTlzJkeOHGHx4sU4ODgUaTsREREREWtl8cCemZnJZ599xieffFLofWbPns25c+dYuXIlAQEBANSvX5+hQ4eyfPly+vTpU6TtRERERESslUVbYtLS0nj00Uf5+OOP6d69OxUqVCjUfqtXryYkJMQcwgGaN29O9erVWb16dZG3ExERERGxVhYP7ImJicyYMYPp06djZ3fjAf+4uDjCwsIICgrKsy4oKIj9+/cXaTsREREREWtm0ZYYNzc3fvnll0IF9RxRUVEA+Y7Ge3t7k5iYSEJCQqG3c3d3L2b1t8apS8l8uukUnWv70KZGeUuXIyIiIiIWZtERdhsbmyKFdYCkpCQAnJ2d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8V26dKF379689tprtGzZssCpI61FUCV3878PnIvHv6ymdhQRERG5m1hshL1y5crAP/3mVzt//jweHh7mfvVr2djY8Morr7Bhwwbmz5/P77//zueff05SUhK2trb4+vpy6tQp0tPTeeSRR8xhHcDe3p6uXbty8eLFUnEDpXvLu+Jgmz1TzIHIvD39IiIiInJns9gIu4eHB35+fhw4cCDPuoMHD1KnTp0C9121ahXe3t40bdqU8uXLm5fv2LGDoKAgHB0dzSPnmZmZefbPaccpTFuOpdnb2lDTx419kQkcPKfALiIiInK3seg87B06dGDLli2Ehoaal23evJmTJ0/SuXPnAvebPXs2U6ZM4fLly+Zl69atY9euXfTv3x+AGjVq4OPjw7Jly3K13aSlpbF8+XLKli1LjRo1bsFXVfLuq5jdFnPkfCIZmdb/JkNERERESo7JsODUI9HR0eaWlWHDhpGWlsbXX3+Nv78/CxcuxMHBgbCwMHbv3k1wcDBVqlQBYM2aNYwdO5aWLVvSoUMHIiIimDVrFiEhIXz55ZfmFphff/2VsWPHcu+999K7d2+ysrL44YcfOH78OG+//TbdunW7bn0ZGZnExuadqeZ2+9+hKF7/6QgA3w5oSO0K7jfYQ0RERERKE2/vgvOdRQM7wIkTJ5g2bRo7d+7EycmJ1q1bM378eLy8vABYunQpkyZNYtq0afTs2dO83+rVq/nyyy85ffo05cqVo2vXrowaNSrPNJFbtmzh008/Zd++fQDcd999jB49mgceeOCGtVlLYD8Tk0Kvb3YAMOHBe+ndoLKFKxIRERGRkmTVgd2aWUtgNwyDB/+7hYS0yzwSVIF/d6pp6ZJEREREpARdL7BbtIddCsdkMhF0pY/9gC48FREREbmrKLCXEjnzsZ+8lExcSoaFqxERERGR20WBvZRo6Otp/vdfEXEWrEREREREbicF9lKinq8HtjbZN1DaHa7ALiIiInK3UGAvJZztbbmvghsAexTYRURERO4aCuylSEO/7LaYI+cTSUy7fIOtRUREROROoMBeigT7lQEgy4C/I+ItW4yIiIiI3BYK7KVIfV8PrrSxszs81qK1iIiIiMjtocBeirg52hHond3HrgtPRURERO4OCuylTHCV7D72Q+cS1McuIiIichdQYC9lmlYtC0CmAdtPx1i4GhERERG51RTYS5lg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qRmZFq5KRERE5O5QYGBPT0/Hyckpz/Kcu50mJ2vk+W4yplV1Wt3jBcCusDjG/3iQ9MtZFq5KRERE5M5XYGAvaLZHk8l03fVyZ7K1MTGt63009i8DwJZTMbz7x3HLFiUiIiJyF7jhtI4iORztbHivexBBFbN7rJbtPcfyvZEWrkpERETkznbdKwd37txJZmbuXuWkpCQANm3aRFRUVJ59evToUXLVidVxcbDl7W73MXDebqKTM3j79+PU8HYlqNKdfQGyiIiIiKUUOEtMrVq1zO0vV7t686vXG4aByWTi0KFDt6BMy9AsMQXbEx7HU4v3kpll4OPmwNyBwXi5OFi6LBEREZFS6XqzxBQY2JctW1asJ3v00UeLtZ81UmC/vkW7I3j3j1AAgv08+e9j9bCzyfsmT0RERESur1iBXRTYb8QwDP79vyP879B5AB6u7cO/O9XEVqFdREREpEiKNQ+7yI2YTCZeeagGtXzcAPjfofO88fMRMrP0HlBERESkpCiwy01xsrfl4151qeHtCmSH9n+tPqQ52kVERERKiAK73LQyLvZ82rueObT/dvQizy3bT2LaZQtXJiIiIlL6KbBLiSjjYs/nferRwDd7esedZ2J5+ceDZGRqpF1ERETkZlg8sIeFhTFmzBhCQkIICQlh/PjxREdH33C/nTt30r9/f+rXr0+rVq144403brjf4cOHqVOnDh9//HFJlS9X8XCy5+NedWlR3QvIDu1v/HyELF3XLCIiIlJs171xUn6io6PZvHkzZ8+epXPnzri4uBATE0NAQECRnzwmJobBgweTnp7OiBEjyMzMZObMmRw5coTFixfj4JD/vN7btm1j+PDheHh4MGrUKGxtbZkzZw5bt25l4cKFeHp65tnn8uXLTJo0iYyMjCLXKYXnZG/LW11r8/TifeyLjGfN4QtUcHfk2QfusXRpIiIiIqVSkQL7N998w4cffkhaWhomk4m6deuSlJTEs88+y+OPP87rr7+e782WCjJ79mzOnTvHypUrzYG/fv36DB06lOXLl9OnT59895s6dSq2trYsXLgQf39/ANq3b0/37t35/PPPmTBhQp59vvjiC44dO1aUL1eKycnelvcfDWL4d39xJiaFb3eEU8HdkT4NfS1dmoiIiEipU+iWmJUrV/L222/z0EMP8eGHH5rveBoUFMRDDz3EwoULmTt3bpGe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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig1, ax = plt.subplots()\n", "\n", "ax.set(title='American Put Option Optimal Exercise Boundary',\n", " xlabel='Periods Remaining Until Expiration', \n", " ylabel='Exercise Price')\n", "\n", "ax.plot(np.exp(pcrit))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.9.7 ('base')", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" }, "vscode": { "interpreter": { "hash": "ad2bdc8ecc057115af97d19610ffacc2b4e99fae6737bb82f5d7fb13d2f2c186" } } }, "nbformat": 4, "nbformat_minor": 4 }