Adaptive models

Discussion in 'Strategy Development' started by DanMitroi, Mar 10, 2010.

  1. DanMitroi


    Hi everyone.

    I have been trading systems for two years now and I've recently started researching adaptive models. I'd like to know if there are people here who are trading in a similar way and are willing to exchange ideas.

    If yes, I'd like to share my experience and talk about the problems I've stumbled on and hopefully find ways to avoid them.

    Thanks in advance.
  2. Keep it simple. ideas from systems theory hardly work in practice. Trading is simple. Risk management is difficult as well as discipline. I have several very simple systems that give me very profitable signals. Only if I had followed them I would be retired in Bahamas by now.

    Many physicists and engineers rush to trading thinking that they are going to outsmart traders with their hard to understand concepts. Sooner than later they face the power of simplicity, most after they are broke.
  3. DanMitroi


    Trust me on this, the systems I am trading are very simple.

    However, I have discovered that, while they do work, the results are often more volatile than I would like them to be. Moreover, markets seem to switch among different regimes, which reflects in the p&l of my systems.

    Just as an example, I have backtested two systems on (intraday) 2006-2007 data and then traded them in 2008 with very good results, followed by poor results in 2009 due to one of them failing. However, the second system has had consistent results, so my only conclusion is that the problem was not my logic, but rather the market changing.

    Right now, I am working on building an engine that can analyze the current environment and decide how to allocate money among the different systems and parameter sets. I'd like to discuss this kind of approach with other people who have worked on something similar.

    PS: If you're going to start your 'markets are efficient, systems don't work' speech, please save your time. I trust my own thinking more than I trust yours.

    EDIT: I didn't want to direct that last comment at you Bill, just at any potential EM trolls around here.
  4. The only people who are going to say something like this are the ones who have no idea what they're talking about, nor any experience doing any of this.

    You're on the right track with your allocation ideas -
  5. Isn't the Mean-Variance portfolio theory designed for the allocation purpose?
  6. vikana

    vikana Moderator

    Keeping systems adaptive is key to system survival. Adjusting for volatility is the most important one I can think of. The second one is to avoid absolute values whenever possible.
  7. DanMitroi


    I completely agree vikana.

    However, I view the problem of adjusting for volatility as a risk management issue, which can be solved by smartly changing your trading size (leverage) and thus keeping your equity volatility constant.

    I have kind of worked around the 'avoiding aboslute values' problem by feeding the adaptive engine with the entire parameter space of the models and letting it choose the correct parameters on which to trade them.
  8. DanMitroi


    What I have found is that the fitness function and the allocation procedure are not that important to the overall results.

    I started out by using a rolling window type optimization, which was run on a continuous basis (as in, optimize at T, T+1, T+2 etc). The problem was that this approach generated a lot of switching among the various models, thus incurring very high trading costs.

    My solution was to allow the engine to adapt only at minimum set intervals (as in, optimize at T, T+N, T+2N etc), but this approach gives me an extra parameter (N) that I don't want to have.

    Any ideas/comments on any of this?
  9. vikana

    vikana Moderator

    Rolling optimization is a good concept. One thought would be to contain the optimization process so that it doesn't jump around. If you jump too much in parameter space, you most likely have a system that's been data mined.
  10. DanMitroi


    I have to admit I've never thought of that. It certainly sounds like a good concept, but I'm not sure how one could implement it.

    A first idea would be to limit the parameter space, but that simply is optimization, the exact thing we're trying to avoid.

    One could also limit the 'jumps' of the optimization process or perhaps force it to trade parameter areas instead of single sets of parameters. I think these ideas could prove valuable, but they're pretty difficult to implement. I might give them a shot this weekend, but I'm a little short on time. Have you worked with anything similar?
    #10     Mar 12, 2010