You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# *Ingestion Framework for FpML - Mapping Coverage: Credit, Equity and Commodity*
2
-
1
+
# _Asset Model - Adding Redemption Attribute to Debt Type_
3
2
_Background_
4
3
5
-
Ingestion functions for FpML Confirmation to CDM have mapping coverage gaps for some products or test packs compared to the legacy Synonym mapping coverage. For further information, see [#4260](https://github.com/finos/common-domain-model/issues/4260).
4
+
There are several values in the the `DebtClassEnum` relating to the redemption of the debt which could be more granular and composable. There are 4 attributes representing unique combinations for `IssuerConvertible`, `HolderConvertible`, `IssuerExchangeable`, `HolderExchangeable`. However, these could be represented using separate enums and conditions within DebtType. This would also remove the additional Convertible attribute.
6
5
7
6
_What is being released?_
8
7
9
-
This release maps Credit, Equity and Commodity products, as per [#4453](https://github.com/finos/common-domain-model/issues/4453), [#4454](https://github.com/finos/common-domain-model/issues/4454) and [#4455](https://github.com/finos/common-domain-model/issues/4455).
8
+
Created a DebtRedemption type
9
+
- Added `redemptionType` attribute with type `RedemptionTypeEnum`
10
+
- Added `putCall` attribute with type `PutCallEnum`
11
+
- Added `party` attribute with type `RedemptionPartyEnum`
10
12
11
-
- Mapping support added for `AssetIdTypeEnum` values `Name` and `REDID` for FpML Credit products
12
-
-Mapping of price per option updated for FpML Equity products
13
-
-Mapping of `id` to `CommodityPayout` for FpML Commodity products
13
+
Created 2 new enums
14
+
-`RedemptionTypeEnum` with values Convertible, Exchangeable, ContingentConvertible, Sinkable, Extraordinary
15
+
-`RedemptionPartyEnum` with values Holder and Issuer
14
16
15
17
_Review Directions_
16
18
17
-
Changes can be reviewed in PR: [#4456](https://github.com/finos/common-domain-model/pull/4456)
19
+
The changes can be reviewed in PR: [#4447](https://github.com/finos/common-domain-model/pull/4447)
Copy file name to clipboardExpand all lines: rosetta-source/src/main/rosetta/base-staticdata-asset-common-enum.rosetta
+11-5Lines changed: 11 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -293,14 +293,9 @@ enum MaturityTypeEnum: <"Represents an enumeration list to identify the Maturity
293
293
FromIssuance <"Denotes a period from issuance date until now.">
294
294
295
295
enum DebtClassEnum: <"Represents an enumeration list that identifies the type of debt.">
296
-
Convertible <"Identifies a debt instrument that can be converted into common shares.">
297
296
RegCap <"Identifies a debt instrument as one issued by financial institutions to count towards regulatory capital, including term and perpetual subordinated debt, contingently convertible and others. Excludes preferred share capital.">
298
297
Structured <"Identifies a debt instrument athat has non-standard interest or principal features, with full recourse to the issuer.">
299
298
Vanilla <"Identifies a debt instrument that has a periodic coupon, a defined maturity, and is not backed by any specific asset. The seniority and the structure of the income and principal payments can optionally be defined in DebtType.DebtEconomics.">
300
-
HolderConvertible <"Identifies a debt instrument that can be converted primarily at the election of the holder into common shares of the Issuer.">
301
-
HolderExchangeable <"Identifies a debt instrument that can be converted primarily at the election of the holder into common shares of a party other than the Issuer.">
302
-
IssuerConvertible <"Identifies a debt instrument that can be converted at the election of the Issuer into common shares of the Issuer. Also known as reverse convertible.">
303
-
IssuerExchangeable <"Identifies a debt instrument that can be converted at the election of the Issuer into common shares of a party other than the Issuer. Also known as reverse exchangeable.">
304
299
305
300
enum SecuredTypeEnum: <"Specifies the type of secured debt.">
306
301
AssetBacked <"Debt instrument with periodic income payments and value derived from or backed by a specified pool of underlying assets.">
@@ -355,6 +350,17 @@ enum DebtPrincipalEnum: <"Represents an enumeration list that specifies the gene
355
350
OtherStructured <"Denotes that the principal on the debt is calculated with reference to other underlyings (not being floating interest rates, inflation rates or indices) or with a non-linear relationship to floating interest rates, inflation rates or indices.">
356
351
PrincipalOnly <"Denotes a stripped bond representing only the principal component.">
357
352
353
+
enum RedemptionTypeEnum: <"Specifies the contractual redemption or conversion features associated with a debt security.">
354
+
Convertible <"Specifies a debt instrument that can be converted into common shares.">
355
+
Exchangeable <"Specifies a debt security that can be converted to equity in a company other than the issuing company.">
356
+
ContingentConvertible <"Specifies a debt security that can be converted into equity if a pre-defined trigger event occurs.">
357
+
Sinkable <"Specifies a debt security that requires the issuer to periodically set aside money to buy back portions of the debt.">
358
+
Extraordinary <"Specifies a debt security that can be redeemed early if certain extraordinary events occur.">
359
+
360
+
enum RedemptionPartyEnum: <"Specifies the redeeming party of a debt security.">
361
+
Holder <"Specifies the holder of a debt security.">
362
+
Issuer <"Specifies the issuer of a debt security.">
363
+
358
364
enum AssetTypeEnum: <"Represents an enumeration list to identify the asset type.">
359
365
Security <"Indentifies negotiable financial instrument of monetary value with an issue ownership position.">
Copy file name to clipboardExpand all lines: rosetta-source/src/main/rosetta/base-staticdata-asset-common-type.rosetta
+13-4Lines changed: 13 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -223,15 +223,24 @@ type EquityType:
223
223
if equityType <> EquityTypeEnum -> DepositaryReceipt
224
224
then depositaryReceipt is absent
225
225
226
-
type DebtType: <"Specifies the type of debt instrument.">
227
-
debtClass DebtClassEnum (0..1) <"Specifies the characteristics of a debt instrument.">
228
-
debtEconomics DebtEconomics (0..*) <"Specifies selected financial terms of a debt instrument.">
226
+
type DebtType: <"Specifies the type of debt security.">
227
+
debtClass DebtClassEnum (0..1) <"Specifies the characteristics of a debt security.">
228
+
debtEconomics DebtEconomics (0..*) <"Specifies selected financial terms of a debt security.">
229
229
230
-
type DebtEconomics: <"Specifies selected economics of a debt instrument.">
230
+
type DebtEconomics: <"Specifies selected economics of a debt security.">
231
231
seniority DebtSeniorityEnum (0..1) <"Specifies the order of repayment in the event of a sale or bankruptcy of the issuer or a related party (eg guarantor).">
232
232
interest DebtInterestEnum (0..1) <"Specifies the general rule for periodic interest rate payment.">
233
233
principal DebtPrincipalEnum (0..1) <"Specifies the general rule for repayment of principal.">
234
234
secured SecuredDebt (0..1) <"Specifies the type of secured debt.">
235
+
redemption DebtRedemption (0..1) <"Specifies the general rule for redemption of a debt security.">
236
+
237
+
type DebtRedemption: <"Specifies the redemption features and whether the redemption right is exercised at the discretion of the issuer or the holder.">
238
+
redemptionType RedemptionTypeEnum (0..1) <"Specifies the contractual redemption or conversion features associated with a debt security.">
239
+
putCall PutCallEnum (0..1) <"Specifies the embedded option feature of a debt security.">
240
+
party RedemptionPartyEnum (0..1) <"Specifies whether the debt security is redeemed at the election of the Issuer/Holder.">
241
+
242
+
condition ConvertibleExchangablePartyElectionExists: <"A type of redemption must be specified if the redeeming party is specified.">
243
+
if party exists then redemptionType exists or putCall exists
235
244
236
245
type SecuredDebt:
237
246
securedType SecuredTypeEnum (0..1) <"Specifies the type of secured debt product.">
0 commit comments