I want to estimate the volatility $\sigma$ of a process $(X_t)$ following an arithmetic Brownian motion, that is, for a constant time step $\Delta$, $X_{t+\Delta} = X_t + \sigma B_{\Delta}$ , where $B_t$ is a Brownian motion.

Problem: Results from a straightforward implementation with a realized $\sigma_{real} = 0.2$, an initial $\sigma^{(1)}=0.1$, 10000 iterations and a data vector length of $N=$1000, however, show an always increasing $\sigma$ diverging to $+\infty$.

In contrast, if we choose the transformation $g_2(X;\sigma) = \sigma X$ instead, the approach yields acceptable results. Also, including a Jacobian term $J$ along
\begin{equation} p(Y|\sigma, X^{(k+1)} ) = p(X^{(k+1)}|\sigma, X^{(k+1)}) \; |J| = p(X^{(k+1)}|\sigma) \; |J| , \end{equation}
did not improve results.

Question: What is not right?

It could be that in the expression for $p(\sigma | X^{(k+1)} , Y)$ in the Dirac term, it should be $\sigma$ (which we want to sample) instead of $\sigma_k$.

If so, I do not see how to sample from this distribution. Any ideas?

Approach in Detail: Defining $dx_i = x_i - x_{i-1}$, the likelihood of observations $X= (x_1, ..., x_N)$ at times $(\Delta, 2\Delta, ..., N \Delta)$ conditional on $\sigma$ is:

$L(\sigma|X) = p(X|\sigma) = \prod_{i=2}^N n(\Delta x_i; 0,\sigma^2 \Delta) = (\sqrt{2 \pi \Delta} \, \sigma^{N-1})^{-1} \exp\left(-\frac{1}{2 \sigma^2 \Delta} \sum_{i=2}^N dx_i^2 \right) .$

We do not observe $X$ itself but only discrete transformed data $Y = (y_1, ..., y_N)$, which are related to $X$ by $Y = g_1(X; \sigma) = X / \sigma$. We simulate a path of $X$, compute the transformed data $Y$ and try to estimate the parameter $\sigma$.

A first candidate approach to do this would be a Gibbs sampler, which generates a chain of pairs $(X^{(k)}=(x^{(k)}_1, ..., x^{(k)}_N), \sigma^{(k)})$, where in each iteration $k$, new values of $X$ and $\sigma$ are drawn from the conditional distributions:
$$X^{(k+1)} \sim p(X | \sigma^{(k)}, Y) \quad \text{and} \\ \sigma^{(k+1)} \sim p(\sigma | X^{(k+1)}, Y) \,.$$

In the above set-up, $p(X | \sigma^{(k)}, Y) = \delta(X - g_1(Y;\sigma^{(k)})) = \delta(X-\sigma^{(k)}Y)$ with $\delta$ denoting the Dirac delta, which indicates that drawing $X^{(k+1)}$ from $p(X | \sigma^{(k)}, Y)$ can be achieved by computing $X^{(k+1)} = \sigma^{(k)} Y$.

For the second conditional distribution it looks like we could write
\begin{equation} p(\sigma | X^{(k+1)} , Y) \propto p(Y|\sigma, X^{(k+1)} ) \; p(\sigma|X^{(k+1)} ) = \delta(X^{(k+1)} - Y \sigma^{(k)}) \; L(X^{(k+1)}|\sigma) = L(X^{(k+1)}|\sigma) \end{equation}

since in the step before $X^{(k+1)}$ was computed as $ X^{(k+1)} = Y \sigma^{(k)}$; in this case, it can be seen that we can sample $s=\sigma^2$ from an inverse gamma distribution derived from the likelihood of $X$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.