I have spent some time studying python and am picking up machine learning concepts and thought to try algorithmic trading to make fast money - but quickly realized that a lot of hard work goes into making a good algorithmic trading strategy and program. However, the problem of how to write a good trading algorithm with Machine Learning techniques has grabbed me and now I want to work seriously towards developing one.
So this post is to ask for what resources you used to start out, how you went about writing your first successful trading algorithm, and perhaps which mistakes you would advise someone else to avoid making.
If anyone has a link to a similar post in the past that would be very helpful also.
Firstly, pick the appropriate development language. For automated tasks or web services or scripts, Python is a 'great' choice, however it is not suitable for enterprise application requirements. This means bigger projects / services / application frameworks which may have multiple modules, specific disparate hosting requirements and library support etc - which in turn need some robustness around abstracted logic's/deployment/maintenance etc, and where the money/time spent in it should be optimal. With that constraints, I highly recommend switching from Python to C# asap.
Whilst you will lose a lot of learning and training material reference samples along the way - these can easily be converted to C#, and if you know python the move will not be too painful, so best to get it done early. I'm not a python 'hater' and on paper it has some advantages which make it 'easier' for many people to 'quickly work with or hashout and test a basic function'. This comes at a big cost however imo in terms of overall capability and ability to handle complex internal application 'routing'.
What 'tree' (unsupervised, supervised, reinforcement learning) do you wish to explore? All can be used to built an ATS, but will produce different style of useful trading outcomes and have different data preparation requirements.
ML is not an 'exact science', and as such experimentation with data and run time variables is the key to success - just don't expect it to be the holy grail. Checkout
https://bhrnjica.net/ for some samples in c#.
One last tip. Your models (neural networks) should be per instrument (don't try to build a one size fits all model), and persistent (keep your brain state 'alive' 24/7 365 days a year).