Orcas Capital

microstructure · derivatives

Perpetuals on things that close

You can trade a perpetual on NVDA at three in the morning on a Sunday. Whether that price knows anything about Monday's open depends less on the traders than on a time constant the venue chose.

By Tom

Since last November you have been able to trade a perpetual future on Nvidia at three in the morning on a Sunday: a central-limit-order-book perpetual with hourly funding, on a venue that never shuts, with no dealer and no token wrapper in between. Trade XYZ, a builder-deployed market on Hyperliquid, now lists about eighty US-listed names this way, single stocks, ADRs and ETFs, and the builder-deployed markets as a group carry roughly four billion dollars of open interest. Nasdaq, meanwhile, is closed from Friday evening until Monday morning, and so is every other venue that prints a price for the underlying share.

That raises a question with a clean, measurable answer, and most of this note is about it: when the perp trades all weekend and the stock does not, is the price on Sunday night information about Monday’s open, or is it noise? Before the test, though, there is a piece of engineering to understand, because the answer depends on it more than on anything the traders are doing.

A perpetual needs a spot price, and there is none

A perpetual future has no expiry, so nothing forces it back to the underlying. What holds it near spot instead is funding: at fixed intervals the side on the expensive end of the gap between perp and spot pays the other side an amount proportional to that gap. I wrote about the dynamics of that mechanism in the crypto context in May, and the whole argument there took one thing for granted, which is that “spot” is a number that exists at every instant. In crypto it does. The reference is a deep market that trades every second of the year, and the funding formula can simply read it.

Move the perp onto a stock and the reference disappears for most of the week. The New York session is six and a half hours a day. Blue Ocean, the alternative trading system that runs the US overnight session, takes the external reference out to twenty-four hours a day, five days a week, but it does not open on Friday nights, so from Friday evening until Sunday evening there is no venue anywhere printing a price for the share. The perp is still trading. Funding still needs a spot price every hour. Somebody has to make one up.

Pyth, the oracle network whose feeds sit under a good deal of this, put the problem plainly in its own launch material: when a weekend contract needs a mark at three in the morning on a Sunday, the venue can price it off its own order book or build custom logic internally, and neither is an independent reference. That is the right framing, and it is also an admission. The equity perps we have looked at all run on one of those two options, and how the option is parameterised is where this note is really going.

The estimator

Trade XYZ documents its mechanism, which is to its credit, and the documentation is worth reading slowly because the whole story is in it.

During what the venue calls the external session, Sunday 8pm to Friday 8pm Eastern, the oracle is an externally derived fair price assembled from venues and data providers. During the internal session, the weekend and holidays, the oracle advances by itself. The rule is a continuous-time exponentially weighted moving average. At each update the oracle S moves toward a target x, where x is the previous oracle plus the impact price difference: how far the perp’s own order book, walked to a configured notional on each side, sits from the current oracle. The weight on the new observation is one minus exp(-dt/tau), with tau set to thirty minutes and dt capped at a tenth of tau, so no single update can move the oracle more than about 9.5 per cent of the way to the target. When external data returns, the oracle snaps to the external price on the next tick.

If you have worked on control systems or signal processing you have already recognised this. It is a first-order low-pass filter on the perp’s own price, with a hard mode switch to an external input when one is available. A low-pass filter has exactly one interesting parameter, its time constant, and that parameter buys you one thing at the cost of another. A long time constant rejects noise: a fat-fingered order or a thin Saturday afternoon cannot drag the reference far before it decays back. A short time constant tracks the signal: a genuine repricing shows up in the reference within an hour instead of a shift. You cannot have both, and the market does not get to choose. The deployer does, in a configuration file.

Here is why that number matters more than it might seem, and it comes back to funding. Funding is charged on the premium of the perp over the oracle. Suppose real news breaks on a Saturday and the perp reprices five per cent higher, correctly. With an eight-hour time constant, which is where Trade XYZ started, the oracle spends most of a day lagging well below the perp. That lag is a premium, so longs pay funding on it, hour after hour, for having been right. On this venue funding is half of the Hyperliquid formula, which is the average premium plus a clamped interest term, paid in eighths every hour, so a five per cent premium costs a long about a third of a per cent an hour for as long as it persists. Shorten the time constant to thirty minutes and the oracle catches up within a couple of hours. The premium collapses, funding drops back to the interest floor, and the trader who was right keeps the move. The deployer said exactly this when it cut the time constant from eight hours to one in November: traders who are directionally right on gap moves keep more of the move, 87 per cent against 10, and shorts who sit through those gaps receive much less funding compensation. In April it cut the constant again, to thirty minutes.

Read that sentence again. Who gets paid for being right on a Sunday night is a parameter, and it has been changed twice.

There is a second parameter, less visible, which is the interest floor itself. Backing the venue’s funding formula out of the actual hourly payments, the clamp on the interest term is three hundredths of a per cent (the changelog prints five; the payments say three), which means funding sits pinned at the floor whenever the average premium is anywhere between minus two and plus four basis points. Across all eighty names, funding is exactly the floor in about a third of all hours, and the rest of the time it is a clipped, scaled and lagged copy of the premium. The series that carries information is the premium, and if you are going to model anything here, model that, not the payment.

I could keep going on the filter design, because there is a genuinely interesting question about whether a thirty-minute time constant is stable against a determined participant with a few million dollars and a quiet Saturday, and the venue’s answer to that is a separate set of bounds which I come back to below. But it deserves its own note and this one has a test to run. The point to carry forward is simpler. On the weekend the perp is anchored to a smoothed copy of itself, and the smoothing constant decides how much of a weekend move survives to Monday in a trader’s account.

Does the weekend price know anything?

The obvious test is to line up three numbers for every stock and every weekend: Friday’s official close, the perp’s price just before the external session resumes at 8pm on Sunday, and Monday’s official open. If the weekend market discovers anything, the Sunday price should sit closer to Monday’s open than Friday’s close does, and the weekend move in the perp should have the same sign as the gap and some fraction of its size.

We pulled hourly candles and funding history for all eighty US instruments on the venue from the public API, matched them to daily opens and closes from a standard equities feed, and kept every plain Friday to Monday weekend where both days were trading days. Seventy-eight names had at least one complete weekend of history, which gives 1,388 symbol-weekends across 37 weekends between mid-November 2025 and mid-September 2026. Two sanity checks first. The perp’s price at Friday’s four o’clock close sits within a median of 7.5 basis points of the official close, so the alignment is fine. And the funding actually paid across a weekend hold, from Friday close to Monday open, has a median of about six basis points for the large caps, with one weekend in ten above nineteen. In the thin names it can run to two or three per cent, where a premium nobody is arbitraging gets charged to whoever is long for sixty-six hours, but for a name with a real book, holding a weekend view is close to free. Being wrong is the whole cost.

The headline number is unflattering. Across all symbol-weekends the Sunday price was closer to Monday’s open than Friday’s close 49.9 per cent of the time. A coin does as well. There is a widely quoted figure of nearly eighty per cent from earlier this year, from a study of 199 symbol-weekends in February and March, and it measures something else: the perp’s final pre-open price on Monday morning. We reproduce that almost exactly, at 78.9 per cent, but by nine on Monday morning the perp has had thirteen hours of Blue Ocean and pre-market prints to lean on, and it has captured 94 per cent of the eventual gap. That is the perp tracking the pre-market once a reference exists again. The pure weekend, when it is on its own, is the Sunday 8pm number.

Condition on the size of the eventual gap, though, and the picture changes completely.

  • When Monday’s gap was under one per cent, which is 43 per cent of weekends, the Sunday price was closer than Friday’s close 30 per cent of the time. On a quiet weekend the perp adds noise. It wanders a median of 0.6 per cent from Friday’s close and the stock then opens a median of 0.4 per cent away, in a direction the perp had no view on.
  • Between one and three per cent, the Sunday price was closer 61 per cent of the time and had the sign of the gap right 66 per cent of the time.
  • Above three per cent, 250 weekends, the Sunday price was closer 72 per cent of the time, had the direction right 73 per cent of the time, and had already moved a median of 28 per cent of the eventual gap by Sunday evening. A regression of the gap on the weekend move in this bucket has a slope of 1.14 and explains 41 per cent of the variance.

So the weekend market is not a forecast of Monday. It is a partial reaction to weekend news. When there is news it moves the right way and gets a quarter to a third of the way there; when there is not, it drifts. That is what you would expect from a market with no anchor and a thin crowd, and it is a more useful description than either “price discovery works” or “it is noise”. It also means the interesting question is not whether the Sunday price is right but how far it is allowed to go, which brings the engineering back in.

The parameter changed. Did the market?

The time constant went from one hour to thirty minutes on 30 April. That splits the sample into two regimes, twenty weekends on 31 names before and sixteen weekends on 78 names after, and the deployer’s claim about the change is specific enough to test.

Restrict to weekends where the gap was at least one per cent, since on the others there is nothing to discover. In the one-hour regime the Sunday price was closer than Friday’s close 62 per cent of the time; in the thirty-minute regime, 66. The slope of the gap on the weekend move went from 0.70 to 0.93 and the variance explained from 21 to 33 per cent. The most telling number is the residual: regress what was left between Sunday night and Monday’s open on the weekend move, and in the one-hour regime the slope is minus 0.31, meaning about a third of the weekend move on average reversed before the open. In the thirty-minute regime it is minus 0.05. The weekend market stopped overshooting. And on the weekends with a gap above three per cent, the funding actually paid across the hold fell from a median of 14 basis points to 10, and the ninetieth percentile from 75 basis points to 28. That last pair is the deployer’s claim in the data: the drag on a correct weekend position dropped by more than half at the tail.

I want to be careful about what that shows. The two regimes are also two different periods, with different names in the news and different volatility, and I have not tried to control for that. The deployer also halved its funding multiplier in December, inside the one-hour regime, so the funding figures above use only the weekends after that change. The earlier regime relies on four-hour candles for part of its history, because the API only serves hourly bars for the most recent five thousand hours. What I will say is that every measure moved in the direction the deployer said it would, and the one most directly tied to the mechanism moved the most.

The other side of that same parameter is the ceiling. Trade XYZ holds the mark within plus or minus one over the maximum leverage of the last external price, with a small number of resets that re-anchor the band when it is hit. For NVDA that is five per cent and two resets; for a ten-times name, ten per cent and one reset. In our sample the ceiling has not yet bound. Five symbol-weekends came within ten per cent of the first band, and the nearest approach was a thin name that sat 10.4 per cent above Friday’s close on Sunday night, on a ten per cent band with two resets still in hand, and opened 16.3 per cent up on Monday. The ceiling is there for the weekend we have not seen yet, and on that weekend the venue will, by design, stop discovering the price at the point where the price matters most.

The mode switch is where it breaks

Everything above is about the internal session, where the filter is slow and forgiving. The failure that has actually happened was in the other mode.

On 27 July, at one minute past eight in the morning Seoul time, a thin Korean pre-market venue printed a trade in SK Hynix roughly thirty per cent below the previous close. Trade XYZ lists a perpetual on SK Hynix, and at that hour its oracle was in external mode, which means it trusted the external print immediately, with no smoothing. The mark fell from about 1,128 dollars to about 917, a little under nineteen per cent, in about two minutes, and roughly sixty million dollars of positions were liquidated on a move the underlying share never made. The deployer said afterwards that the oracle worked as intended according to its specification, which I believe is true and is the point. It then covered the losses as a discretionary one-time decision and moved the start of its Korean pre-market coverage from 8:00 to 8:10.

Two details make this an engineering story rather than a bad-luck story. The size of the fall is not an accident. SK Hynix is a ten-times market with one reset, so the mark can travel ten per cent, re-anchor, and travel another ten before the band binds, and one minus 0.9 squared is nineteen per cent. The move stopped where the config said it would stop. The speed is not an accident either: relayer updates are clamped to fifty basis points each, and at the three-second cadence the protocol expects, forty-one such steps take a little over two minutes. The filter that protects the weekend was not in the loop. In external mode the only protection is the clamp and the band, and both did exactly what they were set to do.

The fix, moving a coverage window by ten minutes, is a data-quality policy rather than an algorithm change. It says the venue now believes the first ten minutes of that pre-market are not a reliable reference, which is probably right. It is also a reminder that the estimator has two modes, and the one that trusts external data is the dangerous one, because thin external data looks exactly like good external data to a system that switches on the presence of a print rather than on its quality. It rhymes with something I wrote about event contracts this month: when the instrument settles against a process rather than a price, the specification of that process is the contract, and you are exposed to it in a way no model of the underlying protects you from.

What this means if you model funding

I said in May that a funding series is a noisy reading on several forces being renegotiated at once, and that conditioning on regime, even crudely, helps. Equity perps add a regime variable that does not exist in crypto: the state of the oracle. In external mode the premium measures the perp against a real price; in internal mode it measures the perp against a smoothed copy of itself, and the two series should not be pooled. The hour-of-week structure is visible in the data. For NVDA the standard deviation of the hourly premium doubles between regular hours and the weekend; across all eighty names it rises by half, from 15 to 22 basis points, and the mean premium falls from three and a half basis points to one and a half, which is what happens when the anchor stops resisting. The moment the external session resumes on Sunday evening deserves its own flag too. By then the filter has usually done its work, and the reference moves about half a per cent in that hour against four tenths in an ordinary weekday hour, but the tail is fatter, and every position on the venue is re-marked against a real price at once.

There is also a risk that no model prices, and I will give it two sentences. The CFTC’s policy statement on perpetuals says the reference must be reliable at every funding interval, without interruption, and the regulated products on closing underlyings built so far either shut at weekends or stop computing premiums while the reference is closed; the offshore venue where the open interest actually is does neither, and CME has asked a federal court to declare the entire category swaps rather than futures. An instrument whose legal classification is being litigated has a tail that will not appear in any funding history.

We are not trading these. We have pulled the data, we understand the mechanism, and we think the interesting object is the premium in internal mode, which is a direct readout of what a small crowd believes on a weekend with no anchor and very little to pay for holding the view. Whether that crowd is early or just loud is a question the data can answer, and the answer so far is: early when there is something to be early about, and loud the rest of the time. What the data cannot tell us is what the number will mean after the next time someone edits the time constant.