All notable changes to the FlashAlpha Java SDK are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
data_as_ofresponse envelope. Every successful response now carriesdata_as_of, reporting when each upstream feed last delivered to the node that answered: equity and index spot, their option chains, futures and futures options, the classified trade tape, settled open interest, and the macro series, each reported separately because they arrive over different pipes and fail independently.endpoint_versionidentifies the deployment that produced the response.DataAsOfmodel and aFlashAlphaResponsebase carryingendpointVersionanddataAsOf. All 75 response models now extend it, so the envelope is a typed member rather than a field Gson silently discards. Gson reflects over the full class hierarchy, so the wire shape is unchanged; both members are objects, so responses predating the envelope leave them null and still parse.
- Read each feed against its own cadence rather than against
as_of. Settled open interest dated to the previous session's close is correct, since it is published once per session; an options feed an hour behind during the regular session is not. - A
nullmeans that node has not seen that feed, not that it is broken. - The field evidences that a feed delivered recently. It does not assert that every contract in a chain is equally current.
- Endpoints returning a bare JSON array carry the same information in the
X-Data-As-OfandX-Endpoint-Versionresponse headers.
Documentation alignment plus typed-model catch-up. Fully back-compatible — no existing
method signatures changed and the untyped JsonObject methods are untouched.
- Typed wrappers for the remaining analytics families — parallel
*Typed(...)accessors and response classes for endpoints that previously returned only a rawJsonObject, bringing Java to full typed parity with the other SDKs:- Earnings (×8):
earningsCalendarTyped,earningsExpectedMoveTyped,earningsHistoryTyped,earningsIvCrushTyped,earningsVrpTyped,earningsDealerPositioningTyped,earningsStrategiesTyped,earningsScreenerTyped. dispersionTyped→DispersionResponse,spotVolCorrelationTyped→SpotVolCorrelationResponse,vixStateTyped→VixStateResponse,universeTyped→UniverseResponse,flowDealerPremiumTyped→FlowDealerPremiumResponse.
- Earnings (×8):
UniverseResponse.UniverseSymbolexposes the per-symbolhas_0dteflag for discovering the daily-0DTE basket.
- Document the CME equity-index futures serving convention (
ES=F/NQ=Fand the micro variants) and correct tier labels to match canonical pricing.
- 0DTE flow leaderboard endpoint and a snapshot expiry parameter.
Major endpoint-parity release. Adds whole new analytics families and back-compatible parameter extensions. No existing public method signatures changed.
- Strategy Signals (×10) — one named method per discretionary options strategy,
all returning the shared
StrategyDecisionResponsedecision envelope (decision, 0-100 score, ranked best structures, why / avoid-if rationale, risk flags, data quality):strategyFlowAnomaly,strategyExpiryPositioning,strategyZeroDte,strategyDealerRegime,strategyVolCarry,strategyYieldEnhancement,strategySurfaceAnomaly,strategySkew,strategyTermStructure,strategyTailPricing(each with a*Typedvariant). - Earnings analytics (×8) —
earningsCalendar,earningsExpectedMove,earningsHistory,earningsIvCrush,earningsVrp,earningsDealerPositioning,earningsStrategies,earningsScreener. - Multi-leg Structures (×2, POST, pure-math) —
structurePnl/structurePnlTyped(at-expiry P&L curve, breakevens, max profit/loss) andstructureGreeks/structureGreeksTyped(aggregate position Greeks). New request/response types:StructureLeg,StructureRequest,StructureGreeksRequest,StructurePnlResponse,StructureGreeksResponse. - Zero-DTE Flow (×5) — intraday 0DTE flow:
flowZeroDteSnapshot,flowZeroDteSeries,flowZeroDteHedgeFlow,flowZeroDteHeatmap,flowZeroDteStrikeFlow. - Dispersion / vol-arb —
dispersion(implied-vs-realized correlation between an index and a constituent basket). - Liquidity —
liquidity/liquidityTyped(per-expiry options execution score) viaLiquidityResponse. - Skew term structure —
skewTerm/skewTermTyped(25Δ / 10Δ skew, risk reversal, butterfly, tail convexity) viaSkewTermResponse. - Spot-vol correlation —
spotVolCorrelation. - VIX state —
vixState(composite macro VIX regime read). - Universe —
universe(curated tier-1 / tier-2 pre-warmed symbol directory). - SVI surface —
surfaceSvi/surfaceSviTypedviaSurfaceSviResponse. - Expected move —
expectedMove/expectedMoveTypedviaExpectedMoveResponse. - VRP history —
vrpHistory(trailing daily VRP series). - Exposure sheet / term-structure / basket / OI-diff —
exposureSheet,exposureTermStructure,exposureBasket,oiDiff(each with a*Typedvariant) viaExposureSheetResponse,ExposureTermStructureResponse,ExposureBasketResponse,OiDiffResponse. - Dealer premium —
flowDealerPremium(full-tape Net Dealer Premium roll-up). - Flow stock bars —
flowStockBars(per-resolution stock-flow OHLC bars). - Screener fields —
screenerFields(selectable / filterable field catalogue).
zeroDtegained a back-compatible overload accepting anexpiry:zeroDte(symbol, strikeRange, expiry)(andzeroDteTyped(symbol, strikeRange, expiry)). The existingzeroDte(symbol)andzeroDte(symbol, strikeRange)overloads are unchanged.vrpgained a back-compatible overload accepting a point-in-timedate:vrp(symbol, date)(andvrpTyped(symbol, date)). The existingvrp(symbol)overload is unchanged.
- Live Flow API tier — 24 simulation-aware
flow*endpoints plus scored flow signals (flowSignals,flowSignalsSummary).
- Initial general-availability release.