Merchant FX
The Merchant FX product provides the ability to take up, roll over and terminate FX Forward trades from the original deal entry book to a different book. Merchant FX values and back office functionality behaves in the same way as a FX Foward product except for a different workflow which is specific to Merchant FX.
» | For Merchant FX pricer configuration, in the Pricer Configuration window select FXFlexiForward for the Product and PricerFXFlexiForward for the Pricer. |
» | The Merchant FX Originating Primary Trade Id is a common identifier that links all child trades to the Originating FX Merchant Deal. You may add this column to a report to bundle all of the trades in the hierarchy of the Originating Primary. For this column to appear, you must add the report style name FxFlexiForwardMerchantFX to the productTypeReportStyle domain. |
Contents
- Creating a Merchant FX Trade
- Fees
1. Creating a Merchant FX Trade
The Merchant FX trade window is accessed from Deal Station through the Trade Type button.
Choose the Currency Pair, Book and Counterparty as you would for any other FX trade. The details of the Merchant FX window are input on the left side of the window.
» | Select an Option Start Date for the trade. The Option Start Date cannot be beyond the Settle Date. |
» | Select a Negotiated Currency and enter the Negotiated Amount in the Neg Amount field. This is the amount of the trade in the negotiated currency. |
The Spot and Points are populated from the market rate but they can be edited. A Margin may be added if desired.
» | You may select to have an Export Bill Discount which is used during a rollover. |
» | Enter the Settle Date for the trade. |
» | Click Deal to save the trade. |
Note: Primary Amount, Quoting (Non-Neg) Amount, Primary Outstanding and Quoting Outstanding amounts are all rounded based on the rounding specified in the Currency Defaults for the currency pair.
The direction of the trade during evaluation is determined off the primary currency amount in pair position reference form.
2. Merchant FX Take Up
You may do a partial or full take up on any date prior to the Maturity Date. This type of take up is called an Early Take Up. You have the choice of passing the cost of an Early Take Up through an adjustment to the Take Up Rate or as a Fee in either currency of the currency pair or as a Fee in Base Currency.
Take Up trades are entered as two Merchant FX trades. One trade is used to close out the original deal at the original rate and a new Merchant FX trade creates the Take Up.
Several fields can be edited in the Take Up window. The editable fields in this window are described below.
Fields |
Description |
---|---|
Lifecycle Action Info |
|
Mark Utilized? |
When this is selected, the Take Up, the resulting Merchant FX trade will be designated as UTILIZED and no additional take ups can occur on the resulting trade. By default, this flag is set when the Take Up window is first displayed. If the negotiated amount or the negotiated currency are changed on the Take Up window, the flag will automatically be unchecked. If the box is unchecked, it remains unchecked irrespective of any further changes performed by the user. When the box is unchecked, the resulting take up trade is not marked as utilized. |
Fee Adjustment |
If this is selected, the Take Up trade will be at the original trade rate. Any difference will be recuperated or paid to the customer as a fee. |
Settle Date |
Settlement date of the Take Up trade |
Book |
If you wish to have the Take Up and Offset trades placed in a different book, you may select it here. |
Neg Ccy |
The negotiated currency of the Take Up trade |
Neg Amount |
Amount of Take Up in Negotiated Currency. This will automatically default to the outstanding amount of the trade. |
Funding Info |
|
Funding Margin (%) |
This field allows the user to charge additional funding on the moneyness of the trade. |
Pricing Info |
|
Sales Margin Points |
Sales margin points may be input as positive or negative. Negative points create a negative sales margin. |
Market Info |
|
Market Spot and Forward Points come from the market data. If this information is overridden, the new values will be used for all calculations in this window. |
Performing a Take Up produces to Merchant FX trades. One trade will offset the Primary Originating trade in the take up amount, thereby reducing its Outstanding Amount. The second trade is the new primary trade which is the Take Up trade.
» | The Originating trade remains OPEN, but with a reduced outstanding balance. |
» | The OFFSET trade has a status of UTILIZED and has an outstanding balance of zero. |
» | The new PRIMARY trade has a status of OPEN unless the Mark Utilized box was selected in the Take Up window. This trade has an outstanding balance in the amount of the take up and has the Settle Date provided in the Take Up window entry. |
3. Merchant FX Workflow
Below is a sample workflow for Merchant FX.
These are rules that should be used in the workflow for specific purposes:
• | UtilizeMerchantFX - Moves trades that are in OPEN status to UTILIZED status and changes the Primary Outstanding amount to zero on those trades. |
• | ValidMerchantFXChange - This rule checks to see if the changes being made to the Merchant FX trade are valid. This rule can be used in most Merchant FX workflows. (For example, this rule would reject a cancellation being made to an Offset trade. To cancel an Offset trade an UNDO, or similar type of action, must be done on the new Primary trade.) This rule also prevents unwanted changes to a trade during termination. For this purpose, this rule should be included in the Termination workflow transition. |
• | Reject - Use this rule on a workflow action that is going to cancel out a trade, such as UNDO. The use of this rule will cancel out all take ups and routed trades that come from the trade that is being undone. For the action using this rule to be viewed as a rejection, the action must be added to the TradeRejectAction domain. |
4. Merchant FX Rollover
At maturity, the client is required to take up all of the outstanding notional. If this is not done, a Termination or Rollover of the outstanding balance, together with the applicable fees must take place. A take up that is processed on the settle date is considered a Late Take Up.
A Rollover can take place two different ways, either manually through the Deal Station trade window or via a scheduled task. Regardless of the method, the rollover process backs out the original trade with a fee and creates a new Merchant FX trade with a new Settle Date. The new Settle Date with either be one business day after the previous Settle Date or if Export Bill Discount was selected on the original trade, the new Settle Date will be a specified number of days in the future.
Number of Rolls
A report style and static data filter element are available to show the number of rollovers for a Merchant FX trade. The report style column that can be added is called No. Of Rolls and the static data filter element is called MerchantFX No. of Rolls. These elements must be used to create reports that will identify overdue trades and show the number of rolls on each of them.
The static data filter element can also be used in the ROLLOVER workflow action to ensure that a rollover action is denied if the trade was already rolled a certain number of times.
When Export Bill Discounting is selected in the trade being rolled over, the trade will be rolled over for a number of days specified in the FXFlexiForwardMerchantFX.ExportBillDiscountRollDays domain value.
In the example below, the value is 30. Only one value is permitted in the domain. In this example, the trades with Export Bill Discount selected will automatically roll over 30 days.
4.1 Rollover via Scheduled Task
The MERCHANTFX_ROLLOVER scheduled task rolls Merchant FX trades with an outstanding amount greater than zero which are in Merchant FX Status OPEN. This scheduled task should be run daily.
The scheduled task obeys the Export Bill Discount flag. Trades marked with this flag will roll the appropriate number of days when the scheduled task is run.
4.2 Manual Rollover
To do a manual Merchant FX rollover, click .
After the rollover is completed, the Outstanding amounts on the originating trade are zero and the trade is marked UTILIZED which means that no additional lifecycle actions can take place on it.
A new Primary trade is created from the rollover with a new Settle Date. In the example below, the Settle Date is 30 days after the previous settle date because Export Bill Discount was selected.
A back out trade for the original settle date is created to offset the original position.
4.3 Late Take Up
When a take up is executed on a trade that has been rolled over, it becomes a Late Take up.
» | The Rollover process does not allow for any rate adjustments to be made, but a funding charge be applied to the rollover during the Late Take Up. This charge can be applied either by a fee in the Funding Margin (%) field or by adjusting the Take Up Rate with the Sales Margin Points. |
» | When not discounting in the Late Take Up window, it is possible to edit the Swap Costs. A change in Swap Cost will result in an updating of the fees. Swap Costs cannot be overridden if using discounting. |
» | The Base Currency FX Rate is editable when the Fee Currency is not the Base Currency. |
» | When a take up is done on the same date as the original maturity date of the primary deal, the Disable Risk Routing is selected by default because there is no risk in the book to transfer in the scenario. |
Late Take Up Calculations
The following calculations are made on a Late Take Up.
• | Funding Points = [(Late Utilized Date – Original Maturity Date) / 365 ] * Funding Rate * (New Market Spot – Original Deal Rate) * (Direction Sign) |
Where Direction Sign = -1 for Buy and +1 for Sell in Primary Currency
• | New Trader Rate for Buy = Original Rate + Swap Cost + Funding Cost – Margin |
• | New Final Rate for Sale = Original Rate + Swap Cost + Funding Cost + Margin |
4.4 MERCHANTFX_TAKEUP
The purpose of this Scheduled Task is to support Auto Take Up on Merchant FX for the outstanding amount on the actual settlement date. This Scheduled Task -MERCHANTFX_TAKEUP will perform Auto Take-up on trades defined by Trade Filter with an Outstanding amount > than 0 for the trades settling on the Value Date/Trade Date/Settlement Date with those trades are in Merchant FX Status OPEN.
For users who want to run both take-up and Rollover, they need to set up TWO mutually exclusive trade filters using Trade keywords for both MERCHANTFX_ROLLOVER or MERCHANTFX_TAKEUP daily process. For example, the filters will be:
-
Filter-MERCHANTFX_TAKEUP supports: MERCHANTFX_TAKEUP
-
Filter-MERCHANTFX_ROLLOVER supports: MERCHANTFX_ROLLOVER
For clients do not use MERCHANTFX_TAKEUP Scheduled Task, Filter-MERCHANTFX_ROLLOVER should cover all maturing trades.
It will be the user's responsibility to prevent trades that can fall through. If there are, they are expired after EOD. For users who want to use both the Scheduled Task, it is recommended to run MERCHANTFX_TAKEUP first and let it complete, then run MERCHANTFX_ROLLOVER, at the very end but before other EOD process.
5. Termination
The process of Termination or Partial Termination is similar to other lifecycle actions in Merchant FX in that an equal and opposite trade is entered in the amount of the termination. The Termination Fee is added to the TERMINATION trade and is placed in the Forward Trading book.
Note: In the Termination window, the Base Currency FX Rate is editable when the Fee Currency is different from the Base Currency and the Fee in Base Currency flag is chosen.
For late termination action on a non-spot date , the termination rate is the FX rate on the action maturity date.
Resulting Termination Offset trade:
The Termination date can be defaulted by the legal entity name as well as whether the termination is a loss or a gain to the bank in terms of the termination fee. This type of configuration takes place in the Legal Entity window. (Configuration > Legal Data > Entities).
The attribute names LOSS_TO_BANK and GAIN_TO_BANK should be added to the leAttributeType domain value. The valid options for these attributes are UPFRONT and REAR_ENDED.
» | The Termination window will compute the feel based on the Original Settle Date. |
» | The Original Settle Date determines whether the bank is at a loss or a gain. Based on whether the bank is at a loss or a gain, the termination settle date will be set based on one of the attribute values (either UPFRONT or REAR_ENDED). |
» | If the attribute value is UPFRONT, the settle date is the termination date itself. The fees and other values on the Termination window will be calculated based on this. |
» | The system will not determine if the bank is at a loss or a gain if the user manually changes the date, market data or any other fields in the Termination window. This determination is made only once, when the window is initially launched. |
In the examples below, both PO and CP entities have the same attribute configuration as that above.
6. Fees
Fees can be settled in the Primary, Secondary or Base Currency. FX Merchant has its own fee type called MERCHANT_FX_FEE. This fee may be configured in the Fee Definition window (Configuration > Fees, Haircuts & Margin Calls > Fee Definition).
6.1 Fee in Third Currency
It is possible to terminate the Merchant FX contract with a fee payable in the Base (Local) currency which is not one of the currencies in the currency pair being quoted. Select Fee in Base Currency? to activate this feature.
6.2 Termination Fee Calculations
Below are the Termination Fee Calculation formulas:
• | Primary Secondary Fee = (Secondary Amount / Final Rate + Primary Amount) * df |
• | Base Secondary Fee = (Primary Amount * Final Rate + Secondary Amount) * df |
• | Base Currency Fee = Secondary Currency Fee * Forward Rate or Primary Currency Fee * Forward Rate |
7. FX Merchant Keywords
It is possible to designate keywords to propagate to the lifecycle trades from the Primary Originating trade. This designation is done using domain values. (Configuration > System > Domain Values)
The following domain values are supported and come out of the box:
• | keywords2CopyToMerchantFXRollover |
• | keywords2CopyToMerchantFXRolloverOffset |
• | keywords2CopyToMerchantFXTakeUp |
• | keywords2CopyToMerchantFXTakeUpOffset |
• | keywords2CopyToMerchantFXTerminate |
In each of these domains, you may designate which keywords to propagate from the Primary Originating trade to the respective trades.