Riding Wavelets: A Method to Discover New Classes of Price Jumps
Cecilia Aubrun Rudy Morel Michael Benzaquen Jean-Philippe Bouchaud


APS/123-QED





 []Authors contributed equally.
Chair of Econophysics and Complex Systems, École polytechnique, 91128 Palaiseau Cedex, France
LadHyX UMR CNRS 7646, École polytechnique, 91128 Palaiseau Cedex, France


[]Authors contributed equally.
École Normale Supérieure, 45 rue d'Ulm, 75005 Paris
Chair of Econophysics and Complex Systems, École polytechnique, 91128 Palaiseau Cedex, France



Chair of Econophysics and Complex Systems, École polytechnique, 91128 Palaiseau Cedex, France
LadHyX UMR CNRS 7646, École polytechnique, 91128 Palaiseau Cedex, France
Capital Fund Management, 23 Rue de l’Université, 75007 Paris, France


Chair of Econophysics and Complex Systems, École polytechnique, 91128 Palaiseau Cedex, France
Capital Fund Management, 23 Rue de l’Université, 75007 Paris, France
Académie des Sciences, 23 Quai de Conti, 75006 Paris, France



             


Cascades of events and extreme occurrences have garnered significant attention across diverse domains such as financial markets, seismology, and social physics.  
Such events can stem either from the internal dynamics inherent to the system (endogenous), or from external shocks (exogenous). The possibility of separating these two classes of events has critical implications for professionals in those fields. We introduce an unsupervised framework leveraging a representation of jump time-series based on wavelet coefficients and apply it to stock price jumps. In line with previous work, we recover the fact that the time-asymmetry of volatility is a major feature. Mean-reversion and trend are found to be two additional key features, allowing us to identify new classes of jumps. Furthermore, thanks to our wavelet-based representation, we investigate the reflexive properties of co-jumps, which occur when multiple stocks experience price jumps within the same minute. We argue that a significant fraction of co-jumps results from an endogenous contagion mechanism.



                              

Riding Wavelets: A Method to Discover New Classes of Price Jumps

    Jean-Philippe Bouchaud
    April 29, 2024
==================================================================

















§ INTRODUCTION











Extreme events and cascades of events are widespread occurrences in both natural and social systems <cit.>. Examples include earthquakes, volcanic eruptions, hurricanes, epileptic crises <cit.>, epidemic spread, financial crashes <cit.>, economic crises <cit.>, book sales shocks <cit.>, riot propagation <cit.> or failures in socio-technical systems <cit.>.
Understanding the origin of such events is essential for forecasting and possibly stabilizing their dynamics.

A widely studied question is the reflexive nature of those shocks – the concept of financial market reflexivity was introduced by Soros in <cit.>, to describe the idea that price dynamics are mostly endogenous and arise from feedback mechanisms.  
Extreme events, in particular, are considered to be endogenous when they arise from feedback mechanisms within the system's structure  <cit.>. Quantifying the extent of reflexivity in a complex system and distinguishing events caused by external shocks from those provoked endogenously, and more generally identifying different classes of events, are crucial questions. 

Prior research  has proposed to differentiate between endogenous and exogenous dynamics by analyzing the profile of activity around the shock <cit.>, in particular in the context of financial markets <cit.>. 

It has been observed that endogenous shocks are preceded by a growth phase mirroring the post event power-law relaxation, in contrast to exogenous shocks that are strongly asymmetric. The universality of this result is quite intriguing as they have been observed in various contexts: intraday book sales on Amazon <cit.>, daily views of YouTube videos <cit.> and intraday financial market volatility and price jumps <cit.>. Besides, Wu et al. <cit.> differentiate exogenous and endogenous bursts of comment posting on social media using the analysis of collective emotion dynamics and time-series distributions of comment arrivals. 































Furthermore, in complex systems, occurrences can propagate along two directions: temporally and towards the other elements of the system. Financial markets offer an attractive setting for studying multi-dimensional shocks due to the abundance of available data, the frequent occurrence of financial shocks and price jumps and the inter-connectivity of markets.

In fact, a recent study by Lillo et al. <cit.> demonstrates the frequent occurrence of “co-jumps”, defined as simultaneous jumps of multiple stocks (as illustrated in Fig. <ref>) and establishes a correlation between their prevalence and the inter-connectivity of different markets.





In this paper, we address the problem of classifying financial price jumps (and co-jumps), in particular measuring their reflexivity, by analyzing their time-series using wavelets. We introduce an unsupervised classification based on an embedding Φ(x) of each jump time-series of returns x(t) into a low dimensional-space more appropriate to clustering. 
Such embedding, composed of wavelet scattering coefficients (see <cit.> and below), relies on wavelet coefficients Wx(0) of the time-series at the time of the jump t=0 and wavelet coefficients of volatility W|Wx|(0).  

Such coefficients are particularly suitable to characterize (among other properties) the asymmetry of time-series at multiple scales. 

Through a Principal Component Analysis we retrieve the fact that time-asymmetry of volatility indeed plays an important role for classification. 
However, our analysis identifies two further crucial features for characterizing the nature of price jumps: mean-reversion and trend. Specifically, mean-reverting jumps are such that pre-jump and post-jump returns are of opposite signs, whereas trend-aligned and trend-anti-aligned jumps occur on a sequence of returns of same sign before and after the jump, but either aligned with the jump itself, or of opposite sign.

For each jump, our analysis provides a measure of the volatility asymmetry, the mean-reversion and the trend. 
We propose a visualization of our dataset of price jumps in the form of two 2D projections.

For both projections, one direction characterizes price jumps based on volatility asymmetry, or “reflexivity level”. The second direction characterizes jumps either in terms of mean-reversion, or in terms of alignement with the local trend behavior. One can then measure the endogeneity of price co-jumps, revealing that many jumps/co-jumps are not related to news and arise only due to endogenous dynamics. This is consistent with the observed power-law distribution of the number of firms affected by a co-jump, indeed predicted by a simple branching (or contagion) process.

Surprisingly, we uncover that a significant number of large co-jumps (affecting a large number of stocks), which might have been assumed to be caused by a common factor and thus share analogous dynamics, actually have uncorrelated returns both pre- and post-jump. This again suggests that such jumps are mostly of endogenous origin.  

The outline of our paper is as follows.
Section <ref> describes our dataset of price jumps resulting from Marcaccioli et al. <cit.>, reviews their supervised classification method based on news labels, and investigates its limitation. 

Section <ref> presents our unsupervised classification of univariate jump time-series based on wavelet coefficients.
Such classification identifies three main directions in the dataset, the time-asymmetry, the mean-reversion and the trend.  

Finally, section <ref> 
is devoted to the characterization of the endogeneity of co-jumps.




§  SUPERVISED CLASSIFICATION THROUGH REFLEXIVITY


Prior work has identified reflexivity as an important feature for the classification of jumps in financial markets <cit.>.


Given the time-series of a jump, the main challenge is to efficiently measure such reflexivity.  




One can for example look at contemporaneous news labels to determine whether a jump is exogenous. Indeed, news labels may serve as ground truth to learn a classification model on the activity profile around a shock. To exemplify, Fig. <ref>, from the work of Marcaccioli et al. <cit.>, illustrates the time asymmetry difference between endogenous and exogenous jumps.

In this section, we first introduce the jump detection method, which allows us to build our dataset. Then, we present the supervised classification based on news labels introduced in <cit.> and show its limitations. This will motivate an alternative approach in section <ref>.



 §.§ Jump detection


We refer to <cit.> for a detailed description of the method to detect price jumps. The detection relies on an estimator of “jump-score" x(t) = r(t)/(f(t)σ(t)), which is the ratio of 1-minute returns time-series r(t) and de-seasonalized local volatility f(t)σ(t) where σ(t) is an estimator of local volatility and f(t) an estimator of the intraday periodicity (the so-called “U-shape”). Throughout this paper, our statistical analyses will focus on x(t), or on its “jump-aligned” version (t) := x(t) sign(x(0)), where x(0) is the return corresponding to the jump. In other words,  x(t) is the rescaled return profile in the direction of the jump.

Under the null hypothesis of Gaussian residuals (no jump hypothesis) |x(t)| converges towards a Gumbel distribution. A statistical test then allows us to reject the null hypothesis.

The resulting method comes down to detecting price movements where the z-score deviates by more than 4-sigma from their average value (here equal to zero).

The jump detection is performed on time-series describing individual stocks dynamics but also on averaged time-series across stocks belonging to the same sector. Hence, we obtain price jumps of individual stocks but also sectoral price jumps. 

Similarly to Marcaccioli et al. <cit.>, we find that price jumps are clustered in time. We assume that jumps taking place within the same “time-cluster” subsequent to an initial jump are merely replicas of the initial jump. They are likely to be either of the same dynamics (as they occurred for the same reason) or endogenously induced by the first jump of the cluster. We thus discard all the jumps that follows an initial jump. This leads to the same detection method as 
in <cit.> which allows to retrieve an exponential distribution for the inter time between two consecutive initial jumps (see part II.D of <cit.>).

From such a collection of price jumps, we can then extract “co-jumps”. A co-jump is simply defined as a set of jumps occurring in the same minute. Here we avoid tackling the question of lagged jumps and consider only simultaneous jumps (up to the minute resolution).

The price behavior before and after a jump can be used to classify the jump. 

In light of Marcaccioli et al.'s findings (<cit.>), which indicate that volatility can begin to rise up to 75 minutes prior to the jump, we adopt a time window of 2 hours centered around the jump occurrence at time t=. 
Consequently, for each jump we extract a time-series of 119 rescaled returns x(t), corresponding to 1 hour preceding the jump and 1 hour following the jump.



We implement such detection on 301 US stocks from January 2015 to December 2022, considering only what happened between 10:30 and 15:00 in order to avoid special jumps due to the high activity at the beginning (due to people reacting to the overnight news/movement) and at the end of the day (due to market closing). In order to discard major market shocks, we also remove all co-jumps involving more than 250 stocks, and days on which the FED made an announcement (1 per month[see  https://www.federalreserve.gov/newsevents/calendar.htmFOMC Calendars ]). We end up with 37 452 jumps, of which 16 127 belong to one of the 2534 co-jumps, and the remainder (21 325) are single jumps.




 §.§ Classification based on news labels



In an attempt to characterize the reflexivity of a jump, one can gather the date and time of news associated to each stocks we consider[source: Bloomberg] and of the main US announcements[source: https://www.investing.com/economic-calendar/economic-calendar]. 

According to such news labels, we might label as “news-related” a jump which happened within 3 minutes of a news and label as “non-news-related” any other jump.
That would lead to a puny ≈ 4.3% of the jumps being classified as “news-related” 
and is illustrated in Fig. <ref>. Hence, as previously argued in <cit.>, it appears that individual price jumps and more surprisingly co-jumps are often not related to news announcements. 

However, it is clear that some news may affect a whole economic sector and lead to a co-jump without appearing in our considered set of news. An example would be an OPEC announcement that affects oil prices and in turn ricochets onto stocks prices, without any of them explicitly showing up in the news feed. Another vivid example is the impeachment of the US president D. Trump in September 2019[For example, the largest co-jump is related to Nancy Pelosi announcement of a formal impeachment inquiry into US President Donald Trump. On 2019-09-24, at 14:13, 248 stocks saw their price jump in the same minute.]. Our “news-related” label is blind to such events. One objective of our study will be to propose a possible classification of co-jumps that does not rely on the news feed, see section <ref>.









 §.§ Classification based on the volatility profile




In <cit.>, Marcaccioli et al. built a supervised classification of univariate jumps into exogenous and endogenous classes. The classification relies on parameters derived from fitting |x(t)| to the following functional form <cit.>: 

    |x(t)| = 1_t<t_cN_</|t-t_c|^p_< + 1_t>t_cN_>/|t-t_c|^p_> + d


and on a measure of the asymmetry of the jump, defined as:

    𝒜_jump = 𝒜_> - 𝒜_</𝒜_>+𝒜_<


where 𝒜_</> := ∑_t</t> |x(t)-min_t</t>(x(t))|. Such an indicator means that when the activity is stronger before (resp. after) the jump, one has 𝒜_jump<0 (resp. 𝒜_jump>0). 
The classification is then obtained as a logistic regression of the news label (endogenous/exogenous) by the parameters (𝒜_jump,p_<,p_>,N_<,N_>,t_c).
Exogenous jumps appear as strongly asymmetric jumps with little activity ahead of the jump, i.e. 
𝒜_jump>0, whereas self-exciting endogenous jumps are much more symmetric with 𝒜_jump≈ 0 <cit.>. 



The above approach, based on news labels, presents several limitations:



  * The classification partly relies on the goodness of fit of a power-law function (<ref>), which is not assured. As a consequence, Marccacioli et al. <cit.> restrict their study to only ∼ 5000 jumps out of the ∼ 37000 in the dataset, for which such a fit is acceptable. 


  * As discussed above, news labels might miss some  relevant economic news, so the resulting price jumps might be wrongly labeled as “non news-related”. 


  * Exogenous jumps could have two types of dynamics: if the exogenous shock is a complete surprise, there should indeed be no activity before the jump. However, if the announcement is planned or if there was some news leakage, there might be a growth of activity before the jump. In this case, one would wrongly classify a news-related jump  as endogenous based on its approximately symmetric activity profile. 

In light of such limitations and in order to uncover new classes of jumps, beyond the sole study of their reflexivity, we opt in the rest of the paper for an unsupervised classification which significantly improves upon the method of <cit.> while still leaving open some ambiguities, as we will see below. 

In the following, although news labels do not reveal the whole truth about the reflexive nature of a jump, we will still call “news-related” jumps that occurred within 3 minutes of a news present in our database and “non news-related” all the others.




§  

CLASSIFICATION OF SINGLE JUMPS USING WAVELETS







The rescaled return time-series around a jump x(t)∈^T is inherently noisy.
Relevant features Φ(x)∈^q must be extracted to effectively distinguish different classes of jumps.
Such features should be selected carefully, in particular, they should include time-asymmetry measures. Indeed, authors in <cit.> show that the jumps mostly differ in their time-asymmetry: endogenous jumps tend to be more symmetric around the jump than exogenous ones. But what are the other possibly relevant features?
In this section, we embrace a signal processing approach to discover important features of univariate jumps and unveil new classes of jumps that are prevalent in the data. 






 §.§ Wavelet and scattering coefficients



Wavelet filters have been used to analyze and classify transient events, see e.g. <cit.>.
A complex wavelet filter ψ(t) is a filter whose Fourier transform 
ψ() = ∫ψ(t)  e^-i  t  dt, is real. 
It is localized both in time and Fourier domains, see Fig. <ref>.



It has a fast decay away from t=0 and a zero-average ∫ψ(t)  dt = 0.
We write ψ(t)= Re ψ(t)+i  Im ψ(t) where Re ψ(t) and Im ψ(t) are its real and imaginary parts. They are respectively even and odd functions:


    Re ψ(-t) =  Re ψ(t)   and   Im ψ(-t) = - Im ψ(t).


The wavelet coefficients W_jx(t) compute the variations of the signal x around t at scale 2^j, for j=1,…, J with


    W_jx(t) := x⋆ψ_j(t)    ψ_j(t) = ψ(2^-jt).


where ⋆ denotes the convolution: x⋆ y(t) := ∫ x(t-u)y(-u)  du.

The sign of the jump sign(x(0)) and its amplitude |x(0)| vary, but they are not necessarily informative for their classification. To remove this source of variability we consider the jump-aligned time-series 

    (t) = sign(x(0)) x(t)

and we further normalize the wavelet coefficients (<ref>) by the corresponding “volatility” σ_j of the full time-series, defined as σ_j^2 = t|x⋆ψ_j(t)|^2, where t· denotes the empirical average over time t.

From Eq. (<ref>), one can see that if x is an even signal i.e. x(-t)=x(t) then Im Wx(t,j) ≡ 0. This property is key to detect asymmetry of a signal at different scales. 


Volatility information can be extracted by taking a modulus. 


The time-series |W_j x(t)| provides the volatility of the signal at scale 2^j. 
This volatility can be asymmetrical in t=0. In order to quantify it, we again consider the wavelet coefficients at t=0

    W_j_2|W_j_1x|(t) := |x⋆ψ_j_1|⋆ψ_j_2(t).




Our representation for univariate jumps in this paper is thus composed of wavelet coefficients (<ref>) at t= and scattering coefficients (<ref>) at t=


    Φ(x) = (W_j() ,  W_j_2|W_j_1x|()).


For a time-series of size T, it contains less than (log_2 T)^2/2 coefficients which represents few coefficients. 
In our case, T=119 and we chose J=6, which yields 42 coefficients (21 real parts and 21 imaginary parts). 

The normalized scattering features Φ(x) (Eq. (<ref>)) are invariant to sign change and to dilation


    Φ(-x) = Φ(x)   and  Φ(λ x) = Φ(x).


which means we do not aim at discriminating jumps neither based on their sign nor on their amplitude. 

In order to classify price jumps, we are interested in Principal Component directions of the 42-dimensional vector Φ(x) in the dataset. This method, called kernel PCA <cit.>, relies on the linear separation power of our scattering coefficients Φ(x).
We considered several directions, i.e. combinations of scattering coefficients, and found three salient features: the time-asymmetry of the volatility, the mean-reversion and the trend behavior of the price around the jump.



 §.§ First Direction D_1: Volatility asymmetry





  §.§.§ Three types of jumps


The first PCA direction (called D_1 henceforth) is a linear combination of the 15 coefficients Im W_j_2|W_j_1x|() in Eq. (<ref>), which characterizes time-asymmetry of the volatility profile at multiple scales 2^j_2, confirming previous analysis that postulated this asymmetry to be relevant. Such a linear combination  allows one to embed each jump time-series into a one dimensional space, which quantifies the reflexive nature of each jump. In fact, Fig. <ref>
and Appendix <ref> 
display average profiles |x(t)| along the “reflexive direction” D_1. One can visually verify that such a representation discriminates jumps according to the asymmetry of their profiles as measured by 𝒜_jump (Eq. (<ref>)): the D_1 direction continuously separates asymmetric jumps with dominant activity before the shock from asymmetric jumps with dominant activity after the shock; see Figs. <ref>, <ref> and <ref>.




From this analysis, three types of jumps can thus be defined:


    
  * Asymmetric jumps with dominant activity before the shock. This type of jumps, which we call “anticipatory”, was quite unexpected and was not discussed in <cit.>. 
    
  * Symmetric jumps, with an pre-shock excitation activity that approximately mirrors the post-shock relaxation activity. These were called “endogenous jumps” in <cit.>: increased activity before the jump is in fact responsible for the jump itself, with some decay of activity thereafter. The symmetry of the profile for endogenous jumps is in fact predicted by a Hawkes process description of the self-exciting mechanism, see <cit.>.
    
  * Asymmetric jumps with dominant activity after the shock. These were called “exogenous jumps” in <cit.>: the market reacts  after unexpected news, but not before.








In order to validate the above analysis, we created synthetic time-series with volatility profiles of varying time-asymmetry and applied our classification method. Results of this benchmark case are shown in Appendix <ref>, and fully confirm that the D_1 direction indeed separates jumps according to their asymmetry 𝒜_jump.  







  §.§.§ Discussion



Using the above classification, we find that a large proportion (∼ 50%) of our sample exhibit positive asymmetry and should naively be considered as exogenous jumps. This seems in contradiction with the results of <cit.>, where exogenous jumps were found to be a minority, and with a fraction of jumps associated to a news found to be 4.3 %, as already quoted above. Several arguments can explain such a difference. 

     
  * The main one is the fact that our analysis includes all jumps involved in a sector jump (corresponding to 24 % of all jumps) whereas those jumps were discarded in <cit.>. Sector jumps are such that many stocks of the same industry jump simultaneously. While some of these jumps are likely due to major exogenous shocks – like macro-economic announcements – that affect a whole economic sector or even the whole market, we argue in section <ref> that these jumps can actually be induced by a jump of one particular stock of the sector, which is deemed as “news” in and by itself. In any case, taking these sector jumps into account mechanically increases the count of jumps with a positive D_1 score. In the present study, we chose to keep these co-jumps and study their statistics, to which we will specifically turn in section <ref>. 

  * As already noted above,  the classification of single jump profiles in <cit.> relies on the goodness of fit of power law function (<ref>), and as such, was only conducted on a smaller sample for which such a fit is acceptable (∼ 5000 jumps out of ∼ 37 000 jumps).





The appearance of “anticipatory jumps”, where the asymmetry parameter 𝒜_jump (see Eq. (<ref>)) is negative, came somewhat as a surprise to us. One possible interpretation is that these jumps are in fact also endogenous, with a pre-shock self-exciting dynamics and very little “after-shocks”. Indeed, if such jumps are immediately deemed endogenous by the market, it might make sense that activity quickly reverts back to normal. This would simply mean that the Hawkes framework predicting a symmetric profile is not adapted to describe all endogenous shocks. 

Another possibility is that such events correspond to news/exogenous events whose timing is expected by the market, which leads to increased activity before the actual release time. But if the actual news content turns out to be insignificant, it would again make sense that the market activity quickly wanes off. We in fact find a very small fraction of news-related jumps with D_1 < 0, see in Fig. <ref>, bottom graph.




 §.§ Second Direction D_2: Mean-Reversion




  §.§.§ Capturing Mean-Reversion


We observed that coefficients Im W_j_1(0) (<ref>) for fine scales, i.e. small j_1, are consistently chosen by the leading PCA directions. They amount to multiplying the jump-aligned time-series (t) by the imaginary filter Im ψ_1(t) (see Fig. <ref>) and averaging over t. 
Such coefficients capture the asymmetry of the return profile shortly before and shortly after the jump, and define what we will call below direction D_2.

A typical time-series that maximizes this coefficient is thus characterized by a positive value of (-1) and a negative value of  (1). In other words, large positive values along the D_2 coordinate capture mean-reverting return profiles, i.e. positive (resp. negative) returns before a positive (resp. negative) jump that become negative (resp. positive) immediately after the jump. 

Large negative values along the D_2 coordinate, on the other hand, also capture mean-reverting return profiles, but in this case mean-reversion starts with (or is triggered by?) the jump itself, and not after the jump.  




Now that we identified a potentially discriminating direction using PCA, we transition to a simpler filter tailored to capture short time mean-reversion, depicted in Fig. <ref>. This filter is then applied to the jump-aligned time-series (t)

    D_2(x) := ⋆ψ_MR(0),

where the tilde indicates that we have simplified the true second PCA direction and only retained the component spanned by ψ_MR.



  §.§.§ A 2D representation of jumps


Based on the first volatility asymmetry direction D_1 and the mean-reversion direction D_2, we are in a position to propose the 2D representation of jumps shown in Fig. <ref> (top), in which the horizontal axis corresponds to D_1 and the vertical axis corresponds to the mean-reversion index D_2. 

Visually, news-related jumps are mostly to the right of the projection, corresponding to increased volatility after the jump, as expected.



In order to illustrate the discriminating power of such coefficient, Fig. <ref> displays the average profiles of (t) along the D_2 axis. One can see that jumps with a high coefficient D_2 (rightmost graph) are characterized by a strong pre-jump trend aligned with the jump, followed by a change of sign in the next minute after the jump (as also shown in Appendix <ref>). 

The leftmost graph, on the other hand, shows relatively mild pre-jump trends opposite to the jump, followed by stronger trends in the direction of the jump, not very different from the cases corresponding to quantiles between 0.1 and 0.5. 

In our dataset, 60% of the jumps have a positive mean-reversion score D_2>0; we refer to Fig. <ref> in Appendix <ref> for the full distribution of D_2. 





To confirm this observation and ascertain that it is not attributable to spurious effects in the data processing, we looked deeper into these jumps. To get a better understanding of the mechanisms at play, we investigated what happens at tick-by-tick scale in the Limit Order Book. We show in Appendix <ref> two illustrative examples, see Fig. <ref>. We again observe, at a different time resolution, a strong mean-reversion behavior induced by order placement. 
Note that both exogenous, or endogenous jumps can have such mean reverting behavior, as clear from the 2D representation Fig. <ref>.

In fact, a mean reverting behavior can be expected both following an exaggerated response to a news release, or after a self-initiated jump with no discernible catalyst.

This is confirmed by Fig. <ref> which shows positive average values of D_2 for all levels of reflexivity D_1, except for strongly exogenous jumps (large values of D_1>0), where the mean-reversion disappears (D_2≈0). 


Note finally that mean-reversion is characterized by a V-shape price profile (see Fig. <ref>), which has recently been used as a criterion to detect price jumps in time-series (<cit.>).




 §.§ Third Direction D_3: Trend


In the previous section, we have defined a filter ψ_MR that detects mean-reversion, but is by construction orthogonal to trends, i.e. post-jump returns continuing in the same direction as pre-jump returns. This feature can be naturally captured by the trend filter ψ_TR shown in Fig. <ref>, which is orthogonal to the mean-reversion filter ψ_MR. This filter is then applied to the jump-aligned profile (t) to get the following trend score

    D_3(x) := ⋆ψ_TR(0).


A large positive value of D_3(x) therefore describes a persistent trend aligned with the direction of the jump. If such jumps exist, we refer to them as “trend-aligned" jumps. A large negative value of D_3(x) indicates that the jump goes against the pre- and post-jump trend. If such jumps exist, we refer to them as “trend-anti-aligned" jumps. 



Fig. <ref> shows that both classes of jumps do indeed exist: the average profiles in the first and last quantiles in Fig. <ref> do conform to expectations. Furthermore we directly observe many stylized examples such as the one reported in Fig. <ref>. As for the mean-reversion indicator, we can represent all jumps in 2D plane based on D_1 and D_3 (see the bottom graph in Fig. <ref>). Visually, trending news-related jumps appear to be mostly aligned with the jump (top-right corner), although anti-aligned trends can also be spotted for moderate values of D_1. Different profiles of (t) corresponding to the grid are shown in Appendix <ref>.  
















 §.§ Preliminary Conclusions


Let us summarize the results obtained by our unsupervised approach so far. First, our proposed 2D projections provide an embedding of a jump according to three meaningful, intuitive properties: its self-reflexive nature (along horizontal axis), its mean-reversion character or its trend character (along vertical axis). On top of the separation between exogenous and endogenous jumps, our clustering method revealed new classes of jumps, some of which we did not expect a priori:  anticipatory jumps, mean-reverting jumps, trend-aligned and trend-anti-aligned jumps. 
Identifying additional interpretable classes of jumps might be possible by considering more expressive wavelet-based embeddings such as Scattering Spectra recently used in the context of financial time series <cit.>.
However, our attempts so far seemed to mostly recover directions which overlap with the volatility time-asymmetry and mean-reverting directions.










§  CLASSIFICATION OF CO-JUMPS


A “co-jump” is defined as a collection of jumps across several stocks, occurring in the same minute.
The number  S of assets involved in the co-jump is referred to as the “size” of the co-jump. 
Co-jumps reveal inter-connectivity and contagion in financial markets <cit.>. As such, studying them – in particular their possible reflexive nature – is a crucial question for investors and regulators alike. 
This section aims at investigating whether co-jumps are created through endogenous dynamics or exogenous shocks. 


To assemble our co-jump dataset we consider the same dataset of jumps as in the previous section.
We end up with 2534 co-jumps, the size of which varies from 2 stocks to 248 stocks. The co-jumps cumulative size distribution, restricted to endogenous jumps, is shown in Fig. <ref>, inset. 
Quite remarkably, the tail of this distribution is well fitted by a power-law S^-τ with exponent τ≈ 1, with a cut-off for S ≳ 100. As we discuss in Appendix <ref>, such a value for τ can be rationalized within the framework of critical branching processes <cit.>, as if co-jumps were the result of a contagion mechanism. Such a power-law behaviour was already noted in previous works: in Ref. <cit.> on a US data set from 2004 to 2006,  in <cit.> from 2001 to 2013 and in <cit.> from 2013 to 2018. 

The signs of the jumps involved in a co-jump are, most of the time, all aligned, i.e. different stocks jump in the same direction, as shown in Fig. <ref>.









The first stage of co-jump characterization is to classify jumps according to their reflexivity coordinate along the D_1 direction. 

In Fig. <ref>, we highlight the coordinates of three particular co-jumps in the 2D projections introduced in the previous section. Each color point is a stock involved in one of the three co-jumps. Let us comment on each of these three cases in turn:


  * The purple co-jump, with 29 stocks involved, has most of its elements in the right side of the 2D projection, suggesting an exogenous, news driven shock. However, one of the jump is below the 0.35 quantile and therefore appears endogenous. This might be a mis-classification because of the inherent noise in our D_1 reflexivity score. An alternative interpretation might however be that this particular stock jumped for no particular reason and this created a surprise  to which other stocks reacted. 

  * The pink co-jump, with 19 stocks involved, staunchly belongs to the anticipatory class – which we believe to be of endogenous nature, as explained above. Co-jumps with a negative or positive but moderate maximum value of the D_1 score can thus be deemed endogenous.

  * The yellow co-jump, with 9 stocks involved, has most of its elements in the intermediate “endogenous" region, except one which is classified as exogenous. This might be either again a mis-classification because of the inherent noise in our D_1 reflexivity score, or else a stock that was not part of the anomalous pre-jump activity but is drawn into the jump through contagion. 

 










From these cursory observations, one may propose three natural indicators for classifying co-jumps:


  * The average value of the individual reflexivity score D_1 over all jumps belonging to a given co-jump, see Fig. <ref>.

  * The maximum value of the individual reflexivity score D_1 over all jumps belonging to a given co-jump: if the most exogenous jump is still deemed endogenous, the whole co-jump is classified as endogenous (see distribution in Fig. <ref>).

  * The minimum value of the individual reflexivity score D_1 over all jumps belonging to a given co-jump: if the most endogenous jump is still deemed exogenous, the whole co-jump is classified as exogenous (see distribution in Fig. <ref>).


  






Fig. <ref> represents the normalized minimum value of reflexivity score D_1 over all jumps of a given co-jump as a function of the normalized average value of reflexivity score D_1 over all jumps of a given co-jump (co-jump indicator 3 as a function of co-jump indicator 1). The normalization is such that Fig. <ref> can be read in units of standard deviation of the reflexivity score D_1 for co-jumps of same size, i.e. σ is the average of the standard deviation of the score D_1 over co-jumps with same size. The size and color of a point depict the size of the co-jump. The gray shaded region represents jumps with insignificant differences between the mean and the minimum value of the D_1 score.

Co-jumps with negative minimum and average values of reflexivity score D_1 (lower left quadrant of Fig.<ref>, LL) can be deemed endogenous, whereas co-jumps with positive minimum and average values of reflexivity score D_1 (upper right quadrant of Fig.<ref>, UR) can be deemed exogenous. 

The lower right quadrant (LR) represent more intriguing co-jumps. Indeed, according to their average score D_1 those co-jumps should naively  be classified as exogenous, however they contain at least one strongly endogenous co-jump. It might be that those endogenous jumps, whose pre-activity starts while most other stocks are still quiet, are interpreted in and by themselves as news. This surprise triggers all other jumps – which therefore appear as exogenous, with no special pre-jump activity but without being related to any news!


Note that the largest co-jumps are in the LR region; our interpretation in terms of a contagion mechanism would then naturally explain the power-law distribution of size S^-τ shown in Fig. <ref>. 











There are obviously also large sector wide co-jumps that are truly news-related – upper-right quadrant of Fig. <ref>. For instance, the significant co-jumps highlighting the year 2019 mostly exhibit a negative average (exogenous) and are related to the announcements during the US vs China trade war. 

Conversely, some co-jumps (20% of our sample) involve only jumps exhibiting a symmetric or anticipatory profile (LL region of Fig. <ref>). Those co-jumps are usually S=2 stocks co-jumps (76%), but their size can go up to S=87 stocks. 

Hence, the most striking conclusion of this section is that many large co-jumps are in fact explained by endogenous dynamics and propagate across stocks, rather than being due to impactful external news. A (in)famous example of such propagation is the flash crash of May 6th 2010, where the S&Pmini crashed in less than 30min, due to a sell algorithm set with an excessively high execution rate. This crash triggered a price drop in other US stocks. Here, our results suggest that this synchronization phenomenon is not such a rare event and actually happens quite often <cit.>. 



This finding is further supported by examining the correlation of the individual jump time-series composing a co-jump. 
Naively, one would expect large co-jumps to be exogenous, i.e. induced by news. As a result, the stocks involved in the co-jump should all share the same profile around the jump, as in Fig. <ref> for example. 
In fact, Fig. <ref> shows that there remain many co-jumps whose constituting univariate jump profiles are weakly correlated (see Appendix <ref> for more details). 

We also refer the reader to additional statistics on co-jumps in Appendix <ref>. 
For example, Fig. <ref> shows that the sector jumps are not all exogenous, as discussed in Section <ref>.






















































§ CONCLUSION


Thanks to an unsupervised approach based on wavelet scattering coefficients, we have identified three main directions along which price jumps can be classified. The first, well-known direction relates to the time-asymmetry of the volatility of the price around the jump and results in three classes of jumps, endogenous, exogenous and anticipatory. 

We also evidenced that mean-reversion and trend are important features for classification. This allowed us to identify three additional classes of jumps, “mean-reverting”, “trend-aligned” and “trend-anti-aligned” which concerns a significant portion of the dataset. Thanks to this classification we have shown that a large portion of the jumps are endogenous or anticipatory jumps, confirming – but also making much more precise – the main conclusions of <cit.>. 

Extending our analysis to co-jumps, we have gathered several pieces of evidence that a large proportion of these co-jumps should also, quite surprisingly, be classified as endogenous in the sense that they seem to originate from the contagion of one single endogenous jump triggering the jump of possibly many others. One striking signature of such a scenario is the power-law distribution of co-jump sizes, which is indeed close to that predicted by a critical branching (contagion) process. Such a broad, power-law distribution of co-jump sizes was noted previously for different datasets in <cit.>. Further work should focus on higher frequency data that would allow one to dissect more precisely the contagion mechanism and ascertain that many large co-jumps are indeed not triggered by exogenous news, but related to the close-knit nature of financial markets that brings them close to critical fragility, as argued many times in the past, see e.g. <cit.> and refs. therein. 

Unlike parametric fit of the time-series, the wavelet scattering embedding is defined and can be computed for any time-series. As such, our study could be transposed to other fields as well. 









§ ACKNOWLEDGEMENTS
 
We would like to thank Riccardo Marcaccioli for sharing his work on the detection of jumps in financial data and ideas on how to classify events based on their asymmetry. We are also very grateful to Guillaume Maitrier for helping us visualize and understand what happened in the Limit Order Book. We also thank Marcello Rambaldi and Iacopo Mastromatteo for their help with news data. Finally we would like to thank Maria Flora, Jérôme Garnier-Brun and Samy Lakhal for insightful discussions. 
 
This research was conducted within the
Econophysics & Complex Systems Research Chair, under the aegis of the Fondation du Risque, the Fondation de l’Ecole polytechnique, the Ecole polytechnique and Capital Fund Management.














vancouver








§ BENCHMARK: VALIDATION THROUGH SYNTHETIC






In order to verify that the D_1 direction indeed measures reflexivity,

we create synthetic time-series with volatility profiles of varying time-asymmetry and apply our classification. 

Relying on <cit.>, we construct jump time-series using the power law representation of Equation (<ref>), with t_c=-0.5min, and d=0.5. We adjust the parameters (N_r,N_l,p_r,p_l) to render the asymmetry of the signal. The time-series are then multiplied by a Gaussian noise (the same noise for all time-series). 
We then compute the features Φ(x) of each time-series x and project it on the 2D space formed by our time-asymmetry and mean-reversion directions.

Fig. <ref> shows these projections, the color code corresponds to the asymmetry parameter.

It clearly appears that the D_1 direction measures the time-asymmetry of the volatility. 




§ DISTRIBUTION OF REFLEXIVITY/MEAN-REVERSION/TREND SCORES








§ PROJECTION GRID







 §.§ Signed projections



  §.§.§ asymmetry VS mean-reversion







  §.§.§ asymmetry VS trend






 §.§ absolute projection - Asymmetry VS mean-reversion







§ EXAMPLE FROM THE LOB






§ HETEROGENEOUS NEAR-CRITICAL BRANCHING PROCESSES


Consider a simple branching process where a single event can trigger on average φ new events. It is well known that when φ→ 1, very large “avalanches” of events can occur. In fact, the probability that an avalanche of total size S is triggered by a single event takes, in the limit ε = 1 - φ→ 0, the following scaling form:

    P(S |ε) ∝ S^-3/2 e^-ε^2 S.

Now suppose that the proximity to the critical point φ = 1 is itself random, reflecting the time varying fragility of the market and/or the intrinsic propensity of a shock to propagate across stocks. We will assume for simplicity that ε has uniform distribution between ε_min and 1. The observed distribution of avalanche sizes (in our case co-jump sizes) is then given by the following mixture:

    P(S) = 1/1 -ε_min∫_ε_min^1  dε  P(S |ε) ∝ S^-3/2∫_ε_min^1  dε   e^-ε^2 S.

After a change of variable, 
the integral over ε can be rewritten as

    ∫_ε_min^1  dε   e^-ε^2 S = 1/√(S)∫_ε_min√(S)^√(S) du    e^-u^2

Now, in a intermediate regime where S ≫ 1 but 
ε_min√(S)≲ 1, the  integral is close to √(π)/2, and one finally finds 

    P(S) ∝ S^-1 - τ F(ε_min√(S)),     τ=1,

with F(x) decreasing fast as x ↑. Hence this simple model predicts τ=1 (i.e. a Zipf law) for co-jump sizes, truncated beyond S ∼ε_min^-2. From the data shown in Fig <ref>, we estimate ε_min∼ 0.1. In other words, the market does not have to be poised extremely close to criticality to explain a broad power-tail for the co-jump size distribution. 

Note finally that we could relax the hypothesis that the distribution of ε is strictly uniform. In the scaling regime, one only needs this distribution to be constant in the vicinity of ε_min. The calculation above can be extended to cases where 
the distribution of ε is of a power law type close to zero, i.e. behaves as ε^γ for ε→ 0. In this case, one finds P(S) ∝ S^-1 - τ with τ = 1 + γ/2.








§ STATISTICS ON CO-JUMPS




















































§ CORRELATION OF JUMP PROFILES IN A CO-JUMP



In this appendix, we investigate to which extent the different price profiles in a co-jump are correlated to each other. 
To achieve this, we consider the average correlation of the trend score Eq. (<ref>) among the jumps in a given co-jump of size S, defined as 



    ρ = ∑_k ≠ k'=1^S D_3(x_k) D_3(x_k')/(S-1) ∑_k=1^S [D_3(x_k)]^2 .




r0.5

    < g r a p h i c s >


Correlation measure ρ of a co-jump. 
Blue line represents average over bins of co-jumps of roughly the same size. 
As expected, the larger the co-jump the more correlated. Surprisingly, there remain weakly correlated (ρ≈0) large co-jumps. 






Fig. <ref> shows that the larger the co-jump, the more correlated are its  constituents, although the effect is weak.

Jumps affecting the market in its entirety are more likely to have a common external reason (exogenous) and lead to the same profile. 
Strongly correlated co-jumps come down to a single jump time-series which can be accessed through the average of normalized jumps:

    x(t) = kσ_k^-1x_k(t)

where σ_k = tx^2_k(t)^1/2.
Fig. <ref> shows an example of co-jump, of size 83 with correlation ρ=0.96. 
We see that the average time-series x is non-zero for t0.

In line with the discussion of section <ref> about contagion-driven co-jumps, Fig. <ref> shows that there persist large co-jumps whose average correlation is close to zero, i.e. 



co-jumps composed of return time-series that are weakly correlated and that have no a priori reason to jump together, except through contagion. 
A typical example is shown on Fig. <ref>, it is of size 81 and correlation ρ=0.06. As we can see, averaging its different jumps makes small sense since the average x is zero for t0 (up to the variance). 
Far from being reduced to a single jump profile, such weakly large co-jumps could still be described by a small number of “hidden” profiles, depending on the “dimensionality” of the co-jump. Determining such dimensionality and hidden profiles would require applying a decomposition per co-jump, which would require more data on large co-jumps.




















§ ADDITIONAL FIGURES







 


