Capturing FX Flexible Forward Trades

FX Flexible Forwards are trades that give the user the ability to take up the forward trade based on an agreed schedule which can be both fixed (monthly or weekly) or flexible (variable period definition). These trades have the ability to execute the take up with a different rate than the contracted rate. Take ups can be performed multiple times before maturity and the entire notional must be taken up at maturity. Some main characteristics of FX Flexible Forward trades are:

Ability to choose amount for each take-up as well as how many take-ups can be done within a period
Outstanding notional must be taken up at maturity or otherwise rolled over or terminated with an applicable fee
Forward points to be added to the negotiated forward rate are determined at the trade date; no fixing is required
The Flexi Forward does not have a grant or purchase right to take up. Flexi Forwards always assume that the take up is granted.

 

1. Take Up Types

There are two take-up types available in a Flexi Forward, Pro-Rata and Ladder.

 

1.1 Pro Rata

The take up rate for Pro Rata is calculated as:

If the take up date is in the first period then Take Up Rate = Start Rate + Customer Pts/Day * (Take Up Date – Period Start Date).

Otherwise, Take Up Rate = Start Rate + previous period Customer Pts/ All In + Customer Pts/Day * (Take Up Date – Period Start Date +1)

 

Three types of Pro Rata take ups can be configured. They are described below.

 

Single Period

For this type of take up, there is only one window. The forward point is increasing or decreasing by the same amount each day until maturity. The take ups can be any date between the start date and end date of the window.

In the example below, a 2 month Flexi Forward contract was traded on March 24 with a maturity date on May 29. It has a spot rate of 37.3308, forward start points of 12.60 and a forward start rate of 37.33206 (37.3308 + 0.00126).

The take up schedule is April 6 - May 29, which is 53 days. The forward points per day is 0.88 or 46.65 for the entire period (0.88 * 53).

 

Multiple Period / Fixed Term

This type of take up has multiple windows with a fixed term in each, such as weekly or monthly. A take up can occur any time during the start and end date of each period.

In the example below, a 3-month Flexi Forward contract has a start date of March 27 with a maturity on June 28. It has a start rate of 37.337610 and a Monthly Frequency. There are 1.55 points per day in the first window, 0.38 points per day in the second window, 1.57 points per day in the third window and 2.15 points per day in the last window.

» For the first month, the take up rate on March 28 is 37.337765 (which is 37.337610+.000155), 37.33792 on March 29, 37.338075 on March 30 and so on until the end of the period which would have a rate of 37.34228 on April 26.
» For the second month, the take up rate on April 27 is 37.342318 (which is 37.34228 + .000038), 37.342356 on April 28, 37.342394 on April 29 and so on until the end of the period which has a rate of 37.343448 on May 26.
» For the third month (window), the take up rate on May 27 is 37.343605 (which is 37.343448 + .000157), 37.343762 on May 28, 37.343919 on May 29 and so on until the end of the period which has a rate of 37.348343 on May 26.
» There is one final period (window) that is 2 days long. The take up rate for the end of the contract on June 28 is 37.348773.

 

Multiple Period / Variable Term

This type of take-up has multiple windows with a variable, user-defined term in each window. This functions in the same way as the Multiple Period / Fixed Term except with variable periods.

The example below has three variable windows. The contract start date is March 24 and the end date is May 5. The start rate is 37.356442. In the first window there are 1.23 points per day, 1.58 points per day in the second window and 0.83 points per day in the final window.

» The first window is from March 24 - April 5, 12 days. The take up rate on March 25 is 37.356565 (which is 37.356442 + .000123), 37.356688 on March 26, 37.356811 on March 27 and 37.357921 at the end of the period on April 5.
» The second window begins on April 6 and is 16 days. The take up rate on April 7 is 37.358079 (which is 37.357921 + .000158), 37.358237 on April 8, 37.358395 on April 9 and 37.360457 at the end of the window on April 21.
» The third and final window begins on April 22 and is 14 days in length. The take up rate on April 22 is 37.36054 (which is 37.360457 + .000083), 37.360623 on April 23, 37.360706 on April 24 and 37.361627 at the end of the contract on May 5.

 

1.2 Ladder

In a Ladder Flexible Forward, the forward points do not change each day. Like Pro Rata, the contract can be divided into a single period, fixed term periods or variable periods.

The take up rate for Ladder is calculated as:

If the take up is in the first period then Take Up Rate = Start Rate + Customer Pts/Period

Otherwise, Take Up Rate = Start Rate + previous period Customer Pts/All In + Customer Pts/Period.

 

Single Period

For this type of take up, there is only one window. The forward points are the same for a take up at any time during the period. The take ups can be any date between the start date and end date of the window.

 

Multiple Period / Fixed Term

This type of take up has multiple windows with a fixed term in each, such as weekly or monthly. A take up can occur any time during the start and end date of each period.

 

Multiple Period / Variable Term

This type of take up has multiple windows with a variable, user-defined term in each window. This functions in the same way as the Multiple Period / Fixed Term except with variable periods.

 

2. Flexible Forward Workflow

Below is a sample workflow for Flexible Forward trading.

 

To prevent inadvertent financial changes or cancellations on the Take Up FX Forward, the ValidFXFlexiForwardTakeUpChange workflow rule should be set on the AMEND and CANCEL workflow transitions for the FX Forward product. It is strongly suggested to add this rule in these FX Forward transitions so that there are no discrepancies between the take up and outstanding balances on a Flexi Forward if any changes are made to the Take Up.

 

3. Capturing a Flexible Forward Trade

The Flexible Forward trade window is accessed from Deal Station from the Trade Type button.

 

Choose the Currency Pair, Book and Counterparty as you would any other FX trade. The details of the Flexi Forward window are input on the left side of the window.

 

Step 1 - Enter a Negotiated Currency amount in the Neg Amount field.  This is the amount of the trade in the negotiated currency.

The Market Spot is populated from the market rate but it can be edited. A Spot Margin may be added if desired.

 

Step 2 - A Sight Bill Spread may be added to the trade. This is an additional margin that is added to the take-up trades.

 

Step 3 - Enter the Start and End Dates for the trade. The Start Date automatically defaults to one day after the Trade Date.

Select the Frequency for the Flexible Forward windows in the Frequency field. The options include Monthly, Weekly, Single and Variable.

Choose how to handle stub periods in the Stubs field.

 

Step 4 - Select the Take Up Type, either Pro Rata or Ladder.

 

Step 5 - Click Generate to generate the Take Up windows.

 

After clicking Generate, the windows will be displayed in the Schedule area of the window.

 

4. Capturing a Take Up Trade

To execute a Take Up trade, the Flexible Forward trade must be saved and in the appropriate status based on the workflow. A take up workflow must be created for a Take Up trade to be processed. (Configuration > Workflow > Workflow)

 

The TAKEUP action will need to be added to the tradeAction domain value.

 

» Click the to display the Take Up on Trade input window. In this window, the take up amount is entered. The Settle Date may be adjusted. Also available is the ability to include the Sight Bill Spread that was designated as part of the Flexible Forward trade. The Sight Bill Spread is an additional margin entered in the Flexi Forward trade.

 

» When the desired information has been entered, click OK. You will be taken back to the Flexi Forward trade window. The new Take Up trade is visible in the Schedule Actions area of the trade window.

 

» Double-clicking on the row of the take up opens the FX Forward trade that is generated from the Take Up.

Note: When a new trade is generated from a Take Up, the Trader and Sales fields are propagated from the User Defaults of the user that is processing the Take Up.

 

» Take Up trades have their own routing, separate from the Flexi Forward trade.

 

» You may also right-click on the row of the trade in the Schedule Actions area to display information related to the Take Up trade.

 

5. Flexible Forward Window Details

The details of the Flexible Forward Trade window are described below:

 

Trade Info

Field

Description

Trade Date

Datetime of the Flexible Forward trade

Neg Ccy

Negotiated currency of the currency pair

Neg Amount

Trade amount in negotiated currency

Non-Neg Ccy

Non-negotiated currency of the currency pair

Non-Neg Amount

Trade amount in non-negotiated currency

Market Spot

Spot rate of currency pair populated from the market data. Spot rate on which the Schedule is based.

For Rollover Market Spot (HRR), it is the Start Rate of the original trade + market all in points discounted to the spot date.

Spot Margin

A fee stored upon deal entry on a new deal representing sales margin from spot adjustment

Start Rate

The rate on the start date. It is the Market Spot +/– Spot Margin + Fwd Pts/Start.

All-In Points

Cumulative total of the market / customer points at the end of the last window

Final Rate

The Start Rate + the All-In Points

Sight Bill Spread

An additional margin that can be applied to the Take Up trade

Frequency

The frequency of the windows during the contract period.

Monthly - The windows are broken down into monthly increments beginning on the start date and ending one month from that date and so on until the end of the contract. The handling of excess days that do not fit into a month is designated through the Stubs field.

If the start date is on the 1st to the 28th day of the month, the subsequent windows' start date will be the same day of that month.

If the first start date is on the 29th to the 31st day of the month, the subsequent window's start date will be the same day in that month if such a day exists. Otherwise, it will be the last day of that month.

Weekly - The windows are broken down into weekly increments beginning on the start date and ending one week from that date and so on until the end of the contract. The handling of excess days that do not fit into a week is designated through the Stubs field.
Variable - The windows are broken down into user defined periods. Once Variable is selected from the Frequency field, the Dates field becomes available. Click the arrow to open the selection window. From this window, add the desired time periods for the windows. The windows will appear once the Generate button is clicked. The end date of the last window is automatically populated as the End Date of the contract.

Single - With this option, there is a single window which is the length of time between the start and end dates.

Start Date

The start date of the contract. It defaults to one day after the trade date but the field is editable.

End Date

The end date of the contract. This is manually input except in the case of a Variable frequency where the Start and End Dates are determined based on the variable window designations.

Num of Windows

The Number of Windows is automatically populated when the windows are generated by clicking Generate. This field is not editable.

Stubs

The selection here indicates what happens to excess days that do not fit into either a Weekly or Monthly Frequency.

First - The excess days are placed as the first window.

Last - The excess days are placed as the last window.

Merge First - The excess days are merged with the first window.

Merge Last - The excess days are merged with the last window.

Take Up Type

Select the Take Up type, either Pro Rata or Ladder.

Prim Outstanding

The outstanding or remaining amount of the contract in the primary currency

Quot Outstanding

The outstanding amount of the contract in the non-negotiated currency

Maturity Date

The Maturity Date of the contract

 

Schedule

This area contains the Take Up window information including the points and spreads in each period.

Column

Description

From / To

The start and end dates of the period

# Days

Number of days in the period.

First period = Period End Date – Period Start Date

Other periods = Period End Date – Period Start Date +1

CustPts/Day

Customer points per day

MktPts/Day ± Sprd/Day

Note: Customer Points per day can be changed to generate additional Sales Margin

CustPts/Prd

Customer points per period, CustPts/Day * number of days

MktPts/Prd ± Sprd/Prd

CustPts/All In

Cumulative customer points

MktPts/Prd ± #Sprd/All In

MktPts/Day

Market points per day based on market rate

MktPts/Prd ÷ #Days

(There is nothing in this column for the Ladder Take Up Type)

MktPts/Prd

Market points per period, MktPts/Day * number of days

Current Period MktPts/All In – Previous period MktPts/All In

Previous period MktPts/All In = 0 for the first period

MktPts/All In

Cumulative market points

For Pro Rata, it is FwdPts/End – FwdPts/Start (first period)

For Ladder, it is FwdPts/Period Start or End – FwdPts/Start (first period)

FwdPts/Start

Market forward points for the window start date from the Spot Date

FwdPts/End

Market forward points for the window end date from the Spot Date

Sprd/Day

The difference between Customer Points and Market Points per day

Sprd/Prd

The difference between Customer Points and Market Points per period

Sprd/All In

The cumulative spread, difference between CustPts/All In and MktPts/All In

 

Schedule Actions

This area contains the details of any Take Up trades, Rollovers or Terminations.

You may double-click on the row of the trade to open the trade window, or right-click on the row to display the Schedule Action Details window which displays specific details of the actions. This window is described below.

 

Field

Description

Action Type

Designates the type of action taken, either TAKEUP, TERMINATE or ROLLOVER

Action Id

Unique Id number of the action taken. If a new trade was created from the action, this is NOT the trade Id

Action Date

Date of the action

Action Datetime

Date and time stamp of the action

Trader

Id of trader executing the action

Num of Elapsed Days in Period

Number of elapsed days in the period before the action was taken

Related Trade

If a trade was created as a result of the action, this is the trade Id of the new trade

Negotiated Ccy

Negotiated currency of the Flexi Forward trade

Primary Currency

Primary currency of the Flexi Forward trade

Quoting Currency

Quoting currency of the Flexi Forward trade

Settle Date

Settle date of the action

Alt Settle Date

Alternate settle date of the action if one was entered.

Primary Amount

The amount of the action in the primary currency

Quoting Amount

The amount of the action in the quoting currency

Primary Outstanding

Outstanding amount of the Flexi Forward after the action has been taken, in the primary currency

Quoting Outstanding

Outstanding amount of the Flexi Forward after the action has been taken, in the quoting currency

Market Data

Double-click this field to display various market data related to the action

Action Type Data

Double-click this field to display various data related to the action. This data varies depending on the action taken. Included in this data for take ups may be:

Cost at Booking is used for the calculation of the sales margin on the take up.

Cost at Booking is the Start Rate + Market Points ± HRR Margin ± Sight Bill Spread

Note: Cost at Booking is adjusted by the Sight Bill Spread, because Margin does not include Sight Bill Spread. Margin is equal to the difference between Cost at Booking and the Take Up Rate.

Take Up Margin Pts is ± (Cost at Booking - Take Up Rate)

 

6. Flexible Forward Trade Lifecycle

At maturity, the client is obligated to take up all of the outstanding notional. If this is not done, a Termination or Rollover of the outstanding balance together with applicable fees must take place. A take up that is processed at the maturity date is considered a Late Take Up.

 

6.1 Rollover

If the Flexi Forward trade is partially taken up as of the maturity date, the outstanding notional can be rolled over. The rollover process amends the maturity date of the original Flexi Forward trade. A new trade is not created.

A new Flexi Forward schedule is defined with new rate period conditions.

To execute a Rollover, click . This displays the Rollover window.

The Rollover window functions in a similar way to the original Flexi Forward window. After entering a Roll To Date, the particulars of the rollover are entered in the Rollover Schedule area. Click Generate to generate a new period schedule. When you are satisfied with the rollover data, click OK.

 

Below is a description of some of the pertinent calculations that take place in this window.

Field

Description

HRR Start Rate

Final rate from original Flexi Forward trade

Final Rate

HRR Start Rate + All In Points

Market Spot

Start Rate * Near DFS / Near DFP

Near DFP = Primary market discount factor from Spot Date to Start Date

Near DFS = Secondary market discount factor from Spot Date to Start Date

HRR Margin

± (Customer Pts/All In from original Flexi Forward – Market Final from original Flexi Forward) + HRR Margin from previous rollover

Forward Pts/Start

For the first period: Start Rate – Spot Rate

For all other periods:

Where dfp^ is:

and dfq^ is:

Forward Pts/End

For the last period: 

Where dfp^ is:

and dfq^ is:

HRR Qting dfq

Discount factor in quoting currency from Original Maturity Date to Action Maturity Date

HRR Points

If the negotiated and primary currency are the same:

If the negotiated and primary currency are not the same: 

Funding Points

HRR Final Rate

HRR Start Rate + HRR Points ± Funding Points

HRR Pri DF

HRR Pri Rate

where Roll Days = Action Maturity Date – Original Maturity Date

HRR Qting Rate

where Roll Days = Action Maturity Date – Original Maturity Date

 

6.2 Late Take Up

When a trade is at or past its maturity date and still has an outstanding balance, it is eligible for a Late Take Up Roll. A Late Take Up Roll extends the maturity date by one day so that the trade can be taken up or rolled over through the Flexi Forward trade window in Deal Station. The trade extension is done through the FLEXIFORWARD_LATE_TAKEUP scheduled task. The FLEXIFORWARD_LATE_TAKEUP scheduled task also has an option to change the trade status of zero balance Flexi Forward trades to a desired status such as EXERCISED.

» It is recommended to run this scheduled task daily.
» No trade routing is applied to this scheduled task since the trades are very short dated. Instead, the risk is rolled using the Position Rollover window and Scheduled Task

 

Task Attributes

Attribute

Description

Mark Taken Up Trades

If set to true, the scheduled task applies a Taken Up Trade Action to the Flexible Forward trades to change the Trade Status on trades that have a zero outstanding balance. You may choose the action you wish to apply, available actions are based on the workflow configuration.

A sample workflow set up for this is VERIFIED - EXERCISE - EXERCISED

Taken Up Trade Action

The trade action applied when Mark Taken Up Trades is set to true

Mark Past Due Trades

If set to true, the scheduled task applies the Past Due Trade Action to trades that are at their maturity date and do not have a zero balance. You may choose the action you wish to apply, available actions are based on the workflow configuration.

Past Due Trade Action

Trade action applied when Mark Past Due Trades is set to true

 

Example for Past Due Trades

The trade below has reached maturity and still has an outstanding balance.

 

The scheduled task is executed with Mark Past Due Trades set to true and the Past Due Trade Action set to AMEND. The workflow in this example is VERIFIED - AMEND - VERIFIED. After the scheduled task runs, the trade has a maturity date of one day past its original End Date. There is also a new field added to the Flexi Forward trade called Num of Late Takeup Rolls. This field contains the number of times a past due trade action has been applied to the trade.

 

6.3 Performing a Late Take UP

When a Take Up is performed, the system checks if the Num of Late Takeup Rolls is > 0. If this is true, then a Take Up window different from the normal Take Up window is displayed.

In this window, the cost of the late take up will be calculated. The cost is converted to the forward rate and incorporated into the final take up rate.

 

Below is a description of some of the pertinent fields pertaining to Late Take Ups.

Field

Description

Original End Date

The maturity date of the Flexi Forward prior to the first late take up roll

Final Rate

Original deal rate + Funding Cost Points ± Sales Margin on original trade

Sales Margin

Adjusts the Final Rate by a set number of points and calculates a Sales Margin fee which is added to the deal

Neg. Amount

The Take Up amount. It is defaulted to the full outstanding amount. The user can change this amount and only perform a partial late take up. If a partial Late Take Up is performed, at the end of the day the scheduled task will roll the remaining outstanding amount. This continues until the trade is fully taken up.

Funding Margin %

Input by user to calculate the interest rate margin

Trade Valuation HV

Take Up amount * (market forward rate - original final rate)

Effective Rate

Rate on new trade after take up

 

It is recommended to do a Position Rollover for the matured positions for the Flexible Forward book(s) at the end of the day. There is no routing for the Late Take Up trade because the Late Take Up and Trade Settle Date will always be equal to the Value Date.

 

6.4 Trade Termination

A Flexible Forward can be fully or partially terminated from the trade window. Click to display the Termination window.

 

» For a partial termination, the terminated amount is subtracted from the Outstanding amount.
If the Primary Currency = the Negotiated Currency, the new Primary Outstanding Amount = Primary Outstanding Amount - Terminated Amount, and

Quoting Outstanding Amount = –Primary Outstanding Amount converted at the original deal rate

If the Quoting Currency = the Negotiated Currency, the Quoting Outstanding Amount = Quoting Outstanding Amount – Terminated Amount, and

Primary Outstanding Amount = – Quoting Outstanding Amount converted at the original deal rate

 

» Termination fees can be added to the Flexible Forward. The Termination Fee is equal to the NPV.
» The risk routing for the original Flexible Forward trade is not affected by the termination process. The system will, however, create routing trades to offset the position.

 

Below is a description of some of the fields in this window.

Field

Description

Termination Datetime

Current system date and time

Neg. Ccy

Negotiated currency from the original flexible forward, this is not editable

Neg. Amount

Terminated amount

Fee Settle Date

Settlement date of Termination Fee

NPV

Current valuation of the trade using the valuation formula as an FX Forward. Valuation will display in the PL display currency of the currency pair set at the Currency Pair Configuration.

Fee Currency

The default Fee Currency is the Negotiated Currency of the trade. However, it can be changed by the user to the non-negotiated currency.

Fee Amount

NPV displayed in the Termination Window

Market Info

The system will get the market spot and forward points from the market data. A user may override the Market Info in the Termination window. If this information is overridden, the new values will be used for all calculations in this window.

 

7. Keywords & User Defaults

 

7.1 Flexible Forward Keywords

The following keywords are populated on the FX Forward trade resulting from a Take Up:

FXFlexiForwardHRRMargin
FXFlexiForwardParentTradeId
FXFlexiForwardSightBillSpread
FXFlexiForwardTakeupForwardTrade

 

7.2 User Defaults

There are several Flexi Forward related User Defaults that can be set to expedite trade entry. (From Calypso Navigator, Configuration > User Access Control > User Defaults > Attributes)

 

When FX Auto Populate TakeUp Amounts is set to True, it indicates that the outstanding take up amounts will be automatically populated on the take up window.

 

8. Flexi Forward Messages

The message template "fxflexiforwardconfirmation.html" allows confirming details of Flexi Forward trades.

The message template "fxforwardTakeUpconfirmation.html" allows confirming details for the FX Forward trade created after applying a TakeUp on the parent FXFlexiForward trade. The FX Forward ‘take up’ trade is marked with a trade keyword "FXFlexiForwardParentTradeId".

 

8.1 Suggested Trade Workflow

Here is the suggested trade workflow for proper message generation.

The Static Data Filters ‘OutstandingAmount_NO/YES’ are used to filter out trades having an outstanding amount or not.

 

8.2 Message Engine Configuration

You need to set the engine parameter IGNORE_ACTION = TAKEUP.

 

8.3 Suggested Message Configuration

Here is the suggested message configuration:

The Static Data filters ‘Is/IsNOTFXFowardTakeUp’ is used at the message configuration level in order to distinguish an FXForward created from the ‘TAKEUP’ action.