@@ -606,9 +606,11 @@ Pool assumption can be applied via multiple ways:
606606 rankdir = LR
607607 "Asset Assumption" -> "Whole Pool"
608608 "Asset Assumption" -> "By Pool Name"
609+ "Asset Assumption" -> "By Pool Id"
609610 "Asset Assumption" -> "By Deal Name"
610611 "Whole Pool" -> "('Pool',<assump>)"
611- "By Pool Name" -> "('ByPoolId',<assump>)"
612+ "By Pool Name" -> "('ByName',<assump map>)"
613+ "By Pool Id" -> "('ByPoolId',<assump map>)"
612614 "By Deal Name" -> "('ByDealName',<assump>)"
613615 "Asset Assumption" -> "By Pool Index"
614616 "By Pool Index" -> "('ByIndex',(index,<assump>)...)"
@@ -633,11 +635,20 @@ The assump will be applied to *ALL* assets in the pool
633635
634636.. code-block :: python
635637
636- # syntax
638+ # For Loan type asset
637639 (" Pool" ,(" Loan" ,< default assump> ,< prepay assump> ,< recovery assump> ,< extra assump> )
638640 ,< delinq assumption>
639641 ,< defaulted assumption> )
640642
643+ (" Pool" ,(" Mortgage" ,< default assump> ,< prepay assump> ,< recovery assump> ,< extra assump> )
644+ ,< delinq assumption>
645+ ,< defaulted assumption> )
646+
647+ (" Pool" ,(" Installment" ,< default assump> ,< prepay assump> ,< recovery assump> ,< extra assump> )
648+ ,< delinq assumption>
649+ ,< defaulted assumption> )
650+
651+ # others
641652
642653 Asset Level By Index
643654""""""""""""""""""""""""
@@ -648,8 +659,8 @@ The assumption will be applied to assets by their index position in the pool
648659
649660 # syntax
650661 (" ByIndex"
651- ,([< asset id > ],(< default assump> ,< prepay assump> ,< recvoery assump> ))
652- ,([< asset id > ],(< default assump> ,< prepay assump> ,< recvoery assump> ))
662+ ,([< asset id > .. ],(< performing assump> ,< delinq assump> ,< defaulted assump> ))
663+ ,([< asset id > .. ],(< performing assump> ,< delinq assump> ,< defaulted assump> ))
653664 ,... .
654665 )
655666
@@ -764,11 +775,34 @@ By Pool Name
764775""""""""""""""""""
765776
766777This assumption map with key of assumption to the name of pool.
778+ It will apply *Pool Level * assumption to pools with same name
779+
780+ .. code-block :: python
781+
782+ # syntax
783+ (" ByName" ,< assumption map > )
784+
785+ Assumption map
786+ Key -> Pool Name/Id
787+ Value -> (<performing assumption> ,<delinq assumption> ,<defaulted assumption>)
788+
789+
790+ By Pool Id
791+ """"""""""""""""""
792+
793+ This assumption map with key of assumption to the name of pool.
794+ It will apply *Any Level * assumption to pools with same name
795+
767796
768797.. code-block :: python
769798
770799 # syntax
771- (" ByPoolName" ,< assumption> )
800+ (" ByPoolId" ,< assumption map > )
801+
802+ Assumption map
803+ Key -> Pool Name/Id
804+ Value -> <Any Pool Assumption>
805+
772806
773807
774808By Deal Name
@@ -1436,7 +1470,7 @@ returns:
14361470.. code- block:: python
14371471
14381472 localAPI.run(test01,
1439- poolAssump = (" Pool" ,(" Mortgage" ,{" CPR" :0.01 },{" CDR" :0.01 },{" Rate" :0.7 ," Lag" :18 })
1473+ poolAssump = (" Pool" ,(" Mortgage" ,{" CPR" :0.01 },{" CDR" :0.01 },{" Rate" :0.7 ," Lag" :18 }, None )
14401474 ,None
14411475 ,None ),
14421476 runAssump = [(" pricing"
@@ -1453,10 +1487,10 @@ Pass a map to ``poolAssump`` to run multiple scenarios.
14531487.. code- block:: python
14541488
14551489 localAPI.runByScenarios(test01,
1456- poolAssump = {" ScenarioA" :(" Pool" ,(" Mortgage" ,{" CPR" :0.01 },{" CDR" :0.01 },{" Rate" :0.7 ," Lag" :18 })
1490+ poolAssump = {" ScenarioA" :(" Pool" ,(" Mortgage" ,{" CPR" :0.01 },{" CDR" :0.01 },{" Rate" :0.7 ," Lag" :18 }, None )
14571491 ,None
14581492 ,None )
1459- ," ScenarioB" :(" Pool" ,(" Mortgage" ,{" CPR" :0.02 },{" CDR" :0.02 },{" Rate" :0.7 ," Lag" :18 })
1493+ ," ScenarioB" :(" Pool" ,(" Mortgage" ,{" CPR" :0.02 },{" CDR" :0.02 },{" Rate" :0.7 ," Lag" :18 }, None )
14601494 ,None
14611495 ,None )
14621496 },
0 commit comments