Assume we have:
- | Two identical purchase and sales contracts: |
o | S0456: pricing against Mar-2014 + 77 USD/MT premium |
o | P0123: pricing against Mar-2014 + 77 USD/MT premium |
o | Mar-2014 = 501.50 USD/MT |
o | May-2014 = 500.00 USD/MT |
We roll both contracts from Mar-2014 to May-2014
Business logic:
In both cases the premium will change from 77 to 78.05
The idea is that rolling does not affect the total price
So:
o | if we directly price against Mar-2014 the total price would in both contracts be 501.50 + 77.00 = 578.50 |
o | if we roll to and price against May-2014 the total price would in both contracts be 500.00 + 78.50 = 578.50 |
The way this is calculated and presented on the Risk tab and in the allocations of futures is:
1. | You enter a rolling Mar-May on both contracts |
a. | You enter a price in the rolling, positive or negative |
b. | Add this price to the original premium for the rolled-from period, to calculate the adjusted premium for this rolling
So if the number is negative the premium is lower
Note that the price entered in the example is +1.05 for both purchase and a sale! |
2. | Agiblocks creates a rolling requirement in FCM for this |
a. | For Sale S0456: a rolling requirement to Buy March and Sell May |
b. | For Purchase P0123: a rolling requirement to Sell March and Buy May |
3. | At some point futures are allocated to the rolling requirement |
a. | E.g. for Sales S0456 we allocate Buy Mar at 501.50 and Sell May at 500.00 |
b. | E.g. for Purchase P0123 we allocated Sell Mar at 501.50 and Buy May at 500.00 |
4. | Agiblocks calculates now 2 numbers for this allocated rolling: |
a. | RollingPrice = FromPeriodPrice – ToPeriodPrice
This number will be shown under the Risk tab as the futures price.
Note that in the example it is again +1.05 for both purchase and a sale! |
b. | RollingResult = SellPrice – BuyPrice
This number will only be used later when calculating the P&L over the contracts
Note that in the example this is -1.05 for the Sale and +1.05 for the Purchase |
c. | Of course the number here could differ from the number in step 1, e.g. 1.03 instead of 1.05 |
|