PriceQuantity
Type CDM 7.2.0Defines 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.
Attributes
All 4 declared on PriceQuantity. Cardinality in amber is required.
| Name | Type | Card. | 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.
(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) if observable as InterestRateIndex exists and price exists
then price -> arithmeticOperator exists InterestRateObservableCondition 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.
| Function | Role | Description |
|---|---|---|
| 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.