Hello, I am about to start a career in algorithmic trading, and I only have undergrad experience in ML. I was wondering if you guys can recommend me some stuff to learn that would be useful in my profession. I would prefer to learn something that will give me biggest bang for the buck: learn something not too complex, but really relevant and onto the topic. I am learning many different things at the same time and trying to combine techniques from many different fields, and this is my strategy. Thank you very much

asked Dec 13 '10 at 03:02

Viktor%20Simjanoski's gravatar image

Viktor Simjanoski

6 Answers:

I would suggest to start by getting experienced with regularized (generalized) linear regression (see Elements of Statistical Learning for the most comprehensive and up to date reference on the topic) and learn to evaluate the performance of your models as rigorously as possible by extensively using methods such as cross-validation for instance. If you use R, have a look at the glmnet project (and related papers). If you use python then have a look at scikit-learn (shameless plug!). You can also use liblinear directly from the command line. Regularized linear models are simple yet very useful methods in many situations.

Then have a look at kernel methods (e.g. Support Vector Machines using mature libraries and well maintained libraries such as libsvm and shogun). I am not really familiar with applications to trading but I think that shogun will provide you with kernels that are well suited for sequential input that will match the typical time-series structured datasets of a trader. In libsvm you can plug your own kernels with the precomputed kernels API.

Finally there are more experimental / less known tools such as convolutional neural networks that might also be interesting to investigate on time series forecasting problems (although I don't have any experience there either). You might want to try to adapt the afore-mentioned example to compute the convolutions in the time dimension instead of the 2D space dimension of the object/digits recognition problems typically solved by CNNs.

answered Dec 13 '10 at 11:56

ogrisel's gravatar image



I would recommend avoiding kernel methods (SVMs) for algo trading.

The data you can use in market trading can be deceptively verbose, and kernel methods are restricted in that you need a representative set of support vectors.

Training time grows quadratically with the number of required support vectors, so you end up with a catch .22: winnow down your sample space to make training tractable, or use more samples to improve your odds of having a successful system at the cost of ever longer training times.


(Dec 13 '10 at 14:17) Brian Vandenberg

Indeed, maybe you might have to rely upon good old multi-layer-perceptrons using back-propagation (which is online, hence scalable) and activation functions such as the sigmoid function or gaussian RBF units to infer models that perform well on data that is no linearly separable. This is a good surrogate for kernelized SVM but the implementation details can get tricky to get right: many more hyperparameters and you need a good amount of regularization in each layers to avoid overfitting.

Might still be worth to train a kernel model on a restricted subset of samples to get an idea of what the non-linear kernel bring in term of predictive accuracy. This can work as a good baseline to compare scalable models to.

Another approach would be to use some kind of unsupervised non linear feature extraction that you would then pass to a scalable (possibly linear) online regressor / classifier.

(Dec 13 '10 at 14:36) ogrisel

I would recommend learning neural networks. Everything you can from the beginning. Good books are Bishop and Duda and Hart. Up to the state of the art, i.e. Restricted Boltzmann Machines, Deep Belief Networks, and Auto-encoders. It's a really hot research area and interesting things are happening. Check out the Temporal Boltzmann Machines (TRBM), they are used for time series prediction/modeling. They have been applied in the context of human motion modeling and prediction of synthetic video sequences, so I wouldn't be surprised if they can be successfully applied in Algorithmic trading. Can be hard to get them running correctly though, and need to be parallelized, because they are expensive to train.

But I wouldn't restrict myself to NNs only. Because really the hardest part of ML is the math. If you have a good background in math, and given that you'll be working as algorithmic trader, I assume you must have solid math background, then the rest of ML is just the fun and creative part. After learning NNs, try learning SVMs, kernel-methods, PCA, at least understanding the intuition is not hard. That way you'll have more tools at your disposal, and by combining them you can have more leverage, and better understanding.

answered Dec 13 '10 at 16:09

Oliver%20Mitevski's gravatar image

Oliver Mitevski

whatever you do, please include data from the 1920s in your data set (so there are down swings, it's hard to predict going down if going down isn't in your data set) and perform some sort of check for over fitting. i've heard some horror stories about the state of machine learning in some wall street firms...

answered Dec 17 '10 at 15:44

Joseph%20Austerweil's gravatar image

Joseph Austerweil

+1 What kind of "checks for overfitting" are you thinking about concretely?

(May 23 '12 at 17:49) classifire

Just saying...to the best of my knowledge the best model for most financial products(stocks, etc) is still the random walk.

answered Dec 24 '10 at 14:17

Roderick%20Nijs's gravatar image

Roderick Nijs

edited Dec 24 '10 at 14:17

So true. So true.

(Dec 27 '10 at 02:19) Brian Vandenberg

I have seen a number of works using Hidden Markov Models applied for predicting values in the future, and apparently is a well known technique used in the late 90's.

You might want to take a look into that, and using those papers you might try to take a peek into this book where they have a quick review of some of this techniques:


Hope it works

answered Dec 17 '10 at 08:24

Leon%20Palafox's gravatar image

Leon Palafox ♦

Although I didn't read it yet. Michalewicz et al.' book seem to be a good start into this area. The approach of learning through evolution is broadly applied. From the book's descrition:

Adaptive business intelligence systems combine prediction and optimization techniques to assist decision makers in complex, rapidly changing environments.[...] Adaptive Business Intelligence explores elements of data mining, predictive modeling, forecasting, optimization, and adaptability.

I guess that here time-series forecasting is of most interest for you.

answered Dec 30 '10 at 05:58

Lucian%20Sasu's gravatar image

Lucian Sasu

Your answer
toggle preview


Once you sign in you will be able to subscribe for any updates here



Asked: Dec 13 '10 at 03:02

Seen: 4,682 times

Last updated: May 23 '12 at 17:50

powered by OSQA

User submitted content is under Creative Commons: Attribution - Share Alike; Other things copyright (C) 2010, MetaOptimize LLC.