# Tag Info

11

To compute the price of an American option or a callable instrument in general, at each potential exercise date, one is required to compare its continuation value (discounted risk-neutral expectation of what the option would pay off if it was not exercised) to the relevant exercise value/early redemption price. By construction, lattice and finite difference ...

10

Not so fast! I think it is of the utmost importance to first examine whether the data points are real outliers, i.e. noise that is contaminating the data, or perhaps the most important pieces of the time series! For example when you look at US stock market data of the last 50 years and remove only the ten biggest moves because they are outliers you get a ...

10

PDE Classification (Background) Linear second-order PDEs can be classified as either elliptic, parabolic or hyperbolic. A general PDE in two dimensions for $u=u(x,y)$ would look like $$Au_{xx}+2Bu_{xy}+Cu_{yy}+Du_x+Eu_y+Fu+G=0.$$ The PDE is called hyperbolic if $B^2-AC>0$ (prime example: Wave equation with $a^2\Delta u=u_{tt}$ ), parabolic if $B^2-AC=0$ (...

9

Recursive Utility The traditional approach to consumption-based asset pricing includes time separable (additive) expected utility functions, $$U(C_t,C_{t+1})=u(C_t)+\beta \mathbb{E}_t[u(C_{t+1})],$$ where $\beta<1$ measures impatience (subjective discount factor). That's the first equation in Chapter 1.1. in Cochrane's stellar asset pricing book. This ...

8

By definition the fair value of an option is given by an expectation value of the payoff, $\mathbf{E}\left[\textrm{payoff}(\textit{paths})\right]$. The probability distribution of the paths is the risk neutral measure. This is just an integral expression of the form you wrote. This applies to all option prices. Many options are, of course, special in the ...

8

The method described in Hallerbach (2004) always worked well for me. We derive an estimator for Black-Scholes-Merton implied volatility that, when compared to the familiar Corrado & Miller [JBaF, 1996] estimator, has substantially higher approximation accuracy and extends over a wider region of moneyness.

7

There has been a huge amount of work on this. Generally a Fourier transform approach is used. First, be careful to use the form of the characteristic function that does not wind about zero in order to avoid having to count the normal of windings. Second, using contour shifts can make the integral much better behaved. eg integrate along the line with $0.5$...

6

Let's Be Rational uses exactly two iterations to give full machine accuracy for all inputs. It can be viewed as a three-stage analytical formula if you like. The code is free to download at www.jaeckel.org. Rgds, Peter

6

I am not sure if I understood your question correctly but I will try to answer it anyway. If you have a standard normal random vector $z \sim N(\mathbb{0},I_n)$ (where $z,0 \in \mathbb{R}^{n\times1}$ and $I_n \in \mathbb{R}^{n\times n}$ is the identity matrix) and you want to transform it into a multivariate normal $x \sim N(\mu,\Sigma)$ you do it the ...

6

To keep things simple let's assume you have a perfect random number generator (i.e. I will discuss only the statistics not the numerics of the problem). I will also focus on the practical matter and gloss over some mathematical details. From a practical perspective "convergence" means that you will never get an exact answer from Monte-Carlo but ...

6

Ikonen and Toivanen don't say that the LCP is solved exactly, they simply say that the modified back-substitution is a valid algorithm to solve the LCP. A numerical error may arise around the location of optimal exercise, since it does not fall directly on the finite difference grid. I think that however, the error is of the same order as the discretization ...

6

The question requires you to provide a method which uses uniform random variables and transforms them to generate realizations of the described asset values. To give a bit more general answer: this is solved by the inverse transform sampling method. The main idea is to obtain realizations of a random variable $x$ with any given distribution function $F(x)$, ...

6

The issue is that you do not plot one sample path but for each time point $t$, you simply plot one possible realisation of the random variable $S_t(\omega)$. Thus, you don't get a connected path. (Just as a minor, you would need brackets in the exponential in your for loop, i.e. X_analytic[i] <- X_analytic*exp((mu - 0.5*sigma^2)*time[i] + sigma*Z[i-1]...

6

Indeed, the FFT was a notable improvement in computational option pricing in 1999, but further investigation has shown that it can be easily optimized both in terms of speed and accuracy. For instance, this paper compares the traditional FFT with a strike optimized version of the Carr-Madan formula (CM-OPT), concluding that the CM-OPT is simultaneously ...

6

To answer, the assertion that volatility is easier to predict than expected return requires clarification. The phrase "easier to predict" is particularly ambiguous. To me this means that the estimation of volatility from a sample of returns is more robust than the estimation of expected return in the context of relative sampling error. Suppose over a time ...

6

Don't solve the Black-Scholes PDE, solve the heat equation One of the major results of mathematical finance is showing that the Black-Scholes PDE can be mapped to the heat equation. The heat equation is both mathematically nicer to handle, analyse, and computationally has much better solvers than other generic PDE solvers. Don't solve the Black-Scholes PDE, ...

6

This is more of a math question than a quant question. Under Black Scholes dynamics (assuming $r=0$ for simplicity), as everyone knows we have $$C=SN(d_1)-KN(d_2)$$. In this case, we are interested in large negative $d$, since $lnS$ is large and negative. There is an asymptotic series for $N(x)$ whose first term for large negative x is $$N(x)=-\phi(x)/x$$,...

5

I would start by saying that yes, this is an acceptable precision. However, the reason you are not getting the same result is because, by default, QuantLib has accuracy=1.0e-8 and maxEvaluations=100. You can set these parameters like this: bond.bondYield(bond_price, dayCount, ql.Simple, ql.Quarterly, ql.Date(), 1.0e-16, 100) This will get you much closer....

4

the output of an MC simulation depends on the random numbers used and if the distribution used is not too weird, after 10,000 runs you will get an answer that is distributed $$\mu + \frac{\sigma}{\sqrt{n}} Z,$$ with $Z$ a standard normal. Here $n=10,000.$ With $\mu$ the quantity you want and $\sigma$ the standard deviation. So you won't get precisely the ...

4

There are some other references: Li and Lee (2009) [download] An adaptive successive over-relaxation method for computing the Black–Scholes implied volatility Stefanica and Radoicic (2017) An Explicit Implied Volatility Formula Related discussions on the implied volatility inversion: How can the implied volatility be calculated? What is an efficient ...

4

The word cubature is just a replacement for quadrature in the infinite dimensional setting, such as the Wiener space as in the answer from @TheBridge. The term is used in the context of integrating functionals of stochastic processes $$E[F(X)]$$ where X is random variable valued in a functional space such as a the solution of a SDE or simply the Brownian ...

4

There is a qualitative shift in the shape of the density. When V is small it is monotone decaying. When V is large it looks more like a Gaussian. Another reason he uses two schemes is that he wants match two moments of the density. When V is small, the moment matching equations for the quadratic Gaussian are unsolvable. When V is large they are unsolvable ...

4

I'd use FFT or similar rather than direct integration. Here is an old paper with Heston example: Option pricing using fractional FFT

4

To test your programming skills, try QuantLib. Can you do interest-rate modelling with QuantLib? Can you debug the 10-level C++ template? Do you know how to use day count? Do you know how to use business calendar? Do you know how to link a forward curve with a LIBOR market index? Do you know how to calibrate a model? If you could, you have proven yourself a ...

4

That's the best question that nearly no one asks. I'm with you on Quantlib and Strata, haven't really seen a very good design around but I've seen quite a few bad ones. It is definitely doable and has big advantages in terms of testing, maintenance, scalability. The golden rule is that your objects must correspond to concepts. The core problem (in bad ...

4

1> Analytical - Black Scholes formula for Vanilla European options, Digitals. These valuations are just an "interpolation" of traded options. We interpolate the implied volatility from the traded points on the implied volatility surface. There is no modeling assumption involved here. Market uses this formula for implementing the "interpolation". Scope for ...

4

Some of the standard tricks are mentioned in this paper, Finite Difference Schemes with Exact Recovery of Vanilla Option Prices https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3530561 which also shows how to set up the finite difference scheme so that all vanillas with strikes and expiries on the grid are matched exactly.

4

You are looking to solve a linear system with a band diagonal system matrix $A$ of dimensions $N \times N$ and having the property $m_1 = 2, \, m_2 = 2$, respectively the number of sub-diagonals under and over the main diagonal of $A$. $A$ is empty elsewhere: $$a_{ij} = 0 \qquad \text{for } j > i + m_2 \quad \text{ or } \quad i > j + m_1$$ In order ...

4

Note that \begin{align*} U_j^{(n)} &= \frac{U_j^{(n+1)} - a_jU_{j-1}^{(n)} - c_jU_{j+1}^{(n)}}{b_j}\\ &\le \frac{\max_j|U_j^{(n+1)}| - a_j\max_j|U_j^{(n)}| - c_j\max_j|U_j^{(n)}|}{b_j}. \end{align*} Moreover, there exists $j_0$ such that \begin{align*} &\ \frac{\max_j|U_j^{(n+1)}| - a_{j_0}\max_j|U_j^{(n)}| - c_{j_0}\max_j|U_j^{(n)}|}{b_{j_0}} \\ ...

Only top voted, non community-wiki answers of a minimum length are eligible