HullWhiteMonteCarloMethod and CashFlowEquivalent


I am assessing Monte Carlo framework for various derivatives. Current implementation of HullWhiteMonteCarloMethod as well as G2ppMonteCarloMethod are designed on schedules, where decision points are set on dates, where all floating rate coupons are starting at least at the decision point or later. That allows e.g. in case of IRS for using CashFlowEquivalent approach according to formula on page 20 in Marc’s book.
I am wandering, how would you approach implementation of Monte Carlo framework for measuring prices of derivative portfolios where observation dates are not coinciding with cash flow dates in underlying portfolios, e.g. decision points are set on equidistant grid, e.g. monthly intervals, and then valuation of IRS with quarterly payments on floating leg and annual fixed. Let’s say we are in a decision point, where the floating coupon has been fixed 2.5 months before that.
As I understand CashFlowEquivalent approach, assuming constant basis spread, it could be used for:

  1. the fixed leg,
  2. part of the floating leg, which would be trimmed to cash flows with interest periods starting after the decision points
  3. value of the floating coupon that has been fixed 2.5 months before the decision point.
    The question is if you would then draw some number with brownian bridge, to determine what was the fixing of that Ibor rate, or used some interpolation scheme on the path?
    Alternatively, would it be suitable to have floating leg CashFlowEquivalent trimmed in a way, that it is Beta from the fixing date accrued with some stochastic discount factor (which?) from the fixing date to the decision date less the discount factor from the coupon payment date?

The more sophisticated situation would be if we would decide to move to stochastic spreads. As I understand, in that case cash flow equivalent wouldn’t be suitable. Would you agree, that it would be better to have a visitor calculator, that would utilize state variables, and path integrals with volatility coefficients determining prices of instrument at any time depending on state variables rather then working on three dimensional matrix of discount factors?

I understand current design is concentrating on efficiency for pricing and market risk measurement of typical products, the necessity to think about problems as described above is appearing in case you want to produce PFE or expected exposure. If you would be so kind to share your thoughts on that, I will highly appreciate that.

Best regards,


Since all positions are simulated under single T-numeraire, wouldn’t that be sufficient, that each swap’s CashFlowEquivalent at any time t in the simulation is composed of its original CashFlowEquivalent less the CashFlowEquivalents of cash flows that were settled on dates <= t ? I am not sure if that would properly address swaps’ path dependency on the Ibor rate being fixed at fixed time periods.

Best regards,


In the case you describe, I would consider the fixing time as a “decision time”. It is not decision where the option has to be exercised but a time where the “market” decide of the new rate. The expiry of the option would also be a decision time.

The option on the swap is then becoming a path dependent option. There are examples of path dependent options by Monte Carlo in the tests (Libor Ratchet - see AnnuityCouponIborRatchetHullWhiteMethodTest for an example). You would need to create a new instrument with the underlying swap and the expiry dates you want. For that instrument you can impose the decision date by extending (or replacing) the calculator DecisionScheduleCalculator. For that instrument, you would need also to extend (or replace) the MonteCarloDiscountFactorCalculator. In the MC calculator, you would describe how your previously fixed coupon is carried forward and what is your exercise rule at the expiry date. This would work for any ruled based decision point. A PFE computation type would fit in this framework.

But it would not work not for optimal exercise based decision. For example for Bermudan options you need to estimate the future value at each exercise date. The Monte Carlo framework we have developed is not constructed for that type of tasks. You would need an “American Monte Carlo”, where you decision is based on some heuristic exercise boundary.

You are correct that the cash-flow equivalent idea is for deterministic spread. I have not implemented real multi-curve Monte-Carlo yet. The first question is to have a good model for the dynamic of the spread. Those model are still in development (for example, Mercurio and Xie (2012), Moreni and Pallavicini (2014) or Crepey et al. (2015)). They are based on multi factor models of both discounting and forward curves.



References for stochastic spread:
Mercurio and Xie (2012) The basis goes stochastic. Risk, December 2012.

Moreni and Pallavicini (2014) Parsimonious HJM modelling for multiple yield curve dynamics, Quantitative Finance, 14(2) 2014.

Crepey et al. (2015) Crepey, Macrina, Nguyen, Skovmand. Rational Multi-Curve Models with Counterparty-Risk Valuation Adjustments, arXiv:1502.07397


Hi Marc,

Thank you very much for comprehensive answer. I agree, that in order to have a proper PFE engine for nonlinear portfolio I would have to employ OLS Monte Carlo, but the first plan was to focus on swaps portfolio, where it is not necessary. The reason I asked about path interpolation was due to the fact, that in case of a large portfolio it would impose a large number of decision points which would impair performance. I guess proper path interpolation would simplify the problem without any significant loss in accuracy.

Thank you very much for interesting references.