Skip to content

Removal of CashPrice, and renaming CashFlow to AssetFlow #4511

@Oscar-Twomey

Description

@Oscar-Twomey

Background

CashPrice is meant to represent attributes of a cash payment arising from an unscheduled ("priced") event, whereas Cashflow is used to represent a cashflow arising from a scheduled (payout-generated) event. Therefore, it appears that cashPrice should not be an attribute of Cashflow

If cashPrice is no longer an attribute of Cashflow, then CashPrice becomes redundant as a type (it isn't used in Transfer, only its underlying components are)

With the removal of CashPrice, its corresponding value in the PriceTypeEnum should also be removed and replaced with Premium. Premium can then be removed from PriceSubTypeEnum

Furthermore, the CashFlow type can be revised and rationalised. More attributes can be moved to the common ancestor of Cashflow and Transfer - AsserFlowBase. Because the CashFlow type now supports non-cash assets, it can be renamed to AssetFlow.

Task Details

Removal of CashPrice

  1. Remove CashPrice type and remove it from Cashflow
  2. Remove PremiumExpression as it is only used in CashPrice.
  3. Replace CashPrice with Premium in PriceTypeEnum, and remove Premium and Fee from PriceSubTypeEnum
  4. Update the PriceQuantityTriangulation function to correctly use AssetPrice
Image Image Image

Renaming Cashflow to AssetFlow and commonizing elements with Transfer

  1. Rename CashFlow to AssetFlow to make it more generic.
  2. Add an assetFlowType attribute of type ScheduledTransferEnum
  3. Remove paymentDiscounting and add it to AssetFlowBase so it is common between Transfer and AssetFlow
  4. Remove CashFlowType type
Image Image




Each of the subsequent attributes are handled in PriceSchedule

CashPrice

  • priceSubType exists in PriceSchedule

PremiumExpression

  • premiumType exists in PriceSchedule
  • pricePerOption or percentageOfNotional can be handled in priceExpression or perUnitOf & Measure

Parent Feature

No response

Additional Context

No response

Metadata

Metadata

Assignees

Labels

backward-incompatibleLikely to be backward-incompatible; must be on Steering WG roadmap; 2 maintainers to approve

Type

Projects

Status

PR Ready

Status

Current

Relationships

None yet

Development

No branches or pull requests

Issue actions