Smart stock chart annotations to understand jump risk

A FinTech machine learning project combining quant risk methods with Klio - the muse of history

The Why

"History does not repeat itself - but it rhymes." - Mark Twain

Making sense of stock market movements is a hard thing to do. Especially when sudden jumps occur. Looking at quantitative data only gives us an understanding of how prices jumped. It does not tell us why they jumped.

The rythm of how lamps flash does not tell you the why.

When we just look at the data we don't know whether jumps in the past were due to the same reasons. Putting past jumps into context identifies the rythm of why prices moved.

Hover over the marks to raise some questions

The What

"Manuscripts don't burn." - Mikhail Bulgakov

We explain the why in stock charts by using annotations. Annotations establish context between data and the underlying narrative. The challenge is to find the right place and reason for using them.

Proof of conceptShare price of Deutsche Bank (DBK) by Google Finance, 01/06/2015 to 08/07/2016. Hyperlinks to articles in the description.

In case the chart is not loading please see this screenshot of the proof of concept.

Understanding why prices jumped allows us to find commonalities. Using tags, we group together similar causes to identify the frequency and severity of reasons for jumps.

Tag #the number of associated jumps within the time period 1-day changethe on-day price impact of the new information 5-day changethe price development following the next five days Description
Conduct 3 1.86% -7.69% News about fraud or any other wrongdoing
Operations 3 0.15% 1.32% News related to actions taken
Strategy 2 -6.23% -8.94% Strategy-related news about the business directon
Outlook 3 -1.78% -5.90% News related to overall market expectations

In addition, our added information provides circumstance to any latest news, thus providing the foundation for informed decisions.

Example News alert

The How

The basis of RisKl.io is deeply rooted within financial modelling due to Robert Merton. In one of his seminal papers, he added to "normal" (the omni-present geometric Brownian motion) price movements a new component, representing "abnormal" movements or jumps (modelled by a compound Poisson jump process). He understood such jumps as

"the arrival of important new information about that stock that has more than a marginal effect on price." - Merton (1975, p.4)
Since then the how generated ample interest in the field whilst the why got sidelined. So let's pick up where Robert Merton left things more than 40 years ago:

Process description

1. Find the jump

A statistical analysis of a stock price series (but actually any type of financial time series would go) allows to identify dates of relevance. These can either be dates with pronounced jumps or also structural breaks within the data. This ensures that we only focus on the "real" jumps.

2. Identify the cause

Once a relevant jump (up or down) is found, it is time to identify the cause. This is done by conducting date-specific queries using available APIs to the database of news agents. Yes, such APIs do exist, although not (yet) in Germany.

3. Categorise it

Queried news headlines can now be categorised using machine learning algorithms. Available Natural language processing (NLP) text corpora provide necessary information to properly train the models. Using those requires results to be published in an academic paper, but I would do that anyway.

4. Aggregate

Since we know the cause and the effect of particular news, we can now aggregate the results. We can do this by news type over individual time series, market segments or whatever we think might be relevant.

Business case

RisKl.io is a B2B solution. It helps brokers to provide additional relevant information within charts, but also by means of tag aggregation. News agents can now leverage their existing archive of relevant content. Ultimately, especially small investors receive an additional layer of insight that helps them get a better understanding of the life and times of their investment options.

The Who

Smile like no one is watching.

Hi, I am Stephan. I work with data - numbers as much as text. I hold a MA in Modern History and Economics from Ludwig-Maximilians University Munich and a PhD in Economic History from the London School of Economics. I currently work in consulting and advise banks on how to get a better understanding of their risk culture.

And this is the story of RisKl.io:

Understanding investor needs

On my job I recognised that the best feedback mechanism for changing behaviour comes from the outside. However, investors seem to have short memories if it comes to corporate (mis-)deeds. But for me it was not them to blame, because the necessary information - the why of jumps - was simply not available to them.

Life and times at LSE

In my PhD I dedicated a chapter to the question of how investors responded to new announcements by insurance companies. This allowed me to understand the overall market sentiment.

A stroke of NLP

Meanwhile my passion for quant work also got me in touch with other fields. The topic I enjoyed the most was analysing how quotes and sayings in newspaper articles could be altered to combine these quotes with contextually relevant content. Headline content and NLP opened a new world of empirical analysis for me.

Putting one and one together

My daily work on risk culture finally got me to connect the dots between my dissertation and NLP: before, I had been defining tags to browse through news in the hope of finding price jumps. NLP and newspaper headlines now allow me to turn it up-side-down and browse through the jumps to find the news.

V 0.2 copyright 2017 Stephan D. Werner