Hacker Newsnew | past | comments | ask | show | jobs | submit | ikourtid's commentslogin

Also former HFT / market maker here (UBS, GETCO), and also the developer who wrote Wealthfront's direct indexing with tax loss harvesting 10 years ago.

I had that same skepticism before I built it. Using a Bloomberg terminal back then, my conclusion was that the weighted spread for the S&P 500 was 3.2 bps, vs. 0.6 bps for SPY.And this was > 10 years ago, so I'd think by now it would be even tigher. The ratio may have changed, but who cares? It's like saying that rice got more expensive at the supermarket - it's already so cheap that it doesn't matter.

With tax loss harvesting specifically, each order typically has a threshold, so that you only trade when the projected tax benefit is a large multiple of the transaction cost.

Also, I'm sure this is obvious to you if you work in market making, but for others reading this: the spread costs aren't additive (re: 'every. single. stock'). If you have 500 stocks, each with 2 bps round-trip spread cost, but each is at e.g. 1 / 500 = 20 bps, then the weighted spread for the entire basket is 2 * 500 * 1 / 500 = 2 bps. It's not 2 * 500 = 1000 bps. The main question then is - how much tighter are spreads for ETFs than for the average stock? And, since bigger stocks (AAPL, NVDA etc.) will have tighter spreads than smaller index constituents, the weighted average will be even lower.

Here's my blog post:

https://eng.wealthfront.com/2014/03/04/marketside-chats-4-co...


Follow-up to my (most upvoted, it seems) post.

ETF expense ratios are only the headline cost. There's also a hidden cost you never see.

An index (and, therefore, any fund that tracks it) has a methodology that results in additions/deletions/index changes being announced to the market ahead of time. Usually that's quarterly, but also sometimes annually.

For an index addition announcement, you can imagine that the price will go up beforehand, since market participants (all except the actual ETF) will buy the stock in anticipation of the extra demand of that stock being in a widely held index. [This is actually more complex, and doesn't always work in that direction, but that's beyond the scope of this comment].

Now, the ETF doesn't care about this. They get graded on how closely they track the index. So they will buy the index addition on the closing auction of the day of the index reconstitution. Sure, they'll get a worse price (on average) than if they had bought 2 weeks ago, but who cares? They don't, and their clients don't (partly because they don't know).

This effect is even more pronounced in certain indexes where this dislocation would be larger, e.g. those with more turnover, infrequent rebalances, etc.

Just drop "what is the drag on returns due to index reconstitution in the Russell 1000 index?" in ChatGPT. Admittedly that's one of the worst offenders, and this is not scientific, but ChatGPT says 0.2% to 0.3% annually. That's already more than the 0.17% average mentioned in the original posting.

[Source: I worked on the trading floor in the program trading desk of a bulge bracket bank that actively traded these index reconstitutions.]


PAYMENT-FOR-ORDER-FLOW IS GOOD FOR YOU. There, I said it. [Source: I have 10 years of HFT / market making experience]

PFOF is misunderstood, as others pointed out here. However, it's not a 'win win win'; it's more like a 'win win lose'. This is something even media gets wrong all the time. I've only seen this mentioned as a footnote in Matt Levine.

[Note: I don't know if Double is doing it, or if they plan to - this is just a general summary].

So:

* Win: Citadel (etc.) make money by trading against order flow that's more benign than the resting orders in public exchanges.

* Win: The client gets a better execution price than the publicly displayed bid/ask. Back when I started (20+ years ago, yes, I'm old) this was 1/100 of a penny, the legal minimum (due to minimum tick print size). But recently, the market orders in my personal account have been getting price improvement of almost half the spread.

Things are a bit different in some options exchanges, where retail flow gets some priority, regardless of when you joined a given price point at the order book queue. But almost all equity exchanges use price-time priority, you're almost guaranteed adverse selection.

Example for those who may need it: if you place a buy limit @ $1.07 in a 1.07 (bid) - 1.08 (ask) market. Then, the bids at 1.07 slowly disappear, because firms such as "Shark Holdings, LLC" (the trading firm consisting solely of quants with unpronounceable foreign-sounding names) will cancel their bids if they sense the market is going down, e.g. if they observe a lot of trades at the bid. Then, the new market will be 1.06-1.07, and you will have sold at the ask.

OK, so here's who loses: any large orders that have to trade in the open markets (not 'dark pools', ATS, etc.) will be stuck with more 'toxic' orders, and get worse execution. The question is: do I gain more as an individual from having my (quasi-entertainment-value, usually small) personal account orders get better execution? or do I lose more by having my indirect trading (possibly an index fund that I hold my retirement money in) get worse execution? I think it's the latter. But nobody connects the dots and/or seems to care. [Of course, this is more complicated, because large institutional orders aren't 100% on behalf of small investors.]

You may say this component of market structure is stupid/wrong/suboptimal. I personally think so. But this is the reality of it. It's encased in rules. There was some attempt to get rid of PFOF a couple of years ago, but it failed. So that's not going away.

So this is a win-win-lose: it's globally suboptimal, but for the 2 first 'wins', it's locally optimal.

Summary: although PFOF has bad optics and stimulates pitchfork-y instincts ("big bad evil companies are out to gitcha", etc.), if your broker doesn't do it, you're both leaving money on the table - and guess what, they'd have to charge you some other way.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: