hft_throwaway

Joined 13 years ago

Karma
232
Submissions
79
Member since
Aug 31
C.R.E.A.M.
View on Hacker News

Recent submissions

Comment · 12 years ago
Comment · 12 years ago
That assumes there is no bias to their signal returns over time, which is extremely unlikely. 90% of the moves that go their way could happen in the first second, for example.

Many HFTs hold positions for seconds or minutes, and predict prices out over similar time horizons, but they'll lose their best winners to competitors if they aren't fast and adept at executing.

Comment · 12 years ago
More than when I last looked, but to put that in perspective, you could trade $40mm in a few price ticks in major currency pairs and CME avg daily turnover alone is > $100bn: http://cmegroup.mediaroom.com/2013-06-07-CME-Group-Sees-Reco...

Public spot FX markets and OTC trading do huge volumes too.

Some BTC exchanges charge like 60 bps per trade. Finding a signal to overcome that cost and do enough trading to make it worthwhile would be quite difficult.

Comment · 12 years ago
Comment · 12 years ago
I see no mention of the spread, costs or even ability to put on a short position, exchange lag variability (huge issue when simulating even on modern exchanges, let alone fly-by-night bitcoin markets). Additionally, it is very easy to find trend-following signals that "work" but break down when conditions change very quickly. That seems to make up most of the prediction, along with an order book imbalance signal that might be more stable.

I think a better approach would be looking at order book features and lags vs. other markets. The costs are high on BTC markets so it would be pretty tough to overcome those though. Anyone with experience to do this is probably doing it somewhere more lucrative. I think BTC markets only trade a few million USD a day.

Comment · 12 years ago
I don't believe they were trading with themselves. They were accumulating stock in the opposite direction to hedge their imbalance-only order. However, the way they accumulated that stock was done in a way that would impact the price received on the closing order.

So imagine they sold 10000 shares imbalance-only in the auction at 3:50. They would then buy 2500 immediately, slowly pick up another 2500 in the next 9 minutes, then do the last 2500 in the last second. The initial trades would get them into their hedge at a low average price, and the last-second ones would push the price of the closing auction up, maximizing their return on their imbalance-only order.

If you read the case, it seems like this didn't always work if they had slippage on the close or they got so aggressive that they would "flip" the imbalance and not get filled on their closing order at all, instead being stuck with a bunch of shares from crappy prices. The people trading with them in the last two seconds could also keep replenishing their orders and prevent them from spiking the price. Sounds like a dangerous game of high-stakes chicken.

Comment · 12 years ago
Matt Levine's Bloomberg article is a good layman's explanation of the issues: http://www.bloombergview.com/articles/2014-10-16/high-speed-...

They were wrong and got punished, but the market would have punished them eventually anyway, and it sounds like it was already doing so. The SEC filing states that this scheme lost them $3mm on an index rebalance day when activity in the closing auction peaks. That should be a great opportunity for anyone intermediating between the continuous and auction books, so it is very surprising that they'd lose. Someone probably caught on that they were manipulating the close and waited for a big day to take advantage of them, or there was so much activity that they didn't have enough ammo to goose the price like on slower days.

Also, to be clear, there is nothing illegal about HFTs intermediating between the continuous and auction books or the majority of HFT activity. These guys were charged because they committed fraud, the use of a computer was ancillary.

Comment · 12 years ago
It is stuffy, but I wouldn't call it backward-thinking, unless mindless hedonism is what passes for forward-thinking these days. Raising children without marriage would be akin to starting a business without incorporation or contracts. Strong bonds, group loyalty, and long-term planning/character are what let man build something larger than himself.
Comment · 12 years ago
The claim that market makers pass costs on to end users is only true if they have pricing power. In reality, on-exchange liquidity provision is basically the kind of perfect competition that only exists in economics textbooks. Market makers are selling a commodity product (you don't care or control who you trade stocks with) in a market where buyers are purely sensitive to price (tightest market always wins and is enforced by exchange matching rules).

So what actually ends up happening in a market with multiple competitive market makers? To make money, a market maker needs to trade a lot of volume. The only way to trade a lot of volume is to put up the most aggressive (worse for the market maker, better for end users) prices at any time. Market makers can only do this by charging a smaller spread than their competitors. They can only charge a smaller spread by either reducing their margins or getting smarter at deciding when to be in or out of the market, usually a combination of both. The end result is extremely tight markets that react to information very quickly (i.e. cheap to trade and very efficient).

Competition keeps markets honest. If you had one very fast guy, he would clean up, but when you have a dozen guys who are roughly equally fast, they all compete one another down to barely making profit above their cost of doing business. Only the most efficient can survive. If anything, we want more HFT by removing barriers to entry rather than creating a lot of regulations that would ironically help incumbents by killing off weaker competitors.

Comment · 12 years ago
Comment · 12 years ago
Cool idea!

Some questions/thoughts:

Do you provide any access to raw tick-by-tick event data or just bars?

How do you secure your users' scripts so they don't worry about you stealing their ideas or front-running them?

It might be useful to provide FX rates as a feed so users could come up with a synthetic price for non-USD pairs.

For guys who want to work passive orders, an API where they can pass a dictionary of prices/sizes they're willing to buy/sell at into a goal seeking algorithm that handles canceling/placing individual orders might be a better match and more convenient.

Comment · 12 years ago
That should create opportunity for automated trading. Identify large orders and place small orders a de minimis amount ahead of them when the bid-offer spread is sufficiently large. If someone trades with your bid (offer), try to be the best offer (bid) to exit and make the spread. If the large order behind you starts trading, trade with it to lose 0.01.

I've traded these markets by hand before using relative value signals from other exchanges (e.g. buy on bitstamp if btc-e moves up and bitstamp hasn't yet). You can't really do pure arbitrages since it takes so long to move money around but if you can identify which market leads you can use that as a starting point for coming up with a fair price to trade around. I made money easily but gave up on trying to automate it since the volume is so low, bid-offer spreads are often tighter than 2*trading fees, you can't short-sell easily/cheaply, exchanges seem incompetent or downright crooked, laughably bad APIs, etc.

These markets are wildly inefficient though. For a home day-trader or hobbyist there's easy money to be made. It's absurd how slowly price discovery trickles from one market to another. Most modern markets don't even get mispriced by a penny for more than a few microseconds, but there are nickels, dimes, quarters and even dollars of mispricing to capture in BTC/USD markets clicking on the screen.

You could probably dominate with an algo, but how much can you really make in a market that trades 10s of millions in notional value a day? There are also way too many exceptional conditions to let it run even semi-unattended since the exchanges are too immature. Anyone who's capable of doing it can make more doing the same thing on a real market.

ETA: Exchanges in this space are really, really bad. Some don't even know about rounding errors when using floating point for prices. Or would you trust trading on a market that can't even match trades as an atomic event? http://www.reddit.com/r/Bitcoin/comments/1r4d6t/bitstamps_st...

Comment · 12 years ago
It likely was happening.

If I'm a market-maker, I want to trade with retail orders or slowly sliced institutional orders that are trying to rebalance a portfolio throughout the day. When I sell stock to them, the price doesn't move very much in the short-term and I have a chance to buy back on the bid to make a spread. I don't want to trade with aggressive arbitrage or stat-arb traders capturing short-term price inefficiencies, hedge funds that want to buy huge blocks of stock all at once, etc. If I sell stock to them, the price ends up moving up more than the spread very rapidly and I lose money.

When trading on a public market, I have no way to control which of these groups I trade with. I have to employ countermeasures to predict whether it's likely that I'll trade with an informed or uninformed trader and adjust my market accordingly. This is why you see market-makers rapidly flash their quotes for seemingly pointless reasons (e.g. I may adjust my prices in an airline when oil futures move) or flip out of positions aggressively when their model believes they were hit by an informed trader.

Now if I'm able to trade on a market where I know I'll only trade with long-term fundamental traders, I can quote much larger, tighter, and more stable markets. This is good for the institutions since their execution costs are lower than going to the exchanges. It's bad for arbitrage traders and hedge funds with short-term information since they effectively pay higher execution costs in a tiered market (if more "good" order flow goes to dark pools, less reaches displayed markets, and spreads on displayed markets will increase to compensate). When people want to end dark trading or internalization, they really want to have retail and institutional flow cross-subsidize fast speculators.

Ironically, it's probably HFT market-making firms who were the most impacted by Barclays giving other high-alpha HFT firms manual overrides to put them in a lower tier. If anyone would be excited at the promise of removing high-alpha traders from the pool, it would be market-makers who want to avoid being "picked off", not institutions who have a much longer time horizon.

Comment · 12 years ago
But isn't that because C++ itself evolved from C? The original "C With Classes" wasn't much more than a convenient syntactic sugar for using structs and function pointers as a poor man's object system, something that was and is common in large, abstract C programs (e.g. Linux's VFS layer, Gtk+).

I think you may be confusing is with ought here. Everybody sane knows C++ has flaws; I think Meyers even feels this way in his presentation. C++ is popular because it evolved and thus contains a lot of compromises. To draw an analogy, the Mormon Church is immensely popular in the US for similar reason--they basically said, "Hey the New and Old Testaments you spent your formative years learning are all good, but we've got some swell new stuff here too!" I'm sure Zen Buddhism is more theologically pure, but people like what's familiar to them.

Programming languages are a network effect problem first and foremost. Just like it's hard to unseat Craigslist despite its crappy UI, it's difficult to get users for a new language that may be only marginally better in terms of features, productivity, safety or convenience. Even if it's a significant improvement existing code bases, library availability, programmer availability with domain knowledge and so on matter much more for serious projects. There's a reason why Facebook took the time to write a PHP VM instead of rewriting their code.

Comment · 12 years ago
Guys who write HFT systems in Java are basically programming them like one would in C or C++. They pre-allocate byte buffers for everything and never run the GC. If you write C-style code in Java, it's going to run pretty quickly. They aren't doing architecture astronaut AbstractMetaClassFactory stuff or using much of the provided libraries for latency-sensitive code.

FWIW, I don't think Jane Street is a competitor in the "ultra HFT" space where every nanosecond counts. AFAIK they are more of a statistical and quantitative trading group, so they may have less need for things like talking directly to hardware, keeping tight control over memory layout, deterministic latency w/o GC pauses, etc.

Almost everything that is popular has evolved over time, and making these changes once you have established users results in compromises that can be sort of ugly. C++ has patina.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton