Security Logic¶
Both the Platform and the REST API validate the syntax and coverage of every security during upload, manual entry, and API calls. A security that fails validation shows an Unmapped status (—) in the Status column, along with a retry button:

Example: a corporate bond whose maturity date is in the past. Status is Unmapped.
Fixed Income¶
Generic Rules¶
Applies to: Corporate Bonds, Government Bonds, Term Loans, Convertibles, Exchangeables, CDS, Interest Rate Swaps
| Rule | Condition |
|---|---|
| Constant maturity treasuries | Not available or not updated in the database |
| FX data | Underlying FX rate lacks sufficient historical data (non-US securities) |
| Maturity date | Maturity is in the past relative to the portfolio date (*) |
| Coupon | Coupon is negative |
| Price | Price is negative |
Specialized Rules — Corporate Bonds, Term Loans, Convertibles, Exchangeables, CDS¶
In addition to the Generic Rules above:
| Rule | Condition |
|---|---|
| Underlying ticker — history | Issuing company lacks sufficient historical data (see Data Logic) |
| Underlying ticker — exchange | Non-US issuing company has no recognized/supported MIC exchange code |
| Balance sheet data | Issuing company lacks total debt or shares outstanding required for the distance-to-default model |
Specialized Rules — CDS and Interest Rate Swaps¶
In addition to the Generic Rules above:
| Rule | Condition |
|---|---|
| Quantity | Negative quantity is not allowed. Use P (payer swap — short credit and short rates) or R (receiver swap — long credit and long rates) to express direction |
Specialized Rules — Government Bonds and Interest Rate Swaps¶
In addition to the Generic Rules above:
| Rule | Condition |
|---|---|
| Country code | Issuing country must use a valid ISO 3166-1 Alpha-2 code. GOV:US 20201002 2.5 98 is valid; GOV:ZY 20201002 2.5 98 is not |
Specialized Rules — Exchangeables¶
In addition to the Generic Rules above:
| Rule | Condition |
|---|---|
| Exchangeable ticker | Underlying exchangeable ticker lacks sufficient historical data (see Data Logic) |
Options¶
Generic Rules¶
Applies to: Equity, Index, Future, and FX Options
| Rule | Condition |
|---|---|
| Underlying ticker — history | Issuing company lacks sufficient historical data (see Data Logic) |
| Underlying ticker — exchange | Non-US issuing company has no recognized/supported MIC exchange code |
| FX data | Underlying FX rate lacks sufficient historical data (non-US securities) |
| Expiration date | Expiration is in the past relative to the portfolio date (*) |
| Strike | Strike is negative |
| Premium | Premium is negative |
FX¶
Generic Rules¶
Applies to: FX Forwards and FX Options
| Rule | Condition |
|---|---|
| Currency pair codes | Each currency must be a valid ISO 4217 code. BRLEUR is valid; BRLXYZ is not |
Equities¶
Generic Rules¶
Applies to: Global Equities, ETFs, and Mutual Funds
| Rule | Condition |
|---|---|
| Ticker history | Underlying ticker lacks sufficient historical data (see Data Logic) |
| Exchange code | Non-US security has no recognized/supported MIC exchange code |
| FX data | Underlying FX rate lacks sufficient historical data (non-US securities) |
(*) Note on historical portfolios: The maturity and expiration checks are relative to the portfolio date, not today's date. For example,
IBM 20161202 C155 2is valid for a portfolio dated20160602but invalid for one dated20170701.