7.11.1 Market Value Calculation Steps

  1. Define Components of Cash Flow
    Within the interface, you must define what components make up the cash flow that is discounted to derive the market value. The standard components of cash flow are the following:
    • Interest Cash Flow Net
    • Scheduled Principal Runoff
    • Principal At Maturity
    • Prepayments
    Choosing special options in the Discount Rates UI adjusts the cash flow definition in the following manner:

    Table 7-24 Effect of Discount Rates on Cash Flows

    Cash Flow Switches Effect on Cash Flow
    Interest Cash Flow Value interest component of cash flow only
    Mature At Reprice Value instrument as if it matured on the first repricing date after the start date
  2. Future Originations Adjustment
    Instruments that originate after a designated start date can be included in the market value for that start date if the issue date is less than or equal to the start date. In this case, the negative flow of funds on the origination date is considered to be a Cash Flow for discounting purposes.
    In the case of Bonds with Embedded Options, forward Starting Instruments would have a change while calculating the market value (MV) for determining the exercisability of the option. The initial cash flow outlay would not be part of the market value calculation. Because including the initial cash flow outflow while calculating the market value significantly reduces the MV. And the 'in the moneyness' comparison would not make sense.
    For all forward-starting instruments, you can specify that origination cash flows be ignored for market value and exposure derivatives calculations. This is a product-level rule established in Discount Methods – Cash Flow Definition Details.
    For more information, see the Oracle Financial Asset Liability Management User Guide.
    Off-Balance Sheet Derivatives with Exchange of Principal Feature
    Generally, off-balance-sheet derivative instruments do not have principal cash flows. However, certain OBS instruments may specify that the principal is exchanged at the data level (EXCHANGE_OF_PRINCIPAL = 1). If the Exchange of Principal flag is enabled, then all corresponding market value and exposure derivative figures reflect this.
    Otherwise, you can specify that the Cash Flow Engine considers the impact of the principal in market value calculations, even if it is not exchanged. This is a product-level rule established in Discount Methods – Cash Flow Definition Details. In the special case of a forward-starting derivative that also features the exchange of principal feature, the following specifies how the Cash Flow Engine with handle each exception:

    Figure 7-8 Forward Starting Off Balance Sheet with Exchange of Principal XOP Feature


    This image displays the Forward Starting Off Balance Sheet with Exchange of Principal XOP Feature.

  3. Market Value Calculation for Bonds with Embedded Options
    The trigger for the Bonds with Embedded options calculation is the EMBEDDED_OPTION_FLG in the instrument table and selection in the Calculation Element block in the process definition (corresponding entries in the FSI_D_EMBEDDED_OPTIONS and FSI_D_EMBEDDED_OPTIONS_SCH tables). Screenshot of the calculation element block follows:
    The calculation logic for each option and expiry style explained in detail in the Bonds with Embedded Options Chapter.
  4. Determine the Discount Rate for Cash Flow
    Within the Discount Rates rule, you specify an IRC and a discount method. The methodology determines whether current or forecasted rates are referenced and which yield curve point from the chosen IRC is used.

    Table 7-25 Details of Discount Rate for Cash Flow

    Discount Method Date of IRC Yield Curve Point
    Spot Input not applicable not applicable
    Spot IRC start date payment date - start date
    Forecast Original Term payment date fixed rate: original term adjustable: reprice frequency
    Forecast Remaining Term payment date payment date - start date
    Effective Interest Rate not applicable not applicable

    Note:

    The CFE will discount using Rates in Rate format type of Zero Coupon, Accrual Basis of Actual/Actual, and Compound Basis of Annual. Any IRC used in the discount rule that does not have these attributes, a rate conversion will occur for rate format (Yield to Maturity to Zero Coupon), accrual and compounding basis. If you want the CFE discount rates to match the IRC rate, set the IRC attributes to Zero Coupon, actual/actual, annual compounding. In the case of the Spot Interest Rate Code, if the term point is not available, the engine will use linear interpolation to determine the interest rate to discount cash flows. When the Discounting method of Forecast (Original Term) and Forecast (Remaining Term) is used, if the term point is not available, the engine will use the Interpolation method defined for Interest rate code within Forecast Rate Rule. If the Interpolation Method defined in Forecast Rate Rule is Linear, the engine will use linear interpolation. If the Interpolation method is cubic, the engine will use Cubic interpolation to determine the interest rate to Discount Cash Flows.
    When Discount Method used is Spot input, user provides applicable Discount rate in Discount rule. For Effective Interest Rate Discount Method, engine uses rate available in column EFF_INTEREST_RATE_C and adds any rate spread provided in Discount Rule.
    When Discount method used is Spot IRC or Forecast Remaining Term, engine determines Yield Curve point to calculate Discount Rate. As Yield Curve point is calculated as ‘Payment Date – Start date or As of date’, it is always calculated in days. Engine would find out if there is a matching yield curve term in associated Interest rate code (IRC) selected. If there is no matching term point in days, engine would interpolate using Interpolation Method associated (see above Note, in this point-4). If the existing term points in IRC is in Months it would be converted to Days using 30.416667 for interpolation.
    The following examples demonstrate how discount method interpolation works. Assume the below record is discounted using discounted using Discount Method= Forecast Remaining Term, and associated IRC code have below term points and forecast rates in bucket having 29th July 2019 event date. Interpolation method is Linear.
    • 1 D: 2%
    • 14 D: 3%
    • 31 D: 4%

    Table 7-26 Example

    AS_OF_DATE NEXT_PAYMENT_DATE PAYMENT DATE- START DATE DISCOUNT RATE
    6/30/2019 7/29/2019 29 DAYS 3.8823529412
    Here payment event is on 29 July 2019, it is 29 days from as of date. As associated IRC does not have 29 days term point, Discount Rate for 29 days term point is interpolated using 14 D and 31 D term point rates.
    In this use case if the associated IRC had below Term Points and Forecasted Rates.
    • 1 D: 2%
    • 14 D: 3%
    • 1 M: 4%
    Then Discount rate calculated for 29 days would be interpolated using 14 D and 1 M term point rates. Engine would convert 1 M term point into 30.416667 D by multiplying with 30.416667 factor.

    Table 7-27 Example

    AS_OF_DATE NEXT_PAYMENT_DATE PAYMENT DATE- START DATE DISCOUNT RATE
    6/30/2019 7/29/2019 29 DAYS 3.9137055652
    If there is a rate spread provided in Discount Rule, that would get added on and above Discount rate calculated.
    Once the Discount Rate for the event date is derived, Present Value of Cash flows is calculated by the following formula:
    1/(1+(Discount Rate/100))^Days Expressed as Year Fraction
    Here, Days Expressed as Year Fraction = Days in Payment/Days in the Year

    Note:

    As FE490 is calculated as (Discount Rate* PV of Cashflow), Discount Rate used for calculating Present Value of an event, can be derived using FE 490 and FE 710 of that event (available in process cash flow table). User needs to divide FE 490 value by FE 710 value.
  5. Calculate the Market Value of Cash Flow
    For the market value of an instrument as of a particular start date, the present value of each Cash Flow is calculated for all Cash Flows that occur after the start date, using the appropriate discount factor.
  6. Treat Reprice Date as Maturity where necessary
    For Repricing Instruments, the cash flows are evaluated from the start date up to the reprice date, effecting a maturity on the reprice date for duration calculation. For market values, this method is used if the Mature At Reprice option is enabled in the Discount Rates Interface.
  7. Sum Market values of Cash Flows
    The market values of each Cash Flow of payment event ‘i’ are summed to arrive at a total market value number, as displayed:

    Figure 7-9 Total Market Value Number


    This image displays the Total Market Value Number.

    Where:

    Figure 7-10 Present Value of the Cash Flow of Payment Event


    This image displays the Present Value of the Cash Flow of Payment Event.

    is the present value of the cash flow of payment event ‘i’.
    Total Market Value, updated back to Instrument table in column MARKET_VALUE_C, calculated as:

    Figure 7-11 Total Market Value


    This image displays the Total Market Value.

    Market Value populated in the master table (the functional currency) is the sum of Total Market Value for all records coming under an Output dimension, selected in Process – Output Preference User interface.

    Note:

    Market value, Market value clean and other measures like Duration, Modified Duration, Convexity, DV01 is not populated in result and cons master table for Start date index 0 (Income simulation bucket).
    Market Value populated in detail table (the functional currency), in FE 710, FE 1710, is the sum of the Market Value of all Cash Flows of payment event ‘i’ falling under a specific bucket, for all record ‘k’ coming under an Output Dimension, selected in Process – Output Preference User Interface.
  8. Calculate Additional Financial Measures of the Instrument
    • Macaulay Duration:

      The Macaulay Duration of the instrument is the sum of the Duration of all cash flow at the payment event, or at the next reprice event, as displayed. This value is also populated back to instrument table in column DURATION_C:

      Figure 7-12 Macaulay Duration


      This image displays the Macaulay Duration.

    Here, Duration for each event is calculated by weighting the market value of each payment bytime

    Figure 7-13 Market Value of each Payment Bytime


    This image displays the Market Value of each Payment Bytime.

    Where:
    tiis calculated as (date of ith event – as of date)/365

    Figure 7-14 Present Value of Cash Flow


    This image displays the Present Value of Cash Flow.

    is Present value of cash flow event ‘i’ for record ‘k’.
    When Duration is calculated for Dynamic buckets, dynamic as of date is used for calculation.
    Macaulay Duration populated in detail table (the functional currency) in FE 720, FE 1720, is calculated at the portfolio level, as follows:

    Figure 7-15 Macaulay Duration


    This image displays the Macaulay Duration.

    where ‘i’ stands for ith event, and ‘k’ stands for kth record coming under an Output dimension, summed up at each bucket level ‘b’.
    In the master table (the functional currency), Duration is weighted by Market value, and calculated as follows:

    Figure 7-16 Macaulay Duration


    This image displays the Macaulay Duration.

    where ‘k’ stands for kth record coming under an Output Dimension.

    Note:

    Macaulay Duration is calculated until the next reprice event. So, if the next reprice event does not fall on the payment event, cash flow on reprice event is used.
    • Modified Duration:

      The Modified Duration of the instrument is the sum of Modified Duration of all cash flow at payment event, or at the next reprice event, as follows. This value is also populated back to instrument table in column MODIFIED_DURATION_C:

      Figure 7-17 Modified Duration


      This image displays the Modified Duration.

      Modified Duration at Cash Flow level is calculated by dividing the Macaulay Duration by YTM, as follows:

      Figure 7-18 Modified Duration for Cash Flow


      This image displays the Modified Duration for Cash Flow.

      When Payment per year is less than 1, the Modified Duration is calculated as follows:

    Figure 7-19 Macaulay Duration for Yield to Maturity


    This image displays the Macaulay Duration for Yield to Maturity.

    For more information on ‘Yield to Maturity’ and ‘Payment per year’ calculation, see Yield to Maturity.
    Modified Duration populated in detail table (the functional currency) in FE 725, FE 1725, is calculated at the portfolio level for a particular bucket as follows:

    Figure 7-20 Modified Duration for Cash Flow


    This image displays the Modified Duration for Cash Flow.

    In the Master table (the functional currency), Modified Duration is weighted by Market value, and calculated as follows:

    Figure 7-21 Modified Duration for Total Market Value


    This image displays the Modified Duration for Total Market Value.

    where ‘k’ stands for kth record coming under an Output dimension. Modified Duration is calculated until the next reprice event. So, if the next reprice event does not fall on the payment event, cash flow on reprice event is used.
    • Dollar Duration (DV01):

      The Dollar Duration (DV01) or Present Value of a basis point (PV01) of the instrument is calculated using Modified Duration and Total Market Value.

      Figure 7-22 Total Market Value


      This image displays the Total Market Value.

      DV01 is updated back to the instrument table in column DV01_C. Modified Duration and Market value data from the instrument table stored in MODIFIED_DURATION_C and MARKET_VALUE_C is used as input.

      For output at the master table (the functional currency), Modified Duration and Market value data from the master table is used. In detail table (the functional currency) DV01 is populated via FE 721 as follows:

      Figure 7-23 Total Market Value


      This image displays the Total Market Value.

    where ‘i’ stands for ith event, and ‘k’ stands for kth record coming under an Output dimension, summed up at each bucket level.
    • Convexity:

      Figure 7-24 Convexity of the Instrument


      This image displays the Convexity of the Instrument.

    The Convexity of the Instrument is calculated as follows:
    Where
    ‘i’ is the ith event, PV is the present value of ith event.
    In the master table (the functional currency), the sum of Convexity weighted by Market value, for all records coming under an Output dimension.
    • Average Life

      The Average Life of the Instrument is calculated as follows:

      Figure 7-25 The Average Life of the Instrument


      This image displays the Average Life of the Instrument.

    • Yield to Maturity

      The Yield to Maturity in OFSAA is the interest rate that equates the present values of the cash flows (coupons & maturity value) to the present Market price.

      The YTM takes into account all the sources of income that is:

      Coupon Interest

      Capital Gain or Loss

      Reinvestment income - assuming that all the coupons are reinvested at a rate equal to the YTM

      The Yield to Maturity is calculated as follows:

      The CFE uses the Newton-Rapson method for the calculation of the Yield to Maturity. It starts with the CUR_NET_RATE in the instrument record and iteratively calculates the YTM to a precision of 0.000001. Pseudocode follows:

      Step 1:

      Initial Value:

      Yield to Maturity = Current Net Rate

      Delta = 0.0

      Total MV = 0

      Total Derivative = 0

      Step 2:

      Loop through each cash flow and calculate Total MV, Total Derivative. At the end of the loop, Delta is calculated. These will be calculated for each iteration.

      Conditions for iteration: absolute of Delta > 0.000001 and Iteration > Max Iterations. If Delta goes below 0.000001 or Max Iteration of 500 is reached, iteration stops.

      Formula:

      Total MV is the summation of MV of each Cash Flow.

      Figure 7-26 Total MV of the Cash Flow


      This image displays the Total MV of the Cash Flow.

      where MV of ith Cash Flow is calculated as follows:

      Figure 7-27 MV of the Cash Flow


      This image displays the MV of the Cash Flow.

      Where Cash Flows to be used in MV calculation is determined as follows:

      If, 'Calculate Market Value' is checked in Process, and

      Discount Type = Interest only, then Cash Flow = FE 430.

      Discount Type = Principal & Interest, then Cash Flow = FE 210 + FE 430

      If 'Calculate Market Value' is checked in Process, and Mature At Reprice option is enabled in Discount Rule, Cash flows till next repricing event is considered. The instrument is assumed to Mature on the Next Repricing Event.

      With Discount Type = Interest only, Cash Flow = FE 430 till next Reprice event. If reprice date falls mid-payment, an extra interest till Next Reprice Date is calculated.

      With Discount Type = Principal & Interest, then Cash Flow = FE 210 + FE 430 + FE 250. FE 210 for payment events till next reprice events. FE 250 on next reprice events. FE 430 on payment events till the next reprice event. If reprice date falls mid-payment, an extra interest on the next reprice date is calculated.

      If the instrument is in Tease, it does not reprice until Tease End Date. See TEASER_END_DATE. If 'Calculate Market Value' is not checked in the UI: Discount Type = Principal & Interest, then Cash Flow = FE 210 + FE 430.

    Total Derivative is the summation of Derivative of each MV.

    Figure 7-28 Total Derivative of the MV


    This image displays the Total Derivative of the MV.

    where Derivative of ith MV is calculated as follows:

    Figure 7-29 Derivative of the MV


    This image displays the Derivative of ith MV.

    After a loop through the Cash Flow ends, the delta is calculated where Total MV and Total Derivative is used.

    Figure 7-30 Delta of the Total MV


    This image displays the Delta of the Total MV.

    Accrued Interest is calculated as follows:

    Figure 7-31 Accrued Interest


    This image displays the Accrued Interest.

    ICF = First Interest Cash Flow (FE 430).
    When Mature at Reprice option is enabled in the Discount Rates interface, and if the first event after as of date, is a Reprice Event (and not in tease), then Accrued Interest is calculated as follows:

    Figure 7-32 Accrued Interest of ICF


    This image displays the Accrued Interest of ICF.

    ICF = First Interest Cash Flow (FE 430).
    When Mature At Reprice option is enabled in the Discount Rates interface, and if the first event after as of date, is a Reprice Event (and not in tease), then Accrued Interest is calculated as follows:

    Figure 7-33 Accrued Interest of ICF


    This image displays the Accrued Interest of ICF.

    ICF is calculated until the Next Reprice Date.
    Yield to Maturity rate is then updated as YTM - Delta
    If engine loops into the next iteration, this updated Yield to Maturity will be used for Total MV and Total Derivative calculation in the next iteration. If there is no further iteration, then updated Yield to maturity will be updated as annualized yield and is output to CUR_YIELD.
    Additionally, this YTM Calculated is weighted by CUR_PAR_BAL and written to the RES_MASTER, as = YTM calculated * CUR_PAR_BAL
    Step 3:
    If absolute of delta > 0.000001 and Max iteration < 500, engine moves to next iteration, and Total MV, Total Derivative, Delta and YTM gets calculated again as mentioned in Step 2.

    Figure 7-34 Iteration


    This image displays the Iteration.

    Note:

    Payment per year is calculated as follows: If Payment Frequency Multiplier is DAY then = 365.0 / Payment Frequency, If Payment Frequency Multiplier is MONTH then = 12.0 / Payment Frequency. If Payment Frequency Multiplier is YEAR then = 1.0 / Payment Frequency. Where Payment Frequency is data given in PMT_FREQ in Instrument record. For Payment Schedule records, Payment frequency for a payment date, say date ‘t’, is calculated in Days, as= payment date ‘t’ - payment date just before this specific payment date ‘t-1’. For example, if payment date ‘t’ = 12/15/2017 and ‘t-1’= 11/01/2017, then calculated Payment Frequency = 44 DAYS. As Payment Frequency Multiplier is in DAYs, calculated Payment per Year = 365/44 = 8.29545. Expired Term is calculated as follows: When Payment Frequency Multiplier is DAY, then = Cash flow date - As of date. When Payment Frequency Multiplier is MONTH then = (Cash flow date – As of date) / Days in a month. Here Days in month= 365/12. When Payment Frequency Multiplier is YEAR then = (Cash flow date - As of date) / 365
    • Effective Interest Rate

      The Effective Interest Rate is the true rate of interest earned. The Effective Interest Rate is calculated as follows:

      It starts with the CUR_NET_RATE in the instrument record and iteratively calculates EIR to a precision of 0.000001. Pseudocode follows:

    Step 1:
    Initial Value:
    EIR = Current Net Rate
    Delta = 0.0
    Total MV = 0
    Total Derivative = 0
    Step 2:
    x. Total MV is the summation of MV of each Cash Flow.

    Figure 7-35 Total MV


    This image displays the Total MV.

    Where MV of ith Cash Flow is calculated as follows:

    Figure 7-36 MV of ith Cash Flow


    This image displays the MV of ith Cash Flow.

    Where Cash Flows to be used in MV calculation is determined similarly to the determination of Cash Flows for MV calculation for Yield to Maturity.
    Total Derivative is the summation of Derivative of each MV.

    Figure 7-37 Total Derivative


    This image displays the Total Derivative.

    Where Derivative of ith MV is calculated as follows:

    Figure 7-38 Derivative of ith MV


    This image displays the Derivative of ith MV.

    After a loop through the Cash Flow ends, the delta is calculated where Total MV and Total Derivative is used.

    Figure 7-39 Total MV and Total Derivative


    This image displays the Total MV and Total Derivative.

    Calculation logic of Accrued Interest is detailed in Yield to Maturity section.
    The effective Interest rate is then updated as EIR - Delta
    If the engine loops into the next iteration, this updated Effective Interest rate will be used for Total MV and Total Derivative calculation in the next iteration. If there is no further iteration, then the updated Effective Interest rate is output to EFF_INTEREST_RATE_C.
    Step 3:
    If absolute of delta > 0.000001 and Max iteration < 500, engine moves to next iteration, and Total MV, Total Derivative, Delta and EIR gets calculated again as mentioned in Step 2.

    Figure 7-40 Iteration


    This image displays the Iteration.

    Payment per year and Expired Term calculation is detailed in Yield to maturity section.
  9. Update Instrument Data.
    Within the ALM Deterministic Process user interfaces (Static and Dynamic), you can choose to write any of the preceding financial measures for a specified start date back to the instrument table. If this option has been selected, the financial measures are written to the following columns:

    Table 7-28 List of Financial Measures

    Financial Measure Column Name
    Market Value MARKET_VALUE_C
    Effective Interest Rate EFF_INTEREST_RATE_C
    Clean Price MARKET_VALUE_CLEAN_C
    Macaulay Duration DURATION_C
    Modified Duration MODIFIED_DURATION_C
    Convexity CONVEXITY_C
    DV01 DV01_C
    Average Life AVERAGE_LIFE_C
    Yield to Maturity CUR_YIELD
    The CUR_YIELD column in the instrument record is the annualized yield to maturity of the instrument. It is calculated as follows:

    Note:

    The difference in output between RES_MASTER and instrument table is that the Instrument table outputs annualized results.

    Figure 7-41 Annualized Yield to Maturity of the Instrument


    This image displays the Annualized Yield to Maturity of the Instrument.

    Note:

    The difference in output between RES_MASTER and instrument table is that the Instrument table outputs Annualized Results.