I see, that's an interesting way to think about it. Have you done any testing on spot FX trading? I have seen papers with very impressive results using only carry indicators with a basket of currencies.
Yes.. but I wonder if those papers include the interest spread you have to pay as a retail trader when borrowing / lending foreign currency. In any case I'd rather trade the forwards of the non IMM futures currencies, but that's very much an institutional game. GAT
Thanks for the kind words. To explain my thinking in more detail: I have some ideas for other kinds of trading systems, but which will use futures markets. These are relatively fast systems which I'd need a seperate "engine" to run. However to make my life easier I wouldn't want to run both my current system and a faster system on the same market at once. So I'd need to select certain instruments for use with the new system. This would leave "holes" and is an opportunity for a proper review in light of recent research I've done on diversification. My current list is a bit unbalanced anyway (perhaps slightly too many bond markets for example). I never rigorously sat down originally and did the exercise of adding the most diversifying markets first. I will have to carve out some risk capital for the new system, which will leave the existing one a little short. I need to think about the diversification vs granularity problem I posed in my blog post and see if the number of markets is about right. Were it not for this I'd probably leave my market list alone. I certainly wouldn't expect any improvement in performance from this exercise; however the new systems should add something so overall it's worth doing. GAT
I've finally got around to writing about the breakout rule, and including it in pysystemtrade: http://qoppac.blogspot.co.uk/2016/05/a-simple-breakout-trading-rule.html GAT
Hi Rob, I have tried numerous variations to get around the high correlation between the EWMAC and breakout systems, but to no avail. Do you have any insight you can provide? I basically use: from systems.provided.futures_chapter15.basesystem import * with my config. I don't seem to be able to upload my YAML config, but the optimisation parameters are as follows: ''' # use_forecast_scale_estimates: True # forecast_scalar_estimate: pool_instruments: True # # forecast combination # use_forecast_weight_estimates: True # forecast_weight_estimate: method: bootstrap frequency: W pool_instruments: True date_method: expanding monte_runs: 100 cleaning: True bootstrap_length: 50 ewma_span: 125 # rule_variations: ['ewmac4_16', 'ewmac8_32', 'ewmac16_64','ewmac32_128', 'ewmac64_256', 'carry', 'breakout20', 'breakout40', 'breakout80', 'breakout160', 'breakout320'] # # forecast_correlation_estimate: pool_instruments: True # use_instrument_weight_estimates: True # instrument_weight_estimate: method: bootstrap frequency: W pool_instruments: True date_method: expanding monte_runs: 100 cleaning: True bootstrap_length: 50 ewma_span: 125 '''
I'm in the middle of a big recoding exercise and when I've finished I will have a look at this. Did you see if the correlations of individual forecasts came out at similar levels to those in my latest blog post? GAT
Hi GAT, A quick question, I'm looking at https://github.com/robcarver17/pysy...7345f060/sysdata/legacycsv/CORN_carrydata.csv I'm trying to rebuild this data from https://www.quandl.com/data/CME, but its proving to be a messy implementation, with custom stuff for each instrument. How did you source/preprocess the data before sticking it into pysystemtrade? Also, on corn, you trade contracts a year out vs the front. Why? Thanks!
Yes it's messy. You need a table of contract offsets (carry vs price). First I pulled in all the relevant contracts individual prices. I generated a .csv file of roll dates, assuming the roll was done a constant distance before expiry (which varies depending on the contract). I then have other code that checked there was prices for both contracts, old and new, and shifted the roll date around until it found a suitable roll date. Some manual hacking of the .csv file dates was still needed. This is something I'll be including, with examples, in the next iteration or the one after of the code. GAT
One more question, how come you traded stuff a year out as opposed to from the front? Is that to reduce the number of rolls? Thanks
Depends on the instrument: http://qoppac.blogspot.co.uk/2015/05/systems-building-futures-rolling.html