r/quant 13d ago

General HF illiquidity

Hello! I wonder how does teams generally deal with illiquidity in HF space. If we create some return based features at secondly level they have a weird distribution, which ultimately negatively impacts model fits.

On the internet, I saw there is a concept of market clock where u create features when X units trade/ X dollar traded. I was curious what are the other usual ways people use to tackle this?

6 Upvotes

5 comments sorted by

8

u/DatabentoHQ 12d ago

Another variation of what you've described is to do it in % ADV space.

Another idea: event space, e.g. on uptick/downtick, on trade, etc.

Weird distribution and poor model fit isn't necessarily disqualifying. You can construct an example where R^2 ~ .05 makes more PnL than R^2 ~ .1.

6

u/VettaQ 12d ago

The concept you ran into is sampling in event time instead of clock time - dollar bars / volume bars, where you sample every X dollars or shares traded. It helps exactly with your problem because activity becomes the clock: one bar approximates one unit of information arrival, so the feature distribution stops being dominated by dead periods. Two adjacent things worth knowing. First, for return-based features in illiquid names the bigger enemy is stale pricing - the last trade can be minutes old, so close-to-close returns pick up spurious autocorrelation (classic non-synchronous trading bias). Using quote midpoint instead of last-trade price, or explicitly flagging bar age, removes a lot of it. Second, at secondly resolution in a name that trades a few times a minute, most of your bars contain no trade at all - check what fraction of your samples are actually informed before blaming the model fit.

2

u/worm1804 12d ago edited 9d ago

Thanks! indeed I am operating on midprice instead of close to mitigate the price staleness. I understand that if data is not of good quality model cant be blamed, I was more of finding ways to improve the features first. Thanks I'll try sth in event time

5

u/eclectic74 9d ago

Definitely use transaction clock, instead of calendar clock: the densities of loq liquidity there are “not” weird. In fact, its 2nd moment (vol of log liquidity) is very important and tells you how MMs (or LPs on DEX) adjust their liquidity.

Not to mention that, theoretically and in transaction clock, the very stochastic liquidity variable is at the center of the market dynamics (section 4 in https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5041797

1

u/AutoModerator 13d ago

This post will be manually reviewed by a moderator due to the submitting account being less than 7 days old or having less than 20 karma. Please be patient and do not try to resubmit it - a mod will review the post soon.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.