23 Comments
User's avatar
The Pied Pipper's avatar

Trend following strategies famously do well if you exclude trading costs. What happens when you add something like 5bps costs to your calculations?

Expand full comment
Quantitativo's avatar

The strategy will obviously have a worse performance the higher.

Anyway, 5 bps looks insanely high for an instrument with a bid-ask spread of 1/10th of a basis point

Expand full comment
The Pied Pipper's avatar

I think that’s reasonable. And in cases where you take out leverage your borrowing cost will be hefty. I can’t imagine commissions cheaper than 5bps.

Expand full comment
Quantitativo's avatar

Thanks! So far, I've been trading only stocks... futures are something new. I will try something with fewer trades to accommodate higher trading costs...

Cheers!

Expand full comment
Hero's avatar

I wrote stuff about commissions & fees not being that bad but I didn't understand at the time. I thought it was mostly just the commissions and didnt include regulatory fees. fees round trip are about 5 dollars per contract currently. He did 30 thousand trades, so that would cost about 150k usd. he started with 30k usd, and ended with 193k usd. once you subtract out those fees thats at most 40k usd, or 33% return over 7 years which is pretty horrible.

Expand full comment
CC's avatar

Be very careful using the spread to estimate your fills. Best Bid/Ask is an illusion in today's HFT dominated market. Empirically, Adds and Cancellations are ~90% of the orderflow on any given day. Currently on NQ it is quite normal to experience 3-5 ticks of slippage even on an order of just 2-4 contracts. Just last week I had the latter part of a 6 contract market order get slipped by 12 ticks(IBKR).

Expand full comment
Quantitativo's avatar

Thanks! I’ll work on decreasing the frequency… it should allow for 3-5 ticks of slippage :)

Expand full comment
Jonathan's avatar

Why do you choose the 1 minute time frame? Isn't that noisy to begin with? And why so many trades in one day?

Expand full comment
Quantitativo's avatar

I'm actually just working on a 1h system, which is much better. 1min was the first exercise, as I mentioned in the article.

A 1h-system has a much lower frequency, can accommodate trading costs better, and thus delivers much better results

Expand full comment
Jonathan's avatar

Ah, I see. This is so interesting getting to know how you guys think. You certainly take your game to the next level.

Expand full comment
Alexander93's avatar

Very insightful article! Would you mind elaborating what choice of R for KF1 and KF2 you have chosen? I am trying to replicate the expirement. Cheers!

Expand full comment
Quantitativo's avatar

Hi! Thanks! Try a few different powers of 10; you will get what I used fairly easily ;)

Expand full comment
trader695765's avatar

For KF1 and KF2, do you change the length of the moving average or measurement noise R to get different results or both? How do you fit differeces between 2 KFs in a percentage distribution without introducing future data? Thanks!

Expand full comment
Quantitativo's avatar

The only difference between both KFs is the parameter R.

The 2nd question is a great one. When applying the rank function in Python (what computes the percentile rank), you should apply it only to the past values (rolling or expanding). If you are curious, though, you will see that the 3 scenarios (rolling, expanding, or applying at once with all values) will produce almost exact same results :)

Expand full comment
trader695765's avatar

Was the choice of ma length and parameter R, Q also optimized/fitted using test data?

Expand full comment
Nam Nguyen Ph.D.'s avatar

Good job. Intraday BO is a good strat. Try on 1 hr timeframe, hold overnight to minimize costs

Expand full comment
jadeb's avatar

"+100 will be the highest difference % in our distribution" - could you please define what this "distribution" is? Did you sample the entire day of (price - KF2) before use it for trading in the same day? This sounds like peek into the future bias, no?

Expand full comment
Nick Gio's avatar

Quantitativo! I’ve been following your work for months now and you’ve inspired me to try getting into a simple static ML only being fed historical data. I’m trying to make a decision tree involving volume and momentum leading into the ascent/descent of your QTI indicator trade entry on the 2min time frame. I just wanted to say thank you for all your hard work. If there’s anything you can add to my thoughts with this it would be greatly appreciated or where I should aim next?, I know you’re a very busy person.

Expand full comment
Andre's avatar

Great article. Would be interesting to test 15 minutes and above.

Expand full comment
Sam Shiffman's avatar

Great read!

Expand full comment
Matt L's avatar

excellent piece of work

Expand full comment
Flo's avatar

Great job. How would it look like on a daily timeframe?

Expand full comment
User's avatar
Comment removed
Dec 11Edited
Comment removed
Expand full comment
Quantitativo's avatar

As I mentioned, this is a first study on NQ, as a lot of people ask me to. My live systems are on stocks, not futures.

Expand full comment