Random time vs stopping time & expectation

brownian motionconditional-expectationprobabilityprobability theorystopping-times

Let $B_t$ be a standard Brownian motion. Let us introduce a stopping time $\tau$ as
$$\tau \ = \ \ \inf\Big\{t:\ |B_t|=1\Big\}.$$
Now, what I am interested in are random variables $\tau_x$ defined as
$$\tau_x(\omega) \ = \ x\cdot\tau(\omega),$$
for $x> 0$. Obviously, $\tau_x$ is not a stopping time anymore. Nevertheless, we can still
consider a random variable $$B_{\tau_x}(\omega) \ = \ B_{\tau_x(\omega)}(\omega),$$
and it is (if I understand correctly) still well defined, i.e. measurable – as claimed in

The strong Markov property with an uncountable index set.

My question is, are basic quantities such as
$$\mathbb{E}\Big(B_{\tau_\frac{1}{2}}\Big|B_{\tau}=1\Big)$$
computable? How can we calculate it? My crude intuition is, that
$$\mathbb{E}\Big(B_{\tau_x}\Big|B_{\tau}=1\Big) \ = \ x,$$
as $\Delta:=B_{\tau}-B_{0}=1$ and on average we should make $x$ of it in the first $x$ part of random $\tau$ time.

I would be glad for any help and insight.

Best Answer

The following R-code serves to compute the mean of $B_{\tau/2}$ conditionally on $B_\tau = 1$. Paths of Brownian motions on $[0,1]$ are simulated via independent Gaussian increments. For the subsample where $\tau \leq 1$ and $B_{\tau} = 1$, the values $B_{\tau/2}$ are computed, if necessary via linear interpolation. The mean is then approximated by taking the average of these values.

(Intuitively, conditioning on $\tau \leq 1$, shouldn't be too problematic; but a rigorous argument escapes me.)

I find that $\mathbb{E}[B_{\tau/2} \, | \, B_\tau = 1] \approx 0.26$. Replacing $\tau$ by $\bar{\tau} := \inf\{t > 0 : B_t = 1\}$, one also finds $\approx 0.26$. I find these numerical results to be somewhat consistent with an earlier comment of mine.

set.seed(2)

N <- 5000
n <- 5000

h <- 1/n

X <- apply(rbind(rep(0,N),matrix(rnorm(n*N, mean = 0, sd = sqrt(h)), nrow = n, ncol = N)), 2, cumsum)
    
tau <- apply(X, 2, function(y){Position(function(x){x>=1 | x<=-1}, y)})

B_tau <- vector()
B_tau_half <- vector()
for (i in 1:N){
  if(!is.na(tau[i]) & X[tau[i],i] >= 1){
    B_tau <- c(B_tau,X[tau[i],i])
    if(tau[i] %% 2 == 0){
      B_tau_half <- c(B_tau_half,X[tau[i]/2,i])
    }
    else{
      B_tau_half <- c(B_tau_half,X[(tau[i]-1)/2,i]/2 + X[(tau[i]+1)/2,i]/2)
    }
  }
}

mean(B_tau_half)
Related Question