May 7th, 2006, 5:20 am
QuoteOriginally posted by: genie92Hi Stephen,I have to disagree with this statement. When you're dealing with real markets, the problem is that "all available optimization criteria" are not knowable, and they change over time. Control theory is wonderful when all of the parameters are known - in markets these shift all the time (for example, over a week the NASDAQ may steadily outperform, but then get hammered the next day as MSFT preannounces).With all due respect, I think you completely missed my point. Have you studied control theory? If so, you would know that in real situations that engineers encounter on a daily basis, the complete set of inputs and relationships is seldom ever known, if it is then it is a linear system and is completely controllable.You have 1 optimization criteria, to make money. This criteria can't be thrown into a closed formula though. So you break it down some more, the criteria is to minimize drawdown, maximize P/L and minimize commissions/fees. A direct access broker is gonna pass the exchange fees and rebates directly to you, so every exchange has its own pricing and this can vary between order types, liquidity supplier vs consumer, etc. Order routing must be optimized. Expected order round-trip times must be optimized as well.I have no idea why the nasdaq outperforming would have any bearing on a high frequency system, this would imply that you are taking long-only positions and are in the market a significant enough amount of time to be carried up with it.QuoteFurthermore in a high frequency trading situation the percent of trades that are profitable and expected return across all trades will tend to be low. Percentage of trades that are profitable will be less than 60%, unless you are doing a speed-based pure arbitrage (which is not what you're describing). Expected return across all trades will tend to be low (again excluding speed-based pure arbitrage), as highly profitable patterns are quickly discovered and exploited away. Basically high frequency arbitrage creates steady profits by taking low positive expectation per trade and multiplying by many trades.Please keep in mind what I'm describing below comes not from theory, but from plenty of experience trading a variety of different kinds of positions.Yes, of course every trade is going to have a low expectency, that is all the more reason to use a more rigorous method.QuoteIn any individual trade, you will have several classes of outcomes: (1. MAX LOSS) your maximum loss threshhold will be reached, forcing you to blow out the trade (stop loss), (2. TAKE LOSS) you will exit at some acceptable loss when it is advantageous to do so, (3. PROFIT) you will exit at a profit.Consider an example where you trade SPY, up to 2000 shares. You plan to put the position on in pieces (say 200 shares each) to minimize market impact and optimize your entry.You should find that most of the time when you hit MAX LOSS, you have most of the 2000 shares in place. Or, perhaps you have 1000 shares in place and the move was twice what you would have taken with 2000 shares in place. Regardless, on the worst trades, you will find that you were actually able to put on the position fairly easily.In the PROFIT case, you will generally find it was much harder to get the entire position in place. When the trade is a winner, the market is often moving in your favor, there are a lot of other people trying to do the same trade, and it gets hard to get into the position that will eventually be a winner. Maybe you can only get 800 of the 2000 shares, or maybe only 1200, or 200.I have no idea why you would want to decide upon the number of 2000 shares at the outset and then implement some arbitrary decision to split it into chunks of 100 over time. You are making an awful lot of assumptions, and you probably came up with these numbers cause they are nice and round and odd-lots can be more expensive.I optimally shift cash to the highest expectency strategies and use the exchange fees and the conditional expectations of evertything in my universe to decide when to trade, I don't have any hard-coded logic or some fixed percentage of buying power to decide positions. QuoteAll of the math and theory aside, this is a simple reality of trading: It's much harder to get into a winning position than a losing one.You see the problem that starts to develop if all of your MAX LOSS trades involve large positions, and your PROFIT trades cannot get entire positions. The expected profit based on your research essentially goes to hell. In high frequency arbitrage, you must make sure that you get as much of the position in place as possible when the trade is going to be in the PROFIT category. Speed becomes an essential part of getting that done.There are lots of other things I could say on why speed matters in high frequency arbitrage.I suppose the most important is that the 2-3 shops that I have encountered that do high-frequency arbitrage with great success all emphasize speed. I know one of these houses puts a high degree of emphasis on marketable FOK orders.My guess is that you will be able to rationalize away why speed doesn't matter while you do your research, but when you go live you will realize it is quite important.QuoteI am not saying speed doesn't matter at all, but speed alone isnt going to make you any money, and I have traded in the past but was disgusted with all of the available tools and platforms and realized emotions should not be involved in decision making, AT ALL. Also, a human can never beat a specfially crafted and well-tuned machine.My system receives quotes from all major exchanges at a colo in austin Regular ping times are 40ms to my broker, and the latency on the quotes from the exchanges is around 45 to 50ms.. when I move the box to Lime's colo the ping times to the internal servers is 1ms and from there to the exchange is another 5 or 6. Is that fast enough for you? So colocated my quote-lag-time is about 5ms and my order-round-trip is about 10ms. Yes, filled that quick.. Lime does *huge* volume. Also, this API is in java and only costs $200 a month for colo fees..And it took me nearly 0 time and effort to get this kind of performance, and you think it's gonna help me by spending $30,000 to get a few feet closer to the exchange and rewrite the whoel thing in hand-tuned assembler?I'm not saying speed isnt important, I am saying it is absurd to spend a lot of time and money optimizing this instead of high level strategy design.With all due respect to farmer, I have looked at his website, and I don't think he does high frequency arbitrage or has ever done high frequency arbitrage. When you haven't done it, it's easy to theorize about reality what might be.Ultimately, the debate here can only be settled one way. You would have to show me a high-frequency arbitrage strategy which over a reasonable period of time in live trading does well with suboptimal speeds and where performance improvement with optimal speeds would be marginal at best.Until then, my experience tells me that in high frequency arbitrage, speed matters. Theorizing on other possibilities will not change that, so I suppose may stop posting on this aspect of the discussion now.Definately.. the proof is in the eating. Bear in mind that I'm not just making this stuff up from theories in my head, this is all based on empirical observations of the 2-3GB of data I record each day, and simulated orders over a range of lag-time-simulations... using full depth of book data from all major equity exchanges.If I was in a rush I could throw whatever I have now together and start trading but I am not satisified battling for pennies at the sub-second level.Good luck,Stephen
Last edited by
crowlogic on May 6th, 2006, 10:00 pm, edited 1 time in total.