Testing Whether a Sampled Process Is a Wiener Process
Summary
The document surveys possible ways to assess whether sampled data are consistent with a Wiener process, motivated by validating models such as geometric Brownian motion or an Ornstein–Uhlenbeck process. Suggested checks include testing marginal normality, examining whether increments are independent, and testing joint normality of vectors of increments using a cell-count chi-square statistic.
It also raises process-level properties associated with Wiener behavior: quadratic variation and the martingale property, as in Lévy’s characterization. An alternative is to treat finite differences as a proxy for the process derivative and apply white-noise diagnostics. These are proposals and questions rather than a worked testing procedure: the post does not provide implementation details, sampling requirements, critical values, or evidence from data. In practice, marginal normality alone cannot establish the required dependence and path properties, and finite sampling complicates inference. The suggested tests should therefore be seen as components of model checking rather than a single definitive test.
Key ideas
- A Wiener-process check must consider both distributions and dependence of increments.
- Marginal normality tests alone do not establish that a process is Wiener.
- Joint increment distributions can be assessed with a chi-square cell-count approach.
- Quadratic variation and the martingale property connect to Lévy’s characterization.
- Finite differences can be analyzed with white-noise diagnostics, subject to sampling limitations.
Tags
Full text
# Testing whether a process is a Wiener process
# Testing whether a process is a Wiener process
Ideally I would like links to code implementations (eg. Matlab ) or book/paper references, but I would appreciate suggestions on various methods.
Update: I was hoping to attract people who test the validity of their models (eg. that indeed a stock price follows a BS or OU model). I am more interested in the code implementation.
We start with sampled process $X_{t}$.
- A straightforward way is through repeated normality tests: a. Test for normality of $X_{t}$ using KS test b. Independence of increments: we test whether the product $X_{T/2}(X_{T}-X_{T/2})/\sigma^{2}$ is close to a standard normal, where $\sigma^{2}=(T/2)^{2}$ . c. Joint normal for increments $Y_{n}=(X_{t_2}-X_{t_1},...,X_{t_n}-X_{t_n-1})$: we divide the possible values of $Y_{n}$ into $m$ cells and denote $O_{j}:=$# samples that fall into cell $j$. Then the statistic $\sum \frac{(O_{j}-E[O_{j}])^{2}}{E[O_{j}]}$ should be approximately a $\chi^{2}-$distribution.
- Maybe testing for quadratic variation=$t$ and martingale property (Levy characterization)?
- Some spectral characterization for WP?
- The other link is testing for fractional WP, which is more involved.
- Turning it into a test for White noise since it is the "derivative" of WP. So maybe taking finite difference for WP and doing white noises tests for it: $$(X_{t+\Delta t}-X_{t})/\Delta t.$$Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.