Hacker News new | ask | show | jobs
by dudeinjapan 1661 days ago
For the uninitiated, "spoofing" does NOT mean what you think it might, e.g. spoofing network packets or making fake trade records.

"Spoofing" simply means placing orders on the exchange orderbook which one supposedly does not intend to execute.

I've never understood this, because any bid/ask order on the orderbook CAN be executed against, until it is canceled. If they were "flashing" large bids/asks that were being immediately canceled to trick other algos into lifting, that is annoying but it's the algos that fall for the spoof that are stupid. The algos should just hit the large spoof bid and the spoofer will be left holding the bag.

7 comments

At any given time, the 'order book' will have offers and bids at given prices and at given volumes. There can be imbalances in the order book.

If there are offers starting from 100,1 and bids starting from 99,9 but there is only one offer below 105 and many bids at 99,0 that is a valuable signal. From a 'random walk' perspective you would expect the price to rise quite soon. By spoofing you can either create this imbalance to get people to falsely trade on the imbalance, or you can hide this imbalance once you notice it so only you get to profit off the signal.

Hence, spoofing can be manipulative even if being a decent distance away from the current price, hence not running that much risk of the orders being filled.

The algos are not trying to hit the spoof, they are using order book imbalance to modify their valuation. So the way it would work is that JPM could for example post a large spoof bid to trick the algos into aggressing into a JPM offer.
Yes, because the algos are being faked-out by the spoof. It's like being juked in basketball... if the algos were smart, they'd hit the spoof bid.
> if the algos were smart

Algos aren't smart. Thy automate human reasoning to the extent logically possible. If as a human you don't know how to detect a spoofed bid, then how do you make algorithm "smarter" than yourself?

If the algos aren't smart, then you may wish to rethink trading real money with them.

The orderbook imbalance signal is a strong signal, but its not the only one...

(Full disclaimer: I worked as an algo quant at a large bank for 5 years. During which time I was constantly hounded by Compliance over supposed "spoofing", which we never did.)

No they would not do this. Why would they want to hit the spoof bid?
One should seek to determine the theoretical price (i.e. "true" price) of an asset. If the spoof bid is above the theoretical price, then you hit it. The spoof bid is noise... find the signal and make the spoofers pay dearly.
Oh sure yeah but it's unlikely spoof bid would be above theo.. too risky on the part of the spoofer
Then its not really a spoof is it? They'd be happy to trade it :)
Ideally the less manipulation you have the better working market. So, it's good that spoofing is illegal.

Their only purpose here was to: "Through these spoof orders, the traders intentionally sent false signals of supply or demand designed to deceive market participants into executing against other orders they wanted filled. "

That being said, algos could have hit the large spoof bid, but imagine if it was legitimate, that would mean price movement against them and leaving them holding bags.

> Ideally the less manipulation you have the better working market. So, it's good that spoofing is illegal.

I think this is debatable. There's an ideal where no one spoofs and market prices are accurate at all times. But it's very difficult to enforce perfectly - there is no bright line test for whether you wanted a trade to execute or not, when you placed it. So in practice you are just always partially enforcing it and keeping the manipulation not too obvious.

The other possible solution is that anyone can place any order of any type any time they like, for any reason. The constraint is that if you place an order and it trades, you have to honour it. This leads to a situation where no one can trust the order book, but traded prices do reflect market truth - because of course no one wants to trade at an inaccurate price (not in their favour). The plus side is that it's much easier to make the system work. You don't have to run an arms race with people using sophisticated manipulation which can't yet be detected or prevented.

It's not clear whether order books giving (somewhat) accurate information is worth both the direct costs of enforcement and the potential unfairness of some spoofing rules being enforced and some not. It might be - but it's not clear that it definitely is.

I viewed the order book not as an oracle of the "real" price but as a multi-armed bandit which would spit out fills in a semi-stochastic fashion. my goal was to get the best fills, not to find the correct price. the best heuristic I found was a weighted liquidity provisioning scheme where I always entered one passive order and then followed up with an aggressive order after a certain period of time. you want to get in the queue so entering the passive order early is an advantage on some order books.

entering passive orders wasn't spoofing, but I was constantly cancelling orders. the difference between me and someone malicious was probably the frequency of my orders and how far from the midpoint they were - not vey frequent, and not very far. so its not a bright line.

> That being said, algos could have hit the large spoof bid

I would guess that they sent a bunch of orders and them immediately cancelled them. If that's what they did, then by the time other market participants see those orders (remember network latency), the orders will already have been cancelled, in which case it would be literally impossible to trade against those orders after having seen them in the market data.

If this is the case, the real culprit is the exchange. Rather than offering premium "flash" facilitating services like colocation for HFT traders, the exchange could do something like 20-second auctions during which time orders can't be cancelled until the next auction interval.
I think a market where everyone spoofs with impunity is a hellhole. Yes it’s hard to define and police, but that’s probably better than the alternative.
Spoofing is as old as time, as are most forms of market manipulation. The algo shops are fortunate that the regulators are accommodating the drawbacks of their machinery. That doesn't mean all of the regulations make sense in the broader context of market activity.

"Act fast because these are selling like hotcakes!"

"I've got another guy who wants to buy the car for $5k but I'd sell it to you for $6k if you can bring cash today."

"It's a buyer's market right now, so we should probably be willing to negotiate on the price as we sell your home."

The difference is impact - Market for old cars or shoes is not indexed and securitised with a potential to cause a global financial meltdown.
Spoofing has been going since the mid-90s with no impact to the global financial system. It was only made illegal when markets went full electronic, and large HFT firms started losing money to spoofers.

The real problem with market stability is nanosecond liquidity and HFT firms that will pull liquidity when things get dicey. Spoofing largely doesn't occur anymore, and you still see huge swings in prices because the liquidity isn't there anymore...investment banks have been regulated out the market, HFT firms flee at the first sign of trouble, there are relatively few speculators willing to buck the market anymore.

Surely, HFTs are the key player for spoofing? To play this game, you need to be able to pull your orders faster than people can execute on them. E.g. you see flow on one exchange, you pull on the other?

As I see it, the main problem with spoofing is that it distorts the market information. Any trader, human or machine, can look at the current order book and assume it is somewhat bona fide. Without that, exchanges are just a random draw (more than otherwise). Hence the appeal of dark pools (well, at one time) etc.

Well, not anymore because it is against the law...but I think it is acknowledged that it is still going on (it is very hard to prove because you have to prove what someone's intention was when they entered the order). But the speed at which they can trade is obviously an issue by itself.

Afaik though, human traders have been spoofing on Eurex since the late-90s (Paul Rotter most infamously). And no-one looked at the order book and assumes it is bona fide because humans understand human reasoning, the issue was HFTs who use that as an input to their pricing model. You have iceberg orders, they are basically reverse spoofing, and it is how most institutions execute large trades...they don't put a huge order in one go because it will get picked off by HFTs, they break up the order into lots of 100 shares or whatever, so no-one uses the order book now anyway because HFTs will pick you off if you do (again, that is why spoofing was made illegal, the only way HFTs can pick you off is if a regulator has banned false bid/offers).

And how is that different from spoofing? If I know I need 100k shares but I am bidding 100 lots at a time then I am hiding my intention just like a spoofer (and btw, doing this will get you fined in some OTC markets...if you tell your broker I need 10k shares and you take his offer, and you then say you need another 10k shares then you get reported...at least it is totally clear in that instance that the rules exist to stop brokers losing money). Again, the market is run by HFTs who are just trying to make the most money by doing the least amount of work, part of which is tilting the rules in their favour so no-one can hide their intention from their algos.

Unlikely. You can't know which orders are spoofs because they're anonymous and blended with the majority of real orders. Anyone that tries to hit large spoof orders when they occasionally pop up will just lose money unless you figured out a way to detect their signal. Even then they'll just change up their tactics to better blend in if they start getting filled.
What's the difference between a spoof and bluff in poker?
The spoof can be pulled after a few seconds, once it's done its job.
Exchange should make a minimum order validity interval during which time you can't cancel, e.g. 15 seconds. Problem solved.
Legitimate liquidity would disappear, market makers can't manage risk
If you spoof a decent distance from the inside, you wouldn't be that sad to get filled anyway
How would they be left holding the bag?

If the going rate for a bar of chocolate is $1, and i add 100s of listings for a bar of chocolate at $1.10, then if you buy my spoof chocolate I’ll have earned 10 cents in arbitrage.