Trigger with rolling rate
A trigger can be setup against a rolling pool performance rate, like Last 3 Month Average Default Rate
from absbox import API,EnginePath,unifyTs
import pandas as pd
pd.set_option('display.max_rows', None)
localAPI = API(EnginePath.DEV, lang='english', check=False)
from absbox.examples import trigger03
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
Here is couple things we can use to set up rolling default rate in trigger
Using ratio formula :
("cumPoolDefaultedRate",n)Using average formula :
("avg", <Formula>, <Formula>, ...)
trigger03.trigger['AfterCollect']
{'defaultRateTrigger': {'condition': [('avg',
('cumPoolDefaultedRate',),
('cumPoolDefaultedRateTill', -1),
('cumPoolDefaultedRateTill', -2)),
'>',
0.05],
'effects': ('newStatus', 'Accelerated'),
'status': False,
'curable': False}}
avgDefaultRate = ("avg"
, ("cumPoolDefaultedRate",)
, ("cumPoolDefaultedRateTill",-1,)
, ("cumPoolDefaultedRateTill",-2,)
)
r = localAPI.run(trigger03
,poolAssump = ("Pool",("Mortgage",{"CDR":0.03},None,None,None)
,None
,None)
,runAssump = [("inspect",("MonthFirst",("trigger", "AfterCollect" ,"defaultRateTrigger"))
,("MonthFirst",("cumPoolDefaultedRate",))
,("MonthFirst",("cumPoolDefaultedRateTill",-1,))
,("MonthFirst",("cumPoolDefaultedRateTill",-2,))
,("MonthFirst",avgDefaultRate))
]
,read=True
,showWarning=False)
/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(
Result
The trigger status will be fired at month 2022-10-01 ,as the average default rate in last 3 periods exceeds the threshold 5%
unifyTs(r['result']['inspect'].values())
| <Avg:<CumulativePoolDefaultedRate>,<CumulativePoolDefaultedRateTill:<-1>,<None>>,<CumulativePoolDefaultedRateTill:<-2>,<None>>> | <CumulativePoolDefaultedRate> | <CumulativePoolDefaultedRateTill:<-1>,<None>> | <CumulativePoolDefaultedRateTill:<-2>,<None>> | <TriggersStatus:<EndCollectionWF>,<defaultRateTrigger>> | |
|---|---|---|---|---|---|
| Date | |||||
| 2021-10-01 | 0.033333 | 0.033333 | 0.033333 | 0.033333 | False |
| 2021-11-01 | 0.034893 | 0.038013 | 0.033333 | 0.033333 | False |
| 2021-12-01 | 0.037128 | 0.04004 | 0.038013 | 0.033333 | False |
| 2022-01-01 | 0.04 | 0.041946 | 0.04004 | 0.038013 | False |
| 2022-02-01 | 0.041882 | 0.04366 | 0.041946 | 0.04004 | False |
| 2022-03-01 | 0.043548 | 0.04504 | 0.04366 | 0.041946 | False |
| 2022-04-01 | 0.045024 | 0.046373 | 0.04504 | 0.04366 | False |
| 2022-05-01 | 0.046297 | 0.04748 | 0.046373 | 0.04504 | False |
| 2022-06-01 | 0.047428 | 0.048433 | 0.04748 | 0.046373 | False |
| 2022-07-01 | 0.048362 | 0.049173 | 0.048433 | 0.04748 | False |
| 2022-08-01 | 0.049117 | 0.049746 | 0.049173 | 0.048433 | False |
| 2022-09-01 | 0.049682 | 0.050126 | 0.049746 | 0.049173 | False |
| 2022-10-01 | 0.05006 | 0.050306 | 0.050126 | 0.049746 | True |
| 2022-11-01 | 0.050246 | 0.050306 | 0.050306 | 0.050126 | True |
| 2022-12-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-01-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-02-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-03-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-04-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-05-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-06-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-07-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-08-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-09-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-10-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-11-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2023-12-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-01-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-02-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-03-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-04-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-05-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-06-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-07-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-08-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-09-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-10-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-11-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2024-12-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-01-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-02-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-03-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-04-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-05-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-06-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-07-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-08-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-09-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-10-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-11-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2025-12-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-01-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-02-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-03-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-04-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-05-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-06-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-07-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-08-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-09-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-10-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-11-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2026-12-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-01-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-02-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-03-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-04-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-05-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-06-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-07-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-08-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-09-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-10-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-11-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2027-12-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-01-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-02-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-03-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-04-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-05-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-06-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-07-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-08-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-09-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-10-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-11-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2028-12-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-01-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-02-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-03-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-04-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-05-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-06-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-07-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-08-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-09-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-10-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-11-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2029-12-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |
| 2030-01-01 | 0.050306 | 0.050306 | 0.050306 | 0.050306 | True |