Portal Guide
The Quantra Portal is a functional workspace for market data, curve construction, and pricing workflows. This guide explains what each screen does, when to use it, and how everything fits together.
Quick start (clear path)
- Open the Portal at app.quantra.io.
- Go to Settings and click Load Full Example.
- Browse data, curves, and products immediately (no login needed for exploration).
- If you want pricing or API key capabilities, click Price or open API Keys and sign in when prompted.
Access model: browsing is open, but privileged actions (pricing, API key management) require authentication.
Index
- Quick start
- What the Portal is
- Authentication and permissions
- Navigation map
- Dashboard
- Market Data (Quotes, Quote Book, Indices)
- Curves (Yield Curve Sets, Credit Curves, Vol Surfaces)
- Vol Sampler (surface kinds, strike axis, output modes)
- Products and pricing workflow
- Settings, backups, and examples
- Global As-Of date
- Portal vs API
What the Portal is
Quantra Portal is the UI layer on top of the same pricing API used by programmatic clients. You configure data and product inputs in forms, then the Portal builds and sends API-compatible JSON requests.
Functionally, the Portal follows a simple chain: Market Data → Curves/Surfaces → Product Pricing. The screens are designed around this dependency order.
Authentication and permissions
The Portal supports just-in-time authentication. You can open and navigate all major screens without logging in. Authentication is required when you attempt privileged operations.
- No login needed: exploration, configuration, editing local data, and viewing examples.
- Login required: pricing calls, pricing playground execution, and API key creation/management.
- Prompt behavior: when an action requires auth, the Google sign-in prompt appears on demand.
Navigation map
| Area | What it is for |
|---|---|
| Dashboard | API key lifecycle, quick usage guidance, and raw JSON pricing playground |
| Market Data → Quotes | Reusable quote definitions (id, kind, quote type) used by curves and surfaces |
| Market Data → Quote Book | Time-series values by date with resolution mode (Previous or Exact) |
| Market Data → Indices | IBOR/overnight index conventions and optional historical fixings |
| Curves → Yield Curve Sets | Bootstrap-ready yield curve definitions (helpers, interpolation, day count, traits) |
| Curves → Credit Curves | Credit default term structures for CDS pricing (flat hazard or spread-based) |
| Curves → Vol Surfaces | Swaption volatility grids from manual entries or Quote Book-linked ids |
| Products | Pricing forms for bonds, swaps, swaptions, and CDS |
| Settings | Data counts, import/export, load examples, and clear-all operations |
Dashboard
API Keys
The API Keys panel is for programmatic access. You can create, enable/disable, copy, and delete keys. Keys are used with X-API-Key in direct API calls.
Full key values are shown once at creation time. After that, only masked values are displayed for security.
Pricing Playground
The playground executes raw request payloads against API endpoints and returns timing and result details. It is useful for debugging assumptions and validating that UI-generated payloads match your integration code.
Market Data
Quotes
Quotes define market observables (rate, spread, price, FX, etc.) and are referenced by id. They are reusable identifiers that connect multiple downstream structures to one source.
Every quote includes a Quote Type:
- Curve: used by yield and credit curve construction
- Volatility: used by volatility surfaces
Quote Book
Quote Book stores time-series values (date → value) for each quote id. At pricing time, values are resolved at the global As-Of date using the selected mode:
- Previous: latest value on or before As-Of date
- Exact: only value exactly on As-Of date
This is the operational market data layer for realistic historical and daily workflows.
Indices
Indices define floating-rate conventions used by products and curve helpers. Each index includes conventions such as calendar, day counter, fixing days, tenor, and business-day adjustments.
Supported types:
- Ibor (term indices, tenor > 0)
- Overnight (overnight indices, tenor = 0)
Optional fixing histories can be stored and included in requests for seasoned instruments.
Curves
Yield Curve Sets
Yield Curve Sets define how discount/forward curves are bootstrapped. They combine helper points (deposits, swaps, OIS, etc.), references to quotes/indices, and numerical settings (interpolator, trait, day counter).
When pricing, the selected set is resolved into a complete pricing.curves payload.
Credit Curves
Credit Curves are used by CDS pricing to model default probability term structures. The Portal supports practical construction patterns:
- Flat hazard: one constant hazard rate
- Spread-based curve: multiple tenor quotes (manual or Quote Book-linked)
This design mirrors real desks: market data is maintained centrally, while curve definitions decide how that data is interpreted.
Vol Surfaces
Vol Surfaces store expiry × tenor grids and conventions required by swaption models. Data can be entered manually or resolved from Quote Book ids.
- Manual grid: direct per-cell values
- Quote Book grid: generated quote ids + resolve at As-Of
For a detailed model and benchmark discussion, see Bloomberg Swaption Comparison.
Vol Sampler (surface kinds, strike axis, output modes)
The IR Vol Sampler is a sampling and diagnostics tool. It does not replace Vol Surfaces; it uses stored surface specs and market dependencies to query the backend and return sampled cube/slice results.
Swaption surface kind
Swaption Surface Kind defines the structural model of the volatility input:
- Constant: one volatility level for all expiries/tenors/strikes.
- ATM Matrix: 2D surface over expiry × tenor at ATM.
- Smile Cube: 3D surface over expiry × tenor × strike (or spread).
Think of this as the model shape the backend should interpret, not just a chart preference.
Strike axis (why this matters)
Strike axis tells the system how to interpret strike coordinates:
- AbsoluteStrike: strike is an absolute rate level (for example 2.50%).
- SpreadFromATM: strike is expressed as distance from ATM forward (for example +25bp).
In swaption markets, SpreadFromATM is often more natural because moneyness is quoted relative to forward rates. It requires the backend to compute ATM at each node using the selected curve/index setup.
Output mode (what result geometry is returned)
| Output mode | Meaning | Typical chart |
|---|---|---|
| Cube | Full sampled grid over expiry × tenor × strike | Heatmap + strike slider, optional 3D layer |
| SmileSlice | Fix expiry + tenor, vary strike | Vol vs strike line |
| TermSlice | Fix expiry + strike, vary tenor | Vol vs tenor line |
| ExpirySlice | Fix tenor + strike, vary expiry | Vol vs expiry line |
How to read confusing behavior quickly
- All small-multiple panels look similar: strike variation is weak in sampled data, or the request path is effectively ATM-only.
- Smile slice looks like one point/flat: strike grid too sparse, wrong slice node, or near-constant vol in that local region.
- SpreadFromATM errors: strike axis and vol spec semantics are inconsistent (for example spread axis requested with absolute-strike surface logic).
- 3D looks collapsed: expiry parsing failed or axis arrays are not increasing; check diagnostics axis fields.
Recommended operator workflow
- Pick a stored vol surface spec.
- Select sampling grids (expiry, tenor, strike) with enough density.
- Run Cube first to validate full structure.
- Use probe interaction (heatmap/3D) to inspect local smile and term behavior.
- Use diagnostics to confirm axis semantics, dimensions, and extrapolation status.
Products and pricing workflow
Product screens share a consistent flow: select market dependencies (curve set / index / vol surface / credit curve), fill instrument terms, click Price, and inspect metrics.
Supported products
- Fixed Rate Bond: NPV, clean/dirty price, yield and risk metrics
- Floating Rate Bond: index-linked cash flows with conventions and fixings
- IR Swap: vanilla swap pricing with leg-level setup
- Swaption: option on swap with model and vol surface selection
- CDS: credit default swap pricing with credit curve dependency
Product templates can be saved and re-priced as market data changes.
Settings, backups, and examples
Settings is the control center for lifecycle operations:
- Data overview counts by object type
- Export/Import full backup JSON
- Load Full Example to load portfolio + market data in one action
- Clear All to reset local workspace
For onboarding and demos, the recommended path is always Load Full Example first.
Global As-Of date
The As-Of date picker in the header controls valuation context globally. It affects quote resolution in Quote Book and all pricing requests.
Technically, this maps to pricing.as_of_date in API payloads and drives QuantLib evaluation date behavior.
Portal vs API
Functionally, the Portal and direct API are equivalent:
- The Portal sends standard JSON payloads to the same backend services.
- Requests built in UI can be mirrored in code (curl, Python, JavaScript, etc.).
- The Pricing Playground helps inspect and iterate on raw request/response behavior.
Example: request generated from a product screen
When pricing a fixed-rate bond, the payload follows this structure:
{
"pricing": {
"as_of_date": "2025-06-15",
"indices": [/* resolved index definitions */],
"curves": [/* resolved curve set */]
},
"bonds": [{
"fixed_rate_bond": { /* instrument fields */ },
"discounting_curve": "EUR_DISC"
}]
}