Hi RB and Howard,
First of all Gentlemen let me say how nice it is to find a forum where serious discussion, advice and debate can be had without people getting nasty about it!
RB, from your last post, I think I can conclude that your signal model is far superior to mine!
I'm curious as to what you mean by "I filter for downside volatility", is this before or after a trade entry? I have always found that higher volatility is a good thing for mean reversion systems and if I filter the entries for too deep of a pullback I miss many of the most profitable trades.
Due to my occupation, I am unable provide regular supervision of my trading system. Thus my systems must be completely autonomous, placing and managing trades in the portfolio is all done remotely and autonomously. The only monitoring I can provide my system is to check the system results against my original design.
With my current system, I have tried using a sliding window for calculation of safeF with various lengths of lookBack and weighting technique. I found at least for the system that I am currently trading that there was practically no advantage.
The simulation was extensive and computationally very expensive with MATLAB calculating safeF and CAR25 over the sliding window iterated with every additional trade. I found the response in safeF either too choppy or too slow to respond often leaving me out of the market during the most profitable time (usually just after the drawDown period had ended)
I do not doubt either yours or Howard's work but for my system I couldn't get it to help. I will revisit this area again in the coming weeks and see if I can find a set of hyper-parameters that provide an advantage. (I will follow up with my results and hopefully attach some images from the simulation)
Howard, Thanks for your analogy re the stationary environment. I suspect that my system fails to adapt well with dynamic position sizing possibly because of the methodology I have used in my system design.
It is interesting that even though the trading environment is not stationary, I have observed that the larger the data set the more stationary it appears. Increasing the dataset by trading a portfolio of stocks and backTesting over a large timeFrame has provided me with a trade distribution that seems relatively stationary (although of course it is not)
Unfortunately I cant post a PDF report from Matlab on here so a snapshot will have to do...
Below is a snapshot of my live trade distribution against the backTest, shown as an inverse CDF plot where Delta is the percentage profit or loss of each trade. The blue dots are my actual trades.
Note that Expectancy in this case is actually avgTrade/avgLoss (making it a unit-less metric). It is interesting that when I run a safeF monteCarlo analysis on the live trades only, it tells me to increase my current positionSize. The problem is my simulations showed that the system drawDowns give no warning and if I want them to be limited to my current tolerance, then I can't increase my positionSize.
It is also interesting that although dynamic position sizing and adjusting for non-stationarity seems to make sense, my research has taken me in somewhat the other direction... alas probably to my detriment... time will tell! If I'm wrong Im sure the market will tell me.... lol
RB, I like your idea of examining retained MFE and MAE I'll have a look at that as a metric, to perhaps incorporate it into an objectiveFuncion.
RB, when you have said that, "my position sizing algorithm is quick to react and reduce size. Conversely, if performance picks up it is quick to stack on size" can you elaborate on that method, are you using monteCarlo at safeF over X days or Y trades or some other method? Secondly how have you determined X and or Y hyper-parameters? Are you doing it somehow within your Amibroker backTest or outside in another program like Matlab?
Kind Regards
Matt
First of all Gentlemen let me say how nice it is to find a forum where serious discussion, advice and debate can be had without people getting nasty about it!
RB, from your last post, I think I can conclude that your signal model is far superior to mine!
I'm curious as to what you mean by "I filter for downside volatility", is this before or after a trade entry? I have always found that higher volatility is a good thing for mean reversion systems and if I filter the entries for too deep of a pullback I miss many of the most profitable trades.
Due to my occupation, I am unable provide regular supervision of my trading system. Thus my systems must be completely autonomous, placing and managing trades in the portfolio is all done remotely and autonomously. The only monitoring I can provide my system is to check the system results against my original design.
With my current system, I have tried using a sliding window for calculation of safeF with various lengths of lookBack and weighting technique. I found at least for the system that I am currently trading that there was practically no advantage.
The simulation was extensive and computationally very expensive with MATLAB calculating safeF and CAR25 over the sliding window iterated with every additional trade. I found the response in safeF either too choppy or too slow to respond often leaving me out of the market during the most profitable time (usually just after the drawDown period had ended)
I do not doubt either yours or Howard's work but for my system I couldn't get it to help. I will revisit this area again in the coming weeks and see if I can find a set of hyper-parameters that provide an advantage. (I will follow up with my results and hopefully attach some images from the simulation)
Howard, Thanks for your analogy re the stationary environment. I suspect that my system fails to adapt well with dynamic position sizing possibly because of the methodology I have used in my system design.
It is interesting that even though the trading environment is not stationary, I have observed that the larger the data set the more stationary it appears. Increasing the dataset by trading a portfolio of stocks and backTesting over a large timeFrame has provided me with a trade distribution that seems relatively stationary (although of course it is not)
Unfortunately I cant post a PDF report from Matlab on here so a snapshot will have to do...
Below is a snapshot of my live trade distribution against the backTest, shown as an inverse CDF plot where Delta is the percentage profit or loss of each trade. The blue dots are my actual trades.
Note that Expectancy in this case is actually avgTrade/avgLoss (making it a unit-less metric). It is interesting that when I run a safeF monteCarlo analysis on the live trades only, it tells me to increase my current positionSize. The problem is my simulations showed that the system drawDowns give no warning and if I want them to be limited to my current tolerance, then I can't increase my positionSize.
It is also interesting that although dynamic position sizing and adjusting for non-stationarity seems to make sense, my research has taken me in somewhat the other direction... alas probably to my detriment... time will tell! If I'm wrong Im sure the market will tell me.... lol
RB, I like your idea of examining retained MFE and MAE I'll have a look at that as a metric, to perhaps incorporate it into an objectiveFuncion.
RB, when you have said that, "my position sizing algorithm is quick to react and reduce size. Conversely, if performance picks up it is quick to stack on size" can you elaborate on that method, are you using monteCarlo at safeF over X days or Y trades or some other method? Secondly how have you determined X and or Y hyper-parameters? Are you doing it somehow within your Amibroker backTest or outside in another program like Matlab?
Kind Regards
Matt