How deal is ended ?

from absbox.examples import test01
from absbox import API,EnginePath

localAPI = API(EnginePath.DEV,check=False)
Connecting engine server -> https://absbox.org/api/dev
/home/docs/checkouts/readthedocs.org/user_builds/absbox-doc/envs/stable/lib/python3.11/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host 'absbox.org'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(
✅Connected, local lib:0.52.3, server:0.52.3

Natural Way

Deal projection will ended if:

  • no more pool cashflow

  • all account balances are zero

  • it’s not revolving

r = localAPI.run(test01
               ,poolAssump = None
               ,runAssump = None
               ,read=True)
r['result']['status']
/home/docs/checkouts/readthedocs.org/user_builds/absbox-doc/envs/stable/lib/python3.11/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host 'absbox.org'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(
Date From To Comment
0 2021-04-01 PreClosing Amortizing By Deal Close
1 2022-11-01 DealEnd No Pool Cashflow/All Account is zero/Not revol...

it’s called

Deal projection will stop when it a call assumption is being satisfied

r = localAPI.run(test01
               ,poolAssump = None
               ,runAssump = [("call",("afterDate","2022-06-01"))]
               ,read=True)

r['result']['status']
/home/docs/checkouts/readthedocs.org/user_builds/absbox-doc/envs/stable/lib/python3.11/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host 'absbox.org'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(
Warning Message from server:Bond B is not paid off
Account acc01 has cash to be distributed
Outstanding pool cashflow hasn't been collected yetfromList [(PoolConsol,4)]
Date From To Comment
0 2021-04-01 PreClosing Amortizing By Deal Close
1 2022-06-20 Amortizing Called Call by triggers before waterfall distribution
2 2022-06-20 DealEnd Clean Up

Mannual stopped

Deal projection will stop when at a date specified in runAssump . For debug purpose

r = localAPI.run(test01
               ,poolAssump = None
               ,runAssump = [("stop","2022-04-01")]
               ,read=True)

r['result']['status']
/home/docs/checkouts/readthedocs.org/user_builds/absbox-doc/envs/stable/lib/python3.11/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host 'absbox.org'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(
Warning Message from server:Bond B is not paid off
Account acc01 has cash to be distributed
Outstanding pool cashflow hasn't been collected yetfromList [(PoolConsol,6)]
Date From To Comment
0 2021-04-01 PreClosing Amortizing By Deal Close
1 2022-04-01 DealEnd Stop Run Test by:[]

Hit stated maturity

test01.dates
{'cutoff': '2021-03-01',
 'closing': '2021-04-01',
 'firstPay': '2021-06-20',
 'payFreq': ['DayOfMonth', 20],
 'poolFreq': 'MonthFirst',
 'stated': '2030-01-01'}
test01.dates['stated'] = "2022-05-01"

r = localAPI.run(test01
               ,poolAssump = None
               ,runAssump = None
               ,read=True)

r['result']['status']
/home/docs/checkouts/readthedocs.org/user_builds/absbox-doc/envs/stable/lib/python3.11/site-packages/urllib3/connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host 'absbox.org'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
  warnings.warn(
Warning Message from server:Bond B is not paid off
Date From To Comment
0 2021-04-01 PreClosing Amortizing By Deal Close
1 2022-05-01 DealEnd Stop: Stated Maturity