Access and Feeds

Rogue Algorithms: How to Lose Half a $Billion in an Hour

By Dick Weisinger

Software run amuck — that’s what a rogue algorithm is.  It’s software that has been programmed to perform exceptionally well under normal circumstances but which acts in unexpected ways under unusual conditions.

Rogue algorithmic trading has been blamed for some of the recent large swings seen in financial markets, like the ‘flash crash’ of the British pound and volatility seen in the Hong Kong stock market.  Software bugs and variability though aren’t limited to financial markets.  Rogue algorithms can show up in any software.

While the benefits of software are many, when things go wrong, in the blink of an eye bad things can happen.  Consider a bug in software from Knight Capital that caused the software to make trading errors that cost the company $440 million over the course of an hour.

A recent book by Cathy O’Neil called “Weapons of Math Destruction” details some of the possible undesirable outcomes of algorithms that have gone awry.

Much of the problem is the complexity of software solutions.  Computer scientists have found that ‘proving’ the ‘correctness’ of even very simple software is very difficult.  Many problems that people solve today with software are very complex and often rely on libraries of code from other sources that can’t be thoroughly evaluated.

Yoshua Bengio, computer scientist specializing in AI, said that ”as soon as you have a complicated enough machine, it becomes almost impossible to completely explain what it does. Think about another person or an animal—their brain is computing something with hundreds of billions of neurons. Even if you could measure those neurons, it’s not going to be an answer that you can use.”

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Leave a Reply

Your email address will not be published. Required fields are marked *

*