Capturing Contract For Difference Trades
Download PDF - Contract for Difference
Ⓘ [NOTE: Contracts for Difference (CFDs) will be deprecated in an upcoming release. It is recommended to use Portfolio Swaps instead]
1. Overview
The goal of a CFD (Contract for Difference) is to offer a client the ability to buy or sell equities without having the stock, and to receive the dividend (or part of the dividend) against a commission. The advantage for the clients is that they do not have any stamp duty or brokerage fees, they just pay a commission. Another advantage is that they can be short on a security.
Trading a CFD is very similar to standard stock trading. You deal at the cash price of the stock, and pay a commission, which is calculated as a percentage of the value of the transaction. However, you do not have to pay for the full value of the stock. Instead you put up a deposit, which is normally between 10% and 25% of the underlying contract value depending on the type of stock and the time zone where you are located.
Almost all payments are done periodically and altogether, on reset date. Under certain conditions, payments can take place during the period: this is the case for termination fees, dividends or performance.
There are two ways to configure CFD and manage CFD positions and lifecycle in the system. You can choose one way or another by ticking the flag "No Perf" on the CFD contract definition. The main impacts are described below.
Process | "No Perf" = false | "No Perf" = true |
---|---|---|
Liquidation method |
Only the CFD liquidation method is supported. No liquidation takes place when a sell trade is captured. Liquidation takes place when a CFD trade is terminated. |
Generic liquidation methods are supported. Liquidation takes place when a sell trade is captured. |
Position report |
CFD Position Keeper. |
Position Keeper or CFD Position Keeper. |
Termination |
Yes (CFD Termination window). |
No. |
Performance payment |
Performance is paid on reset date (CFD_RESET scheduled task) and on termination. |
Performance is paid at liquidation. A Sell trade is liquidated against a Buy trade and a performance transfer is attached to the Sell trade. It is not necessary to terminate the trade. Performance can also be paid based on the reset frequency of the contract using the scheduled task CORPORATE_ACTION provided the domain “CFDGeneratePriceChange” contains the value “true”. It generates a CA of type TRANSFORMATION. |
Margin call process |
No. |
Margin call process is supported. |
Corporate action process |
Scheduled task CFD_CA. |
Scheduled task CORPORATE_ACTION. |
Funding, Fees payment |
On reset date by the scheduled task CFD_FUNDING. |
On reset date by the scheduled task CFD_FUNDING. |
It is recommended to use the "No Perf" = true method, and this document mostly describes that method. The specifics of the "No Perf" = false method are described below.
See "No Perf" = false Method for details.
2. Setup Requirements
CFD trading requires a number of reference data to be set up.
The setup requirements apply to both methods.
2.1 CFD Provider
For CFD trading, you need to define CFD providers as legal entities of role Provider. The CFD providers will usually be defined as processing organizations or counterparties as well.
From Calypso Navigator choose Configuration > Legal Data > Entities (menu action refdata.BOLegalEntityWindow
).
2.2 Legal Entity Attributes
Market Place
To correctly handle spot days calculation, you need to set the SpotDays attribute to the applicable number of offset days for the market place where the CFD contract is traded.
Processing Org
NRTAX and TAX attributes for fee calculation.
Counterparty
RESIDENT attribute for fee calculation.
2.3 Fees
The following fees should be defined using Calypso Navigator > Configuration > Fees, Haircuts, & Margin Calls > Fee Definition (menu action trading.FeeDefinitionWindow
).
The Allocation checkbox is not checked for any fee.
Fee Type | Calculator | Pricing | Accounting | Transfer | Settlement Amount | Description |
---|---|---|---|---|---|---|
EXEC_FEE |
CFD |
X |
X |
|
X |
Fee attached to the CFD trade. It represents the execution fee amount excluding VAT. |
EXEC_FEE_INCVAT |
CFD |
X |
X |
|
X |
VAT amount in case the counterparty is a tax resident (PO LE attribute TAX = applicable %) Fee definitions are mandatory. But if these attributes are not defined, the fees are not calculated. It is still possible to save the CFD trade. |
EXEC_FEE_ NRVAT |
CFD |
X |
X |
|
X |
Non-recoverable VAT amount in case the counterparty is not a tax resident (PO LE attribute NRTAX = applicable %). Fee definitions are mandatory. But if these attributes are not defined, the fees are not calculated. It is still possible to save the CFD trade. |
EXECUTION_FEE |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle the total amount of all EXEC_FEEs computed since last reset for a CFD Id. |
FUNDING_COST |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle the total amount of all CAs type FUNDING subtype FUNDING_COST computed since last reset for a CFD ID. |
STOCK_BORROWING |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle the total amount of all CAs type FUNDING subtype INDEMNITY computed since last reset for a CFD ID. |
PERFORMANCE |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle the asset performance amount (difference between last reset price and current reset price) for a CFD ID. |
FX_PERFORMANCE |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle the FX performance amount (difference between applicable FX reset on last reset date and current reset date) for a CFD ID. This is the Applicable in case Payment currency is different from asset currency. |
DIVIDEND |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade (type DIVIDEND or RESET depending on the parameter Dividend Mode of the CFD contract). It represents the dividend amount for a CFD ID. |
MC_CFD_DIVIDEND |
NONE |
|
X |
X |
|
In the event that CFD Contract has DIVIDEND MODE = MARGIN CALL, and the Margin Call contract between PO and Cpty has the Additional Info attribute RST defined, on payment date of the dividend, then if the PO is long, system will generate MC_CFD_DIVIDEND fee and attach it to the Margin Call trade. PO is short: dividend payment is done via the CFD_RESET scheduled task. |
RIGHT_ISSUE |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle any RIGHT_ISSUE generated during the period. See corporate action section for details. |
CA_FEE |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle any CA_FEE generated during the period. See corporate action section for details. |
ADJUSTMENT |
NONE |
X |
X |
X |
|
Fee attached to the reset trade to settle any adjustment fee added during the period. |
INTEREST |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle any INTEREST generated during the period. See corporate action section for details. |
CAPITALRETURN |
NONE |
X |
X |
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle any CAPITALRETURN generated during the period. See corporate action section for details. |
VAT |
NONE |
|
|
X |
|
Fee attached to the RESET/TRANSFORMATION trade to settle any VAT generated during the period. |
TERMINATION_FEE TERM_FEE_INCVAT TERM_FEE_NRVAT |
CFD |
X |
X |
X |
|
Once generating the Termination deal, if the Fee button is ON, termination fees will be automatically generated by the system on termination value date. These are the only default fees that are not settled on reset date but with the CFD termination deal. |
FXREALIZED_BUY FXREALIZED_SELL FXREALIZED_PL |
NONE |
|
X |
|
|
Fees attached to the RESET/TRANSFORMATION trade for accounting purposes only. FXREALIZED_BUY: Buy Qty x Initial Asset Buy Quote x [LastFXReset - NewFXReset] FXREALIZED_SELL: Sell Qty x Initial Asset Sell Quote x [LastFXReset - NewFXReset] |
Sample fee:
2.4 Engine Configuration
The Transfer engine is configured in the Engine Manager of Web Admin: event subscription and engine parameters.
It must subscribe to the following events: PSEventLiquidatedPosition and PSEventUnliquidationPosition.
Please refer to Calypso Web Admin documentation for complete details.
2.5 Defining a CFD Country Grid
In order to trade CFD contracts, you first have to define the general trading conditions of the CFD provider.
From Calypso Navigator choose Configuration > Equity > CFD Country Grid (menu action refdata.CFDCountryGridWindow
) to define a CFD country grid as shown below.
Select the Edit panel to create new country grids and modify existing country grids.
» | Click New to create a new country grid. Enter the fields described below as applicable. |
» | Click Show next to the Attributes fields to specify custom attributes. |
See Custom Attributes below for details.
» | Then click Save to save your changes. You can also click Save as new to save the country grid as a new country grid. |
Note that if the Authorization mode is enabled, an authorized user must approve your entry.
When saving an existing grid, you will be prompted to terminate the grid and create a new one instead.
– | If you answer Yes, you will be prompted to enter a termination date. The current grid will be terminated on that date, and a new grid will be started. |
– | If you answer No, the current grid will be saved with your changes. |
Fields Details
Fields | Description |
---|---|
Provider |
Click ... to select the CFD provider. The CFD provider is a legal entity of role Provider. In order to enable the fee fields, the CFD provider should also be a processing org (a legal entity of role ProcessingOrg). Otherwise, the fee information will be entered when the CFD contract is specified. |
Date |
Creation date. Defaults to the current date. Modify as applicable. |
Grid Id |
Unique id automatically given by the system when the country grid is saved. |
Country Code |
Select the country where the grid applies. |
Valid From To |
Enter a valid start date and end date as applicable. |
Product Type |
Select a product type to which the grid applies. |
Product |
Click ... to select a product. You can click Show to view the product details. |
Cost Type |
Enter the execution cost based on the Type field: amount or basis points. The execution cost is charged to a client whenever the client deals or terminates a CFD. |
Fee Threshold |
Enter the minimum execution fee amount charged to a client for a given transaction. |
Dividend Receivable % |
Enter the dividend receivable percentage. This is the percentage of the dividend received by the provider when the client holds a short position. Should always be superior or equal to the dividend payable. |
Stock Borrowing Fee |
Enter the stock borrowing fee (expressed in basis points). The stock borrowing fee is paid by a client whenever the client has a short position via a CFD. |
Dividend Payable % |
Enter the dividend payable percentage. This is the percentage of the dividend paid by the provider when the clients holds a long position. |
Stock Lending Fee |
Enter the stock Lending fee (expressed in basis points). The stock lending fee is paid by the provider whenever the client has a long position via a CFD. |
Click Show next to the Attributes fields to specify custom attributes as shown below.
» | Click ... to add custom attributes as applicable. |
» | Double-click a value cell to enter the value of the corresponding attribute. |
» | Then click Apply. |
3. Defining CFD Contracts
A CFD contract between two legal entities specifies the details of the contract, what CFD country grid to use, and the details of the deposit.
From Calypso Navigator choose Configuration > Equity > CFD Contracts (menu action refdata.CFDContractWindow
) to define CFD contracts as shown below.
Select the Edit panel to create new country grids and modify existing country grids.
» | Click New to create a new contract. Enter the fields described below as applicable. |
» | Select the Detail panel to enter the contract details. |
See Contract Panel below for details.
» | Select the Financial panel to enter the financial grid. |
See Financial Grid below for details.
» | Then click Save to save your changes. You can also click Save as new to save the contract as a new contract. |
Note that if the Authorization mode is enabled, an authorized user must approve your entry.
Fields Details
Fields | Description | ||||||
---|---|---|---|---|---|---|---|
Processing Org |
Click ... to select the processing org. The processing org is a legal entity of role ProcessingOrg. |
||||||
Way |
Select the role of the ProcessingOrg in the contract:
|
||||||
CounterParty |
Click ... to select the counterparty of the contract. The role of the counterparty defaults to CounterParty but it can be changed to any role using the Role field. |
||||||
Role |
Select the role of the contract’s counterparty. |
||||||
Creation date |
Creation date of the contract. Defaults to the current date. Modify as applicable. |
||||||
Termination date |
Enter the end date of the contract as applicable. |
||||||
Id |
Unique id automatically assigned by the system when the contract is saved. |
||||||
Search | Enter the first few letters of the contract name and corresponding contracts will appear. Select a contract as needed. | ||||||
Name | Enter the name of the contract . |
3.1 Contract Details
Select the Detail panel to specify the contract details as shown below.
» | Select the E(dit) panel and enter the fields described below. Then click Add/Update detail to add or modify contract details. The details will appear in the B(rowse) panel. |
You can specify multiple contract details using the effective from and to dates since contract details may evolve over time.
When updating a details record, you will be prompted to terminate the record and create a new one instead.
– | If you answer Yes, you will be prompted to enter a termination date. The current record will be terminated on that date, and a new record will be started. |
– | If you answer No, the current record will be saved with your changes. |
» | Select the B(rowse) panel to view the contract details as shown below. |
From that panel, you can double-click a contract detail to load it into the E(dit) panel and modify it as applicable.
» | Click Show next to the Attributes field to specify custom attributes as applicable. |
See Custom Attributes below for details.
Fields Details
Fields | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Effective From/To |
Enter the effective start and end dates. |
|||||||||
Deposit Ccy |
Select the deposit currency. |
|||||||||
Payment Ccy |
Select the currency for the CFD payments. It can be set to the funding currency or to a given currency. |
|||||||||
Offset |
Select the number of offset days for CFD payments. This is the number of days after the reset/fee invoice date where the payment is made). This field is mandatory. |
|||||||||
No Perf |
Check or clear to select the management method of the CFD positions. If checked, the liquidation method should NOT be CFD and performance is paid at liquidation or at reset frequency using the scheduled CORPORATE_ACTION. If clear, the liquidation method should be CFD and performance is paid on reset date and at termination. |
|||||||||
Net Position |
Select to net the position on the contract to identify a long or short spread for funding. |
|||||||||
Custom Reset Dates |
Check the “Custom Reset Dates” checkbox to specify custom reset dates as shown below, or uncheck to select a reset frequency.
|
|||||||||
Reset Frequency |
Only active if the “Custom Reset Dates” checkbox is clear. Click ... to select a date rule for specifying the reset frequency. Date rules are created using Calypso Navigator > Configuration > Definitions > Date Schedule Definitions > Date Rules. |
|||||||||
Trading Gain Pay Method | Two options can be selected: "Effective Date” or "Perf Schedule” --establishing whether trading gains are settled on the next reset date or the performance schedule payment date. | |||||||||
1st Reset Date |
Only active if the “Custom Reset Dates” checkbox is clear. Enter the date of the first reset. This field is mandatory. |
|||||||||
Dividend Mode |
Select the dividend payment date: PAYMENT DATE, RESET DATE, or MARGIN CALL.
You can set the attribute IGNORE_OFFSET_DIV to generate the payment of the dividend on CA Payment date instead of CA payment date + offset days.
For Dividend Mode, PAYMENT DATE, RESET DATE and MARGIN CALL (in the event PO is short) the dividend payment will be generated by the scheduled task CFD_RESET. |
|||||||||
FX Conv. Rule |
Select the FX conversion date: PAYMENT DATE or RESET DATE. If Dividend Mode = RESET DATE:
If Dividend Mode = PAYMENT DATE or MARGIN CALL: FX Spot is the FX Spot on Corporate Action Payment Date regardless of FX conversion rule. |
3.2 Custom Attributes
On the Detail panel, click Show next to the Attributes fields to open the CFD Contract Attributes Window:
» | Click ... to add custom attributes as applicable. |
» | Double-click a value cell to enter the value of the corresponding attribute. |
» | Then click Apply. |
3.3 Financial Grid
Select the Financial panel to specify the financial grid of the contract as shown below.
» | Select the E(dit) panel and enter the fields described below. Then click Add/Update to add or modify a financial grid. The grid will appear in the B(rowse) panel. |
You can specify multiple financial grids for different assets.
When updating a grid, you will be prompted to terminate the grid and create a new one instead.
– | If you answer Yes, you will be prompted to enter a termination date. The current grid will be terminated on that date, and a new grid will be started. |
– | If you answer No, the current grid will be saved with your changes. |
» | Select the D(eposit) panel to enter deposit information. |
See Deposit below for details.
» | Select the B(rowse) panel to view the contract details as shown below. |
From that panel, you can double-click a grid to load it into the E(dit) panel and modify it as applicable.
Fields Details
Fields | Description |
---|---|
Effective From/To |
Enter the effective start and end dates. |
Country grid Id |
Automatically displayed by the system based on the selected country, product, and asset. The system will automatically display default margin values based on the country grid valid for this country and product type. Click ... to create a country grid or view the details of the selected country grid.
|
Country |
Select a country. It refers to the country of the exchange where the product is traded. |
Product |
Select a type of product (Convertible Bond, Equity or Equity Index). |
Asset |
Click ... to select a specific product of selected product type. Click Show to display the details of the selected product. |
Execution |
Enter an execution margin. The adjacent gray field represents the total execution fee (execution cost from the selected country grid + execution margin). |
Stock Borrowing |
Enter a stock borrowing margin (in basis points). The adjacent gray field represents the total stock borrowing fee (stock borrowing fee from the selected country grid + stock borrowing margin). |
Stock Lending |
Enter a stock lending margin (in basis points). The adjacent gray field represents the net stock lending fee (stock lending fee from the selected country grid - stock lending margin). |
Dividend Receivable |
Enter a dividend receivable margin (expressed in percentage). The adjacent gray field represents the total dividend receivable percentage (dividend receivable % from the selected country grid + dividend receivable margin). |
Dividend Payable |
Enter a dividend payable margin (expressed in percentage). The adjacent gray field represents the net dividend payable percentage (dividend payable % from the selected country grid – dividend payable margin). |
Funding Spread |
Enter a spread applicable to the funding rate (expressed in basis points). |
Use Different Spreads |
Select to add two spreads, a short and a long spread.
|
Funding Rate |
Select a currency, index, tenor and source to define the reference interest rate for the funding. |
3.4 Deposit
Select the D(eposit) panel to specify deposit information as shown below.
» | Enter the fields described below and click Add deposit to add a deposit. |
You can also specify multiple deposits for different strategies.
» | Select a deposit and modify the fields described below as applicable. Then click Update deposit to save your changes. |
When updating a deposit, you will be prompted to terminate the record and create a new one instead.
– | If you answer Yes, you will be prompted to enter a termination date. The current record will be terminated on that date, and a new record will be started. |
– | If you answer No, the current record will be saved with your changes. |
Fields Details
Fields | Description | ||||||
---|---|---|---|---|---|---|---|
Effective From/To |
Enter the effective start and end dates. |
||||||
Strategy |
Select a strategy. You need to specify a deposit for the strategy of the CFD trade. So for example, if the CFD trade uses a DIRECTIONAL strategy, you need a DIRECTIONAL deposit.
|
||||||
Deposit Ccy |
Displays the deposit currency specified in the Detail panel. |
||||||
Deposit Req. Type |
Enter the percentage or amount of deposit required, based on the Type field: Percentage or Amount. |
4. Capturing CFD Trades
Choose Trade > Equity > Contract for Difference Contract (menu action trading.TradeCFDWindow
) to open the CFD trade worksheet, from Calypso Navigator or from the Trade Blotter.
When you open the worksheet, the Trade panel is selected by default.
CFD Trades Quick Reference Entering Trade Details
Or you can enter the trade fields directly. They are described below. Note that the Trade Date is entered in the Details panel.
Saving a Trade
You can also hit F3 to save the current trade as a new trade, or choose Trade > Save As New. A description will appear in the title bar of the trade worksheet, a trade id will be assigned to the trade, and the status of the trade will be modified according to the workflow configuration. Pricing a Trade
|
4.1 Directional CFD Trade
A Directional CFD is a simple strategy deal. To enter simple strategy, you need to have a deposit configured for strategy = DIRECTIONAL.
Select the 1st leg panel to enter simple strategy deals.
» | Enter the fields described below for the first leg. |
» | Based on the selected strategy, a second leg will appear within the Trade panel. The fields are the same as of the first leg. |
» | Click Calc. Fees to calculate the fees associated with the trade. The Fees panel for the corresponding leg will appear as shown below. The fees are calculated based on the CFD setup and the CFD contract. |
» | Proceed to the other panels as applicable. |
» | Then hit F5 to save the trade or choose Trade > Save. |
The system will create one transfer type SECURITY for the CFD trade, with Transfer amount = Quantity traded and money amount = 0. This transfer is used to build the CFD position.
Apart from when there is a liquidation and a PERFORMANCE transfer type is generated on the Sell trade, there is no other transfer attached by default to the CFD trade as all payments are done altogether on reset date (fees attached to reset trade).
Fields Details
Fields | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Cpty |
Select the trade counterparty. It will control the settlement and delivery instructions of the trade, as well as the available CFD contracts. The Trade counterparty is a Legal Entity. The default role is CounterParty, however, you can change this role as applicable. Double-click the CounterParty label to change the role. You will be prompted to select a role. You can click ... to select a legal entity of specified role from the Legal Entity Chooser. You can also type Ctrl-F to invoke the Legal Entity Chooser, or directly enter a Legal Entity short name. |
|||||||||
Book |
Select the trading book to which the trade belongs. Defaults to the book selected in Calypso Navigator > Configuration > User Access Control > User Defaults. The processing org of the book identifies the processing org of the trade. |
|||||||||
Contract |
Select a CFD contract applicable for the selected counterparty and processing org. The name of the contract is built as “Processing org (way of the PO = U for User, P for Provider) + counterparty (counterparty’s role) + contract creation date + contract termination date”. You can click ... to display the details of the selected contract or to create a CFD contract.
|
|||||||||
Template |
You can select a template from the Template field to populate the worksheet with default values. Then modify the fields as applicable. |
|||||||||
Security |
Click ... to open the Product Chooser window for selecting an equity, an equity index, or a convertible bond - Help is available from that window. If CFD products already exist for this security, you will be prompted to select a CFD product (counterparty / strategy / security combination). You can also select an existing CFD product ID. In that case, the position will be updated once the trade is captured. Or you can choose to create a new strategy (by clicking on Cancel). You can click Show to display the security’s details. |
|||||||||
Trade Id |
Unique identification number of the trade. The trade id is automatically assigned by the system when the trade is saved. You can load an existing trade by typing the trade id into this field. |
|||||||||
Currency |
Displays the currency of the selected security. |
|||||||||
Value Date |
The value date defaults to the trade date plus the number of spot days of the selected security’s Market Place. If you change the trade date, double-click the Value Date label to update the value date accordingly. |
|||||||||
Portfolio |
Select the execution portfolio, optional. Execution portfolios are defined in the domain TradeCFDExePortfolio. The selected portfolio is stored in the trade keyword "TradeCFDExePortfolio" as shown below.
|
|||||||||
Status |
Current status of the trade. The status is automatically assigned by the system based on the workflow configuration. The status will change over the lifetime of the trade according to the workflow configuration and the actions performed on the trade. |
|||||||||
Buy (client sell) Sell (client buy) |
Direction of the trade. Double-click the Buy (client sell) label to change to Sell (client buy) as applicable. |
|||||||||
Qty |
Enter the quantity that is traded. |
|||||||||
Price |
Enter the negotiated. The adjacent field displays the type of price based on the security’s quote type. |
|||||||||
Strategy |
Select the strategy from: Directional, Pair Trade, Risk Arbitrage or Convertible Arbitrage. Directional trades have only one leg, while the other types of strategies have two legs. Ⓘ [NOTE: The CFD contract must be defined with a deposit for the selected strategy] |
|||||||||
Id |
Unique product id given by the system when the trade is saved. A CFD product is saved for each combination of counterparty, strategy and security. You can click Codes to enter code values as shown below.
When the product is created, you can click Show to view the product’s details. The CFD Product window will appear as shown below.
|
|||||||||
Div. Lock Ccy |
The dividend payment currency defaults to the dividend payment currency specified in the contract. You can check the adjacent checkbox to enable its modification. |
|||||||||
Funding Rate |
The funding rate defaults to the funding rate specified in the contract. You can check the adjacent checkbox to enable its modification.
|
|||||||||
Deposit Req. Deposit Type |
The deposit requirement and type defaults to the deposit requirement and type specified in the contract. You can check the adjacent checkbox to enable their modification. |
4.2 Other Strategies
It is possible to enter multi legs deals by selecting strategies PAIR TRADING, RISK ARB or CONVERTIBLE ARB in the strategy field of the CFD trade window.
Selecting these strategies will enable the 2nd leg panel of the trade window. Make sure deposit configuration exists for the selected strategy. The 2nd leg panel offers the same possibility than the 1st leg panel, but with opposite direction.
It is also possible to transfer assets between strategies from the CFD trade window using the (InterStrategy panel).
Click Execute Transfer to save the trades. The system creates two simple-strategy trades: one on the "From strategy" product and one on the "To strategy" product. On each trade, the system stores the CFD product ID of the other strategy in the trade keyword "TradeCFDInterStrategy". For non inter-strategy trades, this keyword is empty.
Ⓘ [IMPORTANT NOTE: Do not hit F5, and do not choose Trade > Save, otherwise the system will try to save a simple strategy trade from the 1st leg panel. The inter-strategy trades are saved when you click Execute Transfer]
Fields Details
Fields | Description |
---|---|
Security |
Click ... to open the Product Chooser window for selecting an equity, an equity index or a convertible bond. You can click Show to display the security’s details. |
Currency |
Displays the currency of the selected security. |
From strategy |
Select a CFD product from the From Strategy field. A CFD product is a combination of counterparty, strategy and security. The security will be transferred from the selected CFD product. You can click Show to show the details of the selected CFD product. |
Position (Client) |
Displays the current position of the selected CFD product in the selected book. You can click R to refresh the position. |
To strategy |
Select a CFD product from the To Strategy field. A CFD product is a combination of counterparty, strategy and security. The security will be transferred to the selected CFD product. You can click Show to show the details of the selected CFD product. |
Position (Client) |
Displays the current position of the selected CFD product in the selected book. You can click R to refresh the position. |
Quantity (+ / -) |
Enter the quantity of security you want to transfer. Double-click the Quantity (+) label to change to Quantity (-) as applicable. |
Price |
Enter the transfer price. |
Value Date |
The value date defaults to the trade date plus the number of spot days of the selected security’s Market Place. If you change the trade date, double-click the Value Date label to update the value date accordingly. |
4.3 CFD Menu
The menu items of the CFD menu are described below.
Menu Items | Description |
---|---|
Price (F4) |
To price the trade. The pricing area is described under Help > Trade Functions. |
Configure Results |
To configure the pricer measures to be displayed in the Results panel. You will be prompted to select pricer measures. Pricer measures are the outputs of the pricing routines. |
Save As Template |
To save the trade as a template. You will be prompted to enter a template name and specify whether the template is private or public. Other users will not be able to use private templates. |
Delete Template |
To delete a template. You will be prompted to select a template. Only the user who created a template (whether it is public or private) can delete it. You can also delete templates using Calypso Navigator > Utilities > Maintenance > Monitoring > Clean-up > Clean-up Database > - Products panel.
|
Save Result Config |
To save the pricer measures configuration. |
Create new CFD product |
Allows modifying or canceling a strategy when its position equals zero. Access Permission: AuthorizeCFDCustom is available. |
4.4 Positions
It is possible to use the Inventory Position report to display the CFD positions, based on the status of the transfers.
It is also possible to use either the CFD Position Keeper or the Position Keeper to display the economic positions.
5. Funding Process
Funding and Stock Borrowing/Lending events are generated by the CFD_FUNDING scheduled task. This scheduled task creates CA trades with the sub-types FUNDING_COST and INDEMNITY. The funding amounts are stored as fees.
Add the following values to the CA.subtype domain.
• | FUNDING_COST |
• | INDEMNITY |
The CFD_FUNDING scheduled task is in charge of the calculation of Funding and Stock Borrowing/Lending costs. This scheduled task should be launched every day. It will create corporate action trades with no transfers. These CA trades are created with the daily funding cost amount/ indemnity amount and are used to impact the P&L.
The total amount will be paid/received on Reset Date by two fees (FUNDING_COST & STOCK_BORROWING) attached to the RESET/TRANSFORMATION trade. The RESET trade and associated fees are generated by the CFD_RESET scheduled task. The TRANSFORMATION trade is generated by the CORPORATE_ACTION scheduled task.
The Funding cost is calculated with using the following formula:
Funding = Position amount * Average Price of the Position * Funding rate (+ long or short spread)/basis [the basis is the one defined in the funding rate definition]
With funding spread depending on two parameters of the CFD contract:
• | Short or Long spread defined in the financial grid. |
• | Flag ‘Net position’. If the flag ‘Net position’ is set to ON, the system sums all the positions of the client (whatever the underlyings and strategies are), and determines whether the global position is short or long. It then uses either the Long or Short spread to calculate the funding. If the flag ‘Net position’ is set to OFF, the spread (Long or Short) will be chosen product by product (i.e. for each strategy-asset per client). This is the default calculation. |
The Stock Borrowing is calculated with using the following formula:
Stock Borrowing = Position Amount * Market Price of the Position * Stock Borrowing Fee/Basis
The basis is the one defined in the funding rate definition.
The Stock Borrowing Fee is defined in the Country Grid.
From Calypso Navigator choose Configuration > Scheduled Tasks to execute the CFD_FUNDING scheduled task as shown below.
» | Select the CFD_FUNDING task type. |
» | Select a trade filter that contains the Product Type criteria to filter CFD products. |
» | Select the pricing measures FUNDING_COST and INDEMNITY. |
» | Specify the attributes as applicable: |
CfdId – You can enter the id of a specific CFD product to generate funding for all CFD trades on the selected CFD product (strategy).
SinceLastReset – Select True or False. If True, the funding and stock borrowing/lending are recalculated from the last reset and re-stored if necessary.
AlternateMeasures – You can specify a number of additional pricing measures that will be stored as fees as FUNDING_COST.<pricing_measure>,INDEMNITY.<pricing_measure>, etc.
FundingRate – Select a reference index as needed. Optional.
AssetId – You can enter the id of a specific product to generate funding for all CFD trades on the selected security.
» | Then save the scheduled task and execute it as applicable. |
The scheduled task generates CA trades of type FUNDING_COST and INDEMNITY. The amounts are stored as fees on each CA trade.
6. Reset Process
The CFD_RESET scheduled task is used to generate payments at the end of the period. This scheduled task can be used to generate dividend payments (ValuationMode = false and DividendMode = true) or Reset payments (ValuationMode = false and DividendMode = false).
This scheduled task can also be used for the end of period for accounting valuation (ValuationMode = true).
Reset events are generated using the scheduled task CFD_RESET. This scheduled task creates CA trades with the subtype RESET. The reset amounts are stored as fees.
Add the RESET to the CA.subtype domain.
From Calypso Navigator choose Configuration > Scheduled Tasks to execute the CFD_RESET scheduled task as shown below.
» | Select the CFD_RESET task type. |
» | Select a trade filter that contains the Product Type criteria to filter CFD products. |
» | Specify the attributes as applicable: |
– | CfdId – You can enter the id of a specific CFD product to generate funding for all CFD trades on the selected CFD product (strategy). |
– | UndoOffSet – Enter a number of days to rebuild the position on Reset Date including the modifications between the reset date and the reset value date. |
– | ValuationMode – Set to true to generate the end of period PL accounting. The scheduled task will publish valuation events that will be subscribed by the CRE/ACCOUNTING engine and allows you to generate accounting for valuation. |
– | PLElements and EndOfMonth – Only apply to end of month accounting valuation and can be blank when ValuationMode = false. |
Each fee involved in the reset is defined with Accounting flag = true. The corresponding accounting event must be defined with the flag Fee Related Event set to true (the name of the accounting event must match the name of the fee).
List the name of all fees for which accounting is required in the PLElement attribute: EXECUTION_FEE, FUNDING_COST, STOCK_BORROWING, PERFORMANCE, FX_PERFORMANCE, DIVIDEND, RIGHT_ISSUE, CA_FEE, FXREALIZED_BUY, FXREALIZED_SELL, ADJUSTMENT, INTEREST, CAPITALRETURN.
NOTE: As per the above list, when listing the Fees under PLElements, be sure to not have any spacing between the commas and the next fee listed.
– | DividendMode – Select True or False. |
If True, the system will generate CA trades type RESET and subtype DIVIDEND for the payments of the dividends. Payments can occur on reset date (case where Dividend Mode of the CFD contract = RESET) or on real dividend payment date (case where Dividend Mode of the CFD contract = PAYMENT).
If False, the system will generate CA trades type RESET and subtype RESET for the payments of all other flows. Payments will occur on reset date + offset days defined on the CFD contract.
Fees involved in a reset: EXECUTION_FEE, FUNDING_COST, STOCK_BORROWING, PERFORMANCE, FX_PERFORMANCE, DIVIDEND, RIGHT_ISSUE, CA_FEE, FXREALIZED_BUY, FXREALIZED_SELL, ADJUSTMENT, INTEREST, CAPITALRETURN.
IMPORTANT: in case the flag NO PERF is false on the CFD contract (and therefore liquidation method <> CFD), the performance is not settled on reset date but at liquidation. Therefore PERFORMANCE and FX_PERFORMANCE are not needed.
– | FundingRate – Select a reference index. |
– | AssetId – You can enter the id of a specific product to generate funding for all CFD trades on the selected security. |
» | Then save the scheduled task and execute it as applicable. |
The scheduled task generates CA trades of type RESET. The amounts are stored as fees on each CA trade.
Performance flows can be generated based on the reset frequency of the contract using the scheduled task CORPORATE_ACTION for contracts with No Perf checked provided the domain “CFDGeneratePriceChange” contains the value “true”. It generates a CA of type TRANSFORMATION.
7. Margin Call Process
The Margin Call engine, Transfer engine, and Message engine should be running.
Margin calls are generated by the Collateral Manager based on collateral data, CFD positions, and existing margin call positions. Margin call positions are calculated by the Margin Call engine based on the transfers of margin call trades.
Collateral data include master agreements, as well as margin call contracts. You can specify master agreements using Calypso Navigator > Configuration > Legal Data > Legal Agreements, and margin call contracts using Calypso Navigator > Configurations > Fees, Haircuts, & Margin Calls > Margin Call.
Refer to Calypso Collateral Management Documentation for details. These should be defined prior to running the Collateral Manager.
Provided Dividend Mode = MARGIN CALL in the CFD Contract, Calypso uses the margin call process to pay dividend on payment date in the event that the PO (Provider) is long. Should the Provider be short, dividend payment is generated on payment date (like Dividend Mode = Payment Date) using the CFD_RESET Scheduled Task. This process allows users to include the dividend in the margin calculation and also to control to whom the payment is paid out to. Some clients never pay client when they are long, thus control payment to be generated to an internal Legal Entity.
For Margin Call and dividend, when you define your Margin Call Contract that will drive the margin conditions between the Processing Organization and the Counterparty you will also need to specify additional details on how margin should be handled for your dividend using the Additional Info panel.
Set the following attributes as needed.
BOTH_MARGIN
• | If BOTH_MARGIN= false |
If Variation Margin is positive, include it in Net Balance
If Variation Margin is negative, exclude it from Net Balance
Thus Net Balance (NB) = InitialMargin + VariationMargin + CFD Ca Cashflow,
where VM must be 0 when the net VM is negative
• | If BOTH_MARGIN= true |
Variation Margin is settled regardless of whether net VM balance being positive or negative
Thus NB = IM + VM + CFD CA Cashflow
NO_MARGIN
• | NO_MARGIN = true |
No VariationMargin is settled regardless of whether net VM balance is positive or negative
Thus NB = IM + CFD CA Cashflow
RST
Margin call contract attributes (for CFDs only) and CFD contract attribute. In this field, define the legal entity (short name) that the provider will pay the dividend to if the provider has a long position. This allows you to transfer the dividend receipt from the counterparty to a third legal entity (generally an internal division).
Dividend on CFD is taken into account in the margin call calculation (net balance) when the Client Position is short (PO is long): the client having to pay back the dividend to the PO on Dividend Payment Date, PO support the risk of not receiving that money back.
The system includes the CFD dividend process in the margin calculation (NET BALANCE) from the Ex-Date+1 up to the Payment Date of the Dividend.On the Margin Call report, specific columns have been added to help better manage the movement. Dividend amount is displayed in the column "Cfd Ca Cashflow" up to the payment date where, on payment date it moves to "Cfd Ca Cashflow (settled)" column. The column "Variation Margin without CA" has been added to show the difference between "Variation Margin" and "Cfd Ca Cashflow".
"Initial Margin" is the margin computed based on the deposit amount specified in the CFD contract.
Sample Margin Call trade:
8. Generating Corporate Actions
The following corporate actions are supported for CFD products with the standard process (using the scheduled task CORPORATE_ACTION): Cash.Dividend (dividend amount depends on the CFD contract parameters Dividend Receivable/Payable), Cash.CapitalReturn, Cash.Right_Issue, Accrual.Right_Issue, Accrual.Stock_Div, Accrual.Bonus_Issue, Acquisition.OPA, Acquisition.OPE, Transformation.Split, Merger.Merger, Spinoff.Spinoff, Redemption.Delisting, Redemption.BuyBack.
The standard process is used for CFD products. However resulting trades are different: all payments, including CA cash payments, are done on reset date for CFD. Therefore, the scheduled task CORPORATE ACTION will generate a CA trade to update the P&L on ex-date but the scheduled task CFD_RESET is still in charge of the cash settlements.
• | Create the CA product on the underlying security. Please refer to the Corporate Actions user guide for more details on the CA definition. |
• | Launch the scheduled task CORPORATE_ACTION to propagate the corporate action to the CFD positions. |
– | For CASH CA, this scheduled task generates CA trades with a type FUNDING, storing the CA amount per CFD Product. No transfer attached to this CA trade. Its target is to impact the P&L. |
– | For CAs type ACCRUAL, ACQUISITION, TRANSFORMATION, MERGER, REDEMPTION or SPINOFF, this scheduled task will generate CFD trades to reflect the new position. Security transfer is attached to the resulting trades. However any CA_FEE will be paid with the RESET process. |
• | Launch the scheduled task CFD_RESET to generate the settlements (for CASH CA or CA_FEE). |
– | Case of CA with subtype DIVIDEND: to pay/receive the cash dividend, launch the scheduled task CFD_RESET with Dividend Mode = True and process date = CA trade settle date. The trade Settle Date can be either the next reset date or the corporate action settle date depending on the contract definition. If the contract is defined with Dividend Mode = RESET DATE, then the dividend will be paid/received on the next reset date following the corporate action settle date. If the contract is defined with Dividend Mode = PAYMENT DATE, then the dividend will be paid/received on the corporate action settle date (taking into account the payment offset defined in the contract. (To ignore them for the dividend settlement, add the attribute IGNORE_OFFSET_DIV to true.) |
– | For other types of CA payments, the scheduled task CFD_RESET must be run on reset date. |
Refer to Calypso Corporate Action Documentation for details.
9. "No Perf" = false Method
Several processes described above are not supported in case "No Perf" = false in the CFD contract definition. These specifics are described in this section.
Only the CFD liquidation method is supported. A Sell trade will not be liquidated against a Buy trade. The only way to liquidate a trade is to terminate it.
Performance transfers are generated on reset date and on termination:
• | On reset: the scheduled CFD_RESET must be run periodically (on reset dates) and will generate a CA trade type RESET. PERFORMANCE fee is attached to the RESET trade. PERFORMANCE amount = difference between (the Current Reset Price and the Last Reset Price (or trade price for the first reset)) by the quantity. A Realized entry is booked (Liquidations panel of the BO Browser). |
• | At termination: the CFD Termination window can be used to terminate a CFD trade. In that case a Liquidation entry is booked on the close-out trade and a PERFORMANCE transfer is generated for the difference between the (Terminated price - Last Reset Price (or Trade Price in case the trade is terminated between the trade date and the first reset date)) by the trade quantity. |
9.1 CFD Liquidation Configuration
You should first add the CFD liquidation method to the liquidationMethod domain.
From Calypso Navigator choose Configuration > Books & Bundles > Liquidation and set the CFD method for all CFD products as applicable: CFDDirectional, CFDPairTrading, CFDRiskArbitrage and CFDConvertibleArbitrage as shown below.
9.2 CFD Position Keeper
From Calypso Navigator choose Position & Risk > CFD Position to display CFD positions.
The CFD Position also allows:
• | Displaying associated corporate actions. |
• | Creating adjustment fees. |
• | Calculating the Deposit. |
» | Enter search criteria as applicable, then click Load to load the corresponding positions. The search criteria are described below. |
Note that the CFD Position Keeper can also be used when trading CFDs with "No Perf" = true.
Fields Details
Fields | Description | ||||||
---|---|---|---|---|---|---|---|
Val date/Time |
Calculation date/time of the position. By default, real time date and hour/minutes/second. If you un-check the button Real Time on the bottom of the screen, you can choose either a past or a future date/time. |
||||||
Undo checkbox |
Checking this box and entering an undo date will rebuild the image of the trades at that date, undoing all modifications that have been audited. The valuation date on the other hand is used to load market data. |
||||||
Hierarchy |
Allows a customized view of your organization. |
||||||
Trade Filter |
Allow filtering trades. |
||||||
Pricing Env |
Define the used Pricing Environment. |
||||||
Aggregation |
Choose the aggregated view for the position: the position is calculated at the book level. You can aggregate it at all the book’s attributes level. |
||||||
Product Id |
Click ... to choose a particular product. |
||||||
Counterparty |
Click ... to choose a particular counterparty. |
||||||
Position type |
Choose the type of position you want to see:
|
||||||
By Trade Date radio button |
The displayed position is By Trade Date. |
||||||
By Settle Date radio button |
The displayed position is By Settle Date. |
||||||
Calc Deposit radio button |
By default set to Off. If put to ON the deposit is calculated. |
||||||
Processing Org View radio button |
The displayed position is shown from the Processing Organization point of view. |
||||||
Client View radio button |
The displayed position is shown from the Client point of view. |
||||||
Book Name |
Name of the Book. |
||||||
Product Id |
Unique Id of the Product in the system. Depending on the position type.
|
||||||
Description |
Description (see above: either the Strategy description or the asset description). |
||||||
Way |
Way: depends on the Processing Organization: can be Provider or User. |
||||||
Client |
Name of the Client. |
||||||
Asset |
Name of the asset. |
||||||
Product Type |
Product Type: depending on the Position Type If Position Type = Product Type, the product type can be CFDDirectional, CFDPairTrading, CFDRiskArbitrage or CFDConvertibleArb. If Position Type = Asset, the product type can be Equity, EquityIndex, or BondConvertible. |
||||||
Val Date Time |
Calculation date (see above). |
||||||
Undo Date Time |
Undo date (see above). |
||||||
Direction |
Global direction of the position can be BUY or SELL and is expressed either in the Processing Organization view or in the Client view. |
||||||
Asset Ccy |
Asset currency. |
||||||
Funding Ccy |
Funding currency. |
||||||
Sell Quantity |
Sum of each Sell's deals signed quantity. |
||||||
Sell Avp Funding |
Weighted average of the Sell’s initial price in funding currency. |
||||||
Sell LastAvp Funding |
Weighted average of the Sell’s initial price in funding currency from the last reset. |
||||||
Sell Amount Asset | Sell Avp Asset * Sell Quantity | ||||||
Sell Amount Funding |
Sell Avp Funding * Sell Quantity |
||||||
Sell LastAmount Funding |
Sell LastAvp Funding * Sell Quantity |
||||||
Sell Avp Asset |
Weighted average of the Sell’s initial price in Asset currency. |
||||||
Sell LastAvp Asset |
Weighted average of the Sell’s initial price in Asset currency from the last reset. |
||||||
Sell Amount Asset |
Sell Avp Asset * Sell Quantity |
||||||
Sell LastAmount Asset |
Sell LastAvp Asset * Sell Quantity |
||||||
Buy Quantity |
Sum of each Buy's deals signed quantity. |
||||||
Buy Avp Funding |
Weighted average of the Buy’s initial price in funding currency. |
||||||
Buy LastAvp Funding |
Weighted average of the Buy’s initial price in funding currency since last reset. |
||||||
Buy Amount Funding |
Buy Avp Funding * Buy Quantity |
||||||
Buy LastAmount Funding |
Buy LastAvp Funding * Buy Quantity |
||||||
Buy Avp Asset |
Weighted average of the Buy’s initial price in Asset currency. |
||||||
Buy LastAvp Asset |
Weighted average of the Buy ‘s initial price in Asset currency from the last reset. |
||||||
Buy Amount Asset |
Buy Avp Asset * Buy Quantity |
||||||
Buy LastAmount Asset |
Buy LastAvp Asset * Buy Quantity |
||||||
Close Quantity |
Minimum [Sell Quantity; Buy Quantity] expressed in absolute value. |
||||||
Open Quantity |
Buy Quantity + Sell Quantity |
||||||
Last Reset Date |
Updated after the Reset process. |
||||||
Last Reset Price |
Updated after the Reset process. |
||||||
Last Reset FX Rate |
Updated after the Reset process. |
||||||
Deposit currency |
See below. |
||||||
Deposit |
See below. |
9.3 Deposit Calculation
The Deposit amount is calculated on Real Time if the radio button “Calc Deposit” is set to ON.
The function is using the Market Data setting-up in the Pricing Environment (see Check Market Data utility) and the Deposit Annex set-up.
On the position per Client/Strategy/Asset on Trade Date, the deposit is calculated using the following formula (on D):
• | If DepReq is expressed as a %age, then: |
Required deposit amount on D=Absolute Value of (PosQtyD x PriceClose D x FXSpot Funding/Asset x DepReq x FXSpot Deposit/Funding)
• | If DepReq is expressed as an amount, then: |
Required deposit amount on D = DepReq
9.4 CFD Termination
When liquidation method = CFD, the only way to liquidate a CFD trade is to terminate the trade. The aim of the termination process is to terminate CFD trades of a given position.
It generates a termination’s deal that liquidates the initial trade, generating realized P&L.
The steps of the process are:
• | Creation of a new trade in the opposite direction of the terminated trade |
• | This trade has the price given in the table of the process |
• | The previous trade takes a status TERMINATED |
• | The trade of termination and the terminated trade are liquidated together, generating realized P&L |
• | The system stores the terminated deal’s Id into the termination deal’s keyword "TradeCFDTerminated" |
Once the Termination deal is generated, if the Fee button is ON, termination fees will be automatically generated by the system on the termination value date.
You can terminate CFD Trades using Calypso Navigator > Trade Lifecycle > Termination > CFD Terminate.
» | Enter selection criteria and click Load to load the corresponding trades. The system will display the trades available for termination. |
The selection criteria are described below. You can also click Add to specify a trade filter.
Enter a termination date and select a pricing environment. You can click Check to check if all required market data are available in the selected pricing environment.
Fields Details
Selection Criteria | Description |
---|---|
Cpty |
Choose the role and name of counterparty. By default Role = Counterparty and for ANY legal entities with this role. Click ... to open the Legal Entity chooser. If you double click on the label Cpty, ANY is defaulted. |
Book |
ANY by default or you can choose a given book with the combo box. If you double click on the label Book, ANY is defaulted. |
Trade Filter |
ANY by default or you can choose a specific one with the combo box. Click ... to create a new trade filter “on the fly” or visualize the chosen trade filter definition. If you double click on the label Trade Filter, ANY is defaulted. |
Contract |
ANY by default. You can choose a specific contract with the combo box. The system proposes the existing contracts for the minimum selection. Show goes to the chosen contract definition. If you double click on the label Trade Filter, ANY is defaulted. |
Security |
ANY by default. Click ... to choose a specific security that goes to the Product chooser window. Show goes to the chosen security definition. If you double click on the label Security, ANY is defaulted. |
Strategy |
ANY by default. You can choose a specific Strategy with the combo box. The system proposes the existing strategies for one given contract and asset. To choose a specific strategy, you should have chosen a specific contract and security. Show goes to the chosen strategy definition. If you double click on the label Trade Filter, ANY is defaulted. |
Trade Id |
You also can terminate one specific deal. You can directly enter the trade Id on this field. |
The trades are displayed in a table. The columns are described below.
Ⓘ [NOTE: Fields that appear in orange concern the termination deal and therefore can be changed by the user]
Columns | Description |
---|---|
Terminate? |
This checkbox indicates if the user does or does not want to terminate the displayed deal. If the checkbox is put on ON, the deal will be terminated. Put to OFF by default. |
Id |
Id of the deal the user wants to terminate. If you double-click on the line, the trade’s details are displayed. The user cannot change this field. |
Strategy |
Name of the deal’s strategy. The user cannot change this field. |
Quantity |
Quantity of the initial deal. This quantity will also be the termination deal’s quantity. Any partial terminations are allowed. Therefore, the user cannot change this field. |
Price |
Price of the termination deal in asset currency. Is defaulted with the asset’s close price of the day. Can be changed by the user. |
FX Fun/Set |
FX rate between Funding and Settlement currency if they are different. Is defaulted with the today’s close but can be changed by the user. |
FX Sec/Fun |
FX rate between Security and Funding currency if they are different. Is defaulted with the today’s close but can be changed by the user. |
Fees? |
If the checkbox is put to ON, termination fees will be generated. To ON by default but can be changed by the user. |
Exe Portfolio |
The user can choose the execution portfolio of the termination deal. |
LastAvpFund |
Average price since last reset in Funding currency, displayed from the CFDPosition in trade date. The user cannot change this field. |
Security Ccy |
Security currency. The user cannot change this field. |
Funding Ccy |
Funding currency. The user cannot change this field. |
Settle Ccy |
Settle currency, displayed from the Contract detail definition. The user cannot change this field. |
Security |
Security of the trade. The user cannot change this field. |
Status |
Status of the terminated trade. The user cannot change this field. |
Contract |
Contract of the trade. The user cannot change this field. |
Once the fields have been checked, click Terminate to generate the termination deals. Both terminated and termination deals are displayed on the bottom of the screen. You can double click on each line to see the details of the generated trades.
You can also terminate a contract from this screen. Before terminating a contract, the system checks that no more deals are alive on this contract.
9.5 Negotiate Termination at Today’s Close Price
Traders can negotiate with their clients a termination at today’s close. This means that, when they negotiate, they do not know the exact price of the termination deal. This price is known at the end of the day.
Calypso proposes the following set-up to handle this case:
» | First, define a workflow rule that checks trades with a price = 0 in order to identify those trade easily. |
» | Second, define a scheduled task EOD_CLOSING that takes the close prices and affect them to the termination deals at the end of the day. |
Add the rule CheckTradePrice. Then place this rule in the transition where you want to stop the termination deal.
Run the EOD_TRADE_CLOSING scheduled task as follows:
» | Select EOD_TRADE_CLOSING in the Task Type field. |
» | Define a Trade Filter with only CFD product type. |
» | Select the Pricing Environment you want to use for the Price Close. |
» | Select the Time zone and Holiday Calendar of the scheduled task. |
» | In the Attributes table, enter the Action corresponding to the workflow transition where the termination deal has been stopped. |
9.6 Corporate Action Process
A dedicated scheduled task should be used: CFD_CA.
The corporate action product must be defined as usual (for the underlying product: equity, equity index or convertible bond), but it is required to add the propagation date on the CA. The scheduled task CFD_CA will have to be run on Propagation Date.
Following CAs are supported: split process, Cash dividend, Stock dividend, Right issue, spin off, buy back, Equity offering, Acquisition process, bankruptcy/equity delisting process, Merger process, Interest process, capital_return.