Wednesday, January 26, 2011

Good High Frequency Trading Blogs

A few good trading blogs worth checking out:

Felix Salmon's blog - http://blogs.reuters.com/felix-salmon/
blog with a business basis, contains useful news on trading and regulation.

Quantitative Trading - http://epchan.blogspot.com/
Ernie Chan's blog, author of Quantitative Trading - blog with a strategy basis.

Coding the Markets - http://etrading.wordpress.com/
Good blog with more of a technical basis, and good book recommendations.

Tuesday, January 25, 2011

Trading System Applications: Build or Buy?

How quickly can your developers create a trading system to meet your needs?

The creation of software is a task that is almost always underestimated. It can take weeks to make simple changes. Because many strategies are time sensitive - it doesn't do any good to be the second in line to a one-time opportunity - it’s important to be able to get to market quickly.

Working with new technologies always reduces a developer's initial productivity. This ramp-up time can mean that somebody else is beating your strategy to market. Working with a team of experts, who have deployed and customized trading software before is almost always going to be the most time-sensitive manner to create a new automated trading strategy.

There are plenty of reasons to consider purchasing an off-the-shelf or customizable platform. For instance, personnel turnover can have an impact. What do you do when you've hired a developer that works on your system for 6 months, and then leaves you because he's now got a more attractive skill set? You might have to offer partnership, ownership incentives, or high bonuses to keep a good developer. When you buy a trading system, you take this concern off the table. If a software company's developer leaves, they will replace him. As a customer, it's not your problem and not your concern – essentially, the responsibility has been shifted.

Another problem is maintenance - exchanges and other venues can release API / protocol updates frequently. Are you prepared to keep somebody on staff to constantly update the software to adhere to the updates? When connecting to multiple markets, these updates can be very difficult to manage, especially for small development teams. This is another area where the responsibility is shifted when working with an established product. If the venues change the way they accept orders and deliver pricing data, then the software vendor will handle the updates – which allows you to concentrate on more important matters.

The real question to ask yourself is, "Who do I want to be?" If it's your strategy and your trading that bring in money, should you spend time hiring and managing developers?

Of course, the flip side to this is that you actually do want to hire and manage developers. A purpose-built solution, implemented well, may have performance advantages over a general-purpose solution. There may be issues of secrecy - though NDAs offer some protection, traders may not be comfortable sharing some things with a larger company. In some cases, the traders know how to program and may want complete control over the technology.

All in all - even though it's never a simple question - understanding what you're hoping to get out of a purchased system, understanding what is available, and determining if those sets match up acceptably can go a long way to the final answer.

Friday, January 21, 2011

What is High Frequency Trading?

Four terms that you hear over and over again in this industry:
  1. High Frequency Trading
  2. Low Latency Trading
  3. Algorithmic Trading
  4. Black Box Trading
A lot of traders (and publications) use these terms interchangeably - but these terms refer to different (though related) topics.
  1. High Frequency Trading: Placing a lot of orders in a short time period. Usually this term implies short-lived positions of a few minutes to less than a second (sometimes less than a millisecond). High frequency trading is all about making a lot of small profits, not buying one instrument and holding it for 2 years before cashing in. High frequency traders (or, rather, their systems) buy and sell quickly and frequently. This means that high freqency trading can make a lot of money very quickly, but it also means that without proper risk controls, high frequency trading can lose a lot of money very quickly.
  2. Algorithmic Trading: Trading that leverages computing technology for analysis, support, assistance, computation, market entry, or anything else that requires some level of automation. I tend to think of algorithmic trading in three categories:
    1. Order Management: algorithms are employed to manage orders that humans have placed - typically this involves technology that masks the intentions of the user (such as reserve orders) or minimizes the impact of the user (such as iceberging orders). This type of algorithmic trading technology is usually the simplest of the three, though much more sophisticated models may get pretty complicated.
    2. Supporting Intelligence: algorithms are employed to provide analytical information about the market for order entry, replacement of orders, to achieve better fill rates, or to see a clearer picture of the market. This is a common type of algorithm - it's a hybrid model where the computer and human are working together (like a cyborg!). A lot of commercial software falls into this category.
    3. Automation: algorithms are employed to analyze the market, place orders, close positions, analyze risk, and any activities that do not require human intervention (or very little human intervention).
  3. Black Box Trading: Automated trading with little oversight from humans, as well as little to no insight into the inner workings of the system (at least, from the trader's point of view). Since most strategies require significant oversight and constant re-working, they fall more into a "grey box" category. They're not black box, but they're not quite white box systems, either. White box systems are usually more into the category of complex event processing - they're very transparent and require a lot of interaction from the trader - the trader is regularly updating parameters to the strategy, as well as the strategy's logic.
  4. Low Latency Trading: Usually high frequency trading enabled by low latency connections. Low is such a relative term that it makes it hard to pin down exactly what "low latency" means. A decade ago, low latency might be a few milliseconds. Today it might mean a few microseconds. This term also may pertain to different areas of technology: systems, networking, processing, analytics, etc. The drive for lower and lower latency is what pushes traders and firms into grid computing, hardware accelerated analysis, utilizing GPUs, and other creative ways to squeeze every last bit of performance out of the hardware. There's money to be made here, but it's very much an arms race and requires continual optimization and spending lots of money.

Thursday, January 20, 2011

"If I had asked people what they wanted, they would have said faster horses."

This is one of Henry Ford's most famous quotes. Over a hundred years ago, people got from place to place on a four-legged beast and weren't exactly imaginative about innovations in transportation technology. Nowadays, people in the high frequency trading space are in the same place. If you ask high frequency traders what they want, a lot of them would say simply, "Faster Algorithms."

All things being equal, everybody wants their systems to run faster. This isn't just in high frequency trading - this goes for engineering, medicine, hell - even my grandma would like to get to her Solitaire game a bit more quickly. There's always this question of speed in high frequency trading - but I'm not convinced that you have to have the fastest system or lowest latency connectivity out there. "Fast enough" is good enough. The question that a high frequency trader should be asking isn't, "How fast can I make this?" but instead, "How fast does my strategy need to be to achieve acceptable profits?"

As far as I can tell, you can be successful by being smart OR by being fast. You don't neeed to max out on both. An innovative trader can create a winning system without any automation at all - so even with technology that's not racing the speed of light, traders should be able to automate smart, profitable strategies.