PnL Explain
This is a breakdown of the PnL of the referenced tradable between two given dates into various components, expressed as a sequence of key-value pairs as shown in the table PnLExplain Table
All quantities are expressed in terms of the seven variables S, H, I, C, F, Fᵣ, P
Web blog example here
The top pair corresponds to the PnL expressed in currency units as of the latest of the two dates, also referred as horizon date and represented by T
Below are the descriptions of the rows in that table, keeping the original order:
PnL
Subtype of Job Request
The Profit and Loss (PnL) is defined as the sum of realized and unrealized profit incurred between the given spot date and the given horizon date T specified in Horizon Date
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
By default, the spot date equals the globally set trade date ( i.e. valuation date) that usually equals today's date.
But if the As Of entry to the function Price exists, the latter date is then regarded as the spot date.
Precisely, PnL represents an amount regarded as being received at the horizon date T and defined as:
PnL = H + I - S/P, where
H is the tradable's price at T as described in Horizon Price
I is the actual income realized between the given spot date (denoted as 0) and T as described in Income
S is the tradable's price at 0 as described in Spot Price
P is the discount factor for maturity T implied by the curve associated with the issuer supplied in Fund Crv Issuer as described in Funding DF
One may also define an equivalent PnL amount that is assumed to be payable at 0 and be equal to the product PnL*P
Note the quantity subtracted from H is not S, but rather S/P
This is the correct treatment for a P&L defined in an "economic" rather than "nominal" sense and satisfies the economic criterium that the P&L owes to be exactly 0 when the market volatility vanishes.
The alternative definition involving S rather than S/P leads to a "nominal" P&L that fails to satisfy this criterium, but still reported under PnL Nominal
Note, the computation also depends on the setting for Accr Before Hor
PnL Nominal
Subtype of Job Request
This is similar to the PnL, with the only difference being that the S/P in the definition PnL = H + I - S/P is replaced by S
So the definition of PnL Nominal is:
PnL Nominal = H + I - S
Note, this definition is not "economically" correct, in the sense it leads to a non-zero result when the market volatility vanishes.
It is nevertheless important as it is generally used to determine margin requirements in daily P&L intervals.
Also note, the income part I is not treated in the same sense like S
Concretely, the added cash flow amounts are not evaluated at the time they are paid.
They are first compounded forward to the horizon time and then are summed over to form the income I, thus evaluated as of the horizon time.
In the context of daily P&L where the PnL Nominal is mostly used, this is of no concern since the involved cash flows occur exactly at the horizon time.
PnL Gross
Subtype of Job Request
This simply equals the PnL after all exogenous cash flows, such as transaction fees, have been added to it.
Precisely, PnL Gross represents an amount regarded as being received at the horizon date T and defined as:
PnL Gross = PnL + E, where
PnL is the (endogenous, i.e. without inclusion of fees) PnL as described in PnL
E is the exogenous income due to transaction-linked cash flows, such as fees, realized between the given spot date (denoted as 0) and T as described in Cash Flows from Fees
PnL due to Resets
Subtype of Job Request
This is the part of the PnL described in PnL due exclusively to the impact of the actual resets between the given spot date (denoted as 0) and the given horizon date T being different than what had been expected at 0
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
Specifically, it equals the hypothetical PnL that would have been produced under the assumption that all floating rate fixings before T equaled the historical fixings in the supplied horizon market, while the fixings after T equaled the forward rates implied by today's curves, rather than the curves in the supplied horizon market.
It is calculated as the sum:
(Carry Surprise) + (Fwd Surp due to Resets)
where the two terms are described at Carry Surprise and Fwd Surp due to Resets
Plugging I - C for the first term and Fᵣ - F for the second, we get:
I - C + Fᵣ - F
The remaining part of PnL is given by PnL due to Curves
PnL due to Curves
Subtype of Job Request
This is the part of the PnL described in PnL due exclusively to the impact of the actual curves observed at the given horizon date T being different than what had been expected at the given spot date (denoted as 0).
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
Specifically, it equals the hypothetical PnL that would have been produced under the assumption that all floating rate fixings before T equaled the forward rates implied by today's curves, while the fixings after T equaled the forward rates implied by the curves in the supplied horizon market.
It is calculated as the difference:
(PnL) - (PnL due to Resets)
where the two terms are described at PnL and PnL due to Resets
Plugging H + I - S/P for the first term and I - C + Fᵣ - F for the second, we get:
H - S/P + C - Fᵣ + F
The remaining part of PnL is given by PnL due to Resets
Carry Surprise
Subtype of Job Request
This is the part of the PnL described in PnL due exclusively to the impact of the realized carry (i.e. income) until the given horizon date T being different than what had been expected at the given spot date (denoted as 0).
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
It is calculated as the difference:
(Income) - (Carry)
where the two terms are described at Income and Carry
Plugging I for the first term and C for the second, we get:
I - C
The remaining part of PnL is given by Forward Surprise
Forward Surprise
Subtype of Job Request
This is the part of the PnL described in PnL due exclusively to the impact of the realized forward value at the given horizon date T being different than what had been expected at the given spot date (denoted as 0).
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
It is calculated as the difference:
(Horizon Price) - (Forward Price)
where the two terms are described at Horizon Price and Forward Price
Plugging H for the first term and F for the second, we get:
H - F
The remaining part of PnL is given by Carry Surprise
Fwd Surp due to Resets
Subtype of Job Request
This is the part of the Forward Surprise described in Forward Surprise due exclusively to the impact of the actual resets between the given spot date (denoted as 0) and the given horizon date T being different than what had been expected at 0
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
It is calculated as the difference:
(Forward (Resets)) - (Forward Price)
where the two terms are described at Forward (Resets) and Forward Price
Plugging Fᵣ for the first term and F for the second, we get:
Fᵣ - F
The remaining part of Forward Surprise is given by Fwd Surp due to Curves
Fwd Surp due to Curves
Subtype of Job Request
This is the part of the Forward Surprise described in Forward Surprise due exclusively to the impact of the actual curves observed at the given horizon date T being different than what had been expected at the given spot date (denoted as 0).
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
It is calculated as the difference:
(Horizon Price) - (Forward (Resets))
where the two terms are described at Horizon Price and Forward (Resets)
Plugging H for the first term and Fᵣ for the second, we get:
H - Fᵣ
The remaining part of Forward Surprise is given by Fwd Surp due to Resets
Consistency Check
Subtype of Job Request
This is a boolean that is TRUE if and only if the Fwd Surp due to Curves equals the PnL due to Curves
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
In fact, these two values must be equal and the boolean here must be TRUE
The reason is the following:
As shown in the table PnLExplain Table, the following hold:
Fwd Surp due to Curves = H - Fᵣ
PnL due to Curves = H - S/P + C - Fᵣ + F
Therefore, these two values being equal is equivalent to:
S/P = C + F
which must hold as long as the spot price, carry and forward have been calculated correctly because:
S is the present value of all cash flows
C*P is the present value of those cash flows occurring at or before horizon
F*P is the present value of those cash flows occurring strictly after horizon
Horizon Price
Subtype of Job Request
Τhe price H of the referenced tradable at the given horizon date T
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
Precisely, this is the NPV (Net Present Value) of the referenced tradable at T calculated using the market information available at T
Spot Price (Hor)
Subtype of Job Request
The Spot Price after it has been compounded forward to the given horizon date T by being divided with the Funding DF
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
It equals S / P
where S is the spot price and
P is the discount factor from the given spot date (denoted as 0) to T mentioned above.
Spot Price
Subtype of Job Request
Τhe spot price S, which equals the NPV (Net Present Value) of the referenced tradable at the given spot date (denoted as 0).
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
By default, the spot date equals the globally set trade date ( i.e. valuation date) that usually equals today's date.
But if the As Of entry to the function Price exists, the latter date is then regarded as the spot date.
The NPV is calculated using the market information available at 0
If the threshold date Tᵣ for assumed known fixings is specified in Fxd Resets Before, all floating rate fixings before Tᵣ are not implied by the provided curves but rather read from a supplied object of type Historical Values
Income
Subtype of Job Request
The income I received by holding the referenced tradable between the given spot date (denoted as 0) and the given horizon date T specified in Horizon Date
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
By default, the spot date equals the globally set trade date ( i.e. valuation date) that usually equals today's date.
But if the As Of entry to the function Price exists, the latter date is then regarded as the spot date.
Precisely, I represents an amount regarded as received at T and defined as the sum of the present values as of T of the tradable's cash flows CFᵢ occurring between 0 (excluded) and T (included).
Formally:
I = Σ(CFᵢ(Pᵢ/P))
where:
CFᵢ are all realized cash flows occurring at times Tᵢ such as 0 < Tᵢ <= T, as implied by the market information available at T
Pᵢ are the respective funding discount factors, i.e. the discount factors seen at 0 with maturities Tᵢ, as implied by the curve associated with the issuer supplied in Fund Crv Issuer
P is the funding discount factor seen at 0 with maturity T, as implied by the curve associated with the issuer supplied in Fund Crv Issuer
This definition is very similar to that of Carry
The only difference is that the cash flows CFᵢ in the case here are NOT implied by the information available at 0, but represent the ACTUAL (i.e. realized) cash flows in the referred time interval.
It turns out, the calculation of I requires the prior knowledge of all fixings that affect the cash flows occurring at or before T
These must be provided to the function Price as an input object of type Historical Values entered in association with the key Horizon Market
Note, the computation also depends on the setting for Accr Before Hor
Cash Flows from Fees
Subtype of Job Request
The income I received exclusively due to exogenously defined transaction fees that stem from trading the referenced tradable between the given spot date (denoted as 0) and the given horizon date T specified in Horizon Date
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
By default, the spot date equals the globally set trade date ( i.e. valuation date) that usually equals today's date.
But if the As Of entry to the function Price exists, the latter date is then regarded as the spot date.
Precisely, I represents an amount regarded as received at T and defined as the sum of the present values as of T of the transaction cash flows CFᵢ occurring between 0 (excluded) and T (included).
Formally:
I = Σ(CFᵢ(Pᵢ/P))
where:
CFᵢ are all realized transaction fees occurring at times Tᵢ such as 0 < Tᵢ <= T
Pᵢ are the respective funding discount factors, i.e. the discount factors seen at 0 with maturities Tᵢ, as implied by the curve associated with the issuer supplied in Fund Crv Issuer
P is the funding discount factor seen at 0 with maturity T, as implied by the curve associated with the issuer supplied in Fund Crv Issuer
This definition is very similar to that of Income
The only difference is that the cash flows CFᵢ in the case here are NOT implied by the tradable's contractual specifications, but must be exogenously supplied through an object of type Ledger Entry that is carried by the tradble in association with its key Ledger Entry
Forward Price
Subtype of Job Request
The forward price F of the referenced tradable observed at the given spot date (denoted as 0) wrt a maturity equal to the given horizon date T specified in Horizon Date
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
By default, the spot date equals the globally set trade date ( i.e. valuation date) that usually equals today's date.
But if the As Of entry to the function Price exists, the latter date is then regarded as the spot date.
Precisely, F represents an amount payable at T and defined as the amount one agrees at 0 to pay at the maturity date T in order to acquire the tradable at T
It turns out, it equals the sum of the present values as of T of the tradable's cash flows CFᵢ occurring after T
Formally:
F = (1/P)Σ(CFᵢPᵢ)
where:
CFᵢ are all forecasted cash flows occurring at times Tᵢ such as Tᵢ > T, as implied by the market information available at 0
Pᵢ are the respective discount factors, i.e. the discount factors seen at 0 with maturities Tᵢ
P is the funding discount factor seen at 0 with maturity T, as implied by the curve associated with the issuer supplied in Fund Crv Issuer
In words, all cash flows CFᵢ are discounted down to 0 and then their sum Σ(CFᵢPᵢ) is compounded forward to T using the discount factor P
One may also define an equivalent forward amount that is assumed to be payable at 0 and be equal to the product F*P = Σ(CFᵢPᵢ)
Apart from an exception mentioned below, all floating rates are assumed equal to their forecast forward values observed at 0
The cash flows occurring on the horizon date are included only if Trade Date CFs is set to TRUE
Note, the computation also depends on the setting for Accr Before Hor
If the threshold date Tᵣ for assumed known fixings is specified in Fxd Resets Before, all floating rate fixings before Tᵣ are not implied by the provided curves but rather read from a supplied object of type Historical Values
Carry
Subtype of Job Request
The carry C of the referenced tradable observed at the given spot date (denoted as 0) wrt a maturity equal to the given horizon date T specified in Horizon Date
Web blog example here
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
By default, the spot date equals the globally set trade date ( i.e. valuation date) that usually equals today's date.
But if the As Of entry to the function Price exists, the latter date is then regarded as the spot date.
Precisely, C represents an amount regarded as received at T and defined as the sum of the present values as of T of the tradable's cash flows CFᵢ occurring between 0 (excluded) and T (included).
Formally:
C = (1/P)Σ(CFᵢPᵢ)
where:
CFᵢ are all forecasted cash flows occurring at times Tᵢ such as 0 < Tᵢ <= T, as implied by the market information available at 0
Pᵢ are the respective discount factors, i.e. the discount factors seen at 0 with maturities Tᵢ
P is the funding discount factor seen at 0 with maturity T, as implied by the curve associated with the issuer supplied in Fund Crv Issuer
In words, all cash flows CFᵢ are discounted down to 0 and then their sum Σ(CFᵢPᵢ) is compounded forward to T using the discount factor P
One may also define an equivalent carry amount that is assumed to be payable at 0 and be equal to the product C*P = Σ(CFᵢPᵢ)
Apart from an exception mentioned below, all floating rates are assumed equal to their forecast forward values observed at 0
The cash flows occurring on the horizon date are included only if Trade Date CFs is set to TRUE
Note, the computation also depends on the setting for Accr Before Hor
If the threshold date Tᵣ for assumed known fixings is specified in Fxd Resets Before, all floating rate fixings before Tᵣ are not implied by the provided curves but rather read from a supplied object of type Historical Values
Forward (Resets)
Subtype of Job Request
The conditional-on-known-resets forward price Fᵣ, which is similar to the forward price F described in Forward Price with the twist that all floating rate fixings before the given horizon date T are not implied by the provided curves but rather read from a supplied object of type Historical Values
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
Funding DF
Subtype of Job Request
This is the discount factor P observed at the the given spot date (denoted as 0) wrt the given horizon date T implied by the funding curve associated with the issuer supplied in Fund Crv Issuer
It is also part of the PnL Explain table PnLExplain Table that is produced in association with the key PnL Explain when a tradable is priced with the Advanced Pricing model input.
It is used to discount values at horizon down to today or compound forward values today to horizon.