OptimalCuttingFrequency

OptimalCuttingFrequency computes the optimal cutting frequency for the Fourier estimator of integrated variance

Syntax

  • Nopt=OptimalCuttingFrequency(x,t)example

Description

OptimalCuttingFrequency computes the optimal cutting frequency for running the Fourier estimator of the integrated variance on noisy timeseries data.

example

Nopt =OptimalCuttingFrequency(x, t) Computation of the optimal cutting frequency for estimating the integrated variance from a vector x of noisy observations of a univariate diffusion process.

Examples

expand all

  • Computation of the optimal cutting frequency for estimating the integrated variance from a vector x of noisy observations of a univariate diffusion process.
  • % Generate data.
    n=1000;
    dt=1/n;
    t=0:dt:1;
    x=randn(n,1)*sqrt(dt);
    % generate the diffusion process
    x=[0;cumsum(x)];
    % Add noise:
    noise_to_signal =0.5; % noise-to-signal ratio
    sigma_eps = noise_to_signal*std(diff(x));
    noise=sigma_eps*randn(size(x));
    % add noise, which is i.i.d. N(0,sigma_eps^2)
    x=x+noise;
    Nopt = OptimalCuttingFrequency(x,t); % optimal cutting frequency
    ivar=FE_int_vol(x,t,'N',Nopt);
    disp(['The optimal cutting frequency is: ' num2str(Nopt)])
    disp(['The value of the integrated variance is: ' num2str(ivar)])
    The optimal cutting frequency is: 168
    The value of the integrated variance is: 1.1166
    

    Input Arguments

    expand all

    x — Observation values. Vector.

    Row or column vector containing the observed values.

    Data Types: single| double

    t — Observation times. Vector.

    Row or column vector with the same length of x containing the observation times

    Data Types: single| double

    Output Arguments

    expand all

    Nopt —Optimal cutting frequency. Scalar

    Integer representing the optimal cutting frequency.

    More About

    expand all

    Additional Details

    We assume our timeseries data are noisy observations $\tilde x$ from a diffusion process following the Ito stochastic differential equation $$dx(t)= \sigma(t) \ dW(t) + b(t) \ dt,$$ where $W$ is a Brownian motion on a filtered probability space. Let $\sigma$ and $b$ be random processes, adapted to the Brownian filtration.

    The integrated variance of the process over the time interval $[0,T]$ is defined as $$\int_0^T \sigma^2(t) dt.$$ For any positive integer $n$, let ${\cal S}_{n}:=\{ 0=t_{0}\leq \cdots \leq t_{n}=T \}$ be the observation times.

    The observations are affected by i.i.d. noise terms $\eta(t_i)$ with mean zero and finite variance $$\tilde x(t_i)=x(t_i)+\eta(t_i).$$ See the Reference for further mathematical details.

    Moreover, let $\delta_i(\tilde x):= \tilde x(t_{i+1})-\tilde x(t_i)$ be the increments of $\tilde x$.

    The optimal cutting frequency $N$ for computing the Fourier estimator of the integrated variance from noisy timeseries data is obtained by minimization of the estimated MSE.

    The Fourier estimator of the integrated variance over $[0,T]$, is then defined as $$\widehat\sigma^{2}_{n,N}:= {T^2 \over {2N+1}}\sum_{|s|\leq N} c_s(d\tilde x_n) c_{-s}(d\tilde x_n),$$ where for any integer $k$, $|k|\leq N$, the discretized Fourier coefficients of the increments are $$c_k(d\tilde x_{n}):= {1\over {T}} \sum_{i=0}^{n-1} e^{-{\rm i} {{2\pi}\over {T}} kt_i}\delta_i(\tilde x).$$

    References

    Mancino, M.E., Recchioni, M.C., Sanfelici, S. (2017), Fourier-Malliavin Volatility Estimation. Theory and Practice, "Springer Briefs in Quantitative Finance", Springer.

    See Also

    This page has been automatically generated by our routine publishFS