I'm working with Kraken historical ETH-USD trade data from 2017 onward, which includes: Timestamp (Datetime) Trade ID Trade price Trade volume Taker side (buy/sell) Order type (market or marketable limit) My goal is to derive a fair (efficient) price series that's minimally affected by bid-ask bounce with the goal being to use it for execution backtesting and modeling/analysis. I am okay with downsampling to 1 and maybe 5 minute bars, but would like to keep the data as granular as possible. Approaches tried: OHLCV bars (1, 5, 15m): Log returns on close prices still show autocorrelation (≤ -0.1) at lag 1–3. Spread estimation (Roll's, Corwin-Schultz): Often gives NaNs or zero/negative spreads — possibly due to model or implementation issues. Low-order linear ARMA on log returns: Limited success. I haven’t yet tried rolling ARMA. I saw that this question somewhat addresses my issue, but it seems to me that Hasbrouck’s model requires simultaneous estimation of the efficient price and the spread? Thanks for any input/references on this.
Is there a way to derive a fair price from cryptocurrency trade (no quote) data that is free of bid-ask bounce?
QMath
