machine learning can help us optimize automatic trading strategies

15
Machine learning can help us optimize automatic trading strategies..

Upload: latagomes

Post on 30-Dec-2015

43 views

Category:

Documents


1 download

DESCRIPTION

Machine learning methods are vastly superior in analyzing potential customer churn across data from multiple sources such as transactional, social media, and CRM sources. High performance machine learning can analyze all of a Big Data set rather than a sample of it. This scalability not only allows predictive solutions based on sophisticated algorithms to be more accurate, it also drives the importance of software’s speed to interpret the billions of rows and columns in real-time and to analyze live streaming data.\nhttp://www.quantiful.co.nz/stories/saby-machine-learning - PowerPoint PPT Presentation

TRANSCRIPT

Machine learning can help us optimize automatic trading strategies..

Machine learning is the modern science of finding patterns and making predictions from data based on work in multivariate statistics, data mining, pattern recognition, and advanced/predictive analytics.

Machine learning methods are particularly effective in situations where deep and predictive insights need to be uncovered from data sets that are large, diverse and fast changing — Big Data. Across these types of data, machine learning easily outperforms traditional methods on accuracy, scale, and speed. For example, when detecting fraud in the millisecond it takes to swipe a credit card, machine learning rules not only on information associated with the transaction, such as value and location, but also by leveraging historical and social network data for accurate evaluation of potential fraud.

Machine learning methods are vastly superior in analyzing potential customer churn across data from multiple sources such as transactional, social media, and CRM sources. High performance machine learning can analyze all of a Big Data set rather than a sample of it. This scalability not only allows predictive solutions based on sophisticated algorithms to be more accurate, it also drives the importance of software’s speed to interpret the billions of rows and columns in real-time and to analyze live streaming data.

Automatically finding a winning speculative strategy on eurusd

The neural nets attempt to predict a normalized profit factor (gross profit dividedby the gross loss) on a single trade over a certain period in the future. The period in question can range between 3 and 10 days, it is an optimizeable parameter of the strategy. Therefore,our strategy doesn’t necessarily use stop losses and take profits, instead, we open a position for a predetermined amount of time and close the position at the end of that period, whatever happened. The net is graded by the percentage of correct predictions weighed by it’s accuracy.

There are some common pitfalls to be aware of in such strategies where the strategy seems to offer amazing profits but is worthless in real life. The most important precaution is that the period on which the strategy is tested should not be the same as the period on which it is built. Otherwise we can simply generate thousands of complex random strategies and choose the one that works best on one particular period, but it’s only when we have a positive result on an independent set of data that we can start trusting our strategy.

Our strategy obtains a theoretical 62.5% correct bets on EUR/USD. But we can obtain a better assessment of the strategy with a good simulation and a real life application of the strategy. For this reason we implemented the strategy using the JForex API and tested it on the jForex platform. Once again, we were careful not to mix the period we used to optimize our strategy and the period we used to test it. We also refined our strategy some more adjusting the amount invested on each position to reflect the strategy’s predictions.

An optimal strategy tested with a recognized simulator

Over 161 trades, the profit factor of our strategyon the test period is 2.87! That means we obtain 2.87 times more profit than drawdown in trades. Although we only get 60.24% profitable trades, they are much more profitable than the losing trades are un-profitable. The final statistics we find very telling is the maximum consecutive drawdown, 5%, and the maximum consecutive profit, 18% of the equity. We have a live account running the strategy but it has been doing so for far too small a time period to assess it this way.

The volume is a great indicator for that matter; it really gives us an insight on the moment when the way an instrument is traded changes. On the chart below you can observe the evolution of volume for EURUSD in the last 16 years. A strategy built using data that is too distant doesn’t work anymore. However, our strategy has worked equally well on EUR/USD for the last few years and nothing hints that it will change anytime soon. There are two things we can do to guard against a sudden change in the way forex instruments are traded.

First, we can monitor the market and wait for that moment when our strategy doesn’t work anymore using the statistics that the strategy should follow like the maximum consecutive drawdown and by monitoring the volume. Secondly, we can do what’s called on-line learning where our strategy is continuously being optimized on new data. This second option is good practice but it doesn’t guard against the sudden changes that are typical in forex every few years.

Machine learning methods are vastly superior in analyzing potential customer churn across data from multiple sources such as transactional, social media, and CRM sources.