Probability · Empirical Processes

Research & Publications_

Generic chaining, majorizing measures, and weak convergence for dependent processes.

Probability theory · empirical processes · maximal inequalities.

I'm a PhD researcher in mathematics at Leiden University. Broadly, I work in empirical process theory, which uses tools such as generic chaining to control suprema of stochastic processes, and study how these techniques extend to weak convergence and statistical estimation when the independence assumption is relaxed.

Research Interests

  • Generic chaining theory, geometric functional analysis, maximal inequalities, and majorizing measures for controlling suprema of stochastic processes.
  • Empirical process theory, weak convergence, Glivenko–Cantelli theorems, and Donsker–Skorokhod type results.
  • Stochastic integration, martingale theory, stochastic differential equations, and stochastic optimal control.
  • Quantitative finance, including optimal market making, statistical arbitrage, and algorithmic trading.

Current Work

PhD Research · Leiden University

My current research concerns decomposition theorems, generic chaining, and majorizing measures as tools for controlling suprema of stochastic processes, applied to weak convergence and Donsker–Skorokhod-type results for processes satisfying absolute regularity. My supervisor is dr. A.M. Dürre.

I organize and lead a weekly graduate seminar on weak convergence and empirical process theory.

In short: I study how to bound the supremum of a stochastic process from its geometry alone, and how much of that machinery survives once you drop independence. My favorite result in the toolkit is Talagrand's majorizing measure theorem — the full proof is written up here.

Admissible sequences and the \(\gamma_2\) functional

Generic chaining is a method for controlling the supremum of a stochastic process by approximating its index set through a sequence of increasingly fine finite nets. Let \((T,d)\) be a metric space and let \((X_t)_{t \in T}\) be a stochastic process whose increments are controlled by the metric \(d\). Following Talagrand's notation, define \[N_n = 2^{2^n}, \qquad n \ge 0,\] and consider admissible subsets \(T_n \subset T\) satisfying \[\operatorname{card}(T_n) \le N_n.\] The sequence \((T_n)_{n \ge 0}\) is called an admissible sequence. For every \(t \in T\), let \(\pi_n(t) \in T_n\) be an approximation of \(t\) at level \(n\). The chaining decomposition is \[X_t - X_{t_0} = \sum_{n \ge 0} \left(X_{\pi_{n+1}(t)} - X_{\pi_n(t)}\right),\] which expresses the process as a sum of increments across successive scales.

The complexity of an admissible sequence is quantified by Talagrand's functional \[\gamma_2(T,d) = \inf_{(T_n)} \sup_{t \in T} \sum_{n \ge 0} 2^{n/2} d(t,T_n),\] where \[d(t,T_n) = \inf_{s \in T_n} d(t,s),\] and the infimum is taken over all admissible sequences. The functional \(\gamma_2(T,d)\) measures the optimal cost of approximating the whole index set at all scales simultaneously.

The majorizing measure theorem

For a centered Gaussian process with canonical metric \[d(s,t) = \left(\mathsf{E}(X_s - X_t)^2\right)^{1/2},\] the majorizing measure theorem states that there exists a universal constant \(L \ge 1\) such that \[\frac{1}{L}\gamma_2(T,d) \le \mathsf{E} \sup_{t \in T} X_t \le L\gamma_2(T,d).\]

Thus generic chaining identifies the exact geometric quantity governing the expected supremum of a Gaussian process. The choice \(N_n = 2^{2^n}\) gives the correct multiscale balance between the cardinality of the approximating sets and the size of the increments, leading to sharp bounds that improve upon classical entropy estimates based on a single covering scale.

This is the toolkit I'm extending, to processes that are only \(\beta\)-mixing rather than independent, where the chaining argument has to absorb a mixing-rate correction at every scale \(n\) instead of relying on independence between increments.

Past Research

Research Assistant · VU Econometrics and Data Science

  • Developed likelihood-based estimation procedures for functional scale models, with vectorized and parallel implementations to improve computational efficiency.
  • Reduced the runtime of large-scale Monte Carlo simulations by 92.3% on average through numpy vectorization and parallel computation.
  • Implemented the main Python components: bernstein_basis, functional_operator, and qmle_filter, including a QMLE filter for the functional GARCH(1,1) model.
  • Used non-negative Bernstein coefficients to ensure a positive volatility surface by construction, avoiding constrained optimization over the entire operator.
  • Estimated a functional GARCH(1,1) model using a Bernstein-basis QMLE approach with three basis functions on simulated intraday data. The fitted model captures the main structure of the true volatility surface, while introducing additional day-to-day variation. Several operator coefficients reach their imposed bounds, indicating that the model is operating near the edge of the parameter space. The results are illustrated through comparisons of the true and fitted GARCH surfaces, as well as the GARCH and GAS-GARCH volatility surfaces.
def bernstein_basis(u, M, k):
    return comb(M - 1, k - 1) * u ** (k - 1) * (1 - u) ** (M - k)

def functional_operator(grid, coefs, M):
    phi = np.stack([bernstein_basis(grid, M, k) for k in range(1, M + 1)])
    return sum(c * np.outer(phi[i], phi[j]) for c, (i, j) in zip(coefs, product(range(M), repeat=2)))

def qmle_filter(returns, theta, M):
    delta, alpha, beta = theta[:M], theta[M:M + M**2], theta[M + M**2:]
    grid = np.linspace(0, 1, returns.shape[0])
    A, B = functional_operator(grid, alpha, M), functional_operator(grid, beta, M)
    d = sum(c * bernstein_basis(grid, M, k) for k, c in enumerate(delta, 1))

    sigma2 = np.ones(returns.shape[0])
    surface = np.zeros_like(returns)
    for t in range(1, returns.shape[1]):
        sigma2 = d + (A @ returns[:, t - 1] ** 2 + B @ sigma2) / returns.shape[0]
        surface[:, t] = sigma2
    return surface

theta_hat = minimize(lambda theta: qmle_loss(returns, theta, M), theta0, method='SLSQP').x

Non-negative Bernstein coefficients guarantee a positive volatility surface directly, without constrained optimization over the full operator.

True versus functional GARCH-estimated volatility surface, side by side

The first comparison figure shows the estimated GAS-GARCH volatility surface against the true volatility surface to assess the model’s ability to recover the underlying dynamics.

Functional GARCH-estimated versus GAS-GARCH-estimated volatility surface, side by side

The second comparison figure compares the functional GARCH and GAS-GARCH volatility surfaces, demonstrating the increased flexibility of the GAS-GARCH specification relative to the traditional functional GARCH model.

MSc Thesis · Functional stationarity testing

Developed a functional stationarity test for multidimensional diffusion processes, implementing and packaging the underlying mathematical framework as an open-source library.

Publications

The Tukey depth under dependence

Zunnenberg, D. & Dürre, A. · Bernoulli
Forthcoming · Bernoulli Society for Mathematical Statistics and Probability · includes online supplement (proofs & auxiliary results)

Absolute regularity and maximal moment inequalities

Zunnenberg, D. & Dürre, A. · Unpublished manuscript

Functional location-scale models with robust observation-driven dynamics

Lin, Y. & Lucas, A. · Tinbergen Institute Discussion Paper
Research assistantship contribution

Software

MultivariateHamrickTaqqu

Open-source implementation of a functional stationarity test for multidimensional diffusion processes, developed for my MSc thesis.

FunctionalScale

Estimation library for functional GARCH/GAS models of time-varying intraday volatility surfaces, using B-splines and numba JIT compilation.

A full, up-to-date list is also maintained on Google Scholar. For collaboration proposals or seminar invitations, get in touch.