Main Page by Topic
This page has considerations for design around ‘Closeouts’ for Exchange Traded (‘listed’) Futures and Options context of CTRM system design.
Here is how closeouts work…
First.. they are only for Exchange-traded items. We’ll use Futures as the example for this e-mail, though they would also apply for exchange traded options on futures.
As an example, NYMEX CL (WTI Crude) futures.
From now on, we’ll call them ‘Futures Closeouts’ though I really mean Futures/Options/etc. Just to make it simpler for communications…
There are two key aspects to Futures Closeouts
1) Volume of trades (trade count), i.e., as relates to performance
2) Recognizing PnL, i.e. ,Realized PnL. This is from an accounting (subledger/ledger) point of view.
Here is how it works on the exchange, using some examples.
You buy 10 futures, e.g., Dec-2022 CL, at $87/BBL.
Let’s assume that this is booked as a single trade in a CTRM system and gets deal number 100001
Then next day you sell 4 futures, same contract code (CL) and same month (Dec-2022) at $88/BBL. Let’s assume this is also filled as one Deal, booked in the CTRM system as Deal# 100002.
So what is going to happen on the exchange side.. .they are doing to show you as long 6. They net things on their end. The money you made would be in your account, yours to do with what you please. The money you make is $1 (= $88 - $87) times the Contract Size (1000 BBL in this case, see above link for the contract specs) times the number of contract (=4). i.e.., $4000 in profit.
In summary, when you look at what the exchange shows for you, you’ll see:
And long 6 Dec-22 CL contracts at a price of $87.
So what does it look like in a CTRM System?
Without a closeout process, you would have
a) Still 2 active trades…
b) net long 6 (total position)
c) All of the PnL would be shows as ‘unrealized’. i.e., PnL is considered ‘realized’ (done and in the past) or ‘unrealized’ (still in the future).
So what you what in the close out process is
1) To reduce the number of active trades. In this case, that would be just Deal# 100001 from our example above and
2) to count $4000 as realized PnL.
So let’s think about how this would work…
We need to introduce the concept for a CTRM system of a Futures Trade having 2 different positions (quantities). There is the original traded quantity. And then a second position that is based on what is still active.
You can not just modify the original traded quantity (in a closeout). Why? Well… for one thing… broker fees are based on original traded quantity. If a broker charges $3/lot for your original buy 10 trades, you still owe them $30 ($3 * 10) even if you did a closeout. So somewhere in the CTRM System, you need to still have the original traded 10 lots. There are other reasons, but the point is… you need it.
Risk and MTM for going forward, need to be based on the active position (remaining).
Which you would have after a closeout process of:
Deal#: 100001: Original Traded Position: +10 Remaining Active: +6
Deal#: 100002: Original Traded Position: -4 Remaining Active: 0
What you want is a way to mark deal 100002 as ‘fully closed out’. And stop including it in your EOD calculations (to save time and space). Keep in mind that from the Exchange’s point of view, this trade is ‘gone’. Dec-2022 NYMEX CL contracts are ‘fungible’, so there is literally no -6 lot trade anymore. It went ‘poof’.
Now…. Keep in mind that for a OTC trade (over the counter) you can’t do close outs. A buy and a sell ever for the same party have certain credit risk things and so on. Even if the counterparty goes bankrupt, without a legal netting agreement in place, you might still need to pay them (for one of the two trades) even if they can’t afford to pay you (for the other).
Note: At a firm with a high volume trading, they might have 10,000 Dec-2022 NYMEX CL trades! That would closeout down to potentially just one trade, a buy or a sell. So it can make a real difference to help with performance.
Example 2) The prior example, Example #1, was the simplest example. Let’s make it a bit harder and more realistic:
Day 1, Buy 10 lots of Dec-22 NYMEX CL at $80/BBL. Deal# 101
Day 2, Sell 6 lots of Dec-22 NYMEX CL at $81/BBL. Deal# 102
Also on Day 2, Sell 6 lots of Dec-22 NYMEX CL at $82/BBL. Deal 103
Do you see the problem? The problem is: you could close out two ways:
Way #1) Buy 10 @ $80 nets out against 6 lots @ $81 and 4 lots @ $82
Way #2) Buy 10 @ $80 nets out against just four lots @ $81 and the remaining 6 lots @ $82
So while the total position remains a net (post closeout) at -1 lots… the realized PnL would be different depending on which of the two about ways you go. Also, you’ll either be left with the -2 lots at a sell price of $81 or at a sell price of $82.
‘FIFO’ and ‘LIFO’
FIFO = First in, First Out
LIFO = Last in, First Out
Way #1 was done using ‘FIFO’. Way #2 was done using ‘LIFO’
Even doing FIFO and LIFO in a CTRM System creates challenges. What are you going to use to determined which trade was first for the point of view of FIFO. You going to use the time stamp on when the trade was booked into the CTRM System? Are you going to use the trade time as reported by the exchange? As a reminder, we are already assuming the trade date is the same.
There is no perfect solution… so in addition to FIFO and LIFO, you also need (i.e., a CTRM System needs) to support a Custom closeout process..
a) Where this could be done in code based on a client’s own rules or
b) Manually.. i.e., users could select which specific trades to be closed out.
Though in general, the closeout process is something that should be run automatically each day.
Introduction to CTRM
Click on this link for a great introduction to CTRM software: Introduction to CTRM Software