@@ -314,7 +314,7 @@ cashflow projection will stop at the date specified.
314314
315315
316316 Project Expense
317- ^^^^^^^^^^^^^^
317+ ^^^^^^^^^^^^^^^^^
318318
319319a time series of expense will be used in cashflow projection.
320320
@@ -391,7 +391,7 @@ Let's build some fancy call condition with a :ref:`Formula` value less than a th
391391
392392
393393Revolving Assumption
394- ^^^^^^^^^^^^^^
394+ ^^^^^^^^^^^^^^^^^^^^^
395395
396396User can set assumption on revolving pool with two compoenents: assets and performance assumption.
397397
@@ -561,6 +561,35 @@ syntax
561561
562562 Example :ref:`Mannual fire a trigger`
563563
564+ Make Whole Call
565+ ^^^^^^^^^^^^^^^^^^^^^^
566+
567+ .. versionadded:: 0.26 .0
568+
569+ User can specify a `Make Whole Call` date , and a `fixed spread` following, and a WAL / Spread mapping.
570+
571+ 1 . The engine will stop projection at the make whole call date.
572+ 2 . Then project with no- stress on the pool and simulate the future bond cashflow.
573+ 3 . calculate bond' s WAL and find each bond' s spread based on the input table
574+ 4 . then for each bond' s spread will be add with `fixed spread`.
575+ 5 . using the total spread ( spread from lookup table and `fixed spread` ) to discount future bond cashflow to get the PV
576+ 6 . the PV will be paid off the bond ,if PV > oustanding balance ,then excess will be paid to interest.
577+
578+
579+
580+ .. code- block:: python
581+
582+ r = localAPI.run(deal
583+ ,poolAssump = (" Pool" ,
584+ (" Mortgage" ,{" CDR" :0.02 } ,None , None , None )
585+ ,None
586+ ,None )
587+ ,runAssump = [(" interest" ,(" LIBOR6M" ,0.04 ))
588+ ,(" makeWhole"
589+ ," 2022-04-20"
590+ ,0.001
591+ ,[[0.08 ,0.005 ],[0.55 ,0.01 ],[100 ,0.02 ]])]
592+ ,read = True )
564593
565594
566595
0 commit comments