Dead Turtles
-
- Roundtable Knight
- Posts: 2071
- Joined: Fri Apr 25, 2003 3:33 pm
- Location: London
- Contact:
It does not seem to make any sense to me to use actual price data as a general practice in backtesting using Trading Blox since this would prevent any adjustment for gaps on rollovers. There are occasions where I do use actual prices in combination with backadjusted prices (in the calculation of momentum for instance) but certainly not in the construction of moving averages. Gaps in price data represent contango or backwardation. You can not invest in the futures market and avoid backwardation or contango. These factors have a very considerable affect on the profitability or otherwise of investing in futures.
There are often people who come to this forum who can not get their head around back adjusting and insist that it is invalid. They are incorrect. Eventually most come to understand this.
There are often people who come to this forum who can not get their head around back adjusting and insist that it is invalid. They are incorrect. Eventually most come to understand this.
Many thanks AFG Garner. I was referring to actual trading though not back testing. When one trades for real, should he use price series made of back adjusted prices for the contracts he trades to generate signals or just the actual daily historic prices however back they go?
Say if you trade Eurodollar Sep 2012. There is good price history going back two years. However the signals that come out are totally different depending whether you use the actual historic price data of GEU2 or back adjusted price series on say open interest.
Say if you trade Eurodollar Sep 2012. There is good price history going back two years. However the signals that come out are totally different depending whether you use the actual historic price data of GEU2 or back adjusted price series on say open interest.
-
- Roundtable Knight
- Posts: 2071
- Joined: Fri Apr 25, 2003 3:33 pm
- Location: London
- Contact:
Let me show you what I mean.
One attachment below shows the actual price series of GEZ2. The second attachment shows the backadjusted price series for the same contract. You see the difference. If you try to plot donchinan breakouts and DMA filters you get different trade signals depending which price series you use. A backadjusted chart is meant to simulate actual prices for a contract during a period the contract did not exist but the results vary widely.
One attachment below shows the actual price series of GEZ2. The second attachment shows the backadjusted price series for the same contract. You see the difference. If you try to plot donchinan breakouts and DMA filters you get different trade signals depending which price series you use. A backadjusted chart is meant to simulate actual prices for a contract during a period the contract did not exist but the results vary widely.
- Attachments
-
- GEZ12 Actual Price series.JPG (200.96 KiB) Viewed 11822 times
-
- GEZ12 Backadjusted Price series.JPG (95.67 KiB) Viewed 11820 times
-
- Roundtable Knight
- Posts: 2071
- Joined: Fri Apr 25, 2003 3:33 pm
- Location: London
- Contact:
You need to establish just how the providers of your data back adjust their price series. Only you can do that. If you have a good grasp of how they do this the answer to your question should reveal itself. If both charts are supposed to show the daily price of exactly the same month and year of exactly the same futures contract over the period shown then there should be no difference since there would be no roll. If there is a roll or rolls of the back adjusted data from one contract month into one or more contract months then there may be roll gaps and while the latest data points should show actual prices (depending on how they concatenate the contracts), any price prior to a roll with a gap will be adjusted for the gap or gaps.
Yeah, that back adjusted chart looks like it has issues imo.
In STIRs your choice of rollover date strongly effects your sensitivity to either near term changes in STIR or longer term expected changes in STIR. You need to use a professional piece of software, perhaps CSI, and create backadjusted data series using a specific roll date in my opinion. Use a basic back adjust where the current contract is unchanged, and all prior data is adjust up or down to close the rollover price gap. Forget trying to trade STIR markets with open interest or volume rollovers as that will lead to a massive inconsistent mess through time.
You of course want to trade the quarterly months (H, M, U, Z), and I would suggest that you look at creating data series that roll anywhere from 6 months to 12 months before expiration. Explore how (over past times) the performance of a trend system varies significantly with roll date (i.e. evaluate rolling 1, 2, 3,....7,8,9,10,11,12, etc months prior to expiration). You will likely find that rolling somewhere around 6-8 months prior to expiration is a reasonable spot to reside. Note this means that, for an 8 month roll, right now your "front month" would be Mar 2013 for example as you would have rolled from Dec to Mar sometime in April.
Trade what you test and test what you trade.
P.S. Don't get carried away with thoughts of optimizing (i.e. selecting the "best") on rolldate in STIRs since all you will be doing to using a roll date series that performed the best over how STIRs behaved in the past 20 years or so. If anything, what has happened in developed market's STIR markets in the past 3 years should show the folly in that step.![Wink :wink:](./images/smilies/icon_wink.gif)
In STIRs your choice of rollover date strongly effects your sensitivity to either near term changes in STIR or longer term expected changes in STIR. You need to use a professional piece of software, perhaps CSI, and create backadjusted data series using a specific roll date in my opinion. Use a basic back adjust where the current contract is unchanged, and all prior data is adjust up or down to close the rollover price gap. Forget trying to trade STIR markets with open interest or volume rollovers as that will lead to a massive inconsistent mess through time.
You of course want to trade the quarterly months (H, M, U, Z), and I would suggest that you look at creating data series that roll anywhere from 6 months to 12 months before expiration. Explore how (over past times) the performance of a trend system varies significantly with roll date (i.e. evaluate rolling 1, 2, 3,....7,8,9,10,11,12, etc months prior to expiration). You will likely find that rolling somewhere around 6-8 months prior to expiration is a reasonable spot to reside. Note this means that, for an 8 month roll, right now your "front month" would be Mar 2013 for example as you would have rolled from Dec to Mar sometime in April.
Trade what you test and test what you trade.
P.S. Don't get carried away with thoughts of optimizing (i.e. selecting the "best") on rolldate in STIRs since all you will be doing to using a roll date series that performed the best over how STIRs behaved in the past 20 years or so. If anything, what has happened in developed market's STIR markets in the past 3 years should show the folly in that step.
![Wink :wink:](./images/smilies/icon_wink.gif)
Many thanks AFJ Garder and Chuck B, very helpful!
I also noticed that when rolling from contract month A to B, other contract months around B maybe stronger or weaker contracts. If say I hold a long position, it might it be better to roll to the strongest contract month instead for just the next liquid one and vice versa for short positions. I also noticed this for commodities (not currencies, bonds and indices though as usually only one contract is liquid for those).
The tradeoff of this is that you might pay an extra tick or so in spread cost as the contract you roll into maybe slightly less liquid.
What's your views on this roll strategy?
I also noticed that when rolling from contract month A to B, other contract months around B maybe stronger or weaker contracts. If say I hold a long position, it might it be better to roll to the strongest contract month instead for just the next liquid one and vice versa for short positions. I also noticed this for commodities (not currencies, bonds and indices though as usually only one contract is liquid for those).
The tradeoff of this is that you might pay an extra tick or so in spread cost as the contract you roll into maybe slightly less liquid.
What's your views on this roll strategy?
AFJ Garner - Just a few questions about your risk management. When you talk about 10% Max Sector Risk and 40% Max Portfolio Risk, what happens when a new position signal is generated and your at your 10% Max Sector Risk or 40% Max Portfolio Risk? Are position shrunk? Is the signal ignored? If positions are shrunk to take on the new position, is the new position shrunk as well or is enough positions sold off to accommodate the entire new position and risk associated with it?
-
- Roundtable Knight
- Posts: 2071
- Joined: Fri Apr 25, 2003 3:33 pm
- Location: London
- Contact:
In the particular block of code I was using, no new positions are taken on if sector and/or overall risk limits are breached. If limits are breached without new positions being taken on, no action is taken and no new positions will be taken on before exits take the risk back to the allowed levels. You could of course devise any other method of your choice.huss1652 wrote:AFJ Garner - Just a few questions about your risk management. When you talk about 10% Max Sector Risk and 40% Max Portfolio Risk, what happens when a new position signal is generated and your at your 10% Max Sector Risk or 40% Max Portfolio Risk? Are position shrunk? Is the signal ignored? If positions are shrunk to take on the new position, is the new position shrunk as well or is enough positions sold off to accommodate the entire new position and risk associated with it?
If AFJ Garner isn't able to reply right away, and if the simulation results are VERY IMPORTANT to you, you could program his modified system and run whichever specific tests you need most.
Other forum members have already done this (link to example) so you have an "existence proof" that it is possible.
Other forum members have already done this (link to example) so you have an "existence proof" that it is possible.
-
- Roundtable Knight
- Posts: 2071
- Joined: Fri Apr 25, 2003 3:33 pm
- Location: London
- Contact:
Many thanks to both of you!
Yes that was my back test I did back in 2011 (i do all my tests in excel as I am not a programmer myself). I recently tested a turtle LTTF system similar to AFG Gardner's but with only 33 futures and no profit taking feature. Between 1998-2013 I got roughly CAGR 30%, MAR 58-60%, annual volatility 30%+.
I wanted to see AFG's equivalent results. I am sure they'd be much better than the above, most probably due to the much larger diversification (120 markes vs 33). I wanted to get an idea how much improvement diversification brings.
Yes that was my back test I did back in 2011 (i do all my tests in excel as I am not a programmer myself). I recently tested a turtle LTTF system similar to AFG Gardner's but with only 33 futures and no profit taking feature. Between 1998-2013 I got roughly CAGR 30%, MAR 58-60%, annual volatility 30%+.
I wanted to see AFG's equivalent results. I am sure they'd be much better than the above, most probably due to the much larger diversification (120 markes vs 33). I wanted to get an idea how much improvement diversification brings.