Trade & Position Routing

 

FX trade and position routing is a process of routing the risk from trades booked into sales and other internal trade books to the appropriate trading books. The system identifies the types of risk each trade holds and routes them accordingly.

The types of risk are:
Spot Risk, which is the risk on the entire notional of the trade in the primary currency amount on the spot date
Swap Risk, which is the swap points risk on the entire notional of the trade in the primary currency amount on the settle date.
Reset Risk, which is the risk on the sales FXNDF trade from the reset activity.
The Position Keeping Server allows saving trades in the FX Deal Station, and routing trades to the proper position based on Position Keeping configurations. While the Position Keeping Server need not be started to save an FX trade, the risk (routing & positions) for that FX trade can only be managed if the Position Keeping Server is up and running. The Position Keeping server is started using <calypso home>/startPositionKeepingServer.bat on Windows platforms or <calypso home>/startPositionKeepingServer.sh on *nix platforms.
There are no log entries or warning messages for a Position Keeping Server timeout. If there is an issue with the Position Keeping Server, the client is expected to monitor the server health separately, as is done with the Data Server, Engine Server, etc.... If you want the FX Deal Station to start monitoring the Position Keeping Server timeout, the domain DealStationEnableTradePKProcessingTimeout needs to be set to True. By default, it is False.
To disable trade routing automatically for SALES books, the User Attribute FX Default PositionKeepingBookType.SALES Disable Trade Routing can be set to True. This disables trade routing for any trade booked in a SALES book.
See High Speed Processing Set Up for specific instructions for configuration regarding high speed (low latency) processing.
To have the Position Keeping Server exclude certain trade statuses (such as Pending or Pricing), add the statuses to the EXCLUDE_STATUS configuration attribute for the Position Keeping Persistence Engine. This configuration is available in the Sever Administration window.
Routing is initially determined by the PositionKeepingBookType attribute in the Book window. (From Calypso Navigator, choose Configuration > Books & Bundles > Trading Book.)

The images below describe how routing takes place, based on the designation in the PositionKeepingBookType attribute for the selected book in the trade.

The user starting the Position Keeper must be associated with the Market Data Server in the User Defaults. This Market Data Server must be part of a Risk Server that is up and running – Please refer to the Calypso Installation Guide for information on setting up and running Risk Servers.
The Calypso Messaging Server can be used as a central broker for all Active MQ activity for the Position Keeping Server.

Refer to Configuring a Calypso Messaging Server for details on setup.

In the Position Keeping Configuration Editor, designate how routing should occur based on operating zone, risk category and risk type.
Only the actions specified in the domain PositionKeeping.PropagateActions are propagated to the routed trades, when applied to the original trade.

(For FX NDF trades, only MATURE and RATERESET can be propagated to the routed trades. For example, if a rollover is performed on the original trade, the status is moved to ROLLED, but for routed trades, the status remains as VERIFIED)

Product coverage for trade & position routing is as follows:
FX Spot
FX Forward
FX Swap
FX NDF
FX NDF Swap
FX Option Forward & FX Take Up
FX Cash
FX Spot Reserve
FX TTM
Merchant FX
Flexible Forward
Deposit Swap
There are two scheduled tasks related to position keeping, CREATE_FX_POS_MON_MARKS and FX_MARGIN_SWEEP_POSITIONAL_TRADES. For details on these scheduled tasks, see FX Position Scheduled Tasks.

 

 Ⓘ   [NOTE: If you do not wish to use the Position Keeping Server, set the environment property USE_POSITION_KEEPING_SERVER to false. The default setting for this property is true. If it is set to false, Trade & Position Routing is not supported. It is also possible to disable trade routing for specific trades by selecting Disable Trade Routing in the Factors panel of an FX Deal Station trade]

 

1. Trade Routing Setup

Follow the steps below for basic trade routing setup.

 

Step 1 - In the Book window (From Calypso Navigator, choose Configuration > Books & Bundles > Trading Book), designate if a book is a trading book or a sales book using the PositionKeepingBookType book attribute. A PROP designation means that position risk remains in that book.

 

For SALES books, you can also set book attribute SpotRiskFromMainBook to tell the Position Keeping Server how to treat the Spot/Forward risk, either routing the Spot Risk from the Main Book (designated as a SALES book) or from the Forward Book. If TRUE, the Forward and Spot risk is routed from the Main Book to Forward and Spot books independently, allowing for one risk to be split via a third currency while keeping the other risk as a cross pair.

If FALSE, all risk is routed to the Forward Book and the Spot risk to the Spot book from the Forward book, therefore keeping all risks as either split via a third currency or all risks as a cross (previous existing functionality).

SUPPORTED PRODUCT - FX FORWARD

See Dividing Trade Routing for Cross Currency Trades for details.

 

Step 2 - The remainder of the configuration takes place in the Position Keeping Configuration Editor. This window is accessed from Calypso Navigator by selecting Configuration > Position Keeping.

For details on each panel of this window, see Position Keeping Configuration Editor below.

 

Step 3 - After all of the configurations are in place, trade routing happens automatically when a trade is entered.

For a description of this routing area, see Trade & Position Routing below.

 

2. High Speed Processing Setup

For the Position Keeping Server to be used for High Speed Processing, specific configuration is required.

 

Step 1 - Tenors, currency pairs and the rate at which forward rates are to be calculated and published internally need to be determined. This information should be added to the position keeping properties file which is found in $CALYPSO_HOME\client\resources\position-keeping.properties file.

Below is an example of how the information should be added.

 

Step 2 - Once the information is saved in the properties file, the file should be copied to the <calypso home>/tools/calypso-templates/resources directory.

 

Step 3 - You can then deploy the changes to your application servers. Please refer to the Calypso Installation Guide for details.

 

After the position-keeping.properties file is deployed, the Position Keeping Server will begin fetching market rates using the pricing environment (as defined in User Defaults) and publishing the same for the high speed position viewing for the currency pairs and tenors defined as shown in Step 1 above.

Details regarding how to include and deploy the changed / customized properties can be found in the Custom Extensions section of the Calypso Infrastructure documentation.

 

NOTE: In the absence of the above configuration, there will be no high speed processing experience. The Position Keeping Server will still fetch market rates using the designated pricing environment, but only on an as needed basis which are:

PV calculations for Spot Risk Transfer

 

3. Position Keeping Configuration Editor

Risk routing is the process of breaking an FX trade into various risks, depending on the trade type. How and where the risk is routed is based on the Operating Zone, the Risk Category and other types of information such as Currency Split configuration, Currency Pair Exposure Ownership, Risky Currency Exposure Ownership and Currency Funding Exposure Ownership. Configuration for this is done in the Position Keeping Configuration Editor, accessed from Calypso Navigator by selecting Configuration > Position Keeping.

Menu action positionkeeping.lookup.component.PositionKeepingLookupConfigWindow

NOTE: Changes that are made in the Position Keeping Configuration are immediately reflected in trade & position routing.

 

Access Permission

There is one access permission related to the Position Keeping Configuration Editor, ModifyPositionKeepingConfig is used to give the user permission to modify the Configuration Keeping Editor.

 

Importing and Exporting

It is possible to import and export configurations to or from an Excel spreadsheet.

To export, in the Position Keeping panel window you wish to export from, click to open the export preview window.

In the preview window that opens, the title shows the order of the columns being exported. The main portion of the window shows the actual data being exported.

To import, prepare the rows in the spreadsheet that are to be imported. The column order is the same as the order in the Calypso window. In the Position Keeping panel you wish to import to, click . A preview window opens showing the accepted column order for importing data. The main section shows the data being copied over from the spreadsheet. Click OK and then Save to persist the imported data into the system.

NOTE: If any invalid data is imported, it will be logged and ignored. It is possible to manually correct the data on the Position Keeping Configuration Editor window.

3.1 Operating Zone

The Operating Zone panel details the time zone and region of operation for the zone. Operating Zones are used when configuring Currency Splits, Currency Pair Exposure Ownership and Risky Currency Exposure Ownership.

Operating Zones allow you to configure different routing for different timezones. For example, a trade with Chinese Yen would most likely be routed differently if the trade was placed in Asia versus Europe.

Select to create a new row for input. Once the row is created, enter a name for the Operating Zone, an period of time that the zone is active, holidays that apply to that zone and a timezone that is specific to the zone. It is possible to have overlaps with the operating zones, a given region could have multiple operating zones.

You are able to either import from a clipboard or export to a clipboard in an XML format. Click to import and to export.

 

3.2 Risk Category

A Risk Category is a description of the origin and threshold amount of the trades. This determination helps direct the trades to the proper trading books for management. The risk category allows you to differentiate how the risk should be segregated. For example, you can have a category for internet trades and a category for branch trades. There is a risk amount threshold for each category, which is based on the global currency. The global currency is set in the domain value PositionKeeping.GlobalRiskCurrency. If a currency is not set in this domain value, the currency defaults to USD.

 

Select to add a row to the table to create a new category. You may enter any name for the category. A Trade Platform is the source of the trade. The selection of platforms comes from the keyword.TradePlatform domain value. The selection of trade Regions comes from the keyword.TradeRegion domain value. In the final column, enter a risk amount threshold for the category

You are able to either import from a clipboard or export to a clipboard in an XML format. Click to import and to export.

 

Tenor

The Tenor, which is optional, can be used by forward desks to route FX swap risk based on a trade's tenor as well as the currency pair in order to route long and short term risk to different books.

» The tenors available for selection are retrieved from the PositionKeeping.RoutingTenors domain. Tenor is defined for the trade’s settle dated <= Tenor date.
» The trade's tenor is calculated from the Trade Date to Settle Date for Forwards, and the far leg's Settle Date for Swaps. Both legs will follow the same routing rules.
» If an authorized user deletes a tenor in the domain value after a Risk Category has been previously assigned with that tenor, the user needs to modify the Position Keeping Configuration. When the configuration is open, the user will be required to modify or delete the associated risk category. If the configuration is not modified, the Risk Category will continue to be in use for future trade booking and modification.
» Routing by tenor does not apply to Spot Trade type main counterparty trades, including the regular spot trades and spot trades with Max Spot days.
» For trades with settle date greater than the furthest tenor defined, the Risk Category for default tenor (blank) will be used.

 

 Ⓘ   Note: There is no special handing of the existing trades booked prior to this enhancement. Routing risk category will be recalculated if modifications are applied after the enhancement, it will potentially be changed if tenor configurations are added for the currency pair. If the risk category is changed, users should review the “Risk Tree” tab of the trade routing and override if they don’t want the risk books to be changed.

 

Position Keeping Risk Category Calculation Rules

» Evaluation starts from the default Risk Category - based on Platform, Region, Global Risk Amount and blank tenor. If within the same criteria as the default Risk Category there are Tenor breakdowns, the Risk Category by Tenor will be determined by the currency pair.
» If there is no tenor rule configured for the trading pair in Currency Pair Ownership Exposure, the default Risk Category is used for this pair regardless of tenors.
» An main trade can only have a SINGLE risk category assigned. The risk category is determined by the FXForward’s settlement date or the FXSwap’s Far settlement date. If there are risk type configurations needed, but missing, for the category and the pair, routing will not occur. For example, when a risk category “eMarketAmerica - Risk under 200M <=3M” is used, and USDSEK’s Swap risk routing is configured, but USDSEK Spot risk is missing, even though the Spot risk routing is defined in the default risk category “eMarketAmerica - Risk under 200M”, a FXForward trade will not have proper routing trades, because routing will ONLY follow the main trade’s risk category “eMarketAmerica - Risk under 200M <=3M”.
» Tenor date calculations are based on the pair’s spot day configurations and currency pair holidays. The trade’s tenor is calculated from Spot Date, the same as the current FX date functions do. For example, when a USDCAD spot day = 1, a 3M tenor date is calculated based on the one-day Spot date + 3month, and on the nearest business date. Value date on or before that date qualifies for tenor <=3M.
» For Spot trade type with a currency pair that meets the max spot day criteria, routing by tenor is not applied, routing will be based on the default Risk Category.
» For FX Swap, trade routing Risk Category will be determined by the far settlement date. The same routing will be applied on both near and far legs. For uneven FX Swap, spot trades will be routed based on the Spot risk routing defined in the main trade’s risk category with tenor.
» When a trade’s pair is not defined in the Currency Pair Exposure Ownership rules, but its risky currency is defined the Risky Currency Exposure Ownership, the trade’s risk category will be assigned based on the currency in that table.
» When both Currency Split and Currency Pair Exposure Ownership” rules are defined for a currency pair, the Currency Pair Exposure Ownership rule has precedence over other routing rules.
» For a currency pair that is not in the Currency Pair Exposure Ownership, nor with its risky currency defined in the Risky Currency Exposure Ownership, but appears in the Currency Split rule, then the main trade’s risk category will be calculated based on the Currency Split rule by Position Keeping server.
» Currency Funding Exposure Ownership does not support routing by tenor.

 Ⓘ   NOTE: It is highly recommended to configure all the currency pairs in Currency Pair Exposure Ownership. The Currency Split rule should only be used for risk category assignment as a backup. The rules in Currency Split are designed for split currency lookup AFTER the trade’s Risk Category is already assigned.

 

3.3 Currency Split

The Currency Split configuration allows you to pre-define the split based on the Operating Zone, Risk Category, Currency Pair and Exposure Type.

All of these selections determine how the routing split will take place.

» Click to add a new row to the table.
» In the Risk Category column, there is an option of ANY, which is the default when a new row is added. When this option is used, it means that the user does not need to configure or duplicate split rules for each configured Risk Category.
» Salience dictates how the trade should be split if there is an overlap with the Operating Zones in the configurations.  For example, there is an overlap in the active periods for the Asian and American operating zones. In the case of a CNY/GBP Spot trade being executed during the overlapping active periods, the configured salience indicates that the trade would be split through EUR because the Asian configuration has the higher salience of the two.
» You are able to either import from a clipboard or export to a clipboard in an XML format. Click to import and to export.
» After the trade is saved, the split trade Ids are displayed in the routing area
» The system sets the following keywords in the original trade:

XCcySplitRates — specifies the rates used in the split trades.

» The system sets the following keywords in the generated trades:

XCcySplitRates — specifies the rates used in the split trades.

» Split trades can be routed by their Risky Currency using the PositionKeeping.SplitTradesNegotiatedByRiskyCcy domain value. Set the value of this domain to True to achieve this type of routing.

 

3.4 Risky Currency

In this panel, designate which currency of a currency pair is considered to be risky for routing purposes. Select the Primary Currency, the Quoting (Secondary) Currency and in the last column, select which of the two currencies is the Risky Currency.

When margin is left in the sales book during position keeping routing, it is left in the non-risky currency defined for the currency pair. However, there may be cases when a user wants the margin to be left in the non-negotiated currency on the trade, irrespective of the risky currency set by the user.

For these circumstances, the domain value PositionKeeping.RouteByNegotiatedCcy should be set to TRUE. When this is set, trades are routed based on the routing rules for the negotiated (quoting) currency. The default is FALSE.

 

3.5 Currency Pair Exposure Ownership

This panel is where the configurations from the previous three panels come together to detail precisely how the trade should be routed based on all of the information provided. The exposure ownership belongs to the book that is specified in the Owner column. This is defined based on the Currency Pair, the Exposure Type, Risk Category and Operating Zone. When multiple entries in the table have overlapping Operating Zones, the Salience designation prioritizes the entries. The higher the salience, the higher the importance.

» Salience dictates how the trade should be split if there is an overlap with the Operating Zones in the configurations. The configuration with the higher salience is where the trade will be routed
» Click to add a new row to the table. You are able to either import from a clipboard or export to a clipboard in an XML format. Click to import and to export.
» Exposure Type can be either Spot, Swap, Reset or FX Wash. FX Wash exposure is used in facilitating deals where more than one processing org is involved in the trade or a currency split is required. When FX Wash is specified as the Exposure Type, the book attribute PostionKeepingBookType should be set to SALES in the Book Window for the book being used. When the book attribute is set to TRADING, FX Wash is not used for exposure type since a trading book can accommodate split-currency-pair exposures. For an example of FX Wash routing, see Multiple PO or Cross-Currency Trades.
» Routing FX risk to an external system is supported by changing the Currency Pair Ownership to an external Counterparty as opposed to a Book.

NOTE: A book being used in a routing configuration cannot be deleted.

 

3.6 Risky Currency Exposure Ownership

This panel functions in the same way as the Currency Pair Exposure Ownership panel, but for risky currencies. Here, you only designate the risky currency, and the routing information for it. If a Currency Pair Exposure Ownership is not defined for the currency, the system looks to the Risky Currency Exposure Ownership.

The risky currency does not need to be part of a currency pair in the Currency Pair Exposure Ownership. But, if the risky currency is part of a currency pair in the Currency Pair Exposure Ownership panel, by default, the Currency Pair based configuration takes priority.

Salience dictates how the trade should be split if there is an overlap with the Operating Zones in the configurations. The configuration with the higher salience is where the trade will be routed.

NOTE: A book being used in a routing configuration cannot be deleted.

 

3.7 Currency Funding Exposure Ownership

The routing in this panel is used for Deposit Swaps. When a Deposit Swap trade is executed, a number of trades are generated. These trades include a Loan and Deposit trade, both with matching values and maturity dates, as well as an FX trade (a spot, forward or swap). Interest can be routed to include either Spot Interest or Forward Interest.

NOTE: A book being used in a routing configuration cannot be deleted.

 

3.8 Dividing Trade Routing for Cross Currency Trades

It is possible to divide Forward risk on a trade to the leg currency pairs while keeping the Spot risk as a cross. Likewise, it is possible to keep Forward risk as a cross while dividing the Spot risk to the leg currency pairs. This is done using book attribute "SpotRiskFromMainBook".

If TRUE, the Forward and Spot risk is routed from the Main Book to Forward and Spot books independently, allowing for one risk to be split via a third currency while keeping the other risk as a cross pair.

If FALSE, all risk is routed to the Forward Book and the Spot risk to the Spot book from the Forward book, therefore keeping all risks as either split via a third currency or all risks as a cross.

The default is FALSE.

 

Depending on the Position Monitor Configuration, with this setting, it is possible to route both Forward and Spot risk, just the Forward risk or just the Spot risk. Examples of these options are shown below.

The Risk Categories as defined in the Position Keeping Configurations for the examples are:

 

Dividing Both Forward and Spot Risk

 

Divide Only Spot Risk

 

Divide Only Forward Risk

 

4. Trade & Position Routing in FX Deal Station

This section describes the trade and position routing area of the FX Deal Station.

Below is an example of how this area functions.

 

Example

A sales trader executes a Forward EUR/USD sales trade with customer CP. The bank buys and CP sells 1 million Euro. The trade is entered in the book Trading Fwd EUR/USD which has been configured in the Book window to be SALES for PositionKeepingBookType.

Trade details:

Buy EUR 1 million for 3 months at 1.124642 (Spot rate 1.1247, Points 24.42 and Sales Margin 25 points)
Swap risk is 1 million EUR/USD 3 months at 24.42 points
Spot risk is 1 million EUR/USD at 1.1247
The swap trader gets the trade at 1.127142 (spot + points)

 

There is a book attribute, TransferMargin,that can be set to move the sales margin into a routed spot book. If it is set to True, the FX margin is carried over from the sales book to the routed book. If it is set to False, the margin remains in the sales book. If the attribute is missing or undefined, it is considered False.

This attribute should be used only with books defined as Position Keeping Book Type as SALES. If the PositionKeeping.TransferMargin domain value is also set, the book attribute takes precedence.

 

NOTE: If a default sales margin has been set up using this particular trade configuration, the Margin field will automatically be populated. If a default sales margin does not apply, you must manually enter the margin points.

Using this trade, routing details are described below.

 

4.1 Risk Tree

The Risk Tree displays how the risk can be broken down for the trade. You can see that there is Spot and Swap risk for this trade.

In this view, you are able to override the book in which the risk is placed. The books are automatically populated based on the configurations in the Position Keeping Configuration Editor.

NOTE: Spot Risk is transferred out of Swap Risk by creating mirror trades. The split happens at the Swap node level which is why Spot Risk is at a lower level from Swap Risk.

 

Book Override

To override the book designation, click in the Override column for the appropriate risk and select a new book.

It is possible to override with a book or a counterparty. Select a Counterparty to route to an external counterparty for NDF trades.

 

Routing Status Indicator

Status indicators show if the risk routing is with or without problem. If the status indicator is red next to the risk, this indicates that there is an issue with the routing. For example, perhaps a book hasn't been properly defined to accommodate the risk based on the configurations in the Position Keeping Configuration Editor.

You will be unable to save the trade until all of the risk routing errors are resolved. Select a book in the Override column to correct the routing error.

 

4.2 Factors

The Factors panel displays the information from the Position Keeping Configuration Editor that was used for the routing of the trade. In this panel, you may change the Trade Source, Trade Region or disable trade routing for the current trade.

To automatically have the Disable Trade Routing? flag selected for a particular user for trades booked in a SALES book, set the PositionKeepingBookType.SALES Disable Trade Routing User Attribute to True. (Configuration > User Access Control > User Defaults).

The field Spot Risk From Main Book? displays the value of book attribute SpotRiskFromMainBook - Checked when TRUE or clear when FALSE.

 

4.3 Preview Positions

This is position information before the trade is saved.

 

4.4 Preview Trades

This is the trade preview information available before the trade is saved.

 

4.5 Actual Positions

This is the position information after the trade is saved.

 

4.6 Actual Trades

 

This panel displays the actual trades that have been created upon saving the trade. The first trade in the table is the original trade, and contains the sales margin. To view any of the other trades, double-click on the trade in the table.

NOTE: Spot Risk is transferred out of Swap risk by generating mirror trades.

 

4.7 Negotiated Rate

In this example of an FX Forward trade, there are three books, a Sales book which takes the margin (if book attribute TransferMargin is set to false), a Swap book which takes the swap risk and a Spot book.

Spot routed trades take the Spot rate for the Negotiated Rate.

Swap and Reset routed trades take the Trader rate (spot + points) for the Negotiated Rate.

In the example above:

Trading Fwd EUR/USD is the Sales book and takes the margin points. The Negotiated Rate is 1.27142, the Trader rate.
Global is the Swap book. The Negotiated Rate is 1.1247, the Spot rate.
BookNYC is the Spot book. The Negotiated Rate is 1.1247, the Spot rate.

 

4.8 Internal Trade Routing

No configuration is required for an internal trade. You can enter a mirror trade with an internal book by clicking or select FX > Toggle Internal Trade. When you do, the Counterparty field changes to a Book field, allowing you to select an internal book for the trade.

Click  to return the window to external trade mode.

» When an internal trade is booked, the Trade Region and Trade Platform for the main book are stamped on the trade as keywords. If the user has the User Attribute DefaultPositionKeepingBookType.SALES Disable Trade Routing set to True, then that is applied to the trade as well. (If this attribute is not set, the default setting for Disable Trade Routing is False.) When the main trade is saved, Calypso creates a corresponding internal (mirror) trade. When this trade is created, the Trade Region and Trade Platform are applied based on the settings in the mirror book.
» There is a Book Attribute that can enable trade routing for a designated book. This attribute, DisableTradeRoutingInternalTrade is set to True by default, meaning that routing is disabled. To route the internal trades in the book, set the attribute to False.

The User Attribute DefaultPositionKeepingBookType.SALES Disable Trade Routing (which is set to False by default) plays a role when the PositionKeepingBookType is Sales. If PositionKeepingBookType.SALES Disable Trade Routing is set to True, then for the Sales book, both internal and counterparty trades are not routed.

If it is set to False, for the internal book the system looks to the DisableTradeRoutingInternalTrade flag. Based on that flag, trade routing will be enabled or disabled. Refer to the Sales book use case table below:

FX Default PositionKeepingBookType.SALES Disable Trade Routing

DisableTradeRouting

CP Trade Routing

Internal Trade Routing

False

True

Yes

No

False

False

Yes

Yes

True

True

No

No

True

False

No

No

 

For Trader book type, the FX Default PositionKeepigBookType.SALES Disable Trade Routing User Attribute is not considered.

» If a book does not have Trade Region and Trade Platform defined, the values from the PositionKeeping.DefaultTradeRegion and PositionKeeping.DefaultTradePlatform domain values are used.
» To carry over the keywords from the main trade to the mirror trade, the keywords to copy can be defined in the FXMirrorKeywords domain value. By including the specific keyword (TradePlatform, TradeRegion and DisableTradeRouting) in one of the domain values, it is possible to carry over those values from the main trade to the mirror trade.
» To prevent routing of the mirror trade, be sure to add DisableTradeRouting to the FXMirrorKeywords domain value which will copy the setting from the main trade to the mirror trade.
» Manual override of the Trade Region and Trade Platform on a trade will not copy to the mirror trade unless the FXMirrorKeywords domain value is configured to do so.

 

NOTE: As of v15 September Maintenance release, the DisableTradeRouting flag is set to False by default for all trades. This can be overwritten with the User Attribute DefaultPositionKeepingBookType.SALES Disable Trade Routing being set to True. This disables trade routing for any trade booked in a SALES book, including mirror trades.

Prior to the v15 September Maintenance release, for internal trades, the trade keyword DisableTradeRouting was set to true to prevent routing.

 

4.9 Multi-PO Trade Routing

Trades may be routed across multiple processing organizations. Below are two examples of this type of routing.

 

Multiple PO, Non-Cross

For a trade that is not a cross currency trade requiring a currency split, the process for routing across multiple POs is fairly straightforward. The routing is determined by the processing organization for the book to which the trade is routed.

 

In the FX Forward trade example above, the spot risk is being routed to the Trading Spot EUR/USD_NY book, while the swap risk for the trade is being routed to BookNYC.

Below you can see the actual trades produced from this forward EUR/USD trade in the Trade Browser. It can be seen that the Processing Org for Trading Spot EUR/USD_NY is PO123 and the Processing Org for BookNYC is PO.

 

Multiple PO or Cross-Currency Trades

Routing for multiple PO or cross-currency trades involves additional configuration. The trade is moved from the sales book to an FX Wash book from which the currency splits take place. The split is done in the wash book instead of the sales book to prevent any currency pair positions being left in the sales book. The sales book should only contain the sales margin, if there is one.

 

 

5. Sample Routing for Different Trade Types

Below are some examples of routing for various trade types.

 

5.1 NDF Forward Routing

Risk Tree and Actual Trades for NDF Forward using a Sales book.

 

5.2 FX Cash Routing

Risk Tree, actual positions and actual trades for a six month EUR/USD FX Cash trade, with monthly strips and solving for 1,000 NPV per strip.

 

5.3 Precious Metal Routing

Risk tree and actual trades for a XAU/USD forward.

 

6. Book Substitution

Book Substitution allows an override of existing trade routing for a book for a given time frame, due to a possible trader holiday or a temporary assignment for example. The designated time is based on the system time of the user. product.routing.BookSubstitutionRequestFrame

 

Note: A book being used in a Substitution Configuration cannot be deleted.