What are common methods for pre-processing indicators for machine learning algos?

Discussion in 'Automated Trading' started by ET873, Jun 12, 2010.

  1. ET873


    I have a few indicators that look promising on the chart and I believe some combination of them might be the start to a good trading system. So I want to feed in a few indicators and end up with a composite indicator that will attempt to predict price direction. I have a few different ideas on the endpoint, but right now I would like to know, what are some common ways of pre-processing my indicators to feed into a machine learning algorithm? Obviously, feeding in just the current value of the indicator and trying to predict the output won't be very successful. I also need to feed in enough context -- information about what has happened in the past before the current point. Some ideas that I have had are feeding in values for the same indicator calculated across different time frames, applying the slope of linear regression the same indicator calculated across different windows of time. Are there other methods that I should be aware of?
  2. rosy2


    if you know python look at this library scikits.learn
  3. ET873


    I appreciate the advice, but my question is not as much about whether to normalize my inputs as it is about how to feed my inputs (indicators) into the machine learning algorithm. For every sample, I will have the current values from my indicators as well as my target, the result I am trying to predict. For training, my target is calculated by looking ahead at my data and determining the reward:risk ratio for buying or (inversely, shorting) at the current time. In some cases, the current value of the indicator will be all I would need. But say I was using an SMA. In that case, the current value of that indicator would not be enough. I'd also want to send in a measure of how the indicator has changed over the past, say 10 periods. Some do this by sending in the same indicator, but with a longer period. Others take the momentum or slope of the current indicator and feed that into the system. But are there other common approaches?
  4. Machine learning with indicators is a form of elaborate curve-fitting. Anything you come up with could be derived by chance or by some other form of analysis, so machine learning does not and cannot provide an edge of any sort.
  5. promagma


    I think the question is, and I have wondered also, if you actually had a miracle indicator (a real edge), can you use machine learning to save yourself some work and find the *best* way (or ways) to use it.
  6. Corey


    'Black-Box' machine learning, like neural networks, are an elaborate form of curve-fitting because they have no natural interpretation.

    Those that have a 'geometric' interpretation (in N-Space), prune inputs, or whose output can be interpreted often have great value.

    Specifically, I find that clustering algorithms, trees (c4.5), and support vector machines are incredible tools.

    EDIT: Whoops, didn't see your "machine learning <b>with indicators</b>" qualification. Yeah, I agree for the most part -- unless the indicator you are using is a very specific summary proxy for something that is difficult to measure...
  7. So by your argument, anyone who ever stumbled upon statistical arbitrage should have abandoned it immediately since it could not provide an edge of any sort. Ok.
    Before you argue that the relationship has nothing to do with machine learning, on the contrary such a relationship could be discovered by machine learning and further analyzed for validity via other methods.

    Completely disagree by the way. Anything you come up period could be derived by chance.
    If you don't believe in edge, then why trade? Just hold long term; but wait, that relationship may not hold either, because it's chance right?

    Don't you constantly advocate that APS system? News flash: that's a form of machine learning, and everything it discovers could have been discovered by chance. Your reasons for accepting or rejecting the conclusions as providing a valid edge are similar for accepting any other form of machine learning results.

    edit: looking more closely at your wording, you used 'indicators' as a qualification, then concluded (erroneously) that "machine learning does not and can not provide an edge of any sort."

    I'm truly confused at how you could damn ML in once sentence, yet, constantly promote APS in many other threads. Did you mean to say ML with respect to common indicators does not work (in your opinion); but ML with respect to APS which intradaybill promotes is a great tool? You have to understand that ML is not just a Neural Network curve fitter; the definition is a bit more broad than that.
  8. Statarb has been around far longer than the currently vogueish machine learning techniques.
  9. And I believe Reneissance, ed thorp, and several other successful appliers of ML have also been around for some time. While the term may be 'in vogue' at the moment, that does not diminish the underlying methods from making one successful. The way I see it, it adds a heck of a lot more validity to discovering and validating an edge than basic subjective TA does.
    But that's just been my own (and Joe Simon, and a few others) experience, let's continue to promote elliot waves for the elite trader crowd.
    #10     Jun 14, 2010