Solving for Black–Scholes Rate and Volatility from Two Call Prices
Summary
The document sets up two Black–Scholes call-pricing equations for options on the same stock with different strikes and a shared maturity. It uses the observed option prices to form a nonlinear system in the continuously compounded interest rate and volatility, then reports a numerical root that the questioner suspects is implausible.
The answer suggests inspecting where the equations intersect in the rate–volatility plane and examining the Jacobian determinant to assess local uniqueness. This is a proposed diagnostic, not a completed proof: the response does not evaluate the determinant or establish global uniqueness. The example also highlights a practical issue with numerical solvers: a returned solution may be mathematically valid for the equations yet violate realistic parameter expectations, so admissible domains and option-price consistency should be checked.
Key ideas
- Two option prices at different strikes can be used to form a nonlinear system for a shared rate and volatility.
- A numerical root should be checked against economically plausible parameter ranges and option-price constraints.
- Plotting the equation contours can show candidate intersections but does not prove uniqueness.
- A nonsingular Jacobian supports local uniqueness near a solution, not global uniqueness across the full domain.
Tags
Full text
# Black-Scholes and solving for both $r$ and $\sigma$ ; Do I have a unique solution?
# Black-Scholes and solving for both $r$ and $\sigma$ ; Do I have a unique solution?
Below is a problem that I am working on. I believe that my incomplete solution is correct as far as it goes. I would like to know if my solution is incorrect. I plan to solve the system of two equations by using a computer program such as SciLab. What I am wondering is, does this system of equations have a unique solution? I believe it does but I cannot offer any real proof. Problem: Recall the following equations govern the price of a call option according to the Black-Scholes model. \begin{align*} c &= S_0 N(d_1) - Ke^{-rT}N(d_2) \\ d_1 &= \frac{ \ln{ \frac{S_0}{K} } + ( r + \frac{ {\sigma}^2}{2}) T } { \sigma \sqrt{T } } \\ d_2 &= d_1 - \sigma \sqrt{T} \\ \end{align*} Here is an explanation of the $6$ variables of the model: \begin{align*} c &-\text{The price of the call option} \\ S_0 &- \text{ The initial price of the stock } \\ K &- \text{ The strike price of the option } \\ T &- \text{ The time to expiration of the option.} \\ r &- \text{ The interest rate } \\ \sigma &- \text{ A measure of how volatily the price of the under lying stock is.} \end{align*} Suppose we have a stock with an initial price of $100$. There are two call options with strike prices $100$ and $105$ They both expire in exactly one year. The price of these options are $10$ and $8$ respectively. Find $r$ and $\sigma$. \newline Answer: \newline We have: \begin{align*} S_0 &= 100 \\ T &= 1 \\ c_1 &= 10 \\ K_1 &= 100 \\ c_2 &= 8 \\ K_2 &= 105 \\ \end{align*} Now we find $d_{11}$ By $d_{11}$, I mean $d_1$ for the first call option. Similar, by $d_{12}$, I mean $d_2$ for the first call option. \begin{align*} d_{11} &= \frac{ \ln{\left( \frac{100}{100} \right) } + ( r + \frac{ {\sigma}^2}{2}) 1 } { \sigma \sqrt{1 } } \\ d_{11} &= \frac{ \ln{\left( 1 \right) } + ( r + \frac{ {\sigma}^2}{2}) } { \sigma } \\ d_{11} &= \frac{ ( r + \frac{ {\sigma}^2}{2}) } { \sigma } \\ d_{11} &= \frac{ 2r + \sigma^2 } {2 \sigma } \\ d_{12} &= d_{11} - \sigma \sqrt{T} = \frac{ 2r + \sigma^2 } {2 \sigma } - \sigma \sqrt{1} \\ d_{12} &= \frac{ 2r + \sigma^2 } {2 \sigma } - \sigma = \frac{ 2r + \sigma^2 } {2 \sigma } - \frac{ 2\sigma^2}{2\sigma } \\ d_{12} &= \frac{ 2r - \sigma^2 } { 2 \sigma } \end{align*} Let $c_1$ be the price of first call option and $c_2$ be the price of the second call option. \begin{align*} c_1 &= 100 N\left(\frac{ 2r + \sigma^2 } {2 \sigma } \right) - 100e^{-rT} N\left(\frac{ 2r - \sigma^2 } { 2 \sigma }\right) \\ 10 &= 100 N\left(\frac{ 2r + \sigma^2 } {2 \sigma } \right) - 100e^{-rT} N\left(\frac{ 2r - \sigma^2 } { 2 \sigma }\right) \\ c_1 &= 100 N\left(\frac{ 2r + \sigma^2 } {2 \sigma } \right) - 100e^{-rT} N\left(\frac{ 2r - \sigma^2 } { 2 \sigma }\right) \\ 1 &= 10 N\left(\frac{ 2r + \sigma^2 } {2 \sigma } \right) - 10e^{-r} N\left(\frac{ 2r - \sigma^2 } { 2 \sigma }\right) \end{align*} Now we have one equation with two unknowns. We want two equations. \begin{align*} d_{21} &= \frac{ \ln{ \left( \frac{100}{105} \right) } + ( r + \frac{ {\sigma}^2}{2}) 1 } { \sigma \sqrt{1 } } \\ d_{21} &= \frac{ \ln{ \left( \frac{21}{20} \right) } + ( r + \frac{ {\sigma}^2}{2}) } { \sigma } \\ d_{21} &= \frac{ 0.0487902 + ( r + \frac{ {\sigma}^2}{2}) } { \sigma } \\ d_{21} &= \frac{ 2(0.0487902) + 2r + {\sigma}^2 } { 2 \sigma } \\ d_{21} &= \frac{ 2r + {\sigma}^2 + 0.0975804 } { 2 \sigma } \\ d_{22} &= d_{21} - \sigma \sqrt{T} = \frac{ 2r + {\sigma}^2 + 0.0975804 } { 2 \sigma } - \sigma \sqrt{1} \\ d_{22} &= \frac{ 2r - {\sigma}^2 + 0.0975804 } { 2 \sigma } \\ c_2 &= 100 N \left( \frac{ 2r + {\sigma}^2 + 0.0975804 } { 2 \sigma } \right) - 105 e^{-r\left( 1 \right) }N \left( \frac{ 2r - {\sigma}^2 + 0.0975804 } { 2 \sigma } \right) \\ 8 &= 100 N \left( \frac{ 2r + {\sigma}^2 + 0.0975804 } { 2 \sigma } \right) - 105 e^{-r}N \left( \frac{ 2r - {\sigma}^2 + 0.0975804 } { 2 \sigma } \right) \\ \end{align*} Here is the system of two equations that we need to solve: \begin{align*} 10 N\left(\frac{ 2r + \sigma^2 } {2 \sigma } \right) - 10e^{-r} N\left(\frac{ 2r - \sigma^2 } { 2 \sigma }\right) - 1 &= 0 \\ 100 N \left( \frac{ 2r + {\sigma}^2 + 0.0975804 } { 2 \sigma } \right) - 105 e^{-r}N \left( \frac{ 2r - {\sigma}^2 + 0.0975804 } { 2 \sigma } \right) - 8 &= 0 \\ \end{align*}
Using SciLab, I find \begin{align*} r &= -0.152815 \\ \sigma &= 0.396862 \end{align*} This solution cannot be right.
## Answer by Stéphane (score 2, accepted)
https://quant.stackexchange.com/a/52899
At an informal level, this is a system of two nonlinear equations in two unknowns, hence you can plot it in the $(r,\sigma)$ plane and see how many times they cross each other.
At a more formal level, you can check if the Jacobian matrix is nonsingular everywhere. Nonsingularity of the Jacobian matrix (i.e., the determinant is not null) is a local argument for the uniqueness of solutions. So, you can take the first derivative of each equation with respect to each variable and compute the determinant of that matrix: \begin{align} \begin{bmatrix} 10 \phi(.)/\sigma - 10 \left( -\exp(-r) N(.) + \exp(-r) \phi(.)/\sigma \right) & 10 \phi(.) \left( \frac{1}{2} - \frac{r}{\sigma^2} \right) \left( 1 - \exp(-r) \right) \\ 100 \phi(.)/\sigma - 105 \left( -\exp(-r)N(.) + \exp(-r)\phi(.)/\sigma \right) & \phi(.) \left( \frac{1}{2} - \frac{r + \alpha}{\sigma^2} \right) \left( 100 - 105 \exp(-r) \phi(.) \right) \end{bmatrix} \end{align} where $\alpha = 0.0975804$, $\phi(.)$ is the standard normal density, $N(.)$ is the standard normal cumulative. Equations are on the lines and I go from the derivatives wrt. $r$ to those wrt. $\sigma$. Now, just check the determinant.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.