I study on algorithmic trading for a while based on technical indicators. I started to learn about neural networks and want to use technical trading indicators in this approach.

However, I am not sure how to normalize, read past questions, but there is no clear answer.

Is there anybody who can suggest a starting point?


closed as too broad by Attack68, skoestlmeier, LocalVolatility, byouness, madilyn Mar 5 at 21:43

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    $\begingroup$ Even accounting for the upvotes to this question, I actually think it is either unclear or too broad. All that is really mentioned is "technical indicators", "normalize" and "neural networks". Since each of these terms contains a considerably wide scope I can't answer this, and that is also why I suspect you have found "no clear answer". I would suggest you reformulate this with more of a narrower focus on precisely what you are trying to achieve. $\endgroup$ – Attack68 Mar 5 at 12:29

This question is broad, and the normalisation strategy is going to depend on the nature of your indicator.

Assuming the technical indicators are a time series, then two simple approaches for normalising your data are:

  1. Calculate the difference between each time step. If you are feeding multiple signals into a neural network you should confirm the values are of similar magnitude, and scale if necessary (obviously your features will not be neatly bounded [0,1] unless that's the nature of the indicator). An easy to understand Python tutorial using this strategy can be found in the Microsoft Cognitive Toolkit; or
  2. Calculate the returns / percentage change of the indicator at each time step which will give you a scaled result between 0 and 1. i.e. (t2 - t1) / t1 where t1 is the signal at time step 1 and t2 is the signal at time step 2.

Machine Learning Mastery is a good resource for tutorials that will include appropriate normalisation steps for different sorts of features with a strong focus on time series data, and to a degree for different deep learning models.

Finally, if you are up to the challenge, review the chapter Fractionally Differentiated Features in Advances in Financial Machine Learning by Marcos Lopez De Prado. Excellent thinking and review of the challenges of dealing with the kinds of features you want to use.


Not the answer you're looking for? Browse other questions tagged or ask your own question.