Market Hours Handling
ETF prices are only available during market hours. This page explains how our oracle handles market closures.
The Challenge
Unlike crypto (24/7), ETFs trade on fixed schedules:
US markets: 9:30 AM - 4:00 PM ET (plus extended hours)
Korean markets: 9:00 AM - 3:30 PM KST
Weekends and holidays: No trading
But Rubicon offers 24/7 perpetual trading. How do we reconcile this?
Our Approach: Price Freezing
When markets close:
Oracle captures last traded price
Price frozen until market reopens
Trading continues with frozen price
Funding continues based on mark vs frozen oracle
Market Open Market Close Market Open
│ │ │
▼ ▼ ▼
[Live prices]────────[Frozen]────────────[Live prices]
$225.00 $228.50 $225.00
↑ ↑ ↑
Updating Static Updating againSession Definitions
US Markets (SOXX)
Pre-Market
4:00 AM - 9:30 AM
LIVE (extended data)
Regular
9:30 AM - 4:00 PM
LIVE
After-Hours
4:00 PM - 8:00 PM
LIVE (extended data)
Closed
8:00 PM - 4:00 AM
FROZEN
Korean Markets (.KS)
Regular
9:00 AM - 3:30 PM
LIVE
Closed
3:30 PM - 9:00 AM
FROZEN
What Freezing Means
For Oracle Price
Last valid price becomes the frozen price
No updates until market reopens
Used for liquidation calculations
For Mark Price
May deviate slightly from frozen oracle
Based on order book activity
EMA smoothing continues
For Funding
Funding rate based on mark vs frozen oracle
If traders bid up the perp, longs pay shorts
Creates incentive to trade close to oracle
Implementation
State Persistence
Market Status Detection
Submission During Closure
Behavior by Scenario
Scenario 1: Weeknight Closure
Scenario 2: Holiday
Scenario 3: Gap Open
Risk Implications
Gap Risk
When markets reopen:
Price may jump significantly
Stops don't protect against gaps
Liquidations trigger at new price
Mitigation:
Lower leverage for overnight holds
Wider stops to account for gaps
Consider closing before market close
Stale Price Risk
During closure:
Perp price may deviate from "true" value
News can't be reflected in oracle
Funding reflects this deviation
Mitigation:
Trading volume typically lower during closure
Arbitrageurs correct deviations at open
Funding compensates for deviation
UI Indicators
The trading interface shows:
🟢 LIVE
Market open, oracle updating
🟡 EXTENDED
Pre/after hours, oracle updating
🔴 CLOSED
Market closed, oracle frozen
⚠️ STALE
Oracle issue, check status
Calendar Awareness
Our system knows:
Standard market hours
Daylight saving time changes
US market holidays
Korean market holidays
Early close days
We update the calendar annually and after exchange announcements.
Trader Recommendations
Before Market Close
Review open positions
Set wider stops if holding overnight
Consider reducing leverage
Watch for after-hours news
During Closure
Understand you're trading against frozen price
Monitor funding rate direction
Be aware of gap risk at open
At Market Open
Watch for volatility in first 30 minutes
Gaps may trigger liquidations
Spreads may be wider initially
Last updated