Skip to main content
Notice removed Canonical answer required by CommunityBot
Bounty Ended with no winning answer by CommunityBot
Notice added Canonical answer required by Basj
Bounty Started worth 50 reputation by Basj
Added a question about link with Hurst exponent
Source Link
Basj
  • 587
  • 5
  • 15

Let $(B_t)$ be a brownian motion on [0,1]. For the following, let $\omega$ be fixed.

Let's compute the total absolute variation when sampling period = $\delta$ is fixed:

$$V(\delta) = \sum_{i=0}^{N-1} |B_{t_{i+1}}(\omega) - B_{t_i}(\omega)|. $$

(i.e. $0 = t_0 < t_1 < t_2 < ... < t_N = 1$ with a constant step $\delta = t_{i+1} - t_i$ for all $i$)

I noticed experimentally that:

$$ V(\delta) \sim c\ \delta^{-1/2}$$

It confirms the common-sense feeling that the smaller the sampling period (=the higher the sampling rate), the higher the total absolute variation.

Is it a well-known result? If so, where could I find a proof?


More generally, if for a process $X_t$ we have

$$ V(\delta) \sim c\ \delta^{-\kappa}$$

can we prove that $H = 1 - \kappa$ is the Hurst exponent of $X_t$ ?

It seems to work when $X_t$ is a $C^\infty$ function ($H=1$, $\kappa = 0$), it works for Brownian motion ($1/2$ for both), it also works for White noise ($H=0$, $\kappa = 1$).


Some Python code to show this:

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

# GENERATION OF BROWNIAN MOTION
X = 2 * np.random.binomial(1, 0.5, 2*1000*1000) - 1
cumsumX = np.cumsum(X)
n = 1000*1000
x = np.linspace(0, 1, num=1000*1000)
Y = 1/np.sqrt(n) * np.array([cumsumX[int(n*t)] for t in x])

plt.plot(x,Y)
plt.show()

# ABSOLUTE VARIATION FOR EACH DIFFERENT SAMPLING PERIOD
print('Sampling period, absolute variation')
SP = []
ABSVAR = []
for k in range(1,15):
    sp  = 2 ** k
    Z = Y[::sp]
    absvar=sum(abs(Z[1:]-Z[:-1]))
    SP.append(sp)
    ABSVAR.append(absvar)
    print sp, absvar

print('Coefficient:')
print((np.log(ABSVAR)[-1]-np.log(ABSVAR)[0])/(np.log(SP)[-1]-np.log(SP)[0]))

# LOGARITHMIC PLOT
plt.plot(SP, ABSVAR, marker='o')
plt.xscale('log')
plt.yscale('log')
plt.show()

enter image description here

Logarithmic plot of total absolute variation, in function of sampling period (both axis are log):

enter image description here

Let $(B_t)$ be a brownian motion on [0,1]. For the following, let $\omega$ be fixed.

Let's compute the total absolute variation when sampling period = $\delta$ is fixed:

$$V(\delta) = \sum_{i=0}^{N-1} |B_{t_{i+1}}(\omega) - B_{t_i}(\omega)|. $$

(i.e. $0 = t_0 < t_1 < t_2 < ... < t_N = 1$ with a constant step $\delta = t_{i+1} - t_i$ for all $i$)

I noticed experimentally that:

$$ V(\delta) \sim c\ \delta^{-1/2}$$

It confirms the common-sense feeling that the smaller the sampling period (=the higher the sampling rate), the higher the total absolute variation.

Is it a well-known result? If so, where could I find a proof?


Some Python code to show this:

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

# GENERATION OF BROWNIAN MOTION
X = 2 * np.random.binomial(1, 0.5, 2*1000*1000) - 1
cumsumX = np.cumsum(X)
n = 1000*1000
x = np.linspace(0, 1, num=1000*1000)
Y = 1/np.sqrt(n) * np.array([cumsumX[int(n*t)] for t in x])

plt.plot(x,Y)
plt.show()

# ABSOLUTE VARIATION FOR EACH DIFFERENT SAMPLING PERIOD
print('Sampling period, absolute variation')
SP = []
ABSVAR = []
for k in range(1,15):
    sp  = 2 ** k
    Z = Y[::sp]
    absvar=sum(abs(Z[1:]-Z[:-1]))
    SP.append(sp)
    ABSVAR.append(absvar)
    print sp, absvar

print('Coefficient:')
print((np.log(ABSVAR)[-1]-np.log(ABSVAR)[0])/(np.log(SP)[-1]-np.log(SP)[0]))

# LOGARITHMIC PLOT
plt.plot(SP, ABSVAR, marker='o')
plt.xscale('log')
plt.yscale('log')
plt.show()

enter image description here

Logarithmic plot of total absolute variation, in function of sampling period (both axis are log):

enter image description here

Let $(B_t)$ be a brownian motion on [0,1]. For the following, let $\omega$ be fixed.

Let's compute the total absolute variation when sampling period = $\delta$ is fixed:

$$V(\delta) = \sum_{i=0}^{N-1} |B_{t_{i+1}}(\omega) - B_{t_i}(\omega)|. $$

(i.e. $0 = t_0 < t_1 < t_2 < ... < t_N = 1$ with a constant step $\delta = t_{i+1} - t_i$ for all $i$)

I noticed experimentally that:

$$ V(\delta) \sim c\ \delta^{-1/2}$$

It confirms the common-sense feeling that the smaller the sampling period (=the higher the sampling rate), the higher the total absolute variation.

Is it a well-known result? If so, where could I find a proof?


More generally, if for a process $X_t$ we have

$$ V(\delta) \sim c\ \delta^{-\kappa}$$

can we prove that $H = 1 - \kappa$ is the Hurst exponent of $X_t$ ?

It seems to work when $X_t$ is a $C^\infty$ function ($H=1$, $\kappa = 0$), it works for Brownian motion ($1/2$ for both), it also works for White noise ($H=0$, $\kappa = 1$).


Some Python code to show this:

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

# GENERATION OF BROWNIAN MOTION
X = 2 * np.random.binomial(1, 0.5, 2*1000*1000) - 1
cumsumX = np.cumsum(X)
n = 1000*1000
x = np.linspace(0, 1, num=1000*1000)
Y = 1/np.sqrt(n) * np.array([cumsumX[int(n*t)] for t in x])

plt.plot(x,Y)
plt.show()

# ABSOLUTE VARIATION FOR EACH DIFFERENT SAMPLING PERIOD
print('Sampling period, absolute variation')
SP = []
ABSVAR = []
for k in range(1,15):
    sp  = 2 ** k
    Z = Y[::sp]
    absvar=sum(abs(Z[1:]-Z[:-1]))
    SP.append(sp)
    ABSVAR.append(absvar)
    print sp, absvar

print('Coefficient:')
print((np.log(ABSVAR)[-1]-np.log(ABSVAR)[0])/(np.log(SP)[-1]-np.log(SP)[0]))

# LOGARITHMIC PLOT
plt.plot(SP, ABSVAR, marker='o')
plt.xscale('log')
plt.yscale('log')
plt.show()

enter image description here

Logarithmic plot of total absolute variation, in function of sampling period (both axis are log):

enter image description here

added 20 characters in body
Source Link
Basj
  • 587
  • 5
  • 15

Let $(B_t)$ be a brownian motion on [0,1]. For the following, let $\omega$ be fixed.

Let's compute the total absolute variation when sampling period = $\delta$ is fixed:

$$V(\delta) = \sum_{i=0}^{N-1} |B_{t_{i+1}}(\omega) - B_{t_i}(\omega)|. $$

(i.e. $0 = t_0 < t_1 < t_2 < ... < t_N = 1$ with a constant step $\delta = t_{i+1} - t_i$ for all $i$)

I noticed experimentally that:

$$ V(\delta) \sim c\ \delta^{-1/2}$$

It confirms the common-sense feeling that the smaller the sampling period (=the higher the sampling rate), the higher the total absolute variation.

Is it a well-known result? If so, where could I find a proof?


Some Python code to show this:

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

# GENERATION OF BROWNIAN MOTION
X = 2 * np.random.binomial(1, 0.5, 2*1000*1000) - 1
cumsumX = np.cumsum(X)
n = 1000*1000
x = np.linspace(0, 1, num=1000*1000)
Y = 1/np.sqrt(n) * np.array([cumsumX[int(n*t)] for t in x])

plt.plot(x,Y)
plt.show()

# ABSOLUTE VARIATION FOR EACH DIFFERENT SAMPLING PERIOD
print('Sampling period, absolute variation')
SP = []
ABSVAR = []
for k in range(1,15):
    sp  = 2 ** k
    Z = Y[::sp]
    absvar=sum(abs(Z[1:]-Z[:-1]))
    SP.append(sp)
    ABSVAR.append(absvar)
    print sp, absvar

print('Coefficient:')
print((np.log(ABSVAR)[-1]-np.log(ABSVAR)[0])/(np.log(SP)[-1]-np.log(SP)[0]))

# LOGARITHMIC PLOT
plt.plot(SP, ABSVAR, marker='o')
plt.xscale('log')
plt.yscale('log')
plt.show()

enter image description here

Logarithmic plot of total absolute variation, in function of sampling period (both axis are log):

enter image description here

Let $(B_t)$ be a brownian motion on [0,1]. For the following, let $\omega$ be fixed.

Let's compute the total absolute variation when sampling period = $\delta$ is fixed:

$$V(\delta) = \sum_{i=0}^{N-1} |B_{t_{i+1}}(\omega) - B_{t_i}(\omega)|. $$

(i.e. $0 = t_0 < t_1 < t_2 < ... < t_N = 1$ with a constant step $\delta = t_{i+1} - t_i$ for all $i$)

I noticed experimentally that:

$$ V(\delta) \sim c\ \delta^{-1/2}$$

It confirms the common-sense feeling that the smaller the sampling period (=the higher the sampling rate), the higher the total absolute variation.

Is it a well-known result? If so, where could I find a proof?


Some Python code to show this:

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

# GENERATION OF BROWNIAN MOTION
X = 2 * np.random.binomial(1, 0.5, 2*1000*1000) - 1
cumsumX = np.cumsum(X)
n = 1000*1000
x = np.linspace(0, 1, num=1000*1000)
Y = 1/np.sqrt(n) * np.array([cumsumX[int(n*t)] for t in x])

plt.plot(x,Y)
plt.show()

# ABSOLUTE VARIATION FOR EACH DIFFERENT SAMPLING PERIOD
print('Sampling period, absolute variation')
SP = []
ABSVAR = []
for k in range(1,15):
    sp  = 2 ** k
    Z = Y[::sp]
    absvar=sum(abs(Z[1:]-Z[:-1]))
    SP.append(sp)
    ABSVAR.append(absvar)
    print sp, absvar

print('Coefficient:')
print((np.log(ABSVAR)[-1]-np.log(ABSVAR)[0])/(np.log(SP)[-1]-np.log(SP)[0]))

# LOGARITHMIC PLOT
plt.plot(SP, ABSVAR, marker='o')
plt.xscale('log')
plt.yscale('log')
plt.show()

enter image description here

Logarithmic plot of total absolute variation, in function of sampling period:

enter image description here

Let $(B_t)$ be a brownian motion on [0,1]. For the following, let $\omega$ be fixed.

Let's compute the total absolute variation when sampling period = $\delta$ is fixed:

$$V(\delta) = \sum_{i=0}^{N-1} |B_{t_{i+1}}(\omega) - B_{t_i}(\omega)|. $$

(i.e. $0 = t_0 < t_1 < t_2 < ... < t_N = 1$ with a constant step $\delta = t_{i+1} - t_i$ for all $i$)

I noticed experimentally that:

$$ V(\delta) \sim c\ \delta^{-1/2}$$

It confirms the common-sense feeling that the smaller the sampling period (=the higher the sampling rate), the higher the total absolute variation.

Is it a well-known result? If so, where could I find a proof?


Some Python code to show this:

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

# GENERATION OF BROWNIAN MOTION
X = 2 * np.random.binomial(1, 0.5, 2*1000*1000) - 1
cumsumX = np.cumsum(X)
n = 1000*1000
x = np.linspace(0, 1, num=1000*1000)
Y = 1/np.sqrt(n) * np.array([cumsumX[int(n*t)] for t in x])

plt.plot(x,Y)
plt.show()

# ABSOLUTE VARIATION FOR EACH DIFFERENT SAMPLING PERIOD
print('Sampling period, absolute variation')
SP = []
ABSVAR = []
for k in range(1,15):
    sp  = 2 ** k
    Z = Y[::sp]
    absvar=sum(abs(Z[1:]-Z[:-1]))
    SP.append(sp)
    ABSVAR.append(absvar)
    print sp, absvar

print('Coefficient:')
print((np.log(ABSVAR)[-1]-np.log(ABSVAR)[0])/(np.log(SP)[-1]-np.log(SP)[0]))

# LOGARITHMIC PLOT
plt.plot(SP, ABSVAR, marker='o')
plt.xscale('log')
plt.yscale('log')
plt.show()

enter image description here

Logarithmic plot of total absolute variation, in function of sampling period (both axis are log):

enter image description here

Source Link
Basj
  • 587
  • 5
  • 15

Total absolute variation of brownian motion, with different sampling rates

Let $(B_t)$ be a brownian motion on [0,1]. For the following, let $\omega$ be fixed.

Let's compute the total absolute variation when sampling period = $\delta$ is fixed:

$$V(\delta) = \sum_{i=0}^{N-1} |B_{t_{i+1}}(\omega) - B_{t_i}(\omega)|. $$

(i.e. $0 = t_0 < t_1 < t_2 < ... < t_N = 1$ with a constant step $\delta = t_{i+1} - t_i$ for all $i$)

I noticed experimentally that:

$$ V(\delta) \sim c\ \delta^{-1/2}$$

It confirms the common-sense feeling that the smaller the sampling period (=the higher the sampling rate), the higher the total absolute variation.

Is it a well-known result? If so, where could I find a proof?


Some Python code to show this:

# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

# GENERATION OF BROWNIAN MOTION
X = 2 * np.random.binomial(1, 0.5, 2*1000*1000) - 1
cumsumX = np.cumsum(X)
n = 1000*1000
x = np.linspace(0, 1, num=1000*1000)
Y = 1/np.sqrt(n) * np.array([cumsumX[int(n*t)] for t in x])

plt.plot(x,Y)
plt.show()

# ABSOLUTE VARIATION FOR EACH DIFFERENT SAMPLING PERIOD
print('Sampling period, absolute variation')
SP = []
ABSVAR = []
for k in range(1,15):
    sp  = 2 ** k
    Z = Y[::sp]
    absvar=sum(abs(Z[1:]-Z[:-1]))
    SP.append(sp)
    ABSVAR.append(absvar)
    print sp, absvar

print('Coefficient:')
print((np.log(ABSVAR)[-1]-np.log(ABSVAR)[0])/(np.log(SP)[-1]-np.log(SP)[0]))

# LOGARITHMIC PLOT
plt.plot(SP, ABSVAR, marker='o')
plt.xscale('log')
plt.yscale('log')
plt.show()

enter image description here

Logarithmic plot of total absolute variation, in function of sampling period:

enter image description here