The pages linked to below consists of notes that I wrote while developing an intra-day trading system in Java. Intra-day trading systems make use of tick data that records each trade in the market. These notes consist of an outline of the trading system (which I call a "Trade Engine") and the "research notes" that I wrote while I was testing the Trade Engine.
Finding the right software infrastructure to support a Java intra-day trading system can be time consuming. Some notes that I wrote while I was doing this can be found here (Software Resources for a Java Trading System).
Intra-day trading systems must be able to issue trades in a time frame measured in a few seconds, or even milliseconds. In general this is faster than a human can trade (or would want to trade, since even successful day trading seems like a horrible way to make money). Like all computer driven ("black box") trading systems, an intra-day trading system makes intensive use of computer systems and software. In the case of an investment fund, this software will usually be specially developed software, usually developed by the fund.
The notes linked to below describe only a fraction of the software infrastructure needed for an investment fund. The most important missing piece is an infrastructure for back-testing (testing trading algorithms against historical data).
Intra-day trading models are exciting (and challenging) for several reasons. One of these is that there are relatively few funds that trade in this time region, so there is the opportunity to do innovative work (which will, hopefully, be financially rewarded). The trading strategies that are explored in the Research Notes are technical trading strategies.
Technical analysis (the foundation of a technical trading strategy) has a bad reputation. Historically technical analysis has relied on strategies and terminology which have the feel of superstition, rather than empiricism. The language of technical analysis includes terms like "head", "shoulders" and "penetrating" a price region. Technical analysts are sometimes referred to as "chartists" and they include sects who believe in Elliot waves and Fibonacci relationships in market data. The pseudo-scientific nature of technical analysis makes it easy to hold technical analysis up to ridicule. However, some people who claim to use technical analysis, including Paul Tudor Jones, have been extremely successful, over a long period of time. Humans have a great capacity for processing information. Some of this happens at a subconscious level. Successful traders like George Soros are notorious for not being able to fully describe their thought processes. After all, if these traders could describe what they do, lots of people could to it and the technique would probably be arbitraged out of the market. The language of technical analysis is used by some successful traders (and many more unsuccessful traders) in an attempt to describe a trading approach that may be partially unconscious.
Although some people may be successful at portfolio or day trading using what they describe as technical analysis techniques, these techniques are useless when it comes to computer driven intra-day trading unless the technique can be described in sufficient detail for implementation in software. There can be no "human in the loop" when it comes to high performance intra-day trading.
The trading algorithm explored in these notes involves "momentum" trading. This is based on the idea that if a stock has a sufficient drop, there will frequently be a rise as it "bounces back". Obviously this is not always true, but if it is true often enough to make money, then the technique can be successful. A challenge in designing this kind of trading algorithm is putting in the logic to sell the stock with as little loss as possible for those cases where the stock continues drooping.
To show that a trading technique may be successful, it must be back tested against historical data. The result should also be examined statistically in an attempt to make sure that the model is not trying to trade a random process characterized by white noise. This detail is not included in the notes linked to below.
Computer driven trading and quantitative finance is a fascinating area. There are, however, many fascinating opportunities for an experienced computer scientist. Finance offers the (perhaps illusionary) promise of wealth. Money is the reason that people work in finance, which tends to have more than it's share of abusive, dysfunctional people.
The drive for profits means that many funds to not spend a lot of time and money on research and development. At many investment funds a three month research and development project is about the limit of what they are willing to fund. The reason that research is undertaken is that the answer is not known in advance. A research and development project to explore a trading strategy may not yield anything that is profitable. Because these projects require a talented staff and are expensive and risky, many funds leverage research done elsewhere. Frequently funds are spin-offs from investment funds at large investment banks like Goldman Sachs (as I write this in January 2009, large investment funds are a vanishing species). A few funds are spin-offs of academic research.
The classic model for a hedge fund is "two and twenty". The fund will collect one to two percent of the invested funds as an operating fee. The fund will also take twenty percent of the profits generated by the fund. For a fund to support its staff and infrastructure and have the potential to generate enough profits to make the venture worth while, it must be able to trade a minimum level of capital. The trading strategy must scale to this level and beyond (so the fund can grow if it is successful).
Fully exploring the kind of intra-day trading strategies outlined below and developing the necessary software infrastructure would probably cost about $300,000 (US, in 2009). Another $100,000 of trading capital would be needed if the experimental results were promising. Since few funds seem to be working in this area, success is not certain, so the time and money could be expended only to find that the strategies chosen are not profitable, at least at the level needed for an investment fund.
back to home page