Research Article #44 - Kristjan Kullamägi's Episodic Pivot Setup
A deep dive into the Episodic Pivot
👋 Hey there, Pedma here! Welcome to the 🔒 exclusive subscriber edition 🔒 of Trading Research Hub’s Newsletter. Each week, I release a new research article with a trading strategy, its code, and much more.
Join over 5K+ readers of the newsletter!
One of the setups that the famous swing trader Kristjan Kullamägi, claims made him millions of dollars in profits, is what he calls an Episodic Pivot.
The setup was first discovered by Pradeep Bonde (Stockbee), and he is who Kristjan got inspiration from.
Here’s a video where Pradeep goes through the setup.
I will refer to the Episodic Pivot as EP through this article.
The general concept about the setup is that an earnings announcement, followed by positive momentum during premarket, and a lot of volume early in the day, might indicate a good chance of rally.
The problem with a lot of ideas online, is that they have a very deep discretionary basis to them, which makes them harder to quantify.
Even though this one seems hard to get there, with a little bit of work, I was able to get to the solution and derive useful information from it.
As usual the code will be available at the end!
As you know, my criticism about discretionary trading ideas is that they are rarely thoroughly researched.
That leads to a lot of uncertainty about if the “edge” we believe to have is real, and what is the historical expectancy of that edge.
I agree with Kristjan than these setups tend to occur because they are pretty simple market phenomenon’s, based on stuff that does cause some market impact.
News announcements tend to have an impact on how a stock behaves, depending on if it’s good, bad or unexpected.
But how has the model performed since 2020?
That is what we’ll discover in this article.
Kristjan says that the way to test if a setup is profitable is to test 1000’s of historical occurrences of that same signal.
I completely agree with him.
As I was investigating his writings, I found out he said that he went through all of the 6-7 thousand US stocks , without any filters, and just looked for stocks that had made those big moves.
That is a lot of work.
Sure, let’s assume that the hours you spend looking at charts give you a better intuition (big assumption).
But what if, you can get at the same result, but not having to spend 1000s of hours looking through charts?
This is why I prefer automation.
Efficiency is paramount, and the benefit you get by going through each of the charts is negligible most times.
You will find patterns where randomness is abundant.
Our mind is not prepared for randomness. We try to find patterns where they don’t exit.
Here’s a post I’ve written, where I fitted trading strategies to completely random data:
Ok let’s get back to the main topic of today!
The idea behind the episodic pivot is that, when good news hits a stock, especially when it has been neglected, it can trigger multi-month and multi-year moves.
After going through a lot of blog posts, videos, both from Kristjan and Pradeep, here are the initial rules I could find:
A gap up of 10% or more.
There has to be massive volume near the open
Stock should trade the average daily volume on the first 15-20 minutes
Preferably the volume is already in after-hours or pre market
Earnings release
So here we have the initial discretionary rules about this setup.
Let’s summarize the rules into bullet points:
He rarely trades extended hours but prefers to wait for the opening range highs.
He will wait for the first 1-minute candle to form and closely observe the volume. Sometimes the volume comes a few minutes faster the open.
He prefers big volume right out of the gate and he enters a position as that opening range high breaks.
He also he mentions that he “may” add on the 5-minute high break to get more confirmation and more size.
If he misses the 1 minute or 5 minute opening range, he will buy the 1h opening high.
The stop loss is always at the low of day.
He claims that you can add through the day if the stock is acting well.
The trail is the 10-20 day moving average once it is above the initial stop loss.
The stop must not be more than 1x or maximum 1.5x of the average daily range or the average true range.
These are the rules that we can quantify systematically and test for them.
Here’s a few more notes I’ve found, but that harder to quantify in code:
He mentions that the best EPs are on stocks that have gone sideways for 3-6 months, or more.
Many times you get an EP on stocks that have already made a big move from a previous EP, and those can work, but the failure rate is higher, and the move probably won’t be as big.
EP has a very low amount of signals , but it’s a setup that can give the best risk reward on the money. They mostly occur during concentrated periods of 3-4 weeks per quarter.
He also adds some variations to the fundamental side of the rules:
Political and regulatory (look for example at the banks and the prison stocks when Trump won the election)
FDA and biotech related
Contracts and partnerships
Sector EP (when you have a sector that is red hot, the stocks in that sector can move in gaps and make big moves without any specific news)
I won’t be testing all of these variations as they can get quite complicated and finding data around them is “iffy”, to say the least.
If it adds that much “alpha”, you can look into that if you have the data.
Here’s a video with a few examples that Kristjan goes through some EP’s
Ok let’s now make it systematic.
Index
Introduction
Index
Strategy’s Thesis
Downloading Stock Data and Earnings Data
Downloading Intra-Day Data from Polygon
Entry and Exit Rules
Risk Management
Performance
Python Code Section
Strategy’s Thesis
I will start by laying out the thesis for the strategy from Kristajns pespective, and then I will give my own perspective into it.
Kristjan says that the news catches the market off guard and forces a revaluation of the stock.
He says that since institutions don’t buy in a single day, they usually allocate over a longer period of time, to get their allocation. This forces the stocks to continue to go up with sustained momentum.
You want stocks that have things going for them. He wants good earnings and sales growth.
Many of the stocks even though don’t have earnings at all, many times just high sales growth also works really well.
These stocks have a fundamental reason to go up, on top of the technical pattern itself.
Kristjan makes a lot of reference to EP’s that were moving sideways before the big move.
This all makes sense.
I am not sure about the claim around the institutions, we often try to give meaning to things when it’s hard to prove.
All I know is that positive catalysts tend to produce some volatility to the assets that they impact.
A good initial thesis.
Something also interesting that I found directly from Pradeep, he said that there’s multiple ways to enter the position:
Enter at the open market (rarely and reserved for high conviction trades)
Delay entry by 1-minute or 2 minutes
Wide stops are needed due to initial shake outs.
Here’s where he mentions this:
So the entry rules are a bit to the discretion of the trader, given that they follow that pattern of entering within 1-hour of the opening time.
Now that we’ve got a bunch of information of how the Episodic Pivots work, let’s move on to the next step, and start gathering some data for it.
I’ll provide the the entire python code at the end of this article in the Python Code Section.