Skip to content
All library documents

Estimating Jump Probability and Jump Volatility from Time Series

Article Quant Q&A · Author: Kivo360

Summary

The document explores estimating jump probability and jump volatility from an observed time series for use in a jump diffusion model. The proposed approach compares short- and long-window rolling standard deviations: a large divergence, especially near a local peak in short-window volatility, would flag a possible jump and offer a proxy for its magnitude. A record of detected jumps and the intervals between them could then inform the estimated jump frequency.

This is an early-stage proposal rather than a validated method. The author has not tested it and asks whether similar approaches exist. The document provides no data, thresholds, distribution-fitting procedure, or evidence that volatility divergence reliably separates jumps from ordinary high volatility. Any estimate would therefore depend on the jump definition, lookback windows, detection threshold, and the time series’ regime; feed-forward evaluation would also need to avoid using future observations.

Key ideas

  • The proposed detector compares rolling volatility estimates over short and long windows.
  • A large divergence between the estimates may signal a jump, particularly near a short-window volatility peak.
  • Detected jump sizes and inter-jump intervals could inform jump volatility and jump probability estimates.
  • The proposal is untested and does not specify thresholds or validate jump detection against data.

Tags

Full text
# Finding Jump Probability For Time Series Data


# Finding Jump Probability For Time Series Data












I'm relatively new here, so if it seems like I'm asking a bad question, go easy on me.

So I was looking at the Merton Jump Diffusion Stochastic Model on Turing Finance's article. Instead of creating something that generates jumps given a jump probability, I wanted to figure out the jump probability of any given time series I'm given. Such a variable will be heavily dependent on a few things:

- That I can detect jumps while doing feed-forward testing.

- That I have a memory of all the jumps for a given time-series data set and I have the distance between each jump as a result.

- That I also have some sense of what the jump volatility would be.

It's important for a model I'm generating.

Pythonically, you could say I want to run the following steps inside of the backtest:

```
def get_jump_prob_vol(series):
    moving_vol1, moving_vol2 = get_rolling_volatility_two(series) # returns a rolling STD of the the time series
    jprob, jvol = get_jump_information(moving_vol1, moving_vol2)
    return jprob, jvol
```

Here's what I have so far.

I have the thought that jumps would be detectable using diverge between two rolling volatility measures (standard deviations). One would be short, and would better capture quick swings, while the other would be longer in time horizon, and would allow for the algo to capture larger volatility measures. Times when the short volatility approaches a local max, and the std divergence is over a threshold, would indicate when a jump has happened, and could possibly show how steep (strong) the jump was. A gaussian distribution that's a cumulation of all of the jumps this would have recorded would be my `jump vol` and `jump prob`.

I haven't had the chance to try this out yet. I wondered if others have done anything similar in the past. Knowing so would let me figure out if I'm heading in the right direction.

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.