Markdown Converter
Agent skill for markdown-converter
Generate a JIRA-ready DRR dependency analysis ticket for **Leg1 Spread-related fields**.
Sign in to like and favorite skills
Generate a JIRA-ready DRR dependency analysis ticket for Leg1 Spread-related fields.
This skill is designed for Credit product reporting rules where:
The output must match the style of the existing ticket example:
Only include paths that are:
(Exists) when applicableExclude paths that belong purely to:
Expand aliases into full CDM paths whenever possible.
Add function usage context:
Use only ASCII characters:
-> for arrowsUser provides:
Must start with:
Analyze dataElement XX - CDE-Spread of leg 1 <Spread of Leg 1> in DRR.
This field uses Spread notation of leg 1 CORECG-XXXX for formatting the spread value (monetary / decimal / percentage / basis).
Reference BR Jira: CORECG-XXX [BR] CoReg:MAS:Field XX (C) "CDE-Spread of leg 1"
Optionality: Conditional as per Cirrus mapping
creditdefaultswaption:
EconomicTerms -> payout -> optionPayout only-element -> underlier -> index -> productTaxonomy -> primaryAssetClass
final paths:
EconomicTerms -> payout -> creditDefaultPayout -> generalTerms -> indexReferenceInformation -> indexId
EconomicTerms -> payout -> creditDefaultPayout -> generalTerms -> referenceInformation -> referenceObligation -> loan -> productIdentifier -> identifier
WorkflowStep -> businessEvent -> after -> trade -> tradableProduct -> product -> contractualProduct -> productIdentifier
Purpose: Extract and format Spread of Leg 1 for MAS trade reporting.
Rosetta DSL:
reporting rule SpreadLeg1 from TransactionReportInstruction: filter IsAllowableActionForMAS then common.price.SpreadLeg1_01_Validation(...)
SpreadLeg1 is populated through Leg1 enrichment:
reporting rule Leg1Report: then common.LegEnrichment( cde.Leg1(item, SpreadNotationOfLeg1, ...), ... )
spread is extracted from:
price.SpreadLeg1 -> value
formatted using:
SpreadNotationOfLeg1 -> PriceFormatFromNotation
Returns: Spread string formatted as monetary/decimal/percentage/basis
File: src/main/rosetta/regulation-mas-rewrite-trade-type.rosetta
Line: [TBD]
Purpose:
Uses paths:
Leg1 -> spread
Leg2 -> spread
Leg1 -> fixedRate
Leg2 -> fixedRate
File: src/main/rosetta/standards-iso-code-base-price-func.rosetta
Line: [TBD]
Logic:
if notation = Monetary -> MultiplyPrice(...) if notation = Decimal -> FormatToBaseOneRate if notation = Percentage -> FormatToBaseOneRate if notation = Basis -> FormatToMax5Number
File: src/main/rosetta/regulation-common-func.rosetta
Line: [TBD]
Extracts the underlier product:
if optionPayout exists then EconomicTermsForProduct(product) -> payout -> optionPayout only-element -> underlier
else if forwardPayout exists then EconomicTermsForProduct(product) -> payout -> forwardPayout only-element -> underlier
Case 1: CreditDefaultSwaption
Condition paths:
EconomicTermsForProduct(UnderlierForProduct) -> payout -> interestRatePayout only-element (Exists)
Possible UnderlierForProduct paths:
EconomicTermsForProduct(product) -> payout -> optionPayout only-element -> underlier
EconomicTermsForProduct(product) -> payout -> forwardPayout only-element -> underlier
Final paths:
EconomicTermsForProduct(UnderlierForProduct) -> payout -> interestRatePayout -> rateSpecification -> floatingRate -> spreadSchedule -> price -> value
Case 2: Default
Condition paths:
EconomicTermsForProduct -> payout -> interestRatePayout only-element
Default final paths:
EconomicTermsForProduct -> payout -> interestRatePayout -> rateSpecification -> floatingRate -> spreadSchedule -> price -> value
Always separate:
Expand aliases for readability
Mark ownership boundaries:
Provide function + file + line number whenever possible