Create and deliver personalized experiences across digital properties at scale
Build engaging websites with intuitive web content management
Leverage a complete UI toolbox for web, mobile and desktop development
Build, protect and deploy apps across any platform and mobile device
Build mobile apps for iOS, Android and Windows Phone
Rapidly develop, manage and deploy business apps, delivered as SaaS in the cloud
Automate UI, load and performance testing for web, desktop and mobile
Host, deploy and scale Node.js, Java and .NET Core apps on premise or in the cloud
Optimize data integration with high-performance connectivity
Automate decision processes with a no-code business rules engine
Transform your businesses in order to survive in a completely digitized and connected world driven by software innovation.
Globally scale websites with innovative content management and infrastructure approaches
Content-focused web and mobile solution for empowering marketers
Faster, tailored mobile experiences for any device and data source
UX and app modernization to powerfully navigate today's digital landscape
Fuel agility with ever-ready applications, built in the cloud
"And now," cried Max, "let the wild rumpus
— Maurice Sendak: Where the Wild Things Are
It’s not just equities and futures markets where strange stuff
happens! An “algo gone wild” was spotted in the oil market (it actually happened
earlier this year) and intrepid Reuters journalists got to the bottom of it.
High frequency trading firm Infinium Capital Management is at the
center of a six-month probe by CME Group (and reportedly the CFTC) into why its
brand new trading program malfunctioned and racked up a million-dollar loss in
about a second, just before markets closed on Feb. 3. The algorithm, which was
brand new, went live 4 minutes before the end of trading. It fired in 2000-3000
orders per second before being shut off. The oil price surged $1 then slid $5
over the course of the next two days. Read about the full story here:
I know the CEO of Infinium Chuck Whitman from the CFTC technology
advisory committee – he’s a good guy and very knowledgeable. I believe him when
he says his wild algos had no malicious intent – the algos were just broken and
shouldn’t have been put live.
With algorithms and HFT comes the possibility of mistakes. Many more
firms outside of the equities world are embracing HFT and their inexperience
can cause market disruptions such as the Feb 3rd CME issue. A flash crash in
oil or other commodities - or even foreign exchange - is not to be scoffed at.
In fact, many commodities markets are much less liquid and homogenous than
equities, and can be even more vulnerable to mistakes or manipulation. In the
case of Infinium, the algo caused a spike in trading volumes by nearly eight
times in less than a minute. It was a classic case of the algo running wild
until it faltered and 'choked'. This is not how HFT strategies are supposed to
There are a number of best practices that can be used to mitigate
against algos going wild:
The first best practice is diligent backtesting – using historic data and realistic simulation to
ensure many possible scenarios have been accounted for. What does the algo do
in a bull market, a bear market, at the open, at the close, when unexpected
spikes occur, during a flash crash, when non-farm payrolls or other economic
news is released etc. etc.? Of course there’s always the possibility of a
“black swan” scenario – but then there’s always the possibility of an
earthquake in London – but I bet the buildings aren’t built to withstand one –
it’s a matter of covering likely possibilities as best you can. A backtesting
process needs to be streamlined of course – as short time to market of new
algos is key.
A second best practice is building a real-time risk firewall into
your algo environment. Just like a network firewall stops anomalous network
packets reaching your computer, so the risk firewall should stop anomalous
trades getting to trading venues. These anomalous trades might be human or
computer generated – such as “fat finger” errors, risk exposures (for a trader,
a desk or an institution) being breached, or even algos gone wild (e.g.
entering spurious loops and spitting out anomalous orders). Real-time risk
monitoring is a second level protection for those problems you don’t catch in
A third best practice is to use real-time market surveillance in
your algo environment. Even if trades do not breach risk parameters, they may
breach compliance rules, regulations or may be perceived by a regulator as
market manipulation (by accident if not design). Detecting these patterns as
they happen enables good internal policing by trading firms, rather than
investigation or prosecution by regulators.
An algorithm is a tool in a trader's toolkit, and it needs to be
taken care of as such. If it is well-oiled and the trader or quant or risk
manager monitors its progress then the algo will do its job quickly and nicely.
If the trader/quant/risk manager doesn’t properly prepare the algo or ignores
the algo and lets it get rusty, so to speak, it could lose its edge and run
amok. Algorithms must be monitored constantly for performance and for errors,
and sometimes tweaked on-the-fly to ensure best results. A good algorithmic
trading platform will enable trading firms to do just that.
Trading firms are not the only ones who need to be on guard for
possible algos gone wild. In the case of Infinium, the regulators and the
exchange were also slow on the uptake. This shows that everyone needs to be
proactive in using the correct tools to monitor algorithmic trading. Sensing
and responding to market patterns before the aberrations or errors have a
chance to move prices is the right thing to do - in all asset classes. Be like
Max and tame the wild things!
View all posts from The Progress Guys on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Copyright © 2016, Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks or appropriate markings.