TAPER

Pricing and fees

Every number here is a constant in programs/today/src/constants.rs or a function in pricing.rs. The site's calculators use a line-for-line port of the same code.

The premium

The close is modelled as today's price plus a normal move (Bachelier). Over a few hours the normal and lognormal models differ by far less than the error in any volatility estimate, and the normal one needs no logarithm in integer math.

For a stock at price S, a strike K and t seconds to the close:

sd    = S x vol x 1.10 x sqrt(remaining(t))
calm  = sd / sqrt(1.525)
wild  = calm x 2.5
price = 0.9 x bachelier(S, K, calm) + 0.1 x bachelier(S, K, wild)
bachelier(S, K, sd) = (S - K) x N((S - K) / sd) + sd x n((S - K) / sd)

How much of the day is left

Variance does not arrive evenly through a session: the first and last hours move most. remaining(t) is the share of a day's open-to-close variance still ahead, measured on hourly NVDA, SPY and TSLA bars from October 2023 to October 2026 with the top 1% of days trimmed.

Time to the closeShare of the day's variance still ahead
6 h 30 min (the open)100%
5 h 30 min59.3%
4 h 30 min43.3%
3 h 30 min34.4%
2 h 30 min23.8%
1 h 30 min15.8%
30 min8.5%
00%

Values in between are interpolated linearly.

Volatility at launch and after

MarketStarting daily volatilityFloorStrike tick
NVDAx1.42%1.2%$0.50
AAPLx1.07%0.9%$1
TSLAx1.86%1.6%$1

After each settled day the program updates the variance on chain as an exponentially weighted average with decay 0.94, using the day's squared move from the listing price to the 4 pm price, scaled up for the share of the day that was left at listing. A day listed after about 11 am (less than half of the variance ahead) teaches nothing, and one day's squared move is capped at (20%)^2.

Example

NVDAx at $214.00 at the open, launch volatility:

StrikeAt the openWith 2 hours leftWith 10 minutes left
$214.00$1.2424$0.5528$0.2091
$216.00$0.5078$0.0676$0.0018
$217.50$0.2431$0.0188$0.0000
$219.00$0.1215$0.0061$0.0000
$220.50$0.0674$0.0017$0.0000

These are premiums per share before the fee, with the price held at $214.00 all day. That fall in value as the clock runs is what the holders are paid for.

The fee and the burn

Buyers pay FEE_BPS = 1,000 bps, 10% of the premium, on top of it. The fee is held in the market's USDC vault during the day and moved to the burn account at settlement. All of it is spent on TAPER:

Worked example: $1,000,000 of premium sold carries $100,000 of fees, and all $100,000 buys TAPER and burns it. In notional terms, $1,000,000 of at-the-money NVDA calls bought at the open costs about $8,190 of premium (0.82%), so $819 of TAPER is burned.

Payouts

A call on q shares at strike K, settled at price S above K, pays q x (S - K) / S shares of the xStock: worth exactly q x (S - K) dollars at the 4 pm price. Paying in the stock means the vault never needs USDC to settle. The xStock's dividend multiplier cancels out of the payout.