Skip to content

Charm, Vanna, and Vomma: Signs, Units, and Full Repricing

Measure time-driven Delta drift, Delta-volatility interaction, and Vega curvature with explicit clocks, volatility units, finite-difference controls, position scaling, and model boundaries.

Updated

For educational purposes only; not investment advice. Investing may result in loss.

Direct answer

Charm, Vanna, and Vomma are local derivatives of one specified option-pricing function, not forecasts or contract payoffs. Charm measures Delta’s response to time, Vanna measures the interaction between spot and volatility, and Vomma, often called Volga, measures Vega’s response to volatility. A number is meaningful only after its time direction, volatility scale, model coordinates, position sign, quantity and multiplier are known.

For value V(S,σ,τ,...), define Delta=∂V/∂S and raw Vega as Vega_raw=∂V/∂σ, where volatility σ is a decimal and τ is time remaining. Under sufficient smoothness and common coordinates, Vanna_raw=∂²V/(∂S∂σ)=∂Delta/∂σ=∂Vega_raw/∂S, while Vomma_raw=∂²V/∂σ²=∂Vega_raw/∂σ. Mixed-partial equality does not make a real market surface shock identical to a model bump.

Time and display units create the largest reporting traps. With τ=T−t, Charm_τ=∂Delta/∂τ, but calendar-time Charm is Charm_t=∂Delta/∂t=−Charm_τ. One ACT/365 day of otherwise frozen inputs is locally −Charm_τ/365. A one-percentage-point volatility change is 0.01 in decimal volatility, so Vanna_1pt=0.01×Vanna_raw and Vomma_1pt²=0.0001×Vomma_raw. Mixing raw and displayed values creates factors of 100 or 10,000.

Seven-step Greek control process

  1. Lock the claim and model state. Record timestamp, exact option series, long or short sign, quantity, multiplier, spot or forward, rates, dividends, borrow, volatility surface, time remaining, exercise style, settlement and model version.
  2. Declare the primitive derivatives and coordinates. State Delta, Vega_raw, Vanna_raw and Vomma_raw; identify spot versus forward Delta, premium-adjusted versus unadjusted measures, and whether the surface is held by strike, delta or another coordinate.
  3. Lock the Charm clock and sign. Distinguish calendar time t from remaining time τ, state Charm_t or Charm_τ, and specify per-year, ACT/365, ACT/252 or already-daily display. Never divide a daily vendor value by the day count again.
  4. Lock volatility and curvature units. State decimal volatility versus vol points, raw versus displayed Vega, parallel scalar bump versus strike-skew or delta-surface bump, and the conversion for both Vanna and Vomma.
  5. Validate by finite differences. Prefer centered bumps where feasible, compare Vanna through Delta-versus-volatility and Vega-versus-spot routes, compare Vomma through Vega slope and price curvature, and repeat with smaller bumps to expose truncation or cancellation error.
  6. Aggregate and fully reprice. Normalize each series first, then multiply by signed quantity and multiplier. Use local Delta, Gamma, Charm, Vanna and Vomma only for attribution; run complete spot, time, volatility, skew, term, rate, dividend, borrow and combined scenarios as the control.
  7. Reconcile model and execution. Compare vendor versions and bump conventions, executable bid and ask, discrete hedge quantities, liquidity, fees and actual fills. Save both pre-shock and post-shock Greeks rather than treating a midpoint sensitivity as a guaranteed hedge.

Worked examples

  • Charm clock and sign. In a Black-Scholes illustration with continuous yield, S=100, K=100, r=5%, q=2%, σ=20% and τ=0.5, d1=0.1767766953, d2=0.0353553391 and call Delta is 0.5644849345. Here Charm_τ=+0.0574497873 per year, so the local ACT/365 calendar drift is −0.0574497873/365=−0.0001573967. Full repricing at τ=0.5−1/365=0.4972602740 gives Delta 0.5643272616, an exact one-day change of −0.0001576729. With multiplier 100, directional equivalent moves from 56.4485 to 56.4327 shares, or −0.0158 share; the finite result is not exactly the derivative estimate.
  • Vanna central difference and scale. With the same inputs, call Delta is 0.5652807208 at σ=19% and 0.5638956602 at σ=21%. The centered estimate is (0.5638956602−0.5652807208)/(0.21−0.19)=−0.0692530319 per absolute volatility, or −0.0006925303 Delta per vol point. The analytic local value at 20% is Vanna_raw=−0.0687394860, equal to −0.0006873949 per vol point; one long contract with multiplier 100 therefore changes by about −0.0687395 delta-equivalent share for a one-point IV rise, before surface recalibration and higher orders.
  • Vomma from Vega slope. For a Black-Scholes call with S=100, K=120, r=4%, q=1%, σ=25% and τ=1, raw Vega is 35.1268247986, or displayed Vega 0.3512682480 price per vol point. Analytic Vomma_raw=49.9650569089, equivalent to 0.0049965057 price per vol-point². Displayed Vega is 0.3459770760 at 24% and 0.3559948122 at 26%, so the centered estimate is (0.3559948122−0.3459770760)/2=0.0050088681 price per vol-point². The difference from the analytic value is finite-bump error, not a new Greek.
  • Local curvature versus full repricing. In the preceding K=120 example, model price rises from 4.4188911173 at 25% IV to 6.2276105891 at 30%, an exact +1.8087194718 per share or +$180.8719472 for multiplier 100. Vega alone estimates 0.3512682480×5=1.7563412399. Adding Vomma gives 1.7563412399+0.5×0.0049965057×5²=1.8187975611, or +$181.8797561 per contract, still +$1.0078089 above full repricing. Second-order attribution improves one local approximation but does not replace the model rerun.

Risks and validation controls

  • Verify the exact option series, claim and valuation timestamp.
  • Record model family, calibration and implementation version.
  • Distinguish spot, forward and premium-adjusted Delta coordinates.
  • Save the complete volatility-surface snapshot and interpolation.
  • State sticky-strike, sticky-delta or other surface-bump convention.
  • Preserve rate, dividend, distribution and borrow assumptions.
  • Model American exercise and early-exercise boundaries where applicable.
  • Treat discrete dividends separately from continuous-yield formulas.
  • Distinguish cash from physical settlement and post-exercise exposure.
  • Lock t versus τ and the Charm sign convention.
  • Lock ACT/365, ACT/252, trading-day or already-daily time scale.
  • Convert decimal volatility and vol points without a factor-100 error.
  • Convert raw Vega and Vomma without a factor-10,000 error.
  • Apply long or short sign, quantity, multiplier and currency consistently.
  • Keep per-share, per-point, per-contract and portfolio units distinct.
  • Test finite-difference bumps for truncation and convergence.
  • Avoid bumps so small that quote or numerical noise dominates.
  • Stress expiry boundaries, jumps, events, halts and nonsmooth payoffs.
  • Do not net unlike expiries, surfaces, models or settlement claims blindly.
  • Reconcile midpoint Greeks with executable hedges, fees and full repricing.

Common misconceptions

  • “Charm predicts tomorrow’s Delta.” It is a local derivative under a specified frozen-input and clock convention.
  • “Vanna is always positive.” Its sign depends on claim, moneyness, time, model and coordinate convention.
  • “Vomma is Vega, and it is always positive.” Vomma is Vega curvature; its sign and magnitude are model- and state-dependent.
  • “Vendor values are directly comparable.” Clocks, signs, volatility units, surfaces, models and contract scaling can differ.
  • “Second-order Greeks eliminate full repricing or guarantee a hedge.” Finite shocks, cross-effects, jumps, liquidity and discrete contracts remain.

Authoritative sources

Navigation

Search the wiki...