Algo Trading News Headlines 8/15/2018

Goldman Sachs, JPMorgan Strengthen Algo Trading Units With New Hires


Algo trading has been an important component for many banks in recent months, with the latest hires possibly portending a drying up of supply to meet a growing demand. In any scenario, banks have been quickly scooping up top-tier talent in the algo trading arena, with Goldman Sachs and JPMorgan emerging as the latest players to do so.

 Photo by  Sean Pollock  on  Unsplash

Photo by Sean Pollock on Unsplash

Comparing 3 Different Types of Neural Network Architectures in Finance


One good use may be in the analysis of portfolios. By clustering equities and financial instruments you can get a unique view of the distribution of exposure and risk, and either hedge accordingly or look to maximise the efficiency of exposure to one area of the market.

4 Problems with Using a Crypto Trading Bot on Exchanges


“Get a crypto trading bot”, said a friend. “You will be swimming in cash”, he said. It was with the ultimate of best intentions that my friend advised me to use a trading bot. They are definitely a great way for crypto trading newbies to start making money and understanding how exchanges and the markets work but are trading bots simple to use? And is it really that easy to make money with them?

Can Robots Replace Day Traders on Wall Street?


Goldman Sachs has already begun to automate currency trading, and has found consistently that four traders can be replaced by one computer engineer.


Comparing 3 Different Types of Neural Network Architectures in Finance - Intro into Machine Learning for Finance (Part 3)

When working on a machine learning task, the network architecture and the training method are the two key factors to turning a set of data-points into a functional model.

But where should different training methods be applied? How do they work? And which is “best”? In this post, we list up three types of training methods and make comparisons among Supervised, Unsupervised and Reinforcement Learning.

 Photo by  David Wright  on  Unsplash

Photo by David Wright on Unsplash

1. Supervised learning

In “Intro into Machine Learning for Finance (Part 1)” we covered some high level theory on how a network is trained to improve the accuracy of its model, but we never discussed where the target values for comparison actually come from.

Classification Task

For a classification task, its easy to see. You wish for the model to be able to identify a falling wedge pattern, for example, so you feed it sets of inputs, each labeled as either being a falling wedge or not. If the model mislabels an input the error is back-propagated to change its prediction for the future.

Regression Task

Similarly, for a regression task, the label for each set of inputs will likely be the next value in the time series. For example, you might try to make a model which can learn to predict the price at the close of the next day based on a set of previous market movements.

Both of these cases are examples of “supervised learning” where the model is trained against an already labeled set of data and the error function is calculated as the difference between the predicted output and the supervised labels for the dataset.

This is generally a very simple and efficient process, as the network weightings are updated to minimise the error between the prediction and the target output for each batch of data-points. You already have the target function/ decision process to label the data, its just a case of fitting the model to try to emulate it.

In “Forecasting Market Movements Using Tensorflow — Intro into Machine Learning for Finance (Part 2)” we put supervised learning into practice with a simple neural network to make long/short calls.

2. Unsupervised learning

Meanwhile, unsupervised learning tasks revolve around the model learning complex relationships within data that you haven’t been able to determine yet. This can be through tasks such as clustering data-points, which help to give insight to the structure of the data.

The application to real life and, indeed, trading is often harder to see, which is exactly the reason it can’t be a “supervised” task — it is trying to find relationships in the data that we haven’t found yet.

One good use may be in the analysis of portfolios. By clustering equities and financial instruments you can get a unique view of the distribution of exposure and risk, and either hedge accordingly or look to maximise the efficiency of exposure to one area of the market.

An interesting paper on the creation of diverse portfolios via clustered stocks can be found here.

3. Reinforcement learning

Reinforcement learning is an interesting mix of both supervised and unsupervised learning. While it does require a specific target function to be trained towards, the error that trains the network is deferred from the actual decision making period. The network is instead trained against a “reward” and/or “punishment” function.

The model is attempting to learn a policy of actions to be able to maximise its reward function, such as learning the optimal time to hedge a portfolio in a turbulent market.

There is no immediate profit or loss at the point when the decision is made. Instead, its reward function will be based on how successful the hedging was in protecting portfolio value in coming time-steps. If it were to hedge too early, it could miss out on market upside. Where as, if it hedged too late then the portfolio will suffer greater drawdown.

Since RL is set up to generate actions for an environment, rather than to output a simple prediction, it requires a simulated training environment for the agent to react to and interact with. This can prove challenging both in terms of basic implementation and especially in optimizing to train in any reasonable time frame.

Again, further reading on reinforcement learning for portfolio hedging can be found here.

Comparison and Drawbacks

Dataset generation:

A supervised learning task, such as classification, requires a set of label data to train against. For a simple price predictor this will only require a small pre-processing script which sets the target value as the close price the next day. However, for more complex functions it will require a much more complex algorithm, or even manual pattern identification and labeling. And, due to the large data-sets needed for effective training (10s of thousands at minimum), this can be extremely time consuming, if not infeasible.

Unsupervised learning, on the other hand, has no such issue — as its trying to find relationships in unlabeled data. However, you still need to gather the dataset for use, verify the data is clean enough and interpret the results of the model relative to the data.

Reinforcement learning is similar to supervised, as you need a reward function for the model to train towards. However, instead of a labeled dataset, per se, the model is trained against a simulated environment. This can allow for a simpler function to identify the behavior to be rewarded, but brings added complexity to the setup of the data feeds and how they interact with the model. RL also has the added issue of data requirements — needing huge datasets to train effectively.

Training times:

While both supervised and unsupervised models can require significant time and resources to train adequately, they pale in comparison to reinforcement learning due to the nature of its deferred rewards when training. So, not only will you need a larger dataset to train against for RL, but you will need more powerful machines to run the training process in a comparable time.

Meanwhile, it’s hard to contrast the training process of supervised vs unsupervised methods, as both the time per training step and the number of training steps required will vary greatly depending on the size of the network used and the optimizer/ optimizer settings.

In all cases, it’s advisable to look at using newer optimizers, such as Adam Optimizer, as they can provide faster and less noisy training for the network, achieving a more accurate fit over fewer epochs.


Overfitting is a serious concern for all training types and, once again, varies more by the quality of data and architecture than type of training method.

A rule of thumb to avoid overfitting: once you’ve found an architecture than can learn to accurately predict training data, if validation accuracies diverge during training then slowly reduce the size of the network until you find the smallest network that still trains to a good accuracy on the training dataset.

If the accuracy against the validation dataset still fails to converge then your issue likely lies with lack of causation between training features and outcome, rather than overfitting of the model.


Each training method is suited to a specific type of machine learning task and data, with supervised being the most likely candidate to create simple trading signals and unsupervised being used for analysing relationships in data to help refine strategies.

While reinforcement learning has great promise in certain tasks, it is unlikely to be particularly feasible vs other machine learning techniques due to huge data and computing requirements.

By Matthew Tweed


Algo Trading News Headlines 8/10/2018

Is making money from forex an easy or a difficult thing?


Automated trading helps to put a trading plan into action without any participation, with the help of technologies. Automated trading minimizes the influence of your emotions. The advantage of this is that a trader doesn’t need to go deep into strategies and platform trading features.

 Photo by  Thought Catalog  on  Unsplash

Top 5 Bitcoin Trading Bots for 2018


When it comes to cryptocurrency trading, a lot of users prefer an automated approach. Although there are a few trading platforms which offer built-in algorithmic trading, trading bots are also very popular. It is interesting to see how the landscape has evolved in this regard. We ranked these bots based on their customization options.

Forecasting Market Movements Using Tensorflow


Is it possible to create a neural network for predicting daily market movements from a set of standard trading indicators? In this post we’ll be looking at a simple model using Tensorflow to create a framework for testing and development, along with some preliminary results and suggested improvements.

New report examines the automated trading market forecast to 2025


This report studies the global Automated Trading market size, industry status and forecast, competition landscape and growth opportunity. This research report categorizes the global Automated Trading market by companies, region, type and end-use industry.


Forecasting Market Movements Using Tensorflow - Intro into Machine Learning for Finance (Part 2)

Multi-Layer Perceptron for Classification

Is it possible to create a neural network for predicting daily market movements from a set of standard trading indicators?

In this post we’ll be looking at a simple model using Tensorflow to create a framework for testing and development, along with some preliminary results and suggested improvements.

 Photo by  jesse orrico  on  Unsplash

Photo by jesse orrico on Unsplash

The ML Task and Input Features

To keep the basic design simple, it’s setup for a binary classification task, predicting whether the next day’s close is going to be higher or lower than the current, corresponding to a prediction to either go long or short for the next time period. In reality, this could be applied to a bot which calculates and executes a set of positions at the start of a trading day to capture the day’s movement.

The model is currently using 4 input features (again, for simplicity): 15 + 50 day RSI and 14 day Stochastic K and D.

These were chosen due to the indicators being normalized between 0 and 100, meaning that the underlying price of the asset is of no concern to the model, allowing for greater generalization.

While it would be possible to train the model against any number of other trading indicators or otherwise, I’d recommend sticking to those that are either normalized by design or could be modified to be price or volatility normalized. Otherwise a single model is unlikely to work on a range of stocks.

Dataset Generation

 (Code Snippet of a dataset generation example — full script at end of this post)

(Code Snippet of a dataset generation example — full script at end of this post)

The dataset generation and neural network scripts have been split into two distinct modules to allow for both easier modification, and the ability to re-generate the full datasets only when necessary — as it takes a long time.

Currently the generator script is setup with a list of S&P 500 stocks to download daily candles since 2015 and process them into the required trading indicators, which will be used as the input features of the model.

Everything is then split into a set of training data (Jan 2015 — June 2017) and evaluation data (June 2017 — June 2018) and written as CSVs to “train” and “eval” folders in the directory that the script was run.

These files can then be read on demand by the ML script to train and evaluate the model without the need to re-download and process any more data.

Model Training

 (Code Snippet of model training — full script at end of this post)

(Code Snippet of model training — full script at end of this post)

At start-up, the script reads all the CSV files in the “train” and “eval” folders into arrays of data for use throughout the training process. With such a small dataset, the RAM requirements will be low enough not to warrant extra complexity. But, for a significantly larger dataset, this would have to be updated to only read a sample of the full data at a time, rotating the data held in memory every few thousand training steps. This would, however, come at the cost of greater disk IO, slowing down training.

The neural network itself is also extremely small, as testing showed that with larger networks, evaluation accuracies tended to diverge quickly.


The network “long Output” and “short Output” are used as a binary predictor, with the highest confidence value being used as the model prediction for the coming day.

The “dense” layers within the architecture mean that each neuron is connected to the outputs of all the neurons in the layer below. These neurons are the same as described in “Intro into Machine Learning for Finance (Part 1)”, and use tanh as the activation function, which is a common choice for a small neural network.

Some types of data and networks can work better with different activation functions, such RELU or ELU for deeper networks. RELU (Rectifier Linear Unit) attempts to solve the vanishing gradient problem in deeper architectures, and the ELU is a variation on this to make training yet more efficient.


As well as displaying prediction accuracy stats in the terminal every 1000 training steps, the ML script is also setup to record summaries for use with TensorBoard — making graphing of the training process much easier.

While I haven’t included anything other than scalar summaries, it’s possible to record everything from histograms of the node weightings to sample images or audio from the training data.

To use TensorBoard with the saved summaries, simply set the — logdir flag to directory you’re running the ML script in. You then open the browser of your choice and enter “localhost:6006” into the search bar. All being well, you now have a set of auto-updating charts.

Training results

 Node layouts: Model 1 (40,30,20,10), Model 2 (80,60,40,20), Model 3 (160,120,80,40)

Node layouts: Model 1 (40,30,20,10), Model 2 (80,60,40,20), Model 3 (160,120,80,40)

The results were, as expected, less than spectacular due to the simplicity of the example design and its input features.

We can see clear overfitting, as the loss/ error increases against the evaluation dataset for all tests, especially so on the larger networks. This means that the network is only learning the pattern of the specific training samples, rather than an a more generalized model. On top of this, the training accuracies aren’t amazingly high — only achieving a few percent above completely random guesses.

Suggestions for Modification and Improvement

The example code provides a nice model that can be played around with to help understand how everything works — but it serves more as a starting framework than a working model for prediction. As such, a few suggestions for improvements that you might want to make and ideas you could test

Input features

In its current state, the dataset is generated with only 4 input features and the model only looks at one point in time. This severely limits what you can expect it to be able to learn — would you be able to trade only looking at a few indicator values for one day in isolation?

First, modifying the dataset generation script to calculate more trading indicators and save them to the CSV. TA-lib has a wide range of functions which can be found here.

I recommend sticking to normalized indicators, similar to Stoch and RSI, as this takes the relative price of the asset out of the equation, so that the model can be generalized across a range of stocks rather than needing a different model for each.

Next, you could modify the ML script to read the last 10 data periods as the input at each time step, rather than just the one. This allows it to start learning more complex convergence and divergence patterns in the oscillators over time.

Network Architecture

As mentioned earlier, the network is tiny due to the lack of data and feature complexity of the example task. This will have to be altered to accommodate the extra data being fed by the added indicators.

The easiest way to do this would be to change the node layout variable to add extra layers or greater numbers of neurons per layer. You may also wish to experiment with different types of layer other than fully connected. Convolutional layers are often used for pattern recognition tasks with images, so could be interesting to test out on financial chart data.

Dataset labels

The dataset is labeled at “long” if price difference is >=0, otherwise “short”. However, you may wish to change the threshold to be equal to the median price change over the length of the data, to give a more balanced set of training data.

You may even wish to add a third category of “neutral” for days where the price stays within a limited range.

On top of this, the script also has the ability to vary the look ahead period for the increase or decrease in price. So it could be tested with a longer term prediction.


With the implementation of the suggested improvements, it is certainly possible to improve on the model to the point where it could be used as a complimentary trading indicator to a standard rule based strategy.

However, expectations should be tempered when it comes to such a simple architecture and training task. Machine learning can really set itself apart with a more refined network structure and prediction task.

As such, in the next article we’ll be looking at Supervised, Unsupervised and Reinforcement Learning, and how they can be used to create time series predictor and to analyze relationships in data to help refine strategies.

Full Script

By Matthew Tweed


Algo Trading News Headlines 8/3/2018

Udacity unveils AI for Trading ‘nanodegree’ programme


Udacity and WorldQuant partner to launch the Artificial Intelligence for Trading Nanodegree program.

As detailed in The Wall Street Journal, “investors now have at their fingertips an expanding ocean of data about the global economy and financial data, such as changes in earnings estimates and accounts receivable.” Traders who can leverage data and technology, including artificial intelligence, are gaining significant ground accordingly:

“Quantitative hedge funds are now responsible for 27% of all U.S. stock trades by investors, up from 14% in 2013.”

 Photo by  Denisse Leon  on  Unsplash

9 Great Tools for Algo Trading


In the last 5–10 years algorithmic trading, or algo trading, has gained popularity with the individual investor. The rise in popularity has been accompanied by a proliferation of tools and services, to both test and trade with algorithms. I’ve put together a list of 9 tools you should consider using for your algo trading process.

How AI can help drive investment management


This is a gradual shift that has played out over recent years as automated trading has increased, and machine-learning techniques to build more intuitive systems that can make trade decisions faster than the blink of an eye. Some investment firms have embraced technology faster than others, but within the next few years, many more could find themselves moving towards the advanced end of the spectrum.

Exscudo adds trading robots support on exchange


With the introduction of trading robots, the team plans to make the Exscudo exchange more suitable to experienced and professional traders who use the trading software for their work, allowing to attract a new audience and boost the liquidity on the exchange.


Algo Trading News Headlines 8/2/2018

Fondex simplifying copy and algorithmic trading for its growing customer base


Traders can create algorithms with varying degrees of complexity. They can automate only a part of their trading strategy so as to avoid monitoring a chart, or they can create complex algorithms that read multiple markets and time frames, use multiple indicators, and employ sophisticated risk management systems that even take into account calendar events and news.

 Photo by  Kelly Sikkema  on  Unsplash

Former High-Speed Trading Executives Allege ‘Tyrannical Coup’ at Quantlab


A leadership fight has broken out over one of the world’s most secretive and profitable high-frequency trading firms, pitting a beret-wearing mathematician against a former business partner and a Ukrainian physicist.

Four simple steps to creating a Trading Bot without any Coding skills


Most important is the fact that any trader can transform their own peculiar trading strategy into an automated system without any special expertise that is beyond typing in plain English.

Algo Trading for Dummies — Building a Custom Back-tester


Building a back-tester is a fantastic conceptual exercise. Not only does this give you a deeper insight into orders and their interaction with the market, but it can also provide the framework for the order handling module of your trading bot.

Tradingene, the new way to invest in trading algorithms


The platform’s marketplace for trading algorithms and subscription plans were released this week, bringing trading algorithms to retail investors and creating new investment opportunities.


Algo Trading News Headlines 8/1/2018

Algos Help Traders Defy Commodities Fundamentals, But Returns Sag


Growing almost without pause since the US authorized electronic exchanges in 1998, the trend-following High Frequency Trading (HFT) models account for up to 40% of global equity market volumes, though they command only about 10–15% on the average of forex and commodities activity.

 Photo by  Joseph Chan  on  Unsplash

Photo by Joseph Chan on Unsplash

Craider launches with bot to automate digital assets and cryptocurrency trading


Craider lets subscribers make trades with a single tap of a finger. The bot aggregates multiple exchange accounts and executes trades automatically, sending real-time notifications to alert users to immediate buy, sell, and exchange opportunities.

Move into the future of automated trading with Gunbot


Gunbot is an automated cryptocurrency trading bot that runs locally and is written by Gunthar de Niro. The bot has an active community, with several coders and GUI designers working on the project currently. It allows users to trade on popular exchanges, including Binance, Bittrex, Bitfinex,, Coinbase Pro, Crytopia, Kraken, KuCoin and Poloniex.

Easily Build a Stock Trading Bot Using Broker API


I find Python to be a good language for this type of data-science, as the syntax is easy to understand and there are a wide range of tools and libraries to help you in your development. On top of this, the Alpaca Python API gives us an easy way to integrate market data without having to implement a new API wrapper.


Easily Build a Stock Trading Bot Using Broker API

Visual Strategy Development

Visual strategy creation is an important part of quick and efficient development, as it allows you to easily debug and adjust ideas by looking at how signals develop and change with shifts in the market.

I find Python to be a good language for this type of data-science, as the syntax is easy to understand and there are a wide range of tools and libraries to help you in your development. On top of this, the Alpaca Python API gives us an easy way to integrate market data without having to implement a new API wrapper.

*Disclaimer: As of today (July 27th 2018), Alpaca Trading API can be used only by invited beta users who opened accounts with Alpaca Securities.

For data processing and plotting, I recommend using TA-Lib and Matplotlib. Ta-Lib provides a nice library to calculate common market indicators, so that you don’t have to reimplement them yourself; while matplotlib is a simple yet powerful plotting tool which will serve you well for all types of data visualization.

Here’s a code snippet of an example framework script I put together (full scripts at the end of this section).

 (Code Snippet of an example trade visualizer script I put together— full script at end of this section)

(Code Snippet of an example trade visualizer script I put together— full script at end of this section)

The script adds a simple moving average cross strategy against a few different trading symbols to give a small sample of the how it might fair in live trading. This allows for a first sanity check for a new strategy’s signals. Once a strategy has passed visual inspection you can run it through a backtesting tool, such as the one discussed in the “Algo Trading for Dummies” series.

You may even wish to add visual markers to each simulated trade and, for a move advanced strategy, the indicators the signal was derived from. This can make it even easier to analyze the weaknesses of a signal set so that you can adjust its parameters.

Simple Trading Bot

Once you’ve moved past the backtesting stage, you’ll need a simple trading framework to integrate your strategies for live testing. This can then be run on a paper trading account to test the signals against a live data feed.

This is an important step in development, as it tests whether the strategy has been over-fit to its dataset. For example, a strategy could easily be tuned to perfectly trade a specific symbol over a backtesting period. However, this is unlikely to generalize well to other markets or different time periods — leading to ineffective signals and losses.

As such, you’ll want to a simple way to test your strategies in a staging environment, before committing any money to them with a real trading account. This is both for testing the strategy and the implementation, as a small bug in your code could be enough to wipe out an account, if left unchecked.

Here’s another example snippet of a trading bot which implements the moving average cross strategy (full script at end of this section).

 (Code Snippet of a trading bot which implements the moving average cross strategy — full script at end of this section)

(Code Snippet of a trading bot which implements the moving average cross strategy — full script at end of this section)

To make this into a full trading bot you could choose to either add a timed loop to the code itself or have the whole script run on a periodic schedule. The latter is often a better choice, as an exception causing an unexpected crash would completely stop the trading bot if it were a self contained loop. Where as, a scheduled task would have no such issue, as each polling step is a separate instance of the script.

On top of this, you’ll probably want to implement a logging system, so that you can easily monitor the bot and identify any bugs as it runs. This could be achieved by adding a function to write a text file with any relevant information at the end of each process.

Once you have a working strategy, the Alpaca API should make it easy to expand your trading bot into a full production system, allowing you to start trading quickly.

By Matthew Tweed


Algo Trading News Headlines 7/27/2018

INSIDE SCOOP One Market-Beating Quant Firm Was Buying Facebook Last Quarter


By their nature, quant firms — known for their rapid trading — may hold a stock only for as long as it takes to eat a candy bar. Yet a look at how Acadian’s positions have changed over the course of a quarter offers insights into the longer-term strategy of the market-beating money manager.

Screen Shot 2018-07-27 at 12.12.13 PM.png

The Problem With Algo Trading


Everywhere you look there are robots taking over. Even in markets! With the rise of quant trading, AI, algos, and everything else, is there even room for us human traders?

Algo Trading for Dummies — Implementing an Actual Trading Strategy


While most strategies that are successful long term are based on a mix of technical and fundamental factors, the fundamental behaviors which are exploited are often very nuanced and vary hugely, so its hard to generalize for an article. As such, we’ll be focusing more on the tools and methods for making strategies based on technical analysis.

Automated Trading Industry — Leading Key Companies


Some of the key players influencing the market are Citadel LLC, KCG Holdings, Virtu Financial., Trading Technologies International, Inc., InfoReach, Inc., Tethys Technology, Inc., Lime Brokerage LLC, FlexTrade Systems, Inc., Tower Research Capital LLC and Hudson River Trading LLC among others.

This company changes the DNA of investing — through machine learning


Now that it is possible to comb through the behavior patterns of millions of traders and use algorithms to understand how they think, social trading networks, such as eToro, add another dimension of information to this process.


Algo Trading News Headlines 7/26/2018

Look Ma, No Code! Meet The IITians Who’ve Built A Code-Free Algo-Trading Platform


“Currently, almost 42% of the trade in the Indian market is done through automated algorithmic trading systems. But most of this trading activity is done by high net worth individuals (HNIs) and AIMs. We feel that the retail guys haven’t been given enough horsepower in it. So, we are trying to do just that,” says Ayush Gangwar, CEO of Kuants.

 Photo by  Tra Nguyen  on  Unsplash

Photo by Tra Nguyen on Unsplash

Data, Data, Data! 11 Great Financial Data Vendors


Whether you’re a financial firm or an individual trader, financial data is key for putting together any good strategy. With so many vendors on the market today, many good options get lost in the noise. Here are 11 great financial data vendors.

Can using Bitcoin trading robots help you earn money?


With a set of pre-written codes that help in directing the Bitcoin Trading Robots take decisions on your behalf. Moreover, one can find these robots to be more intelligent in it and thus learn from the market trends as well.

New course in algorithmic trading at Saïd


The technique works through using algorithms to replicate patterns in behaviour, and using the resulting estimates to make investment choices, removing human bias and emotion altogether.

Although algorithmic trading has been used for some time, its dominance in financial sectors is growing, and is estimated by the School to account for 20% of hedge funds.

Quant hedge funds lose their allure as performance sags


Investor inflows to computer-powered “quantitative” hedge funds have halved this year to the most sluggish pace since 2009, after a spate of poor performance from many of the industry’s biggest players.