April 17, 2024

FX Splitting (quick notes)

Currency pairs can be enabled for splitting, which means that a given pair is converted into two other pairs.

This feature can be used to convert more illiquid currency pairs into more liquid pairs.

Split Enabled EGO Accounts:

For client automated trades, whether a certain currency pair enabled for splitting is actually being split is determined by the clients EGO Account booking rule.

An automated trade from a client is therefore only being split if:

  • The currency cross trades is enabled for splitting in FX, Auto Quote Control, and
  • The traded amount is the max split amount and
  • The global setting for splitting is enabled and
  • The EGO account the client’s EGO account booking rule is pointed to is enabled for splitting

Normal Auto Split mechanism:

  1. The client trade is booked against the designed split book (an EGO account used as counterpart for all split trades)
  2. From the Split Book, the two split trades are booked against the client’s EGO Account Booking rule

Value Date Alignment:

If there is a difference between the spot value date for the original client traded currency pair, and the spot value date for one or both of the split pairs, a value date alignment is made before the trades against the MM Spot Book.

How calculate one split side given the other:

This section describes how to calculate the price on one of split trades given the price of the other. A given currency pair BQ where B is the base currency and Q is the quoted currency. Trade in currency pair BQ can be split over currency S in one of 4 ways: (Named after the positions, base or quoted, of the original traded currencies in the traded split currency pair.)

  1. QuotedQuoted        a0 BQ @ p0  →  a1 SB @ p1 & a2 SQ @ p2
  2. BaseQuouted        a0 BQ @ p0  →  a1 BS @ p1 & a2 SQ @ p2
  3. QuotedBase        a0 BQ @ p0  →  a1 SB @ p1 & a2 QS @ p2
  4. BaseBase         a0 BQ @ p0  →  a1 BS @ p1 & a2 QS @ p2

Case 1) QuotedQuoted        a0 BQ @ p0 → a1 SB @ p1 & a2 SQ @ p2

Q/B = 1 / (B/S * 1/ Q/S)

p0 = 1 / (p1 * 1/p2) = p2 / p1

p1 = p2 / p0        a1 = a0 * 1/p1

p2 = p0 * p1        a2 = a1

Case 2) BaseQuoted         a0 BQ @ p0 → a1 BS @ p1 & a2 SQ @ p2

Q/B = S/B * Q/S

p0 = p1 * p2

p1 = p0 / p2        a1 = a0

p2 = p0 / p1        a2 = a1 * p1 = a0 * p1

Case 3) QuotedBase        a0 BQ @ p0 → a1 SB @ p1 & a2 QS @ p2

Q/B = 1 / (B/S * S/Q)

p0 = 1 / (p1 * p2)

p1 = 1 / (p0 * p2)        a1 = a0 / p1

p2 = 1 / (p0 * p1)        a2 = a0 * p0

Case 4) BaseBase         a0 BQ @ p0 → a1 BS @ p1 & a2 QS @ p2

Q/B = S/B * 1 / (S/Q)

p0 = p1 * 1/p2

p1 = p0 * p2        a1 = a0

p2 = p1 / p0        a2 = a0 * p0

When splitting a given client trade then the obvious way to determine the prices on the split trades would be to lookup the (client) price of one the crosses and calculate the other as described above.

The problem with this approach is that it the benchmark earnings on the two split trades may differ significantly and will depend on what split cross is the lookup cross what is the calculated cross.

The solution that we have we devised is to look-up the underlying market price (relevant BBO) on both split crosses and for each split cross calculate the amount traded in the currency over which the trade is split. Now both split trades should trade the same amount split currency S, thus we can calculate “fair” split prices p1 and p2 based on the average amount S traded.

a0 BQ @ p0  →  a1 (SB or BS) @ p1 & a2 (SQ or QS) @ p2

Lookup relevant BBO price p1 and p2 for the split trades and calculate the amount traded in split currency.

BS:      as1 = a0 * p1         QS:     as2 = (a0 * p0) * p2

SB:     as1 = a0 / p1        SQ:    as2 = (a0 * p0) / p2

Calculate the average amount in split currency S:

as = (as1 + as2) / 2

From this average calculate the “fair” split rates:

BS:    p1 = as / a0        QS:    p2 = as / (a0 * p0)

SB:    p1 = a0 / as        SQ:    p2 = (a0 * p0) / as

If we need to perform value date alignment and one of the split trades is actually a forward then we will have to add the swap to the lookup prices before calculating the amount S traded.

FX Splitting

Trades on exotic FX instruments are sometimes (most often) split into less exotic trades. There are two fairly simple reasons for this: All exposures should be in some major currency, because 1) in this way we only have to monitor a subset of all possible FX instruments and 2) instruments which include majors are usually more liquid.

Required Inputs

If a cross is defined as consisting of a direction (buy or sell), an amount, an instrument, and a price (which is valid for a given value date).

Ex. cross A= (Buy, 100, USDDKK, 5.2@12/02/2008)

Then to do FX splitting, three crosses must be given: Original cross, left cross, and right cross.

The original cross is the cross that was originally traded which we wish to split into two: left cross and right cross. Since any cross is split over some split currency, the instrument of both the left and right consists of one of the currencies of the original cross and the split currency. The left cross is defined as the cross that consists of the left currency of the instrument of the original cross and the split currency. The right cross is defined as the cross that consists of the right currency of the instrument of the original cross and the split currency.

Ex. original cross = (Buy, 150 TRYDKK, 4.21@14/02/2008)

Left cross = (Sell, 123.28, USDTRY, 1.22@14/02/2008)

Right cross = (Buy, 123.28, USDDKK, 5.13@16/02/2008)

In this example, the TRY currency is on the left side of the instrument of the original cross. The left cross is therefore the one that involves TRY and USD (USDTRY). Similarly the right cross is the one that involves DKK and USD (USDDKK).

Price and Value date alignment

Prices and value dates are invariably interconnected, since a price is valid for a given value date. Changing the value (into the future) requires a price to be guessed/calculated into the future as well. An FX instrument with a future value date is called a forward.

When getting a spot price for a given FX instrument, we actually obtain a price with value date two days into the future (this is just a definition in the world of FX). However, the currencies involved in the given FX instrument originate from some countries. Whenever there are holydays in one of the originating countries, it affects the value date of the FX instrument. A value date is only valid for a given instrument if it a banking day (not holyday) in both of the originating countries of the involved currencies. So when getting a spot price for a given instrument, the value date may be two days into the future for some instruments and longer into the future for other instruments, depending on holydays and local conditions (a couple of instruments have value date one day into the future).

As can be seen in section ”Input” above, splitting involves three instruments which are always comprised of a combination of three currencies. Therefore, we also have three spot prices and because of holydays and local conditions, these prices may be valid for different value dates and therefore be skewed in relation to each other. When performing a split we generally wish to align the value dates (and thereby the prices).

However, we are bound by the original trade which cannot be tampered with, since this is a trade actually traded by some client to a given price and value date. Therefore we consider only the left and right crosses.

Aligning value dates is a matter of calculating a single value date that is common to both the left cross, the right cross and if possible the original cross. Figure 1 below shows the possible cases that exist previous to our calculation. An arrow indicates the change in value date (and therefore price) that needs to be performed to meet the objective.

Figure 1: Possible cases

We can express a possible solution as follows

After the objective is met, we need to ensure that the new value date is a banking day in both the left cross and the right cross. If it is not, we need to need to swap both crosses to the next available banking day.

If the value dates on either cross changes, then so must the prices. In that case we use the the interest rate calculation module of Data Feed Systems to calculate a forward price to match the value date.

Split Registration

Figure 2 below shows and example of how a trade is split.

Figure 2: Split registration example

As can be seen, a common value date has been calculated to 16th of February 2008. The clients trade is booked against an FX Split account (which is an account in the split currency, USD) and two split trades (left and right) are traded from the FX split account onto a booking account.

Let us calculate what happens on each of the accounts.

client Acc.buy150TRY4,21150TRY
 sell631,5DKK -631,5DKK
FX Split Acc.sell123,28USD1,22-123,28USD
 buy150,4016TRY 150,4016TRY
FX Split Acc.buy123,28USD5,13123,28USD
 sell632,4264DKK -632,426DKK
Booking Acc.buy123,28USD1,22123,28USD
 sell150,4016TRY -150,402try
 buy632,4264DKK 632,4264DKK

Table 1: Accounts calculated, the numbers have rounding errors.

Note: In Table 1 above, some of the numbers have rounding errors. For instance, 150.4016 TRY becomes 150 TRY exactly, when using prices that have not been rounded.

As can be seen from the calculations above, the Client Acc. obviously buys and sells what the client has bought and sold. The FX Split account buys and sells exactly the same, but pays and receives USD. In fact prices and amounts have been fixed such that the FX Split Account both buys and sells the exact same amount of USD (123.28). We therefore say that the FX Split Account goes to zero. The booking account buys and sells exactly the opposite as the Client Acc. but pays and receives USD.

The overall result of the maneuver above is a difference in the original house exposure and the resulting house exposure. The original house exposure that results from the client’s trade is some exposure in TRYDKK. The resulting house exposure amounts to the exact same collective exposure, but now split over two exposures, namely USDTRY and USDDKK. Note how both of the exposures include a major currency (USD) – this is the point of splitting.

Also note how 5/6 of the positions are only visible internally (ego positions). This illustrates that splitting per definition is an internal operation which is used to ease the job of the FX Desk and provide more liquidity. As such the client has no knowledge and cannot see which (if any) split-positions are generated from his/her position. Keeping this invisible to the client is primary the reason why the client trade (including price and value date) cannot be tampered with.

FX Split Account Must Always Remain Zero

Splits may be performed manually or automatically. The difference lies in the way prices are given. When splitting automatically, spot prices and corresponding value dates are looked up for both the left and the right cross. When splitting manually, prices and corresponding value dates are given (usually by a trader on the FX Desk). In both cases the prices and corresponding values dates (which may even have been aligned according to section “FX Splitting” above), may be skewed such that the FX Split account does not go to zero as it should. There can be several reasons for the skew. For instance, it might be a mistake by the trader on the FX Desk or it might be that Data Feeds are not entirely consistent. But the most likely reason is that the prices were valid for different value dates and correspondingly aligned.

In any case amounts and prices are recalculated to force the FX Split Account into zero. As already mentioned, a certain subset of all currency crosses is monitored. The monitoring is done by people at the desk. It so happens that when splitting, the left and right cross is monitored by two different persons. To make sure that prices and amounts are equally fair (or equally unfair) to both persons, the would-be remainder (in USD) on the FX Split Account is calculated and prices/amounts on both the left and right crosses are adjusted equally.

Source <http://devnet.mid.dom/TechnicalWritingCommunity/Shared%20Documents/new_business_logic_sources/FX_Specs_Splitting_FX%20Splitting.doc>