FINXIS.

PriceQuantity

Type CDM 7.2.0

Defines a settlement as an exchange between two parties of a specified quantity of an asset (the quantity) against a specified quantity of another asset (the price). The settlement is optional and can be either cash or physical. The quantity can additionally be specified in terms of one or more currency amounts. In the case of non-cash products, the settlement of the price/quantity would not be specified here and instead would be delegated to the product mechanics, as parameterised by the price/quantity values.

Extends —
Extended by —
Attributes 4
Namespace cdm.observable.asset

Attributes

All 4 declared on PriceQuantity. Cardinality in amber is required.

NameTypeCard.Description
price PriceSchedule 0..* Specifies a price to be used for trade amounts and other purposes.
quantity NonNegativeQuantitySchedule 0..1 Specifies a quantity to be associated with an event, for example a trade amount.
observable Observable 0..1 Specifies the object to be observed for a price, it could be an asset or an index. The cardinality is optional as some quantity / price cases have no observable (e.g. a fixed rate in a given currency).
effectiveDate AdjustableOrRelativeDate 0..1 Specifies the date at which the price and quantity become effective. This day may be subject to adjustment in accordance with a business day convention, or could be specified as relative to a trade date, for instance. Optional cardinality, as the effective date is usually specified in the product definition, so it may only need to be specified as part of the PriceQuantity in an increase/decrease scenario for an existing trade.

Conditions

Validation rules the model enforces on this type, in Rune. An instance that breaks one of these is invalid CDM, whatever produced it.

NonCurrencyQuantities Condition
There should be at most one quantity which is not a currency, except for commodities where there may be two.
(quantity count - quantity -> unit -> currency count) <= 1 or (observable
    as Commodity
    exists
    and quantity -> unit -> capacityUnit exists and (quantity count - quantity -> unit -> currency count) <= 2)
ArithmeticOperator Condition
When observable is InterestRateIndex, and price exists, then price should have an arithmetic operator.
if observable as InterestRateIndex exists and price exists
then price -> arithmeticOperator exists
InterestRateObservable Condition
When the observable is an interest rate index, the price type must be interest rate and the arithmetic operator must be specified.
InterestRateObservableCondition
PriceQuantityTriangulation Condition
Check price quantity triangulation.
PriceQuantityTriangulation(price, quantity) = True

Referenced by

5 types hold a PriceQuantity as an attribute.

Functions

Model functions that produce or consume this type. These are the CDM's own behaviour — the logic a correct implementation has to match.

FunctionRoleDescription
UpdateIndexTransitionPriceAndRateOption returns —
FindMatchingIndexTransitionInstruction returns —
MapFxCoreDetailsModelPriceQuantity returns —
MapBondOptionPriceQuantityList returns —
MapBrokerEquityOptionPriceQuantityList returns —
MapCapFloorPriceQuantityList returns —
MapCapfloorPriceQuantity returns —
MapCommodityForwardPriceQuantityList returns —
MapCommodityOptionPriceQuantityList returns —
MapCommoditySwapPriceQuantityList returns —
MapFixedLegToPriceQuantity returns —
MapFloatingLegToPriceQuantity returns —
UpdateSpreadAdjustmentAndRateOptions takes For each of the trade state's price quantity, find a matching price quantity instruction, and call the update function.
UpdateIndexTransitionPriceAndRateOption takes —
FindMatchingIndexTransitionInstruction takes —
Create_RollPrimitiveInstruction takes Creates the primitive instructions for a trade roll. A trade roll consists in closing an existing trade and entering into a new one which has the same characteristics as the old one, except with an extended termination date and (possibly) a different price.
Create_OnDemandRateChangePriceChangeInstruction takes Creates a price change instruction for an on-demand rate change, based on a new rate provided as a single number by matching it to a single rate price.
Create_PartialDeliveryPrimitiveInstruction takes Creates the primitive instruction for partial delivery of a repo transaction at settlement.
Create_SubstitutionPrimitiveInstruction takes Creates the primitive instructions for a substitution of collateral by replacing the assetpayout of the trade.
InterestRateObservableCondition takes Implementation for PriceQuantity.InterestRateObservable condition.
UpdateAmountForEachMatchingQuantity takes Updates any price or quantity from the list of PriceQuantity if the unit of amount matches.
FilterChangePriceQuantity takes Filter the change PriceQuantity list to match on Observable if present.
UpdatePriceAmountForEachMatchingQuantity takes Updates any price from the PriceSchedule list if the unit of amount matches.
UpdateQuantityAmountForEachMatchingQuantity takes Updates any quantity from the NonNegativeQuantitySchedule list if the unit of amount matches.

Showing 12 of each. All 1286 functions →

Open PriceQuantity in the Model Browser

Walk the tree and the reference graph interactively, and switch releases to see how the type has changed. Free, no signup.

Model Browser All 200+ releases
Parsed from CDM 7.2.0 · observable-asset-type.rosetta cdm.observable.asset