Discussion of article "Machine Learning: How Support Vector Machines can be used in Trading"

 

New article Machine Learning: How Support Vector Machines can be used in Trading is published:

Support Vector Machines have long been used in fields such as bioinformatics and applied mathematics to assess complex data sets and extract useful patterns that can be used to classify data. This article looks at what a support vector machine is, how they work and why they can be so useful in extracting complex patterns. We then investigate how they can be applied to the market and potentially used to advise on trades. Using the Support Vector Machine Learning Tool, the article provides worked examples that allow readers to experiment with their own trading.

What is a Support Vector Machine?

A support vector machine is a method of machine learning that attempts to take input data and classify into one of two categories. In order for a support vector machine to be effective, it is necessary to first use a set of training input and output data to build the support vector machine model that can be used for classifying new data.

A support vector machine develops this model by taking the training inputs, mapping them into multidimensional space, then using regression to find a hyperplane (a hyperplane is a surface in n-dimensional space that it separates the space into two half spaces) that best separates the two classes of inputs. Once the support vector machine has been trained, it is able to assess new inputs with respect to the separating hyperplane and classify it into one of the two categories.

A support vector machine is essentially an input/output machine. A user is able to put in an input, and based on the model developed through training, it will return an output. The number of inputs for any given support vector machine theoretically ranges from one to infinity, however in practical terms computing power does limit how many inputs can be used. If for example, N inputs are used for a particular support vector machine (the integer value of N can range from one to infinity), the support vector machine must map each set of inputs into N-dimensional space and find a (N-1)-dimensional hyperplane that best separates the training data.

Input/Output Machine

Author: Josh Readhead

 
Extremely didactic and well written article, thanks for sharing.
 
MetaQuotes:

New article Machine Learning: How Support Vector Machines can be used in Trading is published:

Author: Josh Readhead

Thank you very much for you article.

 
Great article, thanks!
 

Very useful for implementing SVM in trading! 

Great work! 

 
great stuff!
 
great
 

Hi

This article is very high quality. Thank you for the good work.

However, I do have a question or challenge for the author:

According to Dr Ernest Chan, using machine learning to predict price movement and drive a trading algorithm is extremely difficult and generally yields poor results. It seems trying to generate alpha in this way is only profitable for an elite of hedge funds. According to Dr Chan, machine learning can be used much more effectively by anyone to predict the probability of success of a strategy given the current market conditions. 

See this playlist: Financial Machine Learning Course | PredictNow.ai - YouTube

In particular, see this video contrasting these two ways to apply ML to trading:  The Two Methods for Using Machine Learning in Trading | Financial Machine Learning Course - YouTube

--------------

The question for you: 

Have you tried both ways of using ML to trading? If so, what is your experience with both?

In your experience, can one generate alpha using ML to make price change predictions and generate trading signals, directly implementing the trading strategy?

 

hello, thanks for sharing

 

Hi, Thaanks for the article. I tried to run your code to see a live example using the code you added and it gave me 4 error's


'OP_TOLERANCE' - undeclared identifier  Line 52

'OP_TOLERANCE' - cannot convert enum Line 52

void setParameter(int,ENUM_OPTION,double)               Line 23

'OP_TOLERANCE' - undeclared identifier  Line 60

'OP_TOLERANCE' - cannot convert enum Line 60

void setParameter(int,ENUM_OPTION,double)    Line 23


I get this on both schnick.mq5 & Schnick_demo.mq5 


Any suggestionson resolving these errors?