60 comments

[ 3.6 ms ] story [ 135 ms ] thread
I would like to point out this was a theoretical operation done by this professor. It looks to me there are a few errors in his conclusions ( specifically about the risk associated with what he was pretending to do, and the nature of market making ). Also he didn't actually make an algorithm to do the trading and back test it, he just assumed that "with a good algorithm" you could do this.

Also the fact that this is represented as a broad threat to the market is just false. This only effects day traders and other HFT's. Yes the long term investor might also be hit by this to the tune of 0.01% per transaction, but the liquidity provided by HFT's almost makes up for that.

Make the system better, but do it so that the market functions more efficiently not so that people who aren't you will make less money.

> It looks to me there are a few errors in his conclusions

What errors are those?

> Also he didn't actually make an algorithm to do the trading and back test it, he just assumed that "with a good algorithm" you could do this.

What kind of algorithm do you need? He's able to buy stock at $100 when he already knows that a second later, the stock WILL BE at $101. The risk is zero. The algorithm is a one-liner.

> Also the fact that this is represented as a broad threat to the market is just false. This only effects day traders and other HFT's.

Not at all. It's a tax on every other participant in the market, on every transaction they make. Every time you buy or sell anything, you make less profit because someone is front-running you.

> Every time you buy or sell anything, you make less profit because someone is front-running you.

The whole front-running charge w.r.t to HFT is such nonsense. When you send a market-taking order to an exchange, there's no way for an HFT trader to see that order before it hits the market and game it. On the other hand, if you want to get cute and work the bid or offer, then yeah, someone who can process and react to the market data feed faster will have an advantage over, say, some overpaid fund manager who's just trying to mimic the S&P 500 and is still getting his data from a Quotron machine.

You ( like him ) assume that because he see's something at a given point of time, that he can make decision on it. Yes he might see that there is an offer to sell at one exchange that is below the offer to buy at another exchange, but even if you knew that at some time X you can't place a trade at time X you need at least X + <some finite amount of time to get the trade to the correct market>. In that time lots of stuff can happen. That specific order might be filled or canceled by someone else who knew about it sooner or was quicker to act on it. So what do you do ? Do you wait to buy until you can sell ? What if I am in the same business and I send an order and then cancel it an extremely short period later, before that order could even propigate outside the market I placed it in ? I bet I could get you to buy my stock from me at a good price because you think you can turn it around and fence it really quickly. Guess what you might be taking a haircut on that one. And if I can get you to bite once I am sure I can get a computer to make you do it over and over and over again. This isn't made up people have done it [1] ( and gone to jail for it once they got caught )

1.http://www.securitiestechnologymonitor.com/news/norwegian-da...

The economist's preferred trade stoppages don't eliminate the advantage of trading fast, they only reduce it somewhat. If the stoppages are a little out of phase globally, they may actually increase it.

When buying and selling stocks on timescales of weeks to years, HFT doesn't effect my strategies nor outcomes in any meaningful way (except to provide exact pricing at the moment I send in a trade).

Why not have it lock-stepped - every n time units the trades on the table are performed?
This is actually how it was done. A few times a day large orders would be matched and executed. We moved away from it, and I am not sure if its still used at any of the exchanges anywhere.
You would have to have it synced across all global exchanges, if it wasn't you end up with a similar position that we are in now every n time units.
Yes and between futures, cash, and options exchanges worldwide. A market structure like this would be much more prone to gaming by sophisticated participants.
You wouldn't need it synced except to the unit of the lock-step. Lock it to one trade per hour and you've got an hour's leeway. The deals are arranged and lodged with the exchange. The exchange processes all deals received by the lock time; deals remaining entirely private until that point. You could have one trade per day allowed - that should cut high-frequency trading down somewhat.

Of course that's not going to happen because high-frequency and the arms race allows extraction by traders of the maximum value away from producers and towards their own financial cabal.

Is the order book visible between executions? If yes, then nothing changes, the HFTs just keep piling on offsetting orders as the orders change. If no, gigantic inefficiencies result as investors blindly toss orders onto the market.
"Hendershott walked away with almost $377,000 in theoretical profits by picking off quotes on various exchanges that were fractions of a second out of date."

LOL, classic. If I just _pretend_ I get filled on every order, I make a hojillion dollars, see?

LOL - it was probably a bug in his sim, some future information leak most likely. Getting your timestamps right is always tough.
Even if you get the timestamps exactly right, predicting whether you actually would have been filled at the exchange on a given simulated order is fraught with error (almost always in the direction of overestimating profits). Anyone who thinks this can be done with simple simulations or "a one-line algo" is speaking from a position of severe ignorance.
Simulating the fill rates correctly is tough. But getting the timestamps right is also tough. Exchange timestamps are crap. If these there used - that's a possible future leak right there. Standard PC hardware? Remember, that a standard PC clock gives you something like 50ppm. That means - yes - 50 microseconds per second drift. One need their own boxes with stable clocks, GPS, or otherwise synchronized. I doubt that this professor had access to that kind of infrastructure.
It costs me x dollars to place a trade, how are they getting around a trading fee? Or do not all people have to pay trading fees?
As I understand it if you never have your trades "cleared" you never incur any cost.

When you trade the price to have the trade cleared through a clearing house is built in. When big firms trade they only need to go to the clearing house to square up their books.

Exchanges charge. HFT firms don't pay a broker, but thy still have to pay exchange fees. Most don't clear themselves, too, so they have a clearing fee. Also, some small FINRA fees. And this is not to mention that the right to be a market maker often costs a lot to begin with.
yes but do they have to clear all the trades or just at the end of a session ? I was under the impression that you could pool your holdings and clear them once instead of for each individual trade.

Also I thought exchanges charge for access not for activity. So Its a fixed fee to be able to talk to the exchange,but I can send in as many orders as I want.

Most exchanges now charge on a "maker/taker" basis, where liquidity-taking trades (lifting an offer or hitting a bid) are assessed a fee, while liquidity-providing trades (working a bid or offer which is ultimately filled) are paid a small rebate.
So that's the exchange side, what about the clearing. As I understand it that's where the bulk of the cost comes from.
You can't aggregate the clearing fee away. It's applied to every trade. And clearing fees are small compared to exchange fees anyway.

There are some fixed fees to be designated as a market maker on some exchanges. Others just charge based on a free-for-all maker/taker model. Another "fee" that market makers incur that retail customer don't is direct market data, which is painfully expensive. But that's fixed, not a function of trades.

Intervals of a few milliseconds? You could peg prices every few seconds, minutes, or hours. A trading interval of one trading session per hour would be fine. Put in all your offers to buy or sell, trading closes at 10:00:00 and then all the received trades are matched up and executed. Once per hour, once per minute, any interval works fine for the USEFUL purpose of the stock market (allocate capital). It just happens to kill off the non-useful purpose, gambling.

While you're at it, tax all stock purchases.

All HFT is front-running the market and should be banned.

I hope someone can correct me here if I'm wrong, but wasn't this the purpose of the Volcker Rule? Wasn't it designed to put a collar on HFT?
No. The primary purpose of Volcker was to stop prop trading at insured banks. Most HFT is done by smaller shops.
Whoever started this theory that HFT would somehow be hurt by periodic auctions must be in the HFT industry. Because disparate auctions just make it more difficult for the myriad exchanges to maintain compliance with Reg NMS, and the fastest market makers will be the ones to make all the money arbing the auctions against one-another.
(comment deleted)
Why tax stock purchases? Or is this just anti-rich grumbling?

Unfortunately, there are various positive properties of a marketplace that are in tension. In this case, the fairness of price over time and the availability of the market.

How many times does someone need to explain that enforcing fixed-interval ticks is a bad idea for people to stop bringing it up on HN?

In the current environment, you own shares of MidCap Inc. They release a really bad earnings report, the company looks like it'll just keep sliding for the next few months and you want out. You see what the price as of 5 seconds ago is is (5 seconds since you're only human), put yours in at just below that and 10 milliseconds later you've sold your stock. You got a fair price and you aren't stuck holding a bad stock.

In your proposed 1 hour ticks, you still own MidCap and they still release a bad earnings report. You still want out, but since trades execute once an hour you have no idea what the price is after this earnings report. You put in an ask at a slight loss (you don't care about the loss, you just want out), wait 45 minutes and... Fuck, everyone put their asks lower than yours. Half the book clears and everyone who didn't get their ask thinks "I really don't want to be holding onto this crap stock". You re-list at a 25% loss, because you really just want out and the average trade was a 15% loss anyway, and so does everyone else. You better hope the book gets completely cleared this time, or that stock is gonna hit the floor.

That's all not mentioning the fact that 1 hour ticks wont eliminate HFT and the desire for low-latency (who get's priority when there are 2 $33.55 bids on the book? The first one placed?). And half of HN will be grumbling about how the exchanges take all this profit when the bid/ask spread is negative.

Your scenario trades efficiency for fairness. I don't see a problem with this in general.
Ah, 1 hour ticks. I like it. Imagine the spikes of traffic at the start of every hour. Just beautiful. That would result in the prompt upgrade from 40Gbps to something much faster. And finally all these pesky bugs in the routers and network cards will get sort out. Beautiful :)
Aren't all of those problems solvable?

1) Use ticks less than an hour. Say, one second. Or even one minute--however long it takes to settle an auction. You will quickly get a sense of the price. 2) If there are multiple bids on the books, randomize priority at the bid level. The goal is to remove HFT, not create a new HFT with more granular resolution.

Lowering the interval makes the effect less pronounced, but it's still there. When you have fixed intervals the order book will keep increasing in size until the trades execute on the 1 second interval or whatever it is, and the book will be larger than for our current instantaneous ticks. Larger book means wider spread, as basic game theory says when you have more participants you need a stronger hand to have the same odds, so if you want that trade to execute you put it way outside the last price. HFT firms narrow the spread and take the difference as profit, as they don't really care if 1 particular order executes so they play closer to the last price.

Randomizing the execution order makes the spread even wider, because now you need to beat everyone instead of just tying if you want to guarantee execution. And again, the HFT firms don't care if any particular order executes. Although randomizing the order would probably reduce the incentive to co-locate, but I'm guessing the larger firms would still want quicker access to the last price, just in case.

Also, in all of this I'm assuming no one outside of the exchange can view the actual book, just the last price. If you let people see the full book, as they can now, this is all a wash anyway as they'll just "trade" by placing and cancelling orders right up until the next tick.

If my orders get random priority I will just spray a bunch of smaller orders onto each level. Look at the Eurodollar markets. You get execution priority based on size there and traders just send massively oversized orders.

Why is the goal to remove HFT?

The rule already exists to ban it... any trade submitted without the intent to actually execute is illegal. HFT is based on creating and with drawing trades continously to discover the best price available. The rule is just not enforced. Regulatory capture is the problem, not lack of regulations.
Considering any low-latency firm worth talking about will be able to afford viewing the full order book (which apparently you can get for $750 a month http://www.nyxdata.com/arcabook) they don't need to create and withdraw trades constantly.

They will however do this on dark pools, as dark pools specifically don't publish the order book. But no common investor will be trading on a dark pool, so this professor wont be able to "cheat" (with as much scare quotes as possible, as AndrewBissel and others discussed) them out of $377k. I don't know the regulations for dark pools so I can't say if this behavior violates them or not, but I'd assume not as dark pools are typically set up to thwart HFT so they'd pounce on any opportunity to keep them out.

I would be delighted to get filled on every order I send. HFTs usually flicker quotes due to fast changes in their valuation model or software bugs combined with insufficient risk controls.

Smart HFTs actually try their best to avoid sending orders. It's incredibly expensive latency-wise compared to leaving your quotes alone and you give up queue position.

Front running is when a broker purports to act as a fair middle-man between a trader and the market, but instead fraudulently manipulates the market to cause price degradation to the trader. It has nothing to do with HFT.

HFT is not gambling. Markets are predictable, in the same way that the value of wheat in November is predictable from the amount of rain in May. HFT simply extends the prediction process to short timescales.

Is front-running illegal because the broker owes a duty to their client or because we want people to feel markets are fair? There are clear cases where HFT algos disadvantage poorly placed orders (e.g. lazy portfolio manager rests a huge bid inside the spread, HFTs are likely to join or improve his quote and trade ahead of him) but isn't that just helping the markets move to the correct price more quickly? The lazy PM is hurt but another investor ends up getting a better price.

In any case it always strikes me as odd that the financial markets are the only place where untrained individuals decide to play head-to-head against pros and are then outraged when they lose. As long as access is fair and non-discriminatory I think that's all you can hope for.

The purpose of the secondary markets is to transfer risk, not to allocate capital. That may be why people take such moral outrage at things like HFT when they're really just making the market more efficient. Nobody acts like 7-11 is an immoral part of the milk and bread market when they only hold inventory for a day, and nobody suggests that we don't really need 24/7 stores so everyone should just buy their bread direct from the manufacturer during a 5 minute window.

In any case, if you want to trade in a single price auction, you can do it right now. Every primary exchange has an opening and closing auction. People are already given the option to trade like that and prefer to trade in a continuous market. Why would that be?

I hear a lot of complaining about the HFT business, and there is plenty to complain about, but I think every so often we need to take a step back and remember what the alternative is: Insular, inefficient, corrupt, pit-based trading.

We now complain about a few pennies being scraped off of each order, which stings a little, but read Reminiscences of a Stock Operator to get some context about the dollars that used to be scraped off of each order by pit traders. Today, if you're trading a low dollar stock like Bank of America or Zynga, the vast majority of the money you're giving up to make a trade goes to brokerage, rather than to market makers like Getco.

Where computers are involved in trading, there will always be an edge to be gained from writing better, faster programs. We can take some steps to de-emphasize making programs that have a speed advantage (e.g. assign random latencies to all entered orders, or to bring all orders in each stock to trade on a single, specially-designated exchange), but I'll take computers over pit traders any day.

I don't think it takes hours to take the teeth out of HFT - just put in a delay one order of magnitude above the timescale it is operating on currently should be enough to neuter it.
The alternative to HFT is not pit based trading. False premise.

The fact that brokerage is too expensive is a straw man in this discussion.

How much is he starting with to make that $377k? If I had ten million dollars to play around with, I could easily make that in a day. That figure it meaningless if it's not relative to something. What % return is it?
He made that $377k in the simulation. Not in the real market.
Yeah but how much fake money is he starting with?
Yes, though I think what parent is asking is how much simulated capital he started with.
Paper is here I believe: http://faculty.haas.berkeley.edu/hender/NBBO.pdf. The 377k number is at the bottom of p. 10. Since he believes there's no capital at risk, the starting amount is unimportant.
But if he's making $0.0001 per share and he can only use his capital once every 3 days due to clearing, it is important.
I could be wrong, but I don't think that's how settlement works. Making a market would be impractical from a capital perspective for any players. I would assume DTCC nets out its exposure to each clearing member, at the very least.
This paper makes a lot of assumptions that don't make sense. He believes you can trade at the NBBO midpoint on dark pools whenever you please, both to enter and exit the trade. This is unlikely in reality. Midpoint orders are uncommon in wider names like AAPL and your fill rate would be really low. Pools can also segment who clients can interact with. If you are constantly picking off slow institutional orders and your trades have high short-term alpha, you will end up getting segmented out or banned entirely. Also many pools build their own NBBO from composite feeds these days.

Just as a sanity check, GETCO, who used to be one of the largest HFT firms (as far as I know they're still pretty large) made about $100mm in gross trading revenue last quarter in all asset classes. That's about $2mm a day for everything and they are in pretty much every market in the world. There's no way this strategy on one name makes almost half a million a day even in aggregate.

Darn. I thought I was going to make 377 000 dollars a day. That would have been around $94M trading stock. Now I have to work for a living... Instead I got this article about fair game. Whats up with that=)
Why don't the pension funds use HFT too if it works better?
Indirectly, they are. The market price is the average predicted price by all the HFTs. The high-frequency shops are picking up pennies in front of a steamroller so that the rest of us can ignore short term fluctuations in the price.

This does not help pension funds all that much. A pension trader might decide to acquire a $1.5B position in some stock that usually trades $250M a day. To avoid being a market mover, large investors take weeks or even months to adjust their positions. HFTs arbitrage between the milliseconds, while retirement funds arbitrage between seasons (to the extent that they arbitrage at all, rather than investing for a share of the profits).

Also more and more institutional investors are using bank algos that basically act like a one-sided market-making strategy. They can actually crowd out market-making HFTs since they're willing to trade for less edge.
part of me thinks they'd better go the traditional bank route and just directly lend the money to companies/people (somehow it's also an active investment). They could tell their customer: "we financed this bridge, we financed this company, we financed this farmer's crop" and when there is a loss, they could explain that the company failed or the bridge could not get off the ground for some reason or the weather was bad for the crop. I don't think the current level of indirection is useful, and I don't think computer shakes the hand of the customer saying "let's build this road".
The indirection is useful when exit time rolls around. If you directly finance a bridge in a city that wins a major new factory, you have to figure out how to market and sell your share of their improved taxing ability. If you bought a government bond, you simply issue a sell order priced to account for the lower risk of default.
I've been wondering - couldn't you just impose a small delay, say one or two seconds, on each order - forcing everyone to wait a moment to get their order on the order book.

Seems like that should eliminate high-frequency trading altogether?

Betting exchanges use this idea to prevent people doing time-based arbitrage on live sporting events. For example, to prevent one guy who's watching a match live in the stadium gaining an advantage against someone else watching on TV, where the pictures are delayed a few seconds.

Translation from cable-news-speak: Henderschott used paper trading to estimate an upper bound on the amount of money to be made by _all arbitrageurs combined_ trading AAPL on BATS for one day. He assumed perfect execution as an estimation tool and this was not an error. He's not claiming that he would have made $377k, he's estimating the size of the pie.

Re: the intermittent auction idea: Having an intermittent auction doesn't take speed out of the picture, but it forces traders to be really fast at the moment before the auction instead of all the time. Lots of exchanges have opening and closing auctions where we can see empirical data. Some exchanges try to solve last-moment problem by having a randomized start time for the auction: you know it will be between, e.g. 3:25 and 3:30, but not exactly when.

That said, Henderschott is a really smart guy and I haven't read the paper. I'm curious to see what his suggested solution looks like. I was at a talk he gave a few years ago and someone asked him about this, and I understood that he was against the auction idea for pretty much the standard reasons. I wonder what's changed.

Aside, "Latency arbitrage" is an oxymoron. Latency is more or less the defining characteristic of arbitrage. Just because we're using computers instead of carrier pigeons doesn't mean the situation is somehow changed. Saying "latency arbitrage" instead of just "arbitrage" seems like a rhetorical device to paint HFT as something new and dangerous, rather than as a continuation of stuff that has always happened. There are plenty of substantive things to debate about HFT, but using scare words doesn't improve the quality of the debate.

Anybody interested in this stuff should read former high-speed trader Chris Stucchio's (yummyfajitas) awesome blog posts and HN discussion. Part 1 here: https://news.ycombinator.com/item?id=3852341

> playing one stock (Apple (AAPL)), Hendershott walked away with almost $377,000 in theoretical profits

OK... I'm waiting for tomorrow's story that states he actually gained $377K in profit trading his own money using that algorithm.

Until I read that article, this is all hearsay.