Home › Forums › Trading System Mentor Course Community › Trading System Brainstorming › Liquidity filter in Rotational system
- This topic is empty.
-
AuthorPosts
-
November 27, 2020 at 9:10 am #102074TaranveerSinghMember
A little context
So while my laptop was being repaired, setting me back a few days, I was reading a bit of Nassim Taleb. A point he made that really stuck with me is this –
“A black swan is a black swan BECAUSE it’s unexpected, and the impact – huge.”He then went on to give a few examples of how a couple of casinos (with positively rigged gambling floors) went bankrupt due to issues they never forecasted.
Forced me to apply that thought process to trading.
So I asked myself an objective question “What does my backtest assume for a fact?”
(would love more answers to this question)
A top one would be smooth buying/selling on the opening prices of specified days.Currently, I use a static turnover filter for liquidity purpose –
lowest volume of the last 20 days should be more than 20 times my desired position size (which is set just once).
However, the position size is going to change as the account grows (position size is 5% of the account).
So naturally, it’d increase as the years go on and so would/should the required minimum turnover.A “theoretically simple” solution to this is to hardcode minimum turnovers for every year. (test for one year, then hardcode min turnover according to the account size after the first year, and so on for… well twenty years).
I understand this skews towards overthinking but it could be a real problem. Has anyone else faced this? and hopefully
worked around it too?I know I’d be bothered if I don’t stress test the liquidity part of this and I want to trade as close to how Amibroker backtests as possible.
If you could help with your experience, it’d be much appreciated.
Thanks
November 30, 2020 at 10:34 pm #112536MichaelRodwellMemberHey Taranveer,
I trade a monthly rotational system and the Covid sell off at the start of the year was a black swan for me (I suspect others).
I was at ATH’s by a long way and got slammed into a draw-down of about 40%.
There was a little bit of bad luck at play and a little bit of ignorance in the design of my system. I planned for a 20% drawdown and the system tested quite well through 87 and the dot-com crash but the mixture of timing and severity of the selloff caught me out.
Also, my index filter is quite slow to react which has kept the system in some beautiful trends but in the case didn’t signal to go to cash fast enough.
So rather than change anything with the system I now trade 2 instances of it – one on the 15th and one on the 1st of the month. Downside is reduced and upside hardly impacted at all. If I add more capital I may consider 3 tranches.
I hope this is the biggest back swan I have to deal with for a while but who knows…
Psychologically it still bothers me from time to time but the wounds are healing well.
November 30, 2020 at 10:52 pm #112546TaranveerSinghMemberHey Michael! (Loved how elaborate your journal has been man! Read it a while back)
Thank you for the sincere response.
I’m sure words can’t do justice to the intensity of a 40% DD.
If it helps, almost all my rotational tests have had a maxDD of 40% (in 2008) and 35ish in the choppy 18-19. It *sort of* puts me at ease knowing that it ain’t life threatening while also not being too good to be true. Moreover, all the systems recovered from those DDs and still managed to show a good CAGR. My personal opinion is that if your system is designed in a way that it “can’t” miss the rally, it’ll give decent returns.
I hope the psychological botheration is only by the March DD and not due to your comfort level with how you trade now?
(again, sharing just in case this can help any of the fellow members).
I’ve obviously traded some systems that (atleast for me) didn’t have significant edge. I’d think I was troubled by the past drawdowns but in reality it was a fear of the same repeating. I say this only in hindsight as I noticed that my past drawdowns stopped bothering me when I developed systems that didn’t have the same risk.(In case you want to test for this)
Here’s a bi-weekly rotational code for whosoever needs it.//Rotate only on first trading days, every 2nd week
Mon = DayOfWeek() countMon = Cum( Mon ); // count all first days
DofW = Mon AND (countMon % 2 == 0 ); //checks if the sum is an even number. takes a trade only thenHope to see you at ATHs again soon enough!
December 1, 2020 at 1:14 am #112537ScottMcNabParticipantI dont do every year…
MinSP = IIf(Year()>1959 AND Year()<1995,0.5, IIf(Year()>=1995 AND Year()<2000,0.6, IIf(Year()>=2000 AND Year()<2010,0.75,1.0)));
etc for volume/turnover
December 1, 2020 at 4:58 am #112562TaranveerSinghMemberThanks Scott! That should do.
December 2, 2020 at 9:07 pm #112548LEONARDZIRParticipantI noticed you mentioned that your rotational systems have a max DD of 40% in historical testing. It is worth noting that your worse drawdown generally occurs after you start trading a system.
December 23, 2020 at 9:20 pm #112613TaranveerSinghMemberThanks a lot Len. I’ll be trading the US market and been developing a system using Norgate. MDD has basically halved. Appreciate this word of caution. Cheers.
-
AuthorPosts
- You must be logged in to reply to this topic.