We consider a discrete-time approximation of paths of an Ornstein–Uhlenbeck process as a mean for estimation of a price of European call option in the model of financial market with stochastic volatility. The Euler–Maruyama approximation scheme is implemented. We determine the estimates for the option price for predetermined sets of parameters. The rate of convergence of the price and an average volatility when discretization intervals tighten are determined. Discretization precision is analyzed for the case where the exact value of the price can be derived.

We consider a discrete-time approximation for the price of European call option in the model of financial market with stochastic volatility driven by the Ornstein–Uhlenbeck process. An analytic expression for the price of the option is derived in [

The problem of construction of discrete-time analogues for stochastic volatility models of financial markets is studied in a series of works including [

In most of the works, authors construct discrete-time approximations both for processes that describe the evolution of the price of asset and for processes driving the volatility of asset price. The model considered in this paper allows us to apply another approach: we only discretize the volatility process. The resulting discrete-time volatility process is then averaged in a special way and substituted into the option pricing formula. The option price is determined conditionally on the path of volatility process, and thus the conditional Monte Carlo approach is used. The rate of convergence of the option price calculated using the discrete-time volatility to the true option price for a given trajectory of volatility process is estimated.

Discretization of the model is naturally connected with the problem of discrete-time approximations to the solutions of stochastic differential equations. These matters are widely investigated and systematized in [

Although exact simulation provides more precision compared to the Euler approximation, in this paper, we use the latter. This is motivated by the fact that the Euler approximation is cheaper in terms of computation time and by our desire to assess the rate of convergence of conditional option prices when the volatility is discretized using the Euler scheme.

This paper is structured as follows. We begin with the definition of the model under consideration and the discretization scheme used. In Section

Let

We denote by

We further impose the following assumptions:

The Wiener processes

the volatility function

the coefficients

For example, the conditions mentioned in assumption (C2) are satisfied for the measurable function

The unique solution of the Langevin equation (

Moreover, the OU process is Markov and admits the explicit representation

Following [

This continuous-time model admits a variety of discrete-time approximations. In this paper, we apply the familiar Euler–Maruyama scheme, also referred to as the Euler scheme. The Euler–Maruyama approximation to the true solution of the Langevin equation (

the partition of the interval

the initial value of the scheme is set:

The price of European call option

The inner expectation is conditional on the path of

Our aim is to estimate the error arising as a result of approximation of the exact formula (

It is unlikely that we are able to find an exact or even approximate value for

Comparing (

Since

Recall that

The above lemma enables us to prove the main result of this section.

The function

Similarly,

The theorem is proved. □

Theorem 6.1 in [

The calculation process is performed in Matlab 7.9.0 and is structured as follows:

The choice of discrete ranges of values of input parameters;

The choice of the function

For each combination of input parameters we generate 1000 trajectories of an Ornstein–Uhlenbeck process by splitting the time interval into subintervals of length

0.25 | 0.1 | 0 | 0.8 | 1 | 0 | 0.088 | 0.009 | ||

0.5 | 0.1 | 0 | 0.8 | 1 | 0 | 0.082 | 0.007 | ||

1 | 0.1 | 0 | 0.8 | 1 | 0 | 0.073 | 0.007 | ||

0.25 | 0.5 | 0 | 0.8 | 1 | 0 | 0.147 | 0.031 | ||

0.5 | 0.5 | 0 | 0.8 | 1 | 0 | 0.185 | 0.030 | ||

1 | 0.5 | 0 | 0.8 | 1 | 0 | 0.216 | 0.029 | ||

0.25 | 1 | 0 | 0.8 | 1 | 0 | 0.264 | 0.059 | ||

0.5 | 1 | 0 | 0.8 | 1 | 0 | 0.338 | 0.058 | ||

1 | 1 | 0 | 0.8 | 1 | 0 | 0.412 | 0.058 | ||

0.25 | 0.1 | 0.01 | 1 | 1 | 0.2 | 0.289 | 0.209 | ||

0.5 | 0.1 | 0.01 | 1 | 1 | 0.2 | 0.281 | 0.207 | ||

1 | 0.1 | 0.01 | 1 | 1 | 0.2 | 0.273 | 0.207 | ||

0.25 | 0.5 | 0.01 | 1 | 1 | 0.2 | 0.346 | 0.231 | ||

0.5 | 0.5 | 0.01 | 1 | 1 | 0.2 | 0.375 | 0.230 | ||

1 | 0.5 | 0.01 | 1 | 1 | 0.2 | 0.414 | 0.229 | ||

0.25 | 1 | 0.01 | 1 | 1 | 0.2 | 0.459 | 0.259 | ||

0.5 | 1 | 0.01 | 1 | 1 | 0.2 | 0.532 | 0.258 | ||

1 | 1 | 0.01 | 1 | 1 | 0.2 | 0.617 | 0.258 | ||

0.25 | 0.1 | 0.02 | 1.2 | 1 | 1 | 1.089 | 1.009 | ||

0.5 | 0.1 | 0.02 | 1.2 | 1 | 1 | 1.079 | 1.007 | ||

1 | 0.1 | 0.02 | 1.2 | 1 | 1 | 1.073 | 1.007 | ||

0.25 | 0.5 | 0.02 | 1.2 | 1 | 1 | 1.148 | 1.031 | ||

0.5 | 0.5 | 0.02 | 1.2 | 1 | 1 | 1.178 | 1.030 | ||

1 | 0.5 | 0.02 | 1.2 | 1 | 1 | 1.216 | 1.029 | ||

0.25 | 1 | 0.02 | 1.2 | 1 | 1 | 1.262 | 1.059 | ||

0.5 | 1 | 0.02 | 1.2 | 1 | 1 | 1.341 | 1.058 | ||

1 | 1 | 0.02 | 1.2 | 1 | 1 | 1.414 | 1.058 |

To begin with, let us recall the notation of input parameters along with ranges of values assigned to them in the process of simulation:

In order to produce numerical results, we choose the following options for the function

The results of simulations are split into groups by the mean-reversion rate

Mean-reversion of 1 corresponds to slow reverting models, and fast mean-reverting models are characterized by

0.25 | 0.1 | 0 | 0.8 | 1.113 | 1.024 | ||

0.5 | 0.1 | 0 | 0.8 | 1.103 | 1.022 | ||

1 | 0.1 | 0 | 0.8 | 1.088 | 1.021 | ||

0.25 | 0.5 | 0 | 0.8 | 1.135 | 1.025 | ||

0.5 | 0.5 | 0 | 0.8 | 1.131 | 1.023 | ||

1 | 0.5 | 0 | 0.8 | 1.119 | 1.022 | ||

0.25 | 1 | 0 | 0.8 | 1.184 | 1.027 | ||

0.5 | 1 | 0 | 0.8 | 1.212 | 1.025 | ||

1 | 1 | 0 | 0.8 | 1.238 | 1.024 | ||

0.25 | 0.1 | 0.01 | 1 | 1.112 | 1.024 | ||

0.5 | 0.1 | 0.01 | 1 | 1.103 | 1.022 | ||

1 | 0.1 | 0.01 | 1 | 1.086 | 1.021 | ||

0.25 | 0.5 | 0.01 | 1 | 1.121 | 1.025 | ||

0.5 | 0.5 | 0.01 | 1 | 1.129 | 1.023 | ||

1 | 0.5 | 0.01 | 1 | 1.128 | 1.022 | ||

0.25 | 1 | 0.01 | 1 | 1.178 | 1.026 | ||

0.5 | 1 | 0.01 | 1 | 1.206 | 1.025 | ||

1 | 1 | 0.01 | 1 | 1.216 | 1.023 | ||

0.25 | 0.1 | 0.02 | 1.2 | 1.110 | 1.024 | ||

0.5 | 0.1 | 0.02 | 1.2 | 1.103 | 1.022 | ||

1 | 0.1 | 0.02 | 1.2 | 1.087 | 1.021 | ||

0.25 | 0.5 | 0.02 | 1.2 | 1.133 | 1.025 | ||

0.5 | 0.5 | 0.02 | 1.2 | 1.128 | 1.023 | ||

1 | 0.5 | 0.02 | 1.2 | 1.115 | 1.021 | ||

0.25 | 1 | 0.02 | 1.2 | 1.162 | 1.027 | ||

0.5 | 1 | 0.02 | 1.2 | 1.201 | 1.025 | ||

1 | 1 | 0.02 | 1.2 | 1.255 | 1.023 |

We may observe that, under faster mean-reversion, the average volatility

Tables

1 | 0.272367 | 0.299043 | −0.222056 | 0.213552 | |

1 | 0.271043 | 0.298506 | −0.221338 | 0.213073 | |

1 | 0.272534 | 0.299123 | −0.222179 | 0.213631 | |

1 | 0.271837 | 0.298822 | −0.221753 | 0.213351 | |

1 | 0.271421 | 0.298667 | −0.221560 | 0.213220 | |

100 | 0.208910 | 0.272291 | −0.184776 | 0.189047 | |

100 | 0.206599 | 0.271267 | −0.183264 | 0.188073 | |

100 | 0.206439 | 0.271196 | −0.183159 | 0.188005 | |

100 | 0.206413 | 0.271184 | −0.183142 | 0.187994 | |

100 | 0.206443 | 0.271198 | −0.183162 | 0.188007 |

1 | 1.265414 | 0.556279 | −0.519082 | 0.431865 | |

1 | 1.269504 | 0.579243 | −0.543620 | 0.432472 | |

1 | 1.266274 | 0.584925 | −0.549670 | 0.431990 | |

1 | 1.266030 | 0.566934 | −0.530485 | 0.431948 | |

1 | 1.265635 | 0.576169 | −0.540343 | 0.431892 | |

100 | 1.201083 | 0.566092 | −0.529585 | 0.422128 | |

100 | 1.201047 | 0.566500 | −0.530021 | 0.422123 | |

100 | 1.201026 | 0.566203 | −0.529703 | 0.422120 | |

100 | 1.201036 | 0.566693 | −0.530228 | 0.422121 | |

100 | 1.201023 | 0.566052 | −0.529542 | 0.422119 |

In view of Section

Tables

Average | 0.08710% | 0.00834% | 0.00081% | 0.00008% |

St. error | 0.0000427 | 0.0000042 | 0.0000004 | 0 |

Median | 0.0009575 | 0.0000834 | 0.000008 | 0.0000007 |

St. deviation | 0.0013517 | 0.0001334 | 0.0000137 | 0.0000013 |

Excess | −0.217306 | −0.191189 | −0.143295 | −0.021156 |

Skewness | 0.0492335 | −0.002248 | 0.023124 | 0.0577173 |

Min | −0.29706% | −0.03669% | −0.00303% | −0.00036% |

Max | 0.52352% | 0.04766% | 0.00502% | 0.00044% |

Count | 1000 | 1000 | 1000 | 1000 |

Average | 0.07790% | 0.00742% | 0.00083% | 0.00007% |

St. error | 0.000043 | 0.0000044 | 0.0000004 | 0 |

Median | 0.0008379 | 0.0000728 | 0.0000083 | 0.0000007 |

St. deviation | 0.0013602 | 0.0001379 | 0.0000136 | 0.0000014 |

Excess | −0.234452 | −0.302723 | −0.352995 | −0.054568 |

Skewness | −0.024765 | 0.0922374 | 0.0055451 | 0.0229423 |

Min | −0.30504% | −0.03231% | −0.00323% | −0.00037% |

Max | 0.46265% | 0.04974% | 0.00454% | 0.00050% |

Count | 1000 | 1000 | 1000 | 1000 |

It can be seen from the tables that approximation results do not differ significantly for various time-steps. Even the widest investigated discretization interval provides acceptable precision for most applications.

Average | 0.02496% | 0.00268% | 0.00026% | 0.00002% |

St. error | 0.0000113 | 0.0000011 | 0.0000001 | 0.00000001 |

Median | 0.0002559 | 0.0000266 | 0.0000027 | 0.0000002 |

St. deviation | 0.0003584 | 0.0000354 | 0.0000035 | 0.0000003 |

Excess | 0.1947561 | 0.1687356 | −0.0576859 | 0.0700827 |

Skewness | −0.1691937 | −0.0097185 | −0.1643507 | −0.0522007 |

Min | −0.09961% | −0.00861% | −0.00088% | −0.00011% |

Max | 0.12871% | 0.01464% | 0.00126% | 0.00013% |

Count | 1000 | 1000 | 1000 | 1000 |

Average | 0.02692% | 0.00268% | 0.00025% | 0.00002% |

St. error | 0.0000118 | 0.0000012 | 0.0000001 | 0 |

Median | 0.0002712 | 0.0000265 | 0.0000027 | 0.0000002 |

St. deviation | 0.0003735 | 0.0000377 | 0.0000036 | 0.0000003 |

Excess | 0.17242 | 0.070383 | 0.3383414 | 0.0853763 |

Skewness | −0.0299531 | −0.0195205 | −0.1914745 | −0.0371876 |

Min | −0.09174% | −0.01068% | −0.00112% | −0.00011% |

Max | 0.16291% | 0.01411% | 0.00139% | 0.00014% |

Count | 1000 | 1000 | 1000 | 1000 |

In this section, we compare the option prices obtained for the Euler scheme (

The models with deterministic time-dependent volatility are the natural extension of the Black–Scholes model. The expression for the price of the option is the same as in the classical model except for the fact that, instead of constant volatility, it operates with average (or root mean square) volatility over the time interval to maturity (see, e.g., [

It has been shown that deterministic volatility does not reflect the real-world stochastic dynamics correctly [

Nevertheless, deterministic volatility is suitable for the purpose of our investigation since we can calculate the exact price of the option for the continuous time model.

In order to analyze the deterministic time-dependent volatility case, it looks natural to let the Brownian noise term in the definition of

Table

Approximate option prices versus true option prices for deterministic volatility

0.25 | 1 | 0 | 0.8 | 1 | 0 | 0.203891 | 0.316223 | ||

0.5 | 1 | 0 | 0.8 | 1 | 0 | 0.211556 | 0.390150 | ||

1 | 1 | 0 | 0.8 | 1 | 0 | 0.223003 | 0.490305 | ||

0.25 | 1 | 0.01 | 1 | 1 | 0.2 | 0.107942 | 0.224736 | ||

0.5 | 1 | 0.01 | 1 | 1 | 0.2 | 0.150207 | 0.312794 | ||

1 | 1 | 0.01 | 1 | 1 | 0.2 | 0.206464 | 0.429067 | ||

0.25 | 1 | 0.02 | 1.2 | 1 | 1 | 0.141317 | 0.159958 | ||

0.5 | 1 | 0.02 | 1.2 | 1 | 1 | 0.227633 | 0.253710 | ||

1 | 1 | 0.02 | 1.2 | 1 | 1 | 0.345261 | 0.379955 | ||

0.25 | 100 | 0 | 0.8 | 1 | 0 | 0.200000 | 0.309950 | ||

0.5 | 100 | 0 | 0.8 | 1 | 0 | 0.200000 | 0.382107 | ||

1 | 100 | 0 | 0.8 | 1 | 0 | 0.200000 | 0.481610 | ||

0.25 | 100 | 0.01 | 1 | 1 | 0.2 | 0.091044 | 0.217149 | ||

0.5 | 100 | 0.01 | 1 | 1 | 0.2 | 0.128449 | 0.303457 | ||

1 | 100 | 0.01 | 1 | 1 | 0.2 | 0.181507 | 0.419198 | ||

0.25 | 100 | 0.02 | 1.2 | 1 | 1 | 0.133108 | 0.152065 | ||

0.5 | 100 | 0.02 | 1.2 | 1 | 1 | 0.217100 | 0.243748 | ||

1 | 100 | 0.02 | 1.2 | 1 | 1 | 0.333759 | 0.369312 |

In this paper, we consider the price of the option at the initial time moment. However, all the above considerations are applicable for any valuation date

The reader is advised to refer to [

Consider the stochastic differential equation

the functions

there exists a constant

(See [

The same terminology will be applied to the functions of approximating processes.

(See [

Evidently, the Euler scheme

However, our case is more specific since

Really, the only difference in representation of