Data Adapter clients can use the BYOD service to submit positions in derivatives on structured products. This is available for both FundApps CSV file and FundApps XML file, with some differences explained below.
Example structure
You can implement this using the below steps:
Supply Data Adapter with details of your derivative holding on the structured products, specifying
an extra column ULAssetClass (Underlying Asset Class) to be
StructuredProduct.
| PortfolioId | AssetId | AssetName | Quantity | SFTType | Price | InstrumentCurrency | AssetClass | DataProviderId | ULAssetClass |
|---|---|---|---|---|---|---|---|---|---|
| GMF | OTC_SP | Option on StructuredProduct | 1000 | Normal | 100 | GBP | Option | StructuredProduct | |
| GMF | MSFT_EQ | Microsoft Equity | 1000 | Normal | 100 | USD | Equity | MSFT US Equity | |
| GMF | AAPL_EQ | Apple Equity | 1000 | Normal | 100 | USD | Equity | AAPL US Equity |
Supply the Bring Your Own Data service (see: Bring your own data (BYOD) guide for details) with mappings for the constituents of the structured product.
CompositeId equals
AssetId + ULAssetClass
In this example we have CompositeId = OTC_SP_StructuredProduct, because
AssetId = OTC_SP and ULAssetClass = StructuredProduct.
| CompositeId | CompositeIdType | ComponentId | ComponentIdType | Weighting | WeightingQuantity |
|---|---|---|---|---|---|
| OTC_SP_StructuredProduct | InstrumentId | MSFT US Equity | DataProviderId | 0.2 | 5000 |
| OTC_SP_StructuredProduct | InstrumentId | AAPL US Equity | DataProviderId | 0.3 | |
| OTC_SP_StructuredProduct | InstrumentId | AMZN US Equity | DataProviderId | 0.5 |
Once sent through, the Data Adapter service will generate the option on the structured product, while the BYOD service will then map any of the components you hold outright.
In this example, we would get…
<Equity InstrumentId="MSFT US Equity" InstrumentName="Microsoft Equity" ..../">
<Equity InstrumentId="AAPL US Equity" InstrumentName="Apple Equity" ..../">
<Option InstrumentId="OTC_SP" InstrumentName="Option on StructuredProduct" InstrumentCurrency="GBP" Price="100" InstrumentCurrency="GBP">
<Component InstrumentId="OTC_SP_StructuredProduct"/>
</Option>
<StructuredProduct InstrumentId="OTC_SP_StructuredProduct" InstrumentName="Dummy StructuredProduct">
<Component InstrumentId="MSFT US Equity" Weighting="0.2"/>
<Component InstrumentId="AAPL US Equity" Weighting="0.3"/>
</StructuredProduct>
You can implement this using the below steps:
Supply the Data Adapter with details of your derivative holding and its components. You also need
to provide information about the components held by the derivative itself, as shown in the example
with MSFT US Equity.
<Snapshot Date="2023-12-21">
<Instruments>
<Swap AssetClassCustomer="Swap" InstrumentCurrency="KRW" InstrumentId="swap_prop_kospi100" InstrumentName="Kospi Swap" IsCashSettled="true" Market="XXXX" MarketsListedIn="XXXX">
<Component InstrumentId="OTC_SP_StructuredProduct" />
</Swap>
<Index AssetClassCustomer="Equity Index" InstrumentId="OTC_SP_StructuredProduct" InstrumentName="KOREA KOSPI 100 INDEX" InstrumentCurrency="KRW" IssuerId="1412562" LocalTicker="KOSPI100 Index" Price="2950.650000" />
<Equity AssetClassCustomer="Equity" InstrumentCurrency="USD" InstrumentId="MSFT US Equity" InstrumentName="MSFT US" CUSIP="037833100" Market="XNYM" MarketsListedIn="XNYM" Price="123" />
</Instruments>
<Portfolios>
<Portfolio PortfolioId="11">
<Asset AssetId="swap_prop_kospi100" AssetName="Kospi Swap" InstrumentId="swap_prop_kospi100" MarketValue="100000" Quantity="100000" />
</Portfolio>
</Portfolios>
</Snapshot>
Supply the Bring Your Own Data service (see: Bring your own data (BYOD) guide for details) with mappings for the constituents of the structured product.
CompositeId matches the
InstrumentId in the EXPOST file. The component in the example is also an OTC and only
has an InstrumentId, so ComponentIdType must be set to
InstrumentId.
| CompositeId | CompositeIdType | ComponentId | ComponentIdType | Weighting | WeightingQuantity |
|---|---|---|---|---|---|
| OTC_SP_StructuredProduct | InstrumentId | MSFT US Equity | InstrumentId | 0.2 | 5000 |
| OTC_SP_StructuredProduct | InstrumentId | AAPL US Equity | InstrumentId | 0.3 | |
| OTC_SP_StructuredProduct | InstrumentId | AMZN US Equity | InstrumentId | 0.5 |
Once sent through, BYOD service will then map any components that are held outright.
In this example, we would get…
<Snapshot Date="2023-12-21">
<Instruments>
<Swap AssetClassCustomer="Swap" InstrumentCurrency="KRW" InstrumentId="swap_prop_kospi100" InstrumentName="Kospi Swap" IsCashSettled="true" Market="XXXX" MarketsListedIn="XXXX">
<Component InstrumentId="OTC_SP_StructuredProduct"/>
</Swap>
<Index AssetClassCustomer="Equity Index" InstrumentCurrency="KRW" InstrumentId="OTC_SP_StructuredProduct" InstrumentName="KOREA KOSPI 100 INDEX" Price="2950.650000" IssuerId="1412562" LocalTicker="KOSPI100 Index">
<Component InstrumentId="MSFT US Equity" Weighting="0.2"/>
</Index>
<Equity AssetClassCustomer="Equity" InstrumentCurrency="USD" InstrumentId="MSFT US Equity" InstrumentName="MSFT US" Price="123" CUSIP="037833100" Market="XNYM" MarketsListedIn="XNYM"/>
</Instruments>
<Portfolios>
<Portfolio PortfolioId="11">
<Asset AssetId="swap_prop_kospi100" AssetName="Kospi Swap" InstrumentId="swap_prop_kospi100" MarketValue="100000" Quantity="100000"/>
</Portfolio>
</Portfolios>
</Snapshot>