|
Main
Page by Topic |
||
C.
Statistics |
Considerations
when Migrating Transactions from a Legacy to a New CTRM
This page
shares with you, gentle reader, thoughts and considerations on when Migrating
Transactions from a Legacy to a New CTRM.
There are seven key elements to this, which
should be considered and planned separately:
Key Element 1) Migration strategy
This includes
in scope for this topic:
1.1) Migrate
all trades at once, i.e., a go live/cutover weekend or run in parallel for
period?
1.2) Migrate
all trades since the origin of the legacy CTRM system or just active ones or somewhere
in between like one year back?
1.3) For
individual trade, e.g., a calendar year, Jan to Dec swap, migrate the whole
trade, i.e., all 12 months, or just the months still in the future, e.g.,
remaining 3?
Key Element 2) Actual Migration ‘Scripts’ (Code)
2.1) Build
Trade Export from legacy system
2.2) Build
Trade Import into New System
2.3) Not so
easy… many trades will be re-modeled/new design for implementation. Instead of one-to-one, may be 2 to 1 or 5 to
1 or a change in trade type, etc.
2.4) May
include mappings, e.g., to new counterparty names
Key Element 3) Data Cleanup
3.1) It is
common for ‘bad’ or corrupt trades to exist in legacy system.
3.2) E.g.,
since they were booked, a holiday schedule changed, which would require that
the payment dates be generated, but that hasn’t happened yet.
3.3) Good
project management would be to track these and clean them up in the legacy
system prior to go live on the new system.
Key Element 4) Project Management
4.1) Good project
management is essential. There will
likely be many test cycles, i.e., full end-to-end trade migration tests.
4.2) Project
Managers should have a report that shows one column per test cycle (e.g., one
column per week) where the rows are the Trade Types (a.k.a., ‘instrument types’). The data in the report would be percent
complete in terms of migration success.
Again, this should be per trade type and with percentages trending over
time (as columns).
4.3) The PM
(project manager) should also track the status of corrupt (‘bad’) deals in the
legacy system as they get fixed.
4.4) And keep
in mind that while an implementation of a new system is going on, trading
continues in the legacy system. New
Trade Types may get added, i.e., trading a new product, and additional deals
may get corrupted.
Key Element 5) Trade Reconciliation –
Trade Details
5.1) Additional
extracts will need to be written from the Legacy system and an extra would need
to be written from the new system.
5.2) Need
payment level details for the Trade Details Recon. E.g., a trade may get exported as one row for
a swap with start/end dates of ‘Jan to Dec’ and that may be fine for trade
booking. For the Trade Details recon,
that would not be enough. You would need
12 rows for the deal, one row for each payment, shown with the payment dates
(one per month) and the volumes and other details.
Key Element 6) MTM (Mark to Market) Reconciliation
6.1) After the
Trade Details recon checks out, you can and should run a MTM (‘valuation’)
recon. Even if the trade details match
100%, you can still have a MTM difference due to pricing model differences,
differences in market data (prices, volatilities) or differences in
interpolation methods of market data.
6.2) If a MTM
difference is expected, make sure to get whatever approvals are needed to allow
for the MTM change. Especially if the
MTM will be higher in the new system versus the legacy system.
Key Element 7) Regulatory Considerations
7.1) This is
mainly about retention of data. e.g., if
you are migrating only active trades from the legacy system and you have a
regulatory requirement to retain 7 years of data, what is your plan do to
that? Keeping the legacy system around
for 7 years may not be possible/practical.
7.2) Another
regulatory consideration is if the MTM changes and how that would be
approved.
This page focuses
specifically on the considerations and challenges for migrating trades. For a more general document that covers
migration strategies, see this:
Link: Strategic Approaches for
Switching CTRM Systems
For this
document, ‘Transaction’ is synonymous with ‘Trade’ and vice-versa.
Also, note
that the below provides additional details compared to the above section, which
is an intro/summary.
Outline for This Page
1) Intro to Trade Details Reconciliation
2) Trade Details Reconciliation – Special Considerations
3) Trade Details Reconciliation – Project Management Tips
4) Intro to MTM (Mark to Market) Reconciliation
5) Trade Migration – General Considerations
6) Trade Migration – Regulatory Considerations
1) Intro to Trade Details Reconciliation
Plan on
building two separate reconciliations.
One for trade details and one for MTM (mark to market), a.k.a.,
valuations. These are one-offs for use
for your system migration that would be discarded after new system go
live.
1.1) Trade
Details Reconciliation
This should
a) Take an
export of trade data from the legacy system and
b) Take an
export of trade data from the new system and
c) Compare
them for differences.
1.2) You might
need several export files.
a) One with
one row per trade with trade level details
b) And one
with payment level details. E.g., a fixed/float
Commodity Swap (financial deal, a derivative) might be for one calendar year
and so have 12 payments, each with a different payment date. You’ll want to reconcile the payment dates
(and other details) between the legacy and the new system.
If a payment
date is different, then the MTM would be different, if only due to different
discount factors applied to different dates.
By doing the trade details reconciliation first, before the MTM reconciliation, then you’ll likely catch most
of the issues that you would have found in the MTM reconciliation.
1.3) You would
likely already have an export of trade data from the legacy system. The one you might have used to build up the
import files for importing trades into the new system. Some of that may be reused, although you
might need to build out additional exports, e.g., at the payment level (12 rows
per trade if the trade is for one calendar year).
2) Trade Details Reconciliation – Special
Considerations
2.1) In order
to tie things between the legacy and new system, you’ll need to copy the
original trade number, from the legacy system, onto the deal into the new
system. E.g., if the original trade
number is E123456 and in the new system, it gets a value like ABC-100001,
you’ll need to stamp the original value, i.e., ‘E123456’ somewhere on the trade
in the new system.
Most CTRM
systems allow for extra fields to be added to a trade, i.e., custom
fields.
In addition to
adding ‘legacy trade number’ as an extra, custom field, you may also want to
add ‘system source’. There may be more
than one source of trade data when going from a legacy to a new system. E.g., maybe some trades are loaded that were
formerly managed solely in Excel and the rest are from a legacy CTRM
system.
2.2) Most CTRM
systems support a concept called either ‘interbook’ or ‘internal’ trades. This is when a user enters in one trade,
e.g., a buy, to an internal-to-the-firm group and the system automatically
generates a second trade that is equal and opposite, i.e., a sell. Two different trade numbers would get
generated.
If you have
1000 trades in total, all Interbooks, that means 500 buys and then another 500
linked sells. When these get booked into
the New CTRM, you would only book the 500 original trades. Meaning via an
import file. And then the system would
auto-generate the offsetting 500 trades for 1000 in total.
Consider this
when building a trade details reconciliation.
An easy approach is to ignore the auto-offset trades in the recon,
assuming those to be correct if the original side of the interbook trades is
correct. And then catch issues, if any,
in the MTM recon.
If you do plan
to also reconcile the auto-generated offset trades (the ‘sell’ to an original
‘buy’ and vice-versa), then consider how you might migrate the trade number of
the offset trade into the new system, which could be tricky since you don’t
actually book the offset trade, that gets auto-booked by the system.
2.3) If you
have a multi-month trade, e.g., a commodity swap that lasts a calendar year,
i.e., Jan to Dec, with 12 payments, one per month, consider that in some
migrations only the remaining active months will get migrated. E.g., with a go live planned for September,
maybe only the remaining 3 months, October, November and December would get
booked/created in the New CTRM system.
Any trade
details reconciliation would need to take this into account. E.g., the original start date of the trade
would be January 1 and the start date of the newly booked trade would be
October 1. That can’t be flagged as an
error by the recon, since it is an intentional change.
2.4) There are
often intentional trade modelling differences. e.g., due to issues with the
legacy system, one ‘trade’ in the real world might get booked as two separate
trades as a workaround.
Then, in the
new CTRM system, which would have better capabilities, the trade could be
booked more accurately as one single (correct) trade.
The recon
would have to reconcile two trades to one, which would require custom/special
logic.
3) Trade Details
Reconciliation – Project Management Tips
3.1) Team
members will want a Percent Reconciled (matching) number for each test
run. Providing one overall number can
be misleading. Better to provide numbers
by trade type.
For example:
Exchange-Traded
Futures Reconciliation Status: 100%
(e.g., 27,123
deals out of 27,123)
Financial
Commodity Swaps (derivatives): 90%
Financial
Commodity Options (derivatives): 60%
Financial
Commodity Swaptions (derivatives): 00%
Physical
Natural Gas deals: 50%
And so on.
3.2) Project
managers should track the status of deals that are corrupt (‘bad’) in the
legacy system, meaning if/when they have been corrected by the business. Ideally, all corrupt deals would be corrected
prior to the go live weekend.
4) Intro to MTM (Mark-to-Market)
Reconciliation
4.1) Make sure that before you run a MTM
reconciliation for any
given test run, that you run a Trade Details reconciliation and make sure that
checks out first.
4.2) Consider building a separate
reconciliation for market data, i.e., prices, volatilities, correlations, interest rates and FX
rates. And run that before you run your
MTM recon on the trades. If a market
price is not matching between the legacy system and the new system, then the
MTM will be off on the impacted trades.
In fact,
simply running a MTM on a set of trades and extracting the results can be very
time consuming. All of that effort can
be saved in the event of a bad run by confirming that the market data (prices,
etc.) are a match first.
4.3) Also double check that system
settings, especially the
run date, are a match, between the legacy and the new system.
Typically you might
do a test reconciliation run with recent data from production, e.g., from a
week old. Whatever date was used for the
data from the legacy system for calculating MTM values needs to be the same
date used when calculating MTM data in the new system.
4.4) There are numerous reasons why MTM
values may not match and
some of them may be unexpected. As
examples:
4.4.1) If the
holiday schedules don’t match between the legacy and the new system, payment
dates as calculated by the new system may not match, leading to small MTM
differences due to different discount factors for different payment dates.
4.4.2) If the
holiday schedules for good business days for exchanges do not match, then the
dates using in monthly averaging swaps may be off, causing MTM differences. e.g., in the legacy system, the price may be
an average of 21 good business days for a month (inclusive of correct
holidays), while in the New CTRM, the price may be based on 22 ‘good business
days’ (due to a missing holiday).
4.4.3) For the
MTM for deals, in some cases, they’ll get a market price value that is an
interpolated value between two other points.
E.g., a mid-month value taken as the average of two monthly values.
If the
interpolation methods are different, e.g., log-linear in the legacy system and
linear in the new system, then the prices that are fed into the MTM valuation
process will be different and so the MTM will be different.
It can be
tricky to identify this as a root cause of a MTM issue, since all of the trade
details would reconcile between the two systems as well as the Price input
values (only the one per month) would also match.
5) Trade Migration – General
Considerations
5.1) Interbook trades.
Interbook trade considerations for trade reconciliation are also
mentioned above.
As a summary, when migrating interbook trades, be sure to only book one side of
the interbook trade into the new CTRM system.
The new CTRM system will automatically generate the other side. If you were to book both sides, you would end
up with twice as many deals in the new system as needed.
See also: Interbook trades
5.2) Considerations
regarding modelling changes for deals
It is common for deal modelling to change when switching systems.
Here are some real world examples to consider. Consider how these or the cases you will
encounter would impact deal migration, whether manual or automatic and any
trade detail or trade MTM reconciliations.
5.2.1) A legacy system did not support spread options. A small number of spread options were booked
as if they were simple spreads, i.e., non-options. Then, separate from that, a deal meant to
represent a cash flow (‘cash deal’) was booked each day as a way to pass in the
MTM of the deal.
The new system did support, natively, spread options. So the workaround deals booked into the
legacy system were booked correctly in the new system. Which was not ‘like-for-like’ as booked, and
instead booked the way they should ideally be modelled and valued.
5.2.2) A legacy system had minimal support for power trading
(a.k.a., ‘Electricity Trading’). Power
trades were modelled using functionality intended for Natural Gas. That left two functionality gaps. First is the modelling down to the hourly
level. Power trades hourly and NatGas
trades daily. Second was other types of
trades that you get with Power, e.g., something called ‘Ancillary Services’.
The new system natively supported Power Trades, including details
down to the hourly level and the other types of trades associate with Power
such as ‘Ancillary Services’ and ‘Capacity’.
When trades were migrated, they were booked to the correct (better) way
of modelling things. And that required a
good amount of manual work to decode the workaround trades in the original
source legacy system.
5.2.3) Poor modelling of what are called ‘pass through trades’ in
one system required five separate trades to be booked, and they were not linked
together in the system, even though they are really all part of the same trade.
In the new system, these could (correctly) be booked as a single
trade, one that correctly shows exposure to multiple internal trading desks and
to an external client. So 5 to 1. This needed special logic in the deal
conversion scripts/code and in the reconciliations.
5.3) Considerations
regarding changing the term of a trade
Example: if you have a
one-year long swap trade with monthly payments and you are partway through the
term of the trade, do you migrate to the new system the whole trade, i.e., all
12 months, even the months in the past, or do you migrate just the remaining
active months.
5.4) Prior period adjustments for physical deals
Prior Period Adjustments occur for physical deals, e.g., for a
physical natural gas purchase deal, where updated ‘actual’ volumes come in
after an invoice date. e.g., maybe when
the invoice went out, you thought the volume flowed of Physical NatGas on a
given date was 9,000 MMBTU. And maybe
the pipeline comes back 45 days later and informs you that the actual volume
was 9,100 MMBTU, for an increment of 100 MMBTU.
In a legacy system, you would likely already have a capability to
adjust the original trade. Whereas in
the new system, that trade may not have been migrated if it was considered not
‘active’.
The point here is to bring this up as a consideration that might
impact your planning around trade migration and not to necessarily recommend
the best approach to handling this situation, which would depend on the
circumstances.
6) Trade Migration –
Regulatory Considerations
Often firms
will migrate only active trades plus trades that were recently active, e.g., 6
months of prior date or up to a year.
However,
regulatory requirements may call for 7 years of historic data. Which means that a firm may need to either
a) keep the
legacy system around for a certain number of years. This could be expensive in terms of
licensing. And the third party
software, e.g., version of Windows or the version of the database server, may no
longer be supported by those vendords.
b) or to
extract trade data into a format for archiving that is approved for the
purposes of audit. That might be as
simple as a CSV file or may require a more complicated solution.
Introduction to
CTRM
Click on this
link for a great introduction to CTRM software: Introduction to CTRM Software