Commit fea7864b by Amelin Konstantin

Add EquityForwardTemplate

parent 7b9414d2
<?xml version="1.0" encoding="windows-1251"?>
<nonpublicExecutionReport xmlns="http://www.fpml.org/FpML-5/recordkeeping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fpmlext="http://www.fpml.org/FpML-5/ext" xmlns:nsdext="http://www.fpml.org/FpML-5/recordkeeping/nsd-ext" fpmlVersion="5-4" xsi:schemaLocation="http://www.fpml.org/FpML-5/recordkeeping fpml-recordkeeping-merged-schema.xsd http://www.fpml.org/FpML-5/recordkeeping/nsd-ext nsd-ext-merged-schema.xsd">
<header>
<messageId messageIdScheme="http://repository.nsd.ru/coding-scheme/messageid(nsdrus)">BCS603760a3c0fc48c4ae8c1acd0bebe975</messageId>
<sentBy>RP0058900001</sentBy>
<sendTo>NDC000000000</sendTo>
<creationTimestamp>2017-04-12T08:30:31</creationTimestamp>
<implementationSpecification>
<version>4.4</version>
</implementationSpecification>
</header>
<isCorrection>false</isCorrection>
<correlationId correlationIdScheme="http://repository.nsd.ru/coding-scheme/correlationId(nsdrus)">[RP0058900001]-[2017]-[BCS603760a3c0fc48c4ae8c1acd0bebe975]</correlationId>
<asOfDate>2017-04-10</asOfDate>
<trade xsi:type="nsdext:TradeNsd">
<tradeHeader>
<partyTradeIdentifier>
<partyReference href="TradeRepository"/>
<tradeId>NONREF</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party1"/>
<tradeId>2510/1-100417</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party2"/>
<tradeId>2510/1-100417</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="UTIGeneratingParty"/>
<tradeId>253400GRCV94X91GAW80TNGSF25101100417</tradeId>
</partyTradeIdentifier>
<partyTradeInformation>
<partyReference href="TradeRepository"/>
<reportingRegime>
<name reportingRegimeNameScheme="http://www.fpml.org/coding-scheme/reporting-regime">RussianFederation</name>
</reportingRegime>
<nonStandardTerms>true</nonStandardTerms>
</partyTradeInformation>
<tradeDate>2017-04-10</tradeDate>
</tradeHeader>
<nsdext:bondForward>
<productType productTypeScheme="http://www.fpml.org/coding-scheme/product-taxonomy">InterestRate:Forward:DebtForward:SingleIndex</productType>
<productId>FDOFE</productId>
<buyerPartyReference href="Party1"/>
<sellerPartyReference href="Party2"/>
<nsdext:underlyer>
<singleUnderlyer>
<index id="RU000A0JPEB3">
<instrumentId instrumentIdScheme="">RU000A0JPEB3</instrumentId>
</index>
<openUnits>1</openUnits>
</singleUnderlyer>
</nsdext:underlyer>
<nsdext:notionalAmount>
<currency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</currency>
<amount>500000.0000000</amount>
</nsdext:notionalAmount>
<nsdext:settlementDate>
<adjustableDate>
<unadjustedDate>2017-07-10</unadjustedDate>
</adjustableDate>
</nsdext:settlementDate>
<nsdext:settlementCurrency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</nsdext:settlementCurrency>
<nsdext:forwardPrice>
<nsdext:forwardPricePerBond>
<currency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</currency>
<amount>500000.0000000</amount>
</nsdext:forwardPricePerBond>
</nsdext:forwardPrice>
</nsdext:bondForward>
<nsdext:collateral>
<nsdext:marginType>U</nsdext:marginType>
<nsdext:collateralForm>U</nsdext:collateralForm>
</nsdext:collateral>
<nsdext:nsdSpecificTradeFields>
<nsdext:cleared>N</nsdext:cleared>
<nsdext:reconciliationType>GENF</nsdext:reconciliationType>
<nsdext:clearSettlementType clearSettlementTypeScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-type">OTC</nsdext:clearSettlementType>
<nsdext:clearSettlementMethod clearSettlementMethodScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-method">C</nsdext:clearSettlementMethod>
<nsdext:confirmationMethod>MXME</nsdext:confirmationMethod>
<nsdext:automaticExecution>N</nsdext:automaticExecution>
<nsdext:partiesAreAffiliated>N</nsdext:partiesAreAffiliated>
<nsdext:endAgreementDate>2017-07-10</nsdext:endAgreementDate>
<nsdext:productSpecificCodes>
<nsdext:productGeneralCodes>
<nsdext:classificationCode>
<nsdext:specificCode>ProductRelation</nsdext:specificCode>
<nsdext:code>S</nsdext:code>
</nsdext:classificationCode>
</nsdext:productGeneralCodes>
</nsdext:productSpecificCodes>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party1"/>
<nsdext:type>P</nsdext:type>
<nsdext:id>PASS_04 55582007</nsdext:id>
<nsdext:name> </nsdext:name>
<nsdext:country countryScheme="http://www.fpml.org/ext/iso3166">RU</nsdext:country>
</nsdext:clientDetails>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party2"/>
<nsdext:ownTrade>true</nsdext:ownTrade>
</nsdext:clientDetails>
</nsdext:nsdSpecificTradeFields>
</trade>
<party id="TradeRepository">
<partyId>NDC000000000</partyId>
<partyId>LEI_253400M18U5TB02TW421</partyId>
<partyName> </partyName>
</party>
<party id="Party1">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
<classification>B</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Party2">
<partyId>RPJ000000555</partyId>
<partyId>LEI_253400ABNUQNI0QEEF10</partyId>
<partyName> " "</partyName>
<classification>D</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Sender">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
<party id="UTIGeneratingParty">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
</nonpublicExecutionReport>
\ No newline at end of file
<?xml version="1.0" encoding="windows-1251"?>
<nonpublicExecutionReport xmlns="http://www.fpml.org/FpML-5/recordkeeping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fpmlext="http://www.fpml.org/FpML-5/ext" xmlns:nsdext="http://www.fpml.org/FpML-5/recordkeeping/nsd-ext" fpmlVersion="5-4" xsi:schemaLocation="http://www.fpml.org/FpML-5/recordkeeping fpml-recordkeeping-merged-schema.xsd http://www.fpml.org/FpML-5/recordkeeping/nsd-ext nsd-ext-merged-schema.xsd">
<header>
<messageId messageIdScheme="http://repository.nsd.ru/coding-scheme/messageid(nsdrus)">BCSd5a68086004f4e96b241086d22a67320</messageId>
<sentBy>RP0058900001</sentBy>
<sendTo>NDC000000000</sendTo>
<creationTimestamp>2017-04-13T08:54:56</creationTimestamp>
<implementationSpecification>
<version>4.4</version>
</implementationSpecification>
</header>
<isCorrection>false</isCorrection>
<correlationId correlationIdScheme="http://repository.nsd.ru/coding-scheme/correlationId(nsdrus)">[RP0058900001]-[2017]-[BCSd5a68086004f4e96b241086d22a67320]</correlationId>
<asOfDate>2017-04-11</asOfDate>
<trade xsi:type="nsdext:TradeNsd">
<tradeHeader>
<partyTradeIdentifier>
<partyReference href="TradeRepository"/>
<tradeId>NONREF</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party1"/>
<tradeId>3300/464-110417</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party2"/>
<tradeId>3300/464-110417</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="UTIGeneratingParty"/>
<tradeId>253400GRCV94X91GAW80TNGSF3300464110417</tradeId>
</partyTradeIdentifier>
<partyTradeInformation>
<partyReference href="TradeRepository"/>
<reportingRegime>
<name reportingRegimeNameScheme="http://www.fpml.org/coding-scheme/reporting-regime">RussianFederation</name>
</reportingRegime>
<nonStandardTerms>true</nonStandardTerms>
</partyTradeInformation>
<tradeDate>2017-04-11</tradeDate>
</tradeHeader>
<commodityForward>
<productType productTypeScheme="http://www.fpml.org/coding-scheme/product-taxonomy">Commodity:Forward:Cash</productType>
<productId>FCOFE</productId>
<fixedLeg>
<payerPartyReference href="Party1"/>
<receiverPartyReference href="Party2"/>
<fixedPrice>
<price>50.389900</price>
<priceCurrency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">USD</priceCurrency>
<priceUnit quantityUnitScheme="http://www.fpml.org/coding-scheme/price-quote-units">BBL</priceUnit>
</fixedPrice>
<totalPrice>
<currency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</currency>
<amount>300000.0000000</amount>
</totalPrice>
<paymentDates>
<adjustableDates>
<unadjustedDate>2017-04-12</unadjustedDate>
</adjustableDates>
</paymentDates>
</fixedLeg>
<nsdext:floatingForwardLeg>
<payerPartyReference href="Party1"/>
<receiverPartyReference href="Party2"/>
<nsdext:commodity xsi:type="nsdext:CommodityBasket" id="B5AComdty">
<instrumentId instrumentIdScheme="">B5AComdty</instrumentId>
<unit quantityUnitScheme="http://www.fpml.org/coding-scheme/price-quote-units">BBL</unit>
<currency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">USD</currency>
</nsdext:commodity>
<totalNotionalQuantity>0</totalNotionalQuantity>
<nsdext:calculation>
<pricingDates/>
</nsdext:calculation>
<paymentDates>
<adjustableDates>
<unadjustedDate>2017-04-12</unadjustedDate>
</adjustableDates>
</paymentDates>
</nsdext:floatingForwardLeg>
</commodityForward>
<nsdext:collateral>
<nsdext:marginType>U</nsdext:marginType>
<nsdext:collateralForm>U</nsdext:collateralForm>
</nsdext:collateral>
<nsdext:nsdSpecificTradeFields>
<nsdext:cleared>N</nsdext:cleared>
<nsdext:reconciliationType>GENF</nsdext:reconciliationType>
<nsdext:clearSettlementType clearSettlementTypeScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-type">OTC</nsdext:clearSettlementType>
<nsdext:clearSettlementMethod clearSettlementMethodScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-method">C</nsdext:clearSettlementMethod>
<nsdext:confirmationMethod>MXME</nsdext:confirmationMethod>
<nsdext:automaticExecution>N</nsdext:automaticExecution>
<nsdext:partiesAreAffiliated>N</nsdext:partiesAreAffiliated>
<nsdext:endAgreementDate>2017-10-09</nsdext:endAgreementDate>
<nsdext:productSpecificCodes>
<nsdext:productGeneralCodes>
<nsdext:classificationCode>
<nsdext:specificCode>ProductRelation</nsdext:specificCode>
<nsdext:code>S</nsdext:code>
</nsdext:classificationCode>
</nsdext:productGeneralCodes>
</nsdext:productSpecificCodes>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party1"/>
<nsdext:type>P</nsdext:type>
<nsdext:id>PASS_23 08875145</nsdext:id>
<nsdext:name> </nsdext:name>
<nsdext:country countryScheme="http://www.fpml.org/ext/iso3166">RU</nsdext:country>
</nsdext:clientDetails>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party2"/>
<nsdext:ownTrade>true</nsdext:ownTrade>
</nsdext:clientDetails>
</nsdext:nsdSpecificTradeFields>
</trade>
<party id="TradeRepository">
<partyId>NDC000000000</partyId>
<partyId>LEI_253400M18U5TB02TW421</partyId>
<partyName> </partyName>
</party>
<party id="Party1">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
<classification>B</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Party2">
<partyId>RPJ000000555</partyId>
<partyId>LEI_253400ABNUQNI0QEEF10</partyId>
<partyName> " "</partyName>
<classification>D</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Sender">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
<party id="UTIGeneratingParty">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
</nonpublicExecutionReport>
\ No newline at end of file
<?xml version="1.0" encoding="windows-1251"?>
<nonpublicExecutionReport xmlns="http://www.fpml.org/FpML-5/recordkeeping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fpmlext="http://www.fpml.org/FpML-5/ext" xmlns:nsdext="http://www.fpml.org/FpML-5/recordkeeping/nsd-ext" fpmlVersion="5-4" xsi:schemaLocation="http://www.fpml.org/FpML-5/recordkeeping fpml-recordkeeping-merged-schema.xsd http://www.fpml.org/FpML-5/recordkeeping/nsd-ext nsd-ext-merged-schema.xsd">
<header>
<messageId messageIdScheme="http://repository.nsd.ru/coding-scheme/messageid(nsdrus)">BCSa91f155265b94a218f8a8b4ce59e7b1d</messageId>
<sentBy>RP0058900001</sentBy>
<sendTo>NDC000000000</sendTo>
<creationTimestamp>2017-04-13T08:54:56</creationTimestamp>
<implementationSpecification>
<version>4.4</version>
</implementationSpecification>
</header>
<isCorrection>false</isCorrection>
<correlationId correlationIdScheme="http://repository.nsd.ru/coding-scheme/correlationId(nsdrus)">[RP0058900001]-[2017]-[BCSa91f155265b94a218f8a8b4ce59e7b1d]</correlationId>
<asOfDate>2017-04-11</asOfDate>
<trade xsi:type="nsdext:TradeNsd">
<tradeHeader>
<partyTradeIdentifier>
<partyReference href="TradeRepository"/>
<tradeId>NONREF</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party1"/>
<tradeId>3300/467-110417</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party2"/>
<tradeId>3300/467-110417</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="UTIGeneratingParty"/>
<tradeId>253400GRCV94X91GAW80TNGSF3300467110417</tradeId>
</partyTradeIdentifier>
<partyTradeInformation>
<partyReference href="TradeRepository"/>
<reportingRegime>
<name reportingRegimeNameScheme="http://www.fpml.org/coding-scheme/reporting-regime">RussianFederation</name>
</reportingRegime>
<nonStandardTerms>true</nonStandardTerms>
</partyTradeInformation>
<tradeDate>2017-04-11</tradeDate>
</tradeHeader>
<commodityForward>
<productType productTypeScheme="http://www.fpml.org/coding-scheme/product-taxonomy">Commodity:Forward:Cash</productType>
<productId>FCOFE</productId>
<fixedLeg>
<payerPartyReference href="Party1"/>
<receiverPartyReference href="Party2"/>
<fixedPrice>
<price>50.389900</price>
<priceCurrency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">USD</priceCurrency>
<priceUnit quantityUnitScheme="http://www.fpml.org/coding-scheme/price-quote-units">BBL</priceUnit>
</fixedPrice>
<totalPrice>
<currency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</currency>
<amount>500000.0000000</amount>
</totalPrice>
<paymentDates>
<adjustableDates>
<unadjustedDate>2017-04-12</unadjustedDate>
</adjustableDates>
</paymentDates>
</fixedLeg>
<nsdext:floatingForwardLeg>
<payerPartyReference href="Party1"/>
<receiverPartyReference href="Party2"/>
<nsdext:commodity xsi:type="nsdext:CommodityBasket" id="B5AComdty">
<instrumentId instrumentIdScheme="">B5AComdty</instrumentId>
<unit quantityUnitScheme="http://www.fpml.org/coding-scheme/price-quote-units">BBL</unit>
<currency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">USD</currency>
</nsdext:commodity>
<totalNotionalQuantity>0</totalNotionalQuantity>
<nsdext:calculation>
<pricingDates/>
</nsdext:calculation>
<paymentDates>
<adjustableDates>
<unadjustedDate>2017-04-12</unadjustedDate>
</adjustableDates>
</paymentDates>
</nsdext:floatingForwardLeg>
</commodityForward>
<nsdext:collateral>
<nsdext:marginType>U</nsdext:marginType>
<nsdext:collateralForm>U</nsdext:collateralForm>
</nsdext:collateral>
<nsdext:nsdSpecificTradeFields>
<nsdext:cleared>N</nsdext:cleared>
<nsdext:reconciliationType>GENF</nsdext:reconciliationType>
<nsdext:clearSettlementType clearSettlementTypeScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-type">OTC</nsdext:clearSettlementType>
<nsdext:clearSettlementMethod clearSettlementMethodScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-method">C</nsdext:clearSettlementMethod>
<nsdext:confirmationMethod>MXME</nsdext:confirmationMethod>
<nsdext:automaticExecution>N</nsdext:automaticExecution>
<nsdext:partiesAreAffiliated>N</nsdext:partiesAreAffiliated>
<nsdext:endAgreementDate>2017-10-09</nsdext:endAgreementDate>
<nsdext:productSpecificCodes>
<nsdext:productGeneralCodes>
<nsdext:classificationCode>
<nsdext:specificCode>ProductRelation</nsdext:specificCode>
<nsdext:code>S</nsdext:code>
</nsdext:classificationCode>
</nsdext:productGeneralCodes>
</nsdext:productSpecificCodes>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party1"/>
<nsdext:type>P</nsdext:type>
<nsdext:id>PASS_23 01675418</nsdext:id>
<nsdext:name> </nsdext:name>
<nsdext:country countryScheme="http://www.fpml.org/ext/iso3166">RU</nsdext:country>
</nsdext:clientDetails>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party2"/>
<nsdext:ownTrade>true</nsdext:ownTrade>
</nsdext:clientDetails>
</nsdext:nsdSpecificTradeFields>
</trade>
<party id="TradeRepository">
<partyId>NDC000000000</partyId>
<partyId>LEI_253400M18U5TB02TW421</partyId>
<partyName> </partyName>
</party>
<party id="Party1">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
<classification>B</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Party2">
<partyId>RPJ000000555</partyId>
<partyId>LEI_253400ABNUQNI0QEEF10</partyId>
<partyName> " "</partyName>
<classification>D</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Sender">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
<party id="UTIGeneratingParty">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
</nonpublicExecutionReport>
\ No newline at end of file
<?xml version="1.0" encoding="windows-1251"?>
<nonpublicExecutionReport xmlns="http://www.fpml.org/FpML-5/recordkeeping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fpmlext="http://www.fpml.org/FpML-5/ext" xmlns:nsdext="http://www.fpml.org/FpML-5/recordkeeping/nsd-ext" fpmlVersion="5-4" xsi:schemaLocation="http://www.fpml.org/FpML-5/recordkeeping fpml-recordkeeping-merged-schema.xsd http://www.fpml.org/FpML-5/recordkeeping/nsd-ext nsd-ext-merged-schema.xsd">
<header>
<messageId messageIdScheme="http://repository.nsd.ru/coding-scheme/messageid(nsdrus)">BCS677b6bdb326b4d48ad66a8d07b12bed2</messageId>
<sentBy>RP0058900001</sentBy>
<sendTo>NDC000000000</sendTo>
<creationTimestamp>2018-04-05T10:37:27</creationTimestamp>
<implementationSpecification>
<version>4.4</version>
</implementationSpecification>
</header>
<isCorrection>false</isCorrection>
<correlationId correlationIdScheme="http://repository.nsd.ru/coding-scheme/correlationId(nsdrus)">[RP0058900001]-[2018]-[BCS677b6bdb326b4d48ad66a8d07b12bed2]</correlationId>
<asOfDate>2018-04-03</asOfDate>
<trade xsi:type="nsdext:TradeNsd">
<tradeHeader>
<partyTradeIdentifier>
<partyReference href="TradeRepository"/>
<tradeId>NONREF</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party1"/>
<tradeId>6011/111-030418</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party2"/>
<tradeId>NONREF</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="UTIGeneratingParty"/>
<tradeId>253400GRCV94X91GAW80TNGSF6011111030418</tradeId>
</partyTradeIdentifier>
<partyTradeInformation>
<partyReference href="TradeRepository"/>
<reportingRegime>
<name reportingRegimeNameScheme="http://www.fpml.org/coding-scheme/reporting-regime">RussianFederation</name>
</reportingRegime>
<nonStandardTerms>true</nonStandardTerms>
</partyTradeInformation>
<tradeDate>2018-04-03</tradeDate>
</tradeHeader>
<equityForward>
<productType productTypeScheme="http://www.fpml.org/coding-scheme/product-taxonomy">Equity:Forward:PriceReturnBasicPerformance:Basket</productType>
<productId>FESFE</productId>
<buyerPartyReference href="Party1"/>
<sellerPartyReference href="Party2"/>
<underlyer>
<basket>
<openUnits>1</openUnits>
<basketConstituent>
<equity id="US8522341036">
<instrumentId instrumentIdScheme="">US8522341036</instrumentId>
</equity>
<constituentWeight>
<basketPercentage>1.000000</basketPercentage>
</constituentWeight>
</basketConstituent>
<basketConstituent>
<equity id="US88160R1014">
<instrumentId instrumentIdScheme="">US88160R1014</instrumentId>
</equity>
<constituentWeight>
<basketPercentage>1.000000</basketPercentage>
</constituentWeight>
</basketConstituent>
</basket>
</underlyer>
<equityExercise>
<equityEuropeanExercise>
<expirationDate>
<adjustableDate>
<unadjustedDate>2019-04-04</unadjustedDate>
</adjustableDate>
</expirationDate>
</equityEuropeanExercise>
<settlementCurrency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</settlementCurrency>
<settlementType>Cash</settlementType>
</equityExercise>
<forwardPrice>
<currency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</currency>
<amount>499750.0000000</amount>
</forwardPrice>
</equityForward>
<nsdext:collateral>
<nsdext:marginType>U</nsdext:marginType>
<nsdext:collateralForm>U</nsdext:collateralForm>
</nsdext:collateral>
<nsdext:nsdSpecificTradeFields>
<nsdext:cleared>N</nsdext:cleared>
<nsdext:reconciliationType>GENF</nsdext:reconciliationType>
<nsdext:clearSettlementType clearSettlementTypeScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-type">OTC</nsdext:clearSettlementType>
<nsdext:clearSettlementMethod clearSettlementMethodScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-method">C</nsdext:clearSettlementMethod>
<nsdext:confirmationMethod>MXME</nsdext:confirmationMethod>
<nsdext:automaticExecution>N</nsdext:automaticExecution>
<nsdext:partiesAreAffiliated>Y</nsdext:partiesAreAffiliated>
<nsdext:endAgreementDate>2019-04-04</nsdext:endAgreementDate>
<nsdext:productSpecificCodes>
<nsdext:productGeneralCodes>
<nsdext:classificationCode>
<nsdext:specificCode>ProductRelation</nsdext:specificCode>
<nsdext:code>S</nsdext:code>
</nsdext:classificationCode>
</nsdext:productGeneralCodes>
</nsdext:productSpecificCodes>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party1"/>
<nsdext:type>P</nsdext:type>
<nsdext:id>PASS_91_77845543</nsdext:id>
<nsdext:name> </nsdext:name>
<nsdext:country countryScheme="http://www.fpml.org/ext/iso3166">RU</nsdext:country>
</nsdext:clientDetails>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party2"/>
<nsdext:ownTrade>true</nsdext:ownTrade>
</nsdext:clientDetails>
</nsdext:nsdSpecificTradeFields>
</trade>
<party id="TradeRepository">
<partyId>NDC000000000</partyId>
<partyId>LEI_253400M18U5TB02TW421</partyId>
<partyName> </partyName>
</party>
<party id="Party1">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
<classification>B</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Party2">
<partyId>NONREF</partyId>
<partyId>INN_5408514753</partyId>
<partyName> ""</partyName>
<classification>Other</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Sender">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
<party id="UTIGeneratingParty">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
</nonpublicExecutionReport>
\ No newline at end of file
<?xml version="1.0" encoding="windows-1251"?>
<nonpublicExecutionReport xmlns="http://www.fpml.org/FpML-5/recordkeeping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fpmlext="http://www.fpml.org/FpML-5/ext" xmlns:nsdext="http://www.fpml.org/FpML-5/recordkeeping/nsd-ext" fpmlVersion="5-4" xsi:schemaLocation="http://www.fpml.org/FpML-5/recordkeeping fpml-recordkeeping-merged-schema.xsd http://www.fpml.org/FpML-5/recordkeeping/nsd-ext nsd-ext-merged-schema.xsd">
<header>
<messageId messageIdScheme="http://repository.nsd.ru/coding-scheme/messageid(nsdrus)">BCSddaef85ef43e4d9eb42afd49ae3139aa</messageId>
<sentBy>RP0058900001</sentBy>
<sendTo>NDC000000000</sendTo>
<creationTimestamp>2018-04-05T10:37:30</creationTimestamp>
<implementationSpecification>
<version>4.4</version>
</implementationSpecification>
</header>
<isCorrection>false</isCorrection>
<correlationId correlationIdScheme="http://repository.nsd.ru/coding-scheme/correlationId(nsdrus)">[RP0058900001]-[2018]-[BCSddaef85ef43e4d9eb42afd49ae3139aa]</correlationId>
<asOfDate>2018-04-03</asOfDate>
<trade xsi:type="nsdext:TradeNsd">
<tradeHeader>
<partyTradeIdentifier>
<partyReference href="TradeRepository"/>
<tradeId>NONREF</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party1"/>
<tradeId>6011/112-030418</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="Party2"/>
<tradeId>NONREF</tradeId>
</partyTradeIdentifier>
<partyTradeIdentifier>
<partyReference href="UTIGeneratingParty"/>
<tradeId>253400GRCV94X91GAW80TNGSF6011112030418</tradeId>
</partyTradeIdentifier>
<partyTradeInformation>
<partyReference href="TradeRepository"/>
<reportingRegime>
<name reportingRegimeNameScheme="http://www.fpml.org/coding-scheme/reporting-regime">RussianFederation</name>
</reportingRegime>
<nonStandardTerms>true</nonStandardTerms>
</partyTradeInformation>
<tradeDate>2018-04-03</tradeDate>
</tradeHeader>
<equityForward>
<productType productTypeScheme="http://www.fpml.org/coding-scheme/product-taxonomy">Equity:Forward:PriceReturnBasicPerformance:Basket</productType>
<productId>FESFE</productId>
<buyerPartyReference href="Party1"/>
<sellerPartyReference href="Party2"/>
<underlyer>
<basket>
<openUnits>1</openUnits>
<basketConstituent>
<equity id="US6974351057">
<instrumentId instrumentIdScheme="">US6974351057</instrumentId>
</equity>
<constituentWeight>
<basketPercentage>1.000000</basketPercentage>
</constituentWeight>
</basketConstituent>
<basketConstituent>
<equity id="US0378331005">
<instrumentId instrumentIdScheme="">US0378331005</instrumentId>
</equity>
<constituentWeight>
<basketPercentage>1.000000</basketPercentage>
</constituentWeight>
</basketConstituent>
<basketConstituent>
<equity id="US4581401001">
<instrumentId instrumentIdScheme="">US4581401001</instrumentId>
</equity>
<constituentWeight>
<basketPercentage>1.000000</basketPercentage>
</constituentWeight>
</basketConstituent>
<basketConstituent>
<equity id="US6074091090">
<instrumentId instrumentIdScheme="">US6074091090</instrumentId>
</equity>
<constituentWeight>
<basketPercentage>1.000000</basketPercentage>
</constituentWeight>
</basketConstituent>
<basketConstituent>
<equity id="US6549022043">
<instrumentId instrumentIdScheme="">US6549022043</instrumentId>
</equity>
<constituentWeight>
<basketPercentage>1.000000</basketPercentage>
</constituentWeight>
</basketConstituent>
</basket>
</underlyer>
<equityExercise>
<equityEuropeanExercise>
<expirationDate>
<adjustableDate>
<unadjustedDate>2021-04-04</unadjustedDate>
</adjustableDate>
</expirationDate>
</equityEuropeanExercise>
<settlementCurrency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</settlementCurrency>
<settlementType>Cash</settlementType>
</equityExercise>
<forwardPrice>
<currency currencyScheme="http://www.fpml.org/ext/iso4217-2001-08-15">RUB</currency>
<amount>490000.0000000</amount>
</forwardPrice>
</equityForward>
<nsdext:collateral>
<nsdext:marginType>U</nsdext:marginType>
<nsdext:collateralForm>U</nsdext:collateralForm>
</nsdext:collateral>
<nsdext:nsdSpecificTradeFields>
<nsdext:cleared>N</nsdext:cleared>
<nsdext:reconciliationType>GENF</nsdext:reconciliationType>
<nsdext:clearSettlementType clearSettlementTypeScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-type">OTC</nsdext:clearSettlementType>
<nsdext:clearSettlementMethod clearSettlementMethodScheme="http://repository.nsd.ru/coding-scheme/clear-settlement-method">C</nsdext:clearSettlementMethod>
<nsdext:confirmationMethod>MXME</nsdext:confirmationMethod>
<nsdext:automaticExecution>N</nsdext:automaticExecution>
<nsdext:partiesAreAffiliated>Y</nsdext:partiesAreAffiliated>
<nsdext:endAgreementDate>2021-04-04</nsdext:endAgreementDate>
<nsdext:productSpecificCodes>
<nsdext:productGeneralCodes>
<nsdext:classificationCode>
<nsdext:specificCode>ProductRelation</nsdext:specificCode>
<nsdext:code>S</nsdext:code>
</nsdext:classificationCode>
</nsdext:productGeneralCodes>
</nsdext:productSpecificCodes>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party1"/>
<nsdext:type>P</nsdext:type>
<nsdext:id>PASS_47_15308432</nsdext:id>
<nsdext:name> </nsdext:name>
<nsdext:country countryScheme="http://www.fpml.org/ext/iso3166">RU</nsdext:country>
</nsdext:clientDetails>
<nsdext:clientDetails>
<nsdext:servicingParty href="Party2"/>
<nsdext:ownTrade>true</nsdext:ownTrade>
</nsdext:clientDetails>
</nsdext:nsdSpecificTradeFields>
</trade>
<party id="TradeRepository">
<partyId>NDC000000000</partyId>
<partyId>LEI_253400M18U5TB02TW421</partyId>
<partyName> </partyName>
</party>
<party id="Party1">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
<classification>B</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Party2">
<partyId>NONREF</partyId>
<partyId>INN_5408514753</partyId>
<partyName> ""</partyName>
<classification>Other</classification>
<country>RU</country>
<organizationType>L</organizationType>
</party>
<party id="Sender">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
<party id="UTIGeneratingParty">
<partyId>RP0058900001</partyId>
<partyId>LEI_253400GRCV94X91GAW80</partyId>
<partyName> " "</partyName>
</party>
</nonpublicExecutionReport>
\ No newline at end of file
......@@ -28,6 +28,12 @@ object Main {
if (debugMode) new EquityOptionTemplate(source) with Logger else new EquityOptionTemplate(source)
case v if v == "commodityOption" =>
if (debugMode) new CommodityOptionTemplate(source) with Logger else new CommodityOptionTemplate(source)
case v if v == "bondForward" =>
if (debugMode) new BondForwardTemplate(source) with Logger else new BondForwardTemplate(source)
case v if v == "equityForward" =>
if (debugMode) new EquityForwardTemplate(source) with Logger else new EquityForwardTemplate(source)
case v if v == "commodityForward" =>
if (debugMode) new CommodityForwardTemplate(source) with Logger else new CommodityForwardTemplate(source)
case v => throw new Exception("Undefined trade type")
}
}
......
package templates
import scala.xml.Node
class BondForwardTemplate(source: Node) extends TradeTemplate(source) {
protected[this] def templateTradeBody: Node = {
<fpml:bondOption>
<fpml:productType>{ get(source \ "trade" \ "bondOption" \ "productType") }</fpml:productType>
<fpml:productId productIdScheme={ get(source \ "trade" \ "bondOption" \ "productId", "productIdScheme") }>{ get(source \ "trade" \ "bondOption" \ "productId") }</fpml:productId>
<fpml:buyerPartyReference href={ get(source \ "trade" \ "bondOption" \ "buyerPartyReference", "href") }/>
<fpml:sellerPartyReference href={ get(source \ "trade" \ "bondOption" \ "sellerPartyReference", "href") }/>
<fpml:optionType>{ get(source \ "trade" \ "bondOption" \ "optionType") }</fpml:optionType>
<fpml:premium>
<fpml:payerPartyReference href={ get(source \ "trade" \ "bondOption" \ "premium" \"payerPartyReference", "href") }/>
<fpml:receiverPartyReference href={ get(source \ "trade" \ "bondOption" \ "premium" \"receiverPartyReference", "href") }/>
<fpml:paymentAmount>
<fpml:currency>{ get(source \ "trade" \ "bondOption" \ "premium" \\ "currency") }</fpml:currency>
<fpml:amount>{ get(source \ "trade" \ "bondOption" \ "premium" \\ "amount") }</fpml:amount>
</fpml:paymentAmount>
{ /* paymentDate isn`t present in source!!!*/ }
<fpml:paymentDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "americanExercise" \ "expirationDate" \\ "unadjustedDate") }</fpml:unadjustedDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "bermudaExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "europeanExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:paymentDate>
</fpml:premium>
<fpml:americanExercise>
<fpml:commencementDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "americanExercise" \ "commencementDate" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:commencementDate>
<fpml:expirationDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "americanExercise" \ "expirationDate" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:expirationDate>
</fpml:americanExercise>
<fpml:bermudaExercise>
<fpml:bermudaExerciseDates>
<fpml:adjustableDates>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "bermudaExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDates>
</fpml:bermudaExerciseDates>
</fpml:bermudaExercise>
<fpml:europeanExercise>
<fpml:expirationDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "europeanExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:expirationDate>
</fpml:europeanExercise>
<fpml:notionalAmount>
<fpml:currency>{ get(source \ "trade" \ "bondOption" \ "notionalAmount" \ "currency") }</fpml:currency>
<fpml:amount>{ get(source \ "trade" \ "bondOption" \ "notionalAmount" \ "amount") }</fpml:amount>
</fpml:notionalAmount>
<fpml:optionEntitlement>{ get(source \ "trade" \ "bondOption" \ "optionEntitlement") }</fpml:optionEntitlement>
<fpml:numberOfOptions>{ get(source \ "trade" \ "bondOption" \ "numberOfOptions") }</fpml:numberOfOptions>
<fpml:settlementType>{ get(source \ "trade" \ "bondOption" \ "settlementType") }</fpml:settlementType>
<fpml:strike>
<fpml:price>
<fpml:strikePrice>{ get(source \ "trade" \ "bondOption" \ "strike" \\ "strikePrice") }</fpml:strikePrice>
<fpml:strikePercentage>{ get(source \ "trade" \ "bondOption" \ "strike" \\ "strikePercentage") }</fpml:strikePercentage>
<fpml:currency>{ get(source \ "trade" \ "bondOption" \ "strike" \\ "currency") }</fpml:currency>
</fpml:price>
</fpml:strike>
<fpml:bond id={ get(source \ "trade" \ "bondOption" \ "bond", "id") }>
<fpml:instrumentId instrumentIdScheme={ get(source \ "trade" \ "bondOption" \ "bond" \ "instrumentId", "instrumentIdScheme") }>{ get(source \ "trade" \ "bondOption" \ "bond" \ "instrumentId") }</fpml:instrumentId>
</fpml:bond>
</fpml:bondOption>
}
def isStraight = true
}
package templates
import scala.xml.Node
class CommodityForwardTemplate(source: Node) extends TradeTemplate(source) {
protected[this] def templateTradeBody: Node = {
<fpml:bondOption>
<fpml:productType>{ get(source \ "trade" \ "bondOption" \ "productType") }</fpml:productType>
<fpml:productId productIdScheme={ get(source \ "trade" \ "bondOption" \ "productId", "productIdScheme") }>{ get(source \ "trade" \ "bondOption" \ "productId") }</fpml:productId>
<fpml:buyerPartyReference href={ get(source \ "trade" \ "bondOption" \ "buyerPartyReference", "href") }/>
<fpml:sellerPartyReference href={ get(source \ "trade" \ "bondOption" \ "sellerPartyReference", "href") }/>
<fpml:optionType>{ get(source \ "trade" \ "bondOption" \ "optionType") }</fpml:optionType>
<fpml:premium>
<fpml:payerPartyReference href={ get(source \ "trade" \ "bondOption" \ "premium" \"payerPartyReference", "href") }/>
<fpml:receiverPartyReference href={ get(source \ "trade" \ "bondOption" \ "premium" \"receiverPartyReference", "href") }/>
<fpml:paymentAmount>
<fpml:currency>{ get(source \ "trade" \ "bondOption" \ "premium" \\ "currency") }</fpml:currency>
<fpml:amount>{ get(source \ "trade" \ "bondOption" \ "premium" \\ "amount") }</fpml:amount>
</fpml:paymentAmount>
{ /* paymentDate isn`t present in source!!!*/ }
<fpml:paymentDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "americanExercise" \ "expirationDate" \\ "unadjustedDate") }</fpml:unadjustedDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "bermudaExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "europeanExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:paymentDate>
</fpml:premium>
<fpml:americanExercise>
<fpml:commencementDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "americanExercise" \ "commencementDate" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:commencementDate>
<fpml:expirationDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "americanExercise" \ "expirationDate" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:expirationDate>
</fpml:americanExercise>
<fpml:bermudaExercise>
<fpml:bermudaExerciseDates>
<fpml:adjustableDates>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "bermudaExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDates>
</fpml:bermudaExerciseDates>
</fpml:bermudaExercise>
<fpml:europeanExercise>
<fpml:expirationDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "bondOption" \ "europeanExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:expirationDate>
</fpml:europeanExercise>
<fpml:notionalAmount>
<fpml:currency>{ get(source \ "trade" \ "bondOption" \ "notionalAmount" \ "currency") }</fpml:currency>
<fpml:amount>{ get(source \ "trade" \ "bondOption" \ "notionalAmount" \ "amount") }</fpml:amount>
</fpml:notionalAmount>
<fpml:optionEntitlement>{ get(source \ "trade" \ "bondOption" \ "optionEntitlement") }</fpml:optionEntitlement>
<fpml:numberOfOptions>{ get(source \ "trade" \ "bondOption" \ "numberOfOptions") }</fpml:numberOfOptions>
<fpml:settlementType>{ get(source \ "trade" \ "bondOption" \ "settlementType") }</fpml:settlementType>
<fpml:strike>
<fpml:price>
<fpml:strikePrice>{ get(source \ "trade" \ "bondOption" \ "strike" \\ "strikePrice") }</fpml:strikePrice>
<fpml:strikePercentage>{ get(source \ "trade" \ "bondOption" \ "strike" \\ "strikePercentage") }</fpml:strikePercentage>
<fpml:currency>{ get(source \ "trade" \ "bondOption" \ "strike" \\ "currency") }</fpml:currency>
</fpml:price>
</fpml:strike>
<fpml:bond id={ get(source \ "trade" \ "bondOption" \ "bond", "id") }>
<fpml:instrumentId instrumentIdScheme={ get(source \ "trade" \ "bondOption" \ "bond" \ "instrumentId", "instrumentIdScheme") }>{ get(source \ "trade" \ "bondOption" \ "bond" \ "instrumentId") }</fpml:instrumentId>
</fpml:bond>
</fpml:bondOption>
}
def isStraight = true
}
......@@ -5,16 +5,25 @@ import scala.xml.Node
class CommodityOptionTemplate(source: Node) extends TradeTemplate(source) {
protected[this] def templateTradeBody: Node = {
<fpml:commodityOption>
<fpml:productType>{ get(source \ "trade" \ "commodityOption" \ "productType") }</fpml:productType>
{ /* productType is unknown for RTS */ }
{ /*<fpml:productType>{ get(source \ "trade" \ "commodityOption" \ "productType") }</fpml:productType> */ }
<fpml:productId productIdScheme={ get(source \ "trade" \ "commodityOption" \ "productId", "productIdScheme") }>{ get(source \ "trade" \ "commodityOption" \ "productId") }</fpml:productId>
<fpml:buyerPartyReference href={ get(source \ "trade" \ "commodityOption" \ "buyerPartyReference", "href") }/>
<fpml:sellerPartyReference href={ get(source \ "trade" \ "commodityOption" \ "sellerPartyReference", "href") }/>
<fpml:optionType>{ get(source \ "trade" \ "commodityOption" \ "optionType") }</fpml:optionType>
{ /* optionType isn`t present in source!!!*/ }
{ /* { <fpml:optionType>{ get(source \ "trade" \ "commodityOption" \ "optionType") }</fpml:optionType> } */ }
<fpml:optionType>{ if (get(source \ "trade" \ "commodityOption" \ "buyerPartyReference", "href").mkString == "Party1") "Call" else "Put" }</fpml:optionType>
<fpml:commodity id={ get(source \ "trade" \ "commodityOption" \ "commodity", "id") }>
<fpml:instrumentId instrumentIdScheme={ get(source \ "trade" \ "commodityOption" \ "commodity" \ "instrumentId", "instrumentIdScheme") }>{ get(source \ "trade" \ "commodityOption" \ "commodity" \ "instrumentId") }</fpml:instrumentId>
<fpml:unit>{ get(source \ "trade" \ "commodityOption" \ "commodity" \ "unit") }</fpml:unit>
<fpml:currency>{ get(source \ "trade" \ "commodityOption" \ "commodity" \ "currency") }</fpml:currency>
</fpml:commodity>
{ /* effectiveDate isn`t present in source!!!*/ }
<fpml:effectiveDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "commodityOption" \ "exercise" \ "paymentDates" \\ "unadjustedDate" ) }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:effectiveDate>
<fpml:totalNotionalQuantity>{ get(source \ "trade" \ "commodityOption" \ "totalNotionalQuantity") }</fpml:totalNotionalQuantity>
<fpml:exercise>
<fpml:americanExercise>
......
package templates
import scala.xml.Node
class EquityForwardTemplate(source: Node) extends TradeTemplate(source) {
protected[this] def templateTradeBody: Node = {
<fpml:equityForward>
<fpml:productType>{ get(source \ "trade" \ "equityForward" \ "productType") }</fpml:productType>
<fpml:productId productIdScheme={ get(source \ "trade" \ "equityForward" \ "productId", "productIdScheme") }>{ get(source \ "trade" \ "equityForward" \ "productId") }</fpml:productId>
<fpml:buyerPartyReference href={ get(source \ "trade" \ "equityForward" \ "buyerPartyReference", "href") }/>
<fpml:sellerPartyReference href={ get(source \ "trade" \ "equityForward" \ "sellerPartyReference", "href") }/>
<fpml:optionType>{ "Forward" }</fpml:optionType>
<fpml:underlyer>
<fpml:basket>
<fpml:openUnits>{ get(source \ "trade" \ "equityForward" \ "underlyer" \\ "basket" \ "openUnits") }</fpml:openUnits>
{ for (s <- source \ "trade" \ "equityForward" \ "underlyer" \\ "basket" \ "basketConstituent") yield {
<fpml:basketConstituent>
<fpml:equity id={ get(s \ "equity", "id") }>
<fpml:instrumentId instrumentIdScheme={ get(s \\ "instrumentId", "instrumentIdScheme") }>{ get(s \\ "instrumentId") }</fpml:instrumentId>
</fpml:equity>
<fpml:constituentWeight>
<fpml:openUnits>{ get(s \\ "openUnits") }</fpml:openUnits>
<fpml:basketPercentage>{ get(s \\ "basketPercentage") }</fpml:basketPercentage>
<fpml:basketAmount>
<fpml:currency>{ get(s \\ "currency") }</fpml:currency>
<fpml:amount>{ get(s \\ "amount") }</fpml:amount>
</fpml:basketAmount>
</fpml:constituentWeight>
</fpml:basketConstituent>
}
}
</fpml:basket>
</fpml:underlyer>
<fpml:equityExercise>
<fpml:equityAmericanExercise>
<fpml:commencementDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "equityForward" \\ "equityAmericanExercise" \ "commencementDate" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:commencementDate>
<fpml:expirationDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "equityForward" \\ "equityAmericanExercise" \ "expirationDate" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:expirationDate>
</fpml:equityAmericanExercise>
<fpml:equityBermudaExercise>
<fpml:bermudaExerciseDates>
<fpml:adjustableDates>
<fpml:unadjustedDate>{ get(source \ "trade" \ "equityForward" \\ "equityBermudaExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDates>
</fpml:bermudaExerciseDates>
</fpml:equityBermudaExercise>
<fpml:equityEuropeanExercise>
<fpml:expirationDate>
<fpml:adjustableDate>
<fpml:unadjustedDate>{ get(source \ "trade" \ "equityForward" \\ "equityEuropeanExercise" \\ "unadjustedDate") }</fpml:unadjustedDate>
</fpml:adjustableDate>
</fpml:expirationDate>
</fpml:equityEuropeanExercise>
<fpml:settlementCurrency>{ get(source \ "trade" \ "equityForward" \ "equityExercise" \ "settlementCurrency") }</fpml:settlementCurrency>
<fpml:settlementType>{ get(source \ "trade" \ "equityForward" \ "equityExercise" \ "settlementType") }</fpml:settlementType>
</fpml:equityExercise>
<fpml:forwardPrice>
<fpml:currency>{ get(source \ "trade" \ "equityForward" \ "forwardPrice" \ "currency") }</fpml:currency>
<fpml:amount>{ get(source \ "trade" \ "equityForward" \ "forwardPrice" \ "amount") }</fpml:amount>
</fpml:forwardPrice>
</fpml:equityForward>
}
def isStraight = true
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment