Volatility and options data
Conditional variance is computed from the series your run produced. An option chain is loaded and inspected, and the scoring loop reads the bar file.
Two objects, and one of them reaches the run
Realized volatility is measured backwards, from the bars a run already loaded. Implied volatility is solved from option prices, and it prices a horizon ahead of the quote that produced it.
An option carries two coordinates the rest of the application does not use: a strike and an expiry. A chain is therefore a surface at each snapshot, and a bar file is a series indexed by time.
That difference governs what a backtest can consume. A bar backtest steps through one series per instrument, so a surface has to be reduced to aligned quantities before it enters such a loop.
Where the shipped catalogue stops on options
An option chain reaches the desktop through a reader node in the alt-data family. It is registered with a live status, it takes a folder path and an underlying, and it produces figures beside a run.
The same registration omits the flag that turns a data node into a runnable root, and the comment beside it states the consequence. A chain feeds panels, and a configuration is scored on the bar file.
That claim is executed, and its result is printed. Validation checks the loaders used by the run engine; the option loader is absent from that path today.
The modelling group that would price an option is declared roadmap in the shipped catalogue. A stochastic-volatility model, a smile model, a local-volatility surface, the Black-Scholes solver, the Greeks and a risk-neutral density are named there with that status.
The regime nodes that would read a variance risk premium carry conflicting states: the shipped catalogue marks them live while the runtime catalogue marks them for later work.
Their required inputs settle the question here. Both need an implied-vol series and an index series attached to the bar pack, while the current run receives no external series.
Conditional variance, from the series a run produced
The time-series and volatility family ships 17 nodes, of which 13 are validated by executable checks. A GARCH fit, an EGARCH variant and an exponentially weighted recursion each read the return series your run produced.
The decay coefficient of the weighted recursion is entered on the node. A value outside the open unit interval comes back reported as undefined, with the figure you entered quoted in the result.
Each fit is reported under its own label. Where a maximum-likelihood fit is unavailable, the reading states the cause and returns no substitute figure under the GARCH name, which keeps a weighted recursion from being read as a fitted model.
The synthetic-path family carries a GARCH-simulated path. With the coefficients left undeclared on the node, they are fitted by maximum likelihood on the returns of your own run, and the result names where they came from; a coefficient you enter is used as entered. Quadratic variation is available beside it as a direct estimate of accumulated variance.
Open full sizeA state read off amplitude, and what it carries
The regime and labelling family ships 18 nodes, of which 7 are validated by executable checks. A tagger built on slope and average true range labels bars by trend direction and by amplitude, and it is runnable in the shipped catalogue.
A hidden-Markov state model is declared roadmap. The published result on such models concerns the amplitude dimension: variance clusters, correlation shifts, and stretches of calm and turbulence.
One property governs their use inside a rule. The filtered state probability uses information up to the bar, and the smoothed estimate uses the sample, so a rule conditioned on the smoothed one reads ahead of itself.
Two further limits travel with the family. The parameterisation bounds what a state can represent, and the number of states is a selection choice that enters the multiplicity the run already prices.
Amplitude as a gate, computed on price
The entry-filter family ships 43 nodes, of which 42 are validated by executable checks. Conditions on average true range and on band width gate entries by amplitude, and a variance-ratio condition reads whether increments accumulate faster than a random walk would.
Each of these reads the price series the run loaded, with no external input. A graph wiring one of them stays inside the causality probe, since the probe truncates the bar file and compares the per-bar result over the overlap.
A filter added to a graph widens the space the selection score prices. Two amplitude bands over the same series are correlated, and the adjusted p-value takes that correlation from the population you ran.
What a variance figure leaves out at the edge
A variance number describes dispersion around the middle of a sample. A drawdown limit is breached by the largest observations, and those follow a law of their own.
The analysis family carries a generalised Pareto fit over threshold exceedances, a Hill tail index, historical and parametric value-at-risk, and expected shortfall. Value-at-risk reports a threshold, and expected shortfall reports the mean of the losses beyond it.
The threshold choice is yours to carry. Set too high it leaves too few exceedances, set too low it breaks the asymptotic justification, so publish the estimate as a curve against that choice, beside the single figure.
A conditional tail estimate is the version that applies to a series with volatility clustering. Filtering the returns through a volatility model first, then fitting the tail on the standardised residuals, is the published procedure for it.
Open full sizeWhat the reader recomputes, and what it declares
The implied vol drawn by the reader is recomputed. A forward and a discount factor are measured from the chain by regressing the call-minus-put difference on the strike, so no rate and no dividend are assumed.
The loader rejects that regression below a declared number of call and put pairs, and rejects it when the slope implies a discount factor outside a bounded interval. The pair count and the fit quality travel with each expiry.
A rejected fit falls back to the spot column when the file carries one, with the discount factor set to unity. That fallback is named in the result, and the quality block counts how many expiries were fitted from parity and how many came from the fallback.
The inversion is by bisection on the Black-76 price. A quote below intrinsic value or above the discounted forward returns no value, since placing such a contract at a boundary of the search interval would draw a data defect as a measurement.
The out-of-the-money wing supplies the quote at each strike. In the money the premium is largely intrinsic, and the inversion divides by a vanishing vega, which turns a rounding of the quote into a large move of the implied figure.
The at-the-money point is interpolated between the two strikes bracketing the forward. Taking the nearest quoted strike makes the term structure step with the strike grid, and that step reads as a change of regime. With inverted points on one side of the forward alone, the interpolation is unavailable and the nearest point is used.
A quality block states, field by field, which numbers came from the file and which were recomputed. The vendor implied vol travels beside the recomputed one under its own field, and the greeks supplied by the file are named there without entering a curve.
A magnitude by strike, with no positioning assumed
A profile by strike weights the recomputed gamma by open interest when the file carries it. With no open-interest column, traded volume is used, and the figure is named for that weight, since the two quantities answer different questions.
The profile is a magnitude. Which side of a contract a dealer holds is a positioning assumption, a chain file carries no column for it, and no sign is applied to the figure under this build.
The reader also measures whether open interest moves between snapshots inside a day. A value that holds across the session marks the field as a daily stamp, describing the previous session, whatever the timestamps in the file carry.
With one snapshot per day that measurement is unavailable, and the field comes back empty in place of zero. An empty field and a measured zero support different readings of the weighted figures below them.
A chain you can read, and cannot trade
Closing this gap takes two pieces. A stage that reduces a surface to quantities aligned on the run bars, and a kernel that consumes those quantities, are both outside the shipped catalogue today.
The validation remains executable. It checks whether the run engine imports the option loader, so these readings become candidates when that connection appears.
What to do meanwhile costs one preview. Read the quality block before the curves, then treat the smile, the surface and the term structure as descriptions of the file you pointed at.
Several conclusions stay outside this build: an option payoff replayed over history, a greek exposure through time, a record of premium sold, and a variance risk premium joined to your P&L. A figure from the chain reader describes the state of a chain.
What a study on bars alone can settle
A volatility idea reaches a priced result on the route the axis guide carries. Place the kernel, wire the costs, declare the split, widen the sweep, and read the selection score against the population you ran.
The published claim these nodes rest on is persistence in conditional variance, and the references below carry it. A model fitted on variance leaves the sign of the next return open, since these specifications are sign-blind by construction.
The published asymmetry belongs in the same sentence, and the reference for it is listed below. Where negative returns raise future variance more than positive ones, a symmetric specification understates risk in the window after losses.
Two neighbouring readings live on their own pages. A size that follows a variance forecast is covered with its node status and its control, and a slippage widening with amplitude is covered with the coefficient that charges it.
Where the volatility results come from
The conditional-variance specifications and the realized-measure literature are the published basis for the fits above. The tail results are the basis for the exceedance readings.
What is being claimed, and what is left out
An option chain reaches figures, and reaches no scored configuration.
- Scope
- graphs wiring the option-chain reader; the scoring loop of a run reads the bar file
- Effect
- a verdict produced by this build carries no information taken from an option chain, so a conclusion about options cannot be drawn from it
- Control
- release validation fails when the run engine starts importing the option loader
An implied vol drawn by the reader is conditional on the mid price and on the parity fit.
- Scope
- expiries carrying enough call and put pairs for the regression, on the out-of-the-money wing of each strike
- Effect
- a stale or crossed quote moves the fitted forward, which shifts each point of the curve computed from it
- Control
- the fit is rejected below a declared pair count or outside a bounded discount factor; quality reports crossed quotes and median relative spread
The volatility fits describe the sample they were estimated on.
- Scope
- the return series of the best configuration of a run, over the bars that were loaded
- Effect
- a persistence coefficient estimated on a calm sample understates the variance a turbulent period would produce
- Control
- a split declared on the canvas separates the window a figure is fitted on from the window that judges it
The production build embeds the strategy engine and stops if its source is missing. A separate non-deliverable demo can omit it and use a labelled generic cross-sectional fallback. That fallback does not establish option-model coverage.
No reading described above is a statement about future performance, and the harness carries no signal to trade. A result concerns the series that was submitted.