Suppose we are given a stochastic process $(X_t)_{0\leq t\leq 1}$ which satisfies $$dX_t=-\theta X_tdt+\sigma dB_t,$$ also known as the Ornstein-Uhlenbeck process, where $\theta>0,\sigma\in\mathbb R$ and $X_0=x_0\in\mathbb R$. The goal of this post is to find coefficients $\bar b(t,x),\bar\sigma(t,x)$ so that the time-reversed process $\bar X_t:=X_{1-t}$ satisfies $$d\bar X_t=\bar b(t,\bar X_t)dt+\bar\sigma(t,\bar X_t)dB_t,\hspace{1cm} 0\leq t<1.$$ The primary reference i am using for this is this paper. I will include screenshots of the relevant parts throughout this post.

First, note that the coefficients of the SDE of $X$ satisfy the usual conditions, i.e. $b,\sigma$ are Lipschitz and don't grow significantly faster than $|x|$. Additionally, it is well-known that $X_t$ is given by $$X_t=e^{-\theta t}x_0+\sigma\int_0^te^{-\theta(t-s)}dB_s$$ and hence by noting that the integrand $e^{-\theta(t-s)}$ is deterministic and by using Itô's isometry one can show that $X_t\sim\mathcal N\big(e^{-\theta t}x_0, \frac{\sigma^2}{2\theta}(1-e^{-2\theta t})\big)$ and hence $X_t$ admits the density $\phi_{\mu_t,\sigma_t}$, where $\phi_{\mu,\sigma}$ is the gaussian density and $\mu_t=e^{-\theta t}x_0$ and $\sigma_t^2 = \frac{\sigma^2}{2\theta}(1-e^{-2\theta t})$. Now according to the paper linked above the coefficients of the SDE of $\bar X$ are given by . Since we have $$\partial_x\phi_{\mu,\sigma}(x)=\frac{1}{\sqrt{2\pi}\sigma} \exp\bigg(-\frac12\frac{(x-\mu)^2}{\sigma^2}\bigg)\cdot\bigg(-\frac{x-\mu}{\sigma^2}\bigg)=-\phi_{\mu,\sigma}(x)\frac{x-\mu}{\sigma^2}$$ we get the coefficients $\bar a(t,x)=\sigma^2$ and $$\bar b(t,x)=\theta x-\sigma^2_{1-t}\cdot\frac{x-\mu_{1-t}}{\sigma_{1-t}^2}=\theta x-(x-e^{-\theta t}x_0).$$ Then the backwards process $\bar X_t$ is supposed to obey the SDE $$d\bar X_t = \bigg[(\theta-1)\bar X_t + e^{-\theta t}x_0\bigg]dt + \sigma dB_t.$$ This seems to be wrong, since i see no way why this process should satisfy $\lim_{t\to 1}\bar X_t = x_0$.

Question: Are the calculations given above correct? Is the SDE actually the correct SDE for $\bar X$? If not, how do i correctly determine the backwards diffusion?

  • $\begingroup$ Since you have explicit formula for the original process, you can get from it the formula for the time inversion. Doesn’t that help? $\endgroup$
    – SBF
    Commented May 28, 2023 at 10:55
  • 1
    $\begingroup$ Also, if you want to have final instead of initial conditions, you need to consider a backwards sde $\endgroup$
    – SBF
    Commented May 28, 2023 at 11:02
  • $\begingroup$ @SBF I don't quite see how to derive the SDE for the time-inversion purely by using the formula of the OU-process. Perhaps you can elaborate. I don't know too much about backwards SDEs, but i think the point of the paper i linked is to show how to express the backwards process using a normal SDE. I want to understand how this is done for the OU case. $\endgroup$ Commented May 29, 2023 at 17:20

2 Answers 2


For both references you have shared, you need to calculate the score $\nabla_x \ln p_t(x)$ of the initial SDE you want to reverse; in this case, you are calculating the score of $ \mathcal{N}\left(x_t |e^{-\theta t} x_0, \frac{\sigma^2}{2 \theta}\left(1-e^{-2 \theta t}\right)\right)$ :

$$ \nabla_{x_t} \ln \mathcal{N}\left(x_t |e^{-\theta t} x_0, \frac{\sigma^2}{2 \theta}\left(1-e^{-2 \theta t}\right)\right) = -2\theta \frac{x_t - e^{-\theta t} x_0 }{\sigma^2 (1-e^{-2 \theta t} )} $$

The calculation you did instead is more tedious and prone to errors as it's much easier first to take the log of the Gaussian and then differentiate $\left(\frac{\nabla_x p_t(x)}{p(x)} = \nabla_x \ln p_t(x)\right)$ .

Now, substituting this back into the time reversal SDE (using the Haussmann and Pardoux version of time reversal)

$$ \bar{X}_0 \sim \mathcal{N}\left(e^{-\theta } x_0, \frac{\sigma^2}{2 \theta}\left(1-e^{-2 \theta }\right)\right) $$ $$ d \bar{X}_t=\left[\theta \bar{X}_t - 2\theta \frac{\bar{X}_t - e^{-\theta (1-t)} x_0 }{ (1-e^{-2 \theta (1-t)} )}\right] d t+\sigma d B_t $$

Notice as $t\rightarrow1$ the denominator in the second term of the drift diverges (and dominates) concentrating on $x_0$; more formally, if you derive the transition density of this SDE, you will see how it collapses to a delta mass centred at $x_0$, this is akin to a Brownian bridge but with an OU process (or using Doob's transform to condition an SDE to hit a value, you can also use Doob's transform to prove this SDE hits $x_0$ at time $1$).

For another aside in your own response to this question, you also cited Andersons' time reversal formula, to clarify a bit further, notice that Andersons' formula is for an SDE defined backwards in time that is something of the form:

$$ dX_t = f(X_t,t) dt + \sigma dB_t^{-} , \quad X_T \sim p $$

It starts at time 1 and moves backwards in time thus the differences in sign and $T-t$ indexes compared to the Haussmann and Pardoux result you used first.

For completeness, time reversal using Anderson looks like $$ d\tilde{X}_t = \left(b(\tilde{X}_t,t) - \sigma^2\nabla_{\tilde{X}_t} \ln p_t(\tilde{X}_t)\right) dt + \sigma dB_t^{-} , \quad X_1 \sim p $$ whilst with Haussmann and Pardoux : $$ d\tilde{X}_t = \left(-b(\tilde{X}_t,1-t) + \sigma^2 \nabla_{\tilde{X}_t} \ln p_{1-t}(\tilde{X}_t)\right) dt + \sigma dB_t , \quad X_0 \sim p $$ both are different ways of representing the time reversal (one of them re-indexes time, making the reverse SDE go forward in time, whilst the other "plays the video backwards", and thus the reverse SDE goes backwards in time)

See slide 10 in sde-course.netlify.app/assets/slides/sde-course-lec2.pdf for more details.

It's a bit late for an answer, but maybe it's still helpful.


While i have not found the calculation error yet, i have been made aware of another paper addressing the same question. There, equation 3.12 suggests that

where in my case $f(x,t)=-\theta x$, and $g(x,t)=\sigma$. This would yield the solution $$d\bar X_t = \big[-\theta \bar X_t -\sigma^2\partial_x\log \phi_{\mu_t,\sigma_t}(x)\big]dt+\sigma d\bar B_t$$ where $$\partial_x\log \phi_{\mu_t,\sigma_t}(x)=\partial_x\bigg[ -\frac{(x-\mu_t)^2}{2\sigma_t^2}\bigg] = -\frac{x-\mu_t}{\sigma_t^2}$$ Most notably, a big difference between my original "solution" and this solution is the different sign of $\theta\bar X_t$ in the backwards SDE.

  • $\begingroup$ Both papers are correct they just encode time reversal differently. In the paper of the original post notice the SDE is evolving forward in time you start at 0 and then simulate forward in time , whilst in this comment the SDE evolves backwards in time that is it starts at time T and goes to 0 thus the different signs see slide 10 here sde-course.netlify.app/assets/slides/sde-course-lec2.pdf . $\endgroup$ Commented Mar 14 at 23:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .