{
"cells": [
{
"cell_type": "markdown",
"id": "24af9d0c",
"metadata": {},
"source": [
"### Apply Assumption with Obligor By Field"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "6390f712",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
Connecting engine server -> https://absbox.org/api/dev\n",
"\n"
],
"text/plain": [
"Connecting engine server -> \u001b[4;94mhttps://absbox.org/api/dev\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/xiaoyu/repo/AbsBox/lib/python3.13/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\n",
" warnings.warn(\n"
]
},
{
"data": {
"text/html": [
"✅Connected, local lib:0.46.5, server:0.50.1\n",
"\n"
],
"text/plain": [
"✅Connected, local li\u001b[1;92mb:0\u001b[0m.\u001b[1;36m46.5\u001b[0m, server:\u001b[1;36m0.50\u001b[0m.\u001b[1;36m1\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from absbox import API,EnginePath\n",
"\n",
"localAPI = API(EnginePath.DEV,check=False,lang='english')"
]
},
{
"cell_type": "markdown",
"id": "f8ea0008",
"metadata": {},
"source": [
"#### Assets with obligor info\n",
"\n",
"Let's setup asset with different tags/ids, just plug a map call `obligor` to the asset\n",
"\n",
" * Asset 1\n",
" \n",
" * ID: \"1\"\n",
" * Tag:[\"A\",\"B\"]\n",
" * Field: {\"age\":30,\"creditLevel\":\"A\"}\n",
"\n",
" * Asset 2\n",
" \n",
" * ID: \"2\"\n",
" * Tag:[\"C\",\"B\"]\n",
" * Field: {\"age\":50,\"creditLevel\":\"B\"}"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "2ff8e928",
"metadata": {},
"outputs": [],
"source": [
"ob1 = {\n",
" \"id\":\"1\",\n",
" \"tag\":[\"A\",\"B\"],\n",
" \"fields\":{\"age\":30,\"creditLevel\":\"A\"}\n",
"} \n",
"\n",
"ob2 = {\n",
" \"id\":\"2\",\n",
" \"tag\":[\"C\",\"B\"],\n",
" \"fields\":{\"age\":50,\"creditLevel\":\"B\"}\n",
"} \n",
"\n",
"\n",
"myAsset1 = [\"Mortgage\"\n",
" ,{\"originBalance\": 12000.0\n",
" ,\"originRate\": [\"fix\",0.045]\n",
" ,\"originTerm\": 120\n",
" ,\"freq\": \"monthly\"\n",
" ,\"type\": \"level\"\n",
" ,\"originDate\": \"2021-02-01\"\n",
" ,\"obligor\":ob1\n",
" }\n",
" ,{\"currentBalance\": 2000.0\n",
" ,\"currentRate\": 0.075\n",
" ,\"remainTerm\": 80\n",
" ,\"status\": \"current\"}]\n",
"myAsset2 = [\"Mortgage\"\n",
" ,{\"originBalance\": 12000.0\n",
" ,\"originRate\": [\"fix\",0.045]\n",
" ,\"originTerm\": 120\n",
" ,\"freq\": \"monthly\"\n",
" ,\"type\": \"level\"\n",
" ,\"originDate\": \"2021-02-01\"\n",
" ,\"obligor\":ob2\n",
" }\n",
" ,{\"currentBalance\": 5000.0\n",
" ,\"currentRate\": 0.075\n",
" ,\"remainTerm\": 80\n",
" ,\"status\": \"current\"}]\n",
"\n",
"myPool = {'assets':[myAsset1,myAsset2],\n",
" 'cutoffDate':\"2022-03-01\"}\n",
"\n",
"ppyAssump = ((\"Mortgage\",None ,{\"CPR\":0.1}, None, None)\n",
" ,None\n",
" ,None)\n",
"defAssump = ((\"Mortgage\",{\"CDR\":0.2} ,None, None, None)\n",
" ,None\n",
" ,None)"
]
},
{
"cell_type": "markdown",
"id": "0cd1c309",
"metadata": {},
"source": [
"#### assumption with obligor fields"
]
},
{
"cell_type": "markdown",
"id": "ef6af022",
"metadata": {},
"source": [
"User can set multiple conditions to apply asset assumptions to the ones match"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "0a778aca",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/xiaoyu/repo/AbsBox/lib/python3.13/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\n",
" warnings.warn(\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Balance | \n",
" Principal | \n",
" Interest | \n",
" Prepayment | \n",
" Default | \n",
" Recovery | \n",
" Loss | \n",
" WAC | \n",
" BorrowerNum | \n",
" PrepayPenalty | \n",
" CumPrincipal | \n",
" CumPrepay | \n",
" CumDelinq | \n",
" CumDefault | \n",
" CumRecovery | \n",
" CumLoss | \n",
"
\n",
" \n",
" | Date | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2024-06-01 | \n",
" 7000.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2024-07-01 | \n",
" 6825.24 | \n",
" 66.66 | \n",
" 43.07 | \n",
" 17.24 | \n",
" 90.86 | \n",
" 0 | \n",
" 90.86 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 66.66 | \n",
" 17.24 | \n",
" 0 | \n",
" 90.86 | \n",
" 0 | \n",
" 90.86 | \n",
"
\n",
" \n",
" | 2024-08-01 | \n",
" 6650.48 | \n",
" 66.00 | \n",
" 41.97 | \n",
" 17.49 | \n",
" 91.27 | \n",
" 0 | \n",
" 91.27 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 132.66 | \n",
" 34.73 | \n",
" 0 | \n",
" 182.13 | \n",
" 0 | \n",
" 182.13 | \n",
"
\n",
" \n",
" | 2024-09-01 | \n",
" 6479.28 | \n",
" 65.37 | \n",
" 40.89 | \n",
" 17.16 | \n",
" 88.67 | \n",
" 0 | \n",
" 88.67 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 198.03 | \n",
" 51.89 | \n",
" 0 | \n",
" 270.80 | \n",
" 0 | \n",
" 270.80 | \n",
"
\n",
" \n",
" | 2024-10-01 | \n",
" 6314.83 | \n",
" 64.77 | \n",
" 39.86 | \n",
" 16.30 | \n",
" 83.38 | \n",
" 0 | \n",
" 83.38 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 262.80 | \n",
" 68.19 | \n",
" 0 | \n",
" 354.18 | \n",
" 0 | \n",
" 354.18 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance Principal Interest Prepayment Default Recovery \\\n",
"Date \n",
"2024-06-01 7000.00 0.00 0.00 0.00 0.00 0 \n",
"2024-07-01 6825.24 66.66 43.07 17.24 90.86 0 \n",
"2024-08-01 6650.48 66.00 41.97 17.49 91.27 0 \n",
"2024-09-01 6479.28 65.37 40.89 17.16 88.67 0 \n",
"2024-10-01 6314.83 64.77 39.86 16.30 83.38 0 \n",
"\n",
" Loss WAC BorrowerNum PrepayPenalty CumPrincipal CumPrepay \\\n",
"Date \n",
"2024-06-01 0.00 0.075 None None 0.00 0.00 \n",
"2024-07-01 90.86 0.075 None None 66.66 17.24 \n",
"2024-08-01 91.27 0.075 None None 132.66 34.73 \n",
"2024-09-01 88.67 0.075 None None 198.03 51.89 \n",
"2024-10-01 83.38 0.075 None None 262.80 68.19 \n",
"\n",
" CumDelinq CumDefault CumRecovery CumLoss \n",
"Date \n",
"2024-06-01 0 0.00 0 0.00 \n",
"2024-07-01 0 90.86 0 90.86 \n",
"2024-08-01 0 182.13 0 182.13 \n",
"2024-09-01 0 270.80 0 270.80 \n",
"2024-10-01 0 354.18 0 354.18 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AssetLevelAssumption = (\"ByObligor\"\n",
" ,(\"ByField\",[(\"creditLevel\",\"in\",[\"A\"]),(\"age\",\"cmp\",\"L\",35)],ppyAssump)\n",
" ,(\"ByDefault\",defAssump)\n",
" )\n",
"\n",
"r = localAPI.runPool(myPool\n",
" ,poolAssump=AssetLevelAssumption\n",
" ,read=True)\n",
"\n",
"r['PoolConsol']['flow'].head()"
]
},
{
"cell_type": "markdown",
"id": "c6a3fdea",
"metadata": {},
"source": [
"Use mulitple `ByField` are allowed"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "12480a5f",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/xiaoyu/repo/AbsBox/lib/python3.13/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\n",
" warnings.warn(\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Balance | \n",
" Principal | \n",
" Interest | \n",
" Prepayment | \n",
" Default | \n",
" Recovery | \n",
" Loss | \n",
" WAC | \n",
" BorrowerNum | \n",
" PrepayPenalty | \n",
" CumPrincipal | \n",
" CumPrepay | \n",
" CumDelinq | \n",
" CumDefault | \n",
" CumRecovery | \n",
" CumLoss | \n",
"
\n",
" \n",
" | Date | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2024-06-01 | \n",
" 7000.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2024-07-01 | \n",
" 6825.24 | \n",
" 66.66 | \n",
" 43.07 | \n",
" 17.24 | \n",
" 90.86 | \n",
" 0 | \n",
" 90.86 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 66.66 | \n",
" 17.24 | \n",
" 0 | \n",
" 90.86 | \n",
" 0 | \n",
" 90.86 | \n",
"
\n",
" \n",
" | 2024-08-01 | \n",
" 6650.48 | \n",
" 66.00 | \n",
" 41.97 | \n",
" 17.49 | \n",
" 91.27 | \n",
" 0 | \n",
" 91.27 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 132.66 | \n",
" 34.73 | \n",
" 0 | \n",
" 182.13 | \n",
" 0 | \n",
" 182.13 | \n",
"
\n",
" \n",
" | 2024-09-01 | \n",
" 6479.28 | \n",
" 65.37 | \n",
" 40.89 | \n",
" 17.16 | \n",
" 88.67 | \n",
" 0 | \n",
" 88.67 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 198.03 | \n",
" 51.89 | \n",
" 0 | \n",
" 270.80 | \n",
" 0 | \n",
" 270.80 | \n",
"
\n",
" \n",
" | 2024-10-01 | \n",
" 6314.83 | \n",
" 64.77 | \n",
" 39.86 | \n",
" 16.30 | \n",
" 83.38 | \n",
" 0 | \n",
" 83.38 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 262.80 | \n",
" 68.19 | \n",
" 0 | \n",
" 354.18 | \n",
" 0 | \n",
" 354.18 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance Principal Interest Prepayment Default Recovery \\\n",
"Date \n",
"2024-06-01 7000.00 0.00 0.00 0.00 0.00 0 \n",
"2024-07-01 6825.24 66.66 43.07 17.24 90.86 0 \n",
"2024-08-01 6650.48 66.00 41.97 17.49 91.27 0 \n",
"2024-09-01 6479.28 65.37 40.89 17.16 88.67 0 \n",
"2024-10-01 6314.83 64.77 39.86 16.30 83.38 0 \n",
"\n",
" Loss WAC BorrowerNum PrepayPenalty CumPrincipal CumPrepay \\\n",
"Date \n",
"2024-06-01 0.00 0.075 None None 0.00 0.00 \n",
"2024-07-01 90.86 0.075 None None 66.66 17.24 \n",
"2024-08-01 91.27 0.075 None None 132.66 34.73 \n",
"2024-09-01 88.67 0.075 None None 198.03 51.89 \n",
"2024-10-01 83.38 0.075 None None 262.80 68.19 \n",
"\n",
" CumDelinq CumDefault CumRecovery CumLoss \n",
"Date \n",
"2024-06-01 0 0.00 0 0.00 \n",
"2024-07-01 0 90.86 0 90.86 \n",
"2024-08-01 0 182.13 0 182.13 \n",
"2024-09-01 0 270.80 0 270.80 \n",
"2024-10-01 0 354.18 0 354.18 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AssetLevelAssumption = (\"ByObligor\"\n",
" ,(\"ByField\",[(\"creditLevel\",\"in\",[\"A\"]),(\"age\",\"cmp\",\"L\",35)],ppyAssump)\n",
" ,(\"ByField\",[(\"age\",\"cmp\",\"G\",35)],defAssump)\n",
" )\n",
"\n",
"r = localAPI.runPool(myPool\n",
" ,poolAssump=AssetLevelAssumption\n",
" ,read=True)\n",
"\n",
"r['PoolConsol']['flow'].head()"
]
},
{
"cell_type": "markdown",
"id": "4f51d329",
"metadata": {},
"source": [
"User can specify a `Range` for a user field"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "794be9b4",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/xiaoyu/repo/AbsBox/lib/python3.13/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\n",
" warnings.warn(\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Balance | \n",
" Principal | \n",
" Interest | \n",
" Prepayment | \n",
" Default | \n",
" Recovery | \n",
" Loss | \n",
" WAC | \n",
" BorrowerNum | \n",
" PrepayPenalty | \n",
" CumPrincipal | \n",
" CumPrepay | \n",
" CumDelinq | \n",
" CumDefault | \n",
" CumRecovery | \n",
" CumLoss | \n",
"
\n",
" \n",
" | Date | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2024-06-01 | \n",
" 7000.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-07-01 | \n",
" 6915.22 | \n",
" 67.54 | \n",
" 43.64 | \n",
" 17.24 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 67.54 | \n",
" 17.24 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-08-01 | \n",
" 6829.94 | \n",
" 67.79 | \n",
" 43.10 | \n",
" 17.49 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 135.33 | \n",
" 34.73 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-09-01 | \n",
" 6744.73 | \n",
" 68.05 | \n",
" 42.57 | \n",
" 17.16 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 203.38 | \n",
" 51.89 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-10-01 | \n",
" 6660.12 | \n",
" 68.31 | \n",
" 42.04 | \n",
" 16.30 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 271.69 | \n",
" 68.19 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance Principal Interest Prepayment Default Recovery Loss \\\n",
"Date \n",
"2024-06-01 7000.00 0.00 0.00 0.00 0 0 0 \n",
"2024-07-01 6915.22 67.54 43.64 17.24 0 0 0 \n",
"2024-08-01 6829.94 67.79 43.10 17.49 0 0 0 \n",
"2024-09-01 6744.73 68.05 42.57 17.16 0 0 0 \n",
"2024-10-01 6660.12 68.31 42.04 16.30 0 0 0 \n",
"\n",
" WAC BorrowerNum PrepayPenalty CumPrincipal CumPrepay \\\n",
"Date \n",
"2024-06-01 0.075 None None 0.00 0.00 \n",
"2024-07-01 0.075 None None 67.54 17.24 \n",
"2024-08-01 0.075 None None 135.33 34.73 \n",
"2024-09-01 0.075 None None 203.38 51.89 \n",
"2024-10-01 0.075 None None 271.69 68.19 \n",
"\n",
" CumDelinq CumDefault CumRecovery CumLoss \n",
"Date \n",
"2024-06-01 0 0 0 0 \n",
"2024-07-01 0 0 0 0 \n",
"2024-08-01 0 0 0 0 \n",
"2024-09-01 0 0 0 0 \n",
"2024-10-01 0 0 0 0 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AssetLevelAssumption = (\"ByObligor\"\n",
" ,(\"ByField\",[(\"age\",\"range\",\"II\",25,40)],ppyAssump)\n",
" )\n",
"\n",
"r = localAPI.runPool(myPool\n",
" ,poolAssump=AssetLevelAssumption\n",
" ,read=True)\n",
"\n",
"r['PoolConsol']['flow'].head()"
]
},
{
"cell_type": "markdown",
"id": "08036440",
"metadata": {},
"source": [
"User can setup a `Not` to negate the condition"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "cd50ce7e",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/xiaoyu/repo/AbsBox/lib/python3.13/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\n",
" warnings.warn(\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Balance | \n",
" Principal | \n",
" Interest | \n",
" Prepayment | \n",
" Default | \n",
" Recovery | \n",
" Loss | \n",
" WAC | \n",
" BorrowerNum | \n",
" PrepayPenalty | \n",
" CumPrincipal | \n",
" CumPrepay | \n",
" CumDelinq | \n",
" CumDefault | \n",
" CumRecovery | \n",
" CumLoss | \n",
"
\n",
" \n",
" | Date | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | 2024-06-01 | \n",
" 7000.00 | \n",
" 0.00 | \n",
" 0.00 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 0.00 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-07-01 | \n",
" 6932.30 | \n",
" 67.70 | \n",
" 43.75 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 67.70 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-08-01 | \n",
" 6864.16 | \n",
" 68.14 | \n",
" 43.31 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 135.84 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-09-01 | \n",
" 6795.60 | \n",
" 68.56 | \n",
" 42.89 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 204.40 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-10-01 | \n",
" 6726.61 | \n",
" 68.99 | \n",
" 42.46 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 273.39 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance Principal Interest Prepayment Default Recovery Loss \\\n",
"Date \n",
"2024-06-01 7000.00 0.00 0.00 0 0 0 0 \n",
"2024-07-01 6932.30 67.70 43.75 0 0 0 0 \n",
"2024-08-01 6864.16 68.14 43.31 0 0 0 0 \n",
"2024-09-01 6795.60 68.56 42.89 0 0 0 0 \n",
"2024-10-01 6726.61 68.99 42.46 0 0 0 0 \n",
"\n",
" WAC BorrowerNum PrepayPenalty CumPrincipal CumPrepay \\\n",
"Date \n",
"2024-06-01 0.075 None None 0.00 0 \n",
"2024-07-01 0.075 None None 67.70 0 \n",
"2024-08-01 0.075 None None 135.84 0 \n",
"2024-09-01 0.075 None None 204.40 0 \n",
"2024-10-01 0.075 None None 273.39 0 \n",
"\n",
" CumDelinq CumDefault CumRecovery CumLoss \n",
"Date \n",
"2024-06-01 0 0 0 0 \n",
"2024-07-01 0 0 0 0 \n",
"2024-08-01 0 0 0 0 \n",
"2024-09-01 0 0 0 0 \n",
"2024-10-01 0 0 0 0 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AssetLevelAssumption = (\"ByObligor\"\n",
" ,(\"ByField\",[(\"not\",(\"age\",\"range\",\"II\",25,60))],ppyAssump)\n",
" )\n",
"\n",
"r = localAPI.runPool(myPool\n",
" ,poolAssump=AssetLevelAssumption\n",
" ,read=True)\n",
"\n",
"r['PoolConsol']['flow'].head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f03d020b-8430-4117-a445-9bb32c16a5f5",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}