{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Run Asset Pool 1"
]
},
{
"cell_type": "code",
"execution_count": 1,
"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, lang='english',check=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Pool\n",
"\n",
"In `Pool` , it will have a field named `assets` ,which contains a list of `assets`"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"mortgage1 = [\"Mortgage\"\n",
" ,{\"originBalance\": 12000.0\n",
" ,\"originRate\": [\"fix\",0.045]\n",
" ,\"originTerm\": 40\n",
" ,\"freq\": \"monthly\"\n",
" ,\"type\": \"level\"\n",
" ,\"originDate\": \"2021-02-01\"}\n",
" ,{\"currentBalance\": 10000.0\n",
" ,\"currentRate\": 0.075\n",
" ,\"remainTerm\": 30\n",
" ,\"status\": \"current\"}]\n",
"\n",
"mortgage2 = [\"Mortgage\"\n",
" ,{\"originBalance\": 800.0\n",
" ,\"originRate\": [\"fix\",0.045]\n",
" ,\"originTerm\": 25\n",
" ,\"freq\": \"monthly\"\n",
" ,\"type\": \"level\"\n",
" ,\"originDate\": \"2021-02-01\"}\n",
" ,{\"currentBalance\": 600.0\n",
" ,\"currentRate\": 0.075\n",
" ,\"remainTerm\": 15\n",
" ,\"status\": \"current\"}]\n",
"\n",
"myPool = {'assets':[ mortgage1, mortgage2 ],\n",
" 'cutoffDate':\"2022-03-01\"}"
]
},
{
"cell_type": "code",
"execution_count": 6,
"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",
" | 2022-03-01 | \n",
" 9542.79 | \n",
" 345.80 | \n",
" 61.80 | \n",
" 0 | \n",
" 7.62 | \n",
" 0 | \n",
" 7.62 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 345.80 | \n",
" 0 | \n",
" 0 | \n",
" 7.62 | \n",
" 0 | \n",
" 7.62 | \n",
"
\n",
" \n",
" | 2022-04-01 | \n",
" 9186.98 | \n",
" 347.68 | \n",
" 59.58 | \n",
" 0 | \n",
" 8.13 | \n",
" 0 | \n",
" 8.13 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 693.48 | \n",
" 0 | \n",
" 0 | \n",
" 15.75 | \n",
" 0 | \n",
" 15.75 | \n",
"
\n",
" \n",
" | 2022-05-01 | \n",
" 8829.85 | \n",
" 349.56 | \n",
" 57.36 | \n",
" 0 | \n",
" 7.57 | \n",
" 0 | \n",
" 7.57 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1043.04 | \n",
" 0 | \n",
" 0 | \n",
" 23.32 | \n",
" 0 | \n",
" 23.32 | \n",
"
\n",
" \n",
" | 2022-06-01 | \n",
" 8470.88 | \n",
" 351.45 | \n",
" 55.13 | \n",
" 0 | \n",
" 7.52 | \n",
" 0 | \n",
" 7.52 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1394.49 | \n",
" 0 | \n",
" 0 | \n",
" 30.84 | \n",
" 0 | \n",
" 30.84 | \n",
"
\n",
" \n",
" | 2022-07-01 | \n",
" 8110.54 | \n",
" 353.35 | \n",
" 52.89 | \n",
" 0 | \n",
" 6.99 | \n",
" 0 | \n",
" 6.99 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1747.84 | \n",
" 0 | \n",
" 0 | \n",
" 37.83 | \n",
" 0 | \n",
" 37.83 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance Principal Interest Prepayment Default Recovery Loss \\\n",
"Date \n",
"2022-03-01 9542.79 345.80 61.80 0 7.62 0 7.62 \n",
"2022-04-01 9186.98 347.68 59.58 0 8.13 0 8.13 \n",
"2022-05-01 8829.85 349.56 57.36 0 7.57 0 7.57 \n",
"2022-06-01 8470.88 351.45 55.13 0 7.52 0 7.52 \n",
"2022-07-01 8110.54 353.35 52.89 0 6.99 0 6.99 \n",
"\n",
" WAC BorrowerNum PrepayPenalty CumPrincipal CumPrepay \\\n",
"Date \n",
"2022-03-01 0.075 None None 345.80 0 \n",
"2022-04-01 0.075 None None 693.48 0 \n",
"2022-05-01 0.075 None None 1043.04 0 \n",
"2022-06-01 0.075 None None 1394.49 0 \n",
"2022-07-01 0.075 None None 1747.84 0 \n",
"\n",
" CumDelinq CumDefault CumRecovery CumLoss \n",
"Date \n",
"2022-03-01 0 7.62 0 7.62 \n",
"2022-04-01 0 15.75 0 15.75 \n",
"2022-05-01 0 23.32 0 23.32 \n",
"2022-06-01 0 30.84 0 30.84 \n",
"2022-07-01 0 37.83 0 37.83 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r = localAPI.runPool(myPool\n",
" ,poolAssump=(\"Pool\",(\"Mortgage\",{\"CDR\":0.01},None,None,None)\n",
" ,None\n",
" ,None)\n",
" ,read=True)\n",
"\n",
"r['PoolConsol']['flow'].head(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Cutoff day\n",
"\n",
"`Cutoff day` means the day after which assets's cashflow belongs to the pool"
]
},
{
"cell_type": "code",
"execution_count": 7,
"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",
" | 2023-03-01 | \n",
" 5168.39 | \n",
" 368.94 | \n",
" 34.60 | \n",
" 0 | \n",
" 4.26 | \n",
" 0 | \n",
" 4.26 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 368.94 | \n",
" 0 | \n",
" 0 | \n",
" 4.26 | \n",
" 0 | \n",
" 4.26 | \n",
"
\n",
" \n",
" | 2023-04-01 | \n",
" 4834.54 | \n",
" 329.45 | \n",
" 32.27 | \n",
" 0 | \n",
" 4.40 | \n",
" 0 | \n",
" 4.40 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 698.39 | \n",
" 0 | \n",
" 0 | \n",
" 8.66 | \n",
" 0 | \n",
" 8.66 | \n",
"
\n",
" \n",
" | 2023-05-01 | \n",
" 4499.31 | \n",
" 331.24 | \n",
" 30.19 | \n",
" 0 | \n",
" 3.99 | \n",
" 0 | \n",
" 3.99 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1029.63 | \n",
" 0 | \n",
" 0 | \n",
" 12.65 | \n",
" 0 | \n",
" 12.65 | \n",
"
\n",
" \n",
" | 2023-06-01 | \n",
" 4162.45 | \n",
" 333.03 | \n",
" 28.09 | \n",
" 0 | \n",
" 3.83 | \n",
" 0 | \n",
" 3.83 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1362.66 | \n",
" 0 | \n",
" 0 | \n",
" 16.48 | \n",
" 0 | \n",
" 16.48 | \n",
"
\n",
" \n",
" | 2023-07-01 | \n",
" 3824.19 | \n",
" 334.83 | \n",
" 25.99 | \n",
" 0 | \n",
" 3.43 | \n",
" 0 | \n",
" 3.43 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1697.49 | \n",
" 0 | \n",
" 0 | \n",
" 19.91 | \n",
" 0 | \n",
" 19.91 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance Principal Interest Prepayment Default Recovery Loss \\\n",
"Date \n",
"2023-03-01 5168.39 368.94 34.60 0 4.26 0 4.26 \n",
"2023-04-01 4834.54 329.45 32.27 0 4.40 0 4.40 \n",
"2023-05-01 4499.31 331.24 30.19 0 3.99 0 3.99 \n",
"2023-06-01 4162.45 333.03 28.09 0 3.83 0 3.83 \n",
"2023-07-01 3824.19 334.83 25.99 0 3.43 0 3.43 \n",
"\n",
" WAC BorrowerNum PrepayPenalty CumPrincipal CumPrepay \\\n",
"Date \n",
"2023-03-01 0.075 None None 368.94 0 \n",
"2023-04-01 0.075 None None 698.39 0 \n",
"2023-05-01 0.075 None None 1029.63 0 \n",
"2023-06-01 0.075 None None 1362.66 0 \n",
"2023-07-01 0.075 None None 1697.49 0 \n",
"\n",
" CumDelinq CumDefault CumRecovery CumLoss \n",
"Date \n",
"2023-03-01 0 4.26 0 4.26 \n",
"2023-04-01 0 8.66 0 8.66 \n",
"2023-05-01 0 12.65 0 12.65 \n",
"2023-06-01 0 16.48 0 16.48 \n",
"2023-07-01 0 19.91 0 19.91 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"myPool = {'assets':[ mortgage1, mortgage2 ],\n",
" 'cutoffDate':\"2023-03-01\"}\n",
"\n",
"r = localAPI.runPool(myPool\n",
" ,poolAssump=(\"Pool\",(\"Mortgage\",{\"CDR\":0.01},None,None,None)\n",
" ,None\n",
" ,None)\n",
" ,read=True)\n",
"\n",
"r['PoolConsol']['flow'].head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Mixed Asset Pool\n",
"\n",
"User can build multiple pools with different asset type"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"receivable1 = [\"Invoice\"\n",
" ,{\"start\":\"2024-04-01\",\"originBalance\":2000\n",
" ,\"originAdvance\":1500,\"dueDate\":\"2024-06-01\"}\n",
" ,{\"status\":\"Current\"}]\n",
"\n",
"myMixedPool = {\"invoicePool\": {'assets':[receivable1],}\n",
" ,\"mortgagePool\": {'assets':[mortgage1]}\n",
" ,'cutoffDate':\"2022-03-01\"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Without any stress assumption, the return result will be a map, which keys are the pool name"
]
},
{
"cell_type": "code",
"execution_count": 10,
"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",
" AccuredFee | \n",
" Principal | \n",
" Fee | \n",
" Default | \n",
" Recovery | \n",
" Loss | \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",
" | 2024-04-01 | \n",
" 2000 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2024-06-01 | \n",
" 0 | \n",
" 0 | \n",
" 2000 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance AccuredFee Principal Fee Default Recovery Loss \\\n",
"Date \n",
"2024-04-01 2000 0 0 0 0 0 0 \n",
"2024-06-01 0 0 2000 0 0 0 0 \n",
"\n",
" CumPrincipal CumPrepay CumDelinq CumDefault CumRecovery \\\n",
"Date \n",
"2024-04-01 0 0 0 0 0 \n",
"2024-06-01 0 0 0 0 0 \n",
"\n",
" CumLoss \n",
"Date \n",
"2024-04-01 0 \n",
"2024-06-01 0 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r = localAPI.runPool(myMixedPool,read=True)\n",
"\n",
"r['invoicePool']['flow'].head()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"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",
" | 2022-03-01 | \n",
" 9082.00 | \n",
" 307.91 | \n",
" 58.68 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 307.91 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2022-04-01 | \n",
" 8772.17 | \n",
" 309.83 | \n",
" 56.76 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 617.74 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2022-05-01 | \n",
" 8460.40 | \n",
" 311.77 | \n",
" 54.82 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 929.51 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2022-06-01 | \n",
" 8146.68 | \n",
" 313.72 | \n",
" 52.87 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1243.23 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2022-07-01 | \n",
" 7831.00 | \n",
" 315.68 | \n",
" 50.91 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1558.91 | \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",
"2022-03-01 9082.00 307.91 58.68 0 0 0 0 \n",
"2022-04-01 8772.17 309.83 56.76 0 0 0 0 \n",
"2022-05-01 8460.40 311.77 54.82 0 0 0 0 \n",
"2022-06-01 8146.68 313.72 52.87 0 0 0 0 \n",
"2022-07-01 7831.00 315.68 50.91 0 0 0 0 \n",
"\n",
" WAC BorrowerNum PrepayPenalty CumPrincipal CumPrepay \\\n",
"Date \n",
"2022-03-01 0.075 None None 307.91 0 \n",
"2022-04-01 0.075 None None 617.74 0 \n",
"2022-05-01 0.075 None None 929.51 0 \n",
"2022-06-01 0.075 None None 1243.23 0 \n",
"2022-07-01 0.075 None None 1558.91 0 \n",
"\n",
" CumDelinq CumDefault CumRecovery CumLoss \n",
"Date \n",
"2022-03-01 0 0 0 0 \n",
"2022-04-01 0 0 0 0 \n",
"2022-05-01 0 0 0 0 \n",
"2022-06-01 0 0 0 0 \n",
"2022-07-01 0 0 0 0 "
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r['mortgagePool']['flow'].head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Set assumptions to the pools\n",
"* passing a tuple with key ``ByPoolID`` to pool Assumption\n",
"* a map with key equals to the name of pool"
]
},
{
"cell_type": "code",
"execution_count": 12,
"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"
]
}
],
"source": [
"mPoolAssump = (\"Pool\",\n",
" (\"Mortgage\",{\"CDR\":0.01},None,None,None)\n",
" ,None\n",
" ,None)\n",
"\n",
"iPoolAssump = (\"Pool\"\n",
" ,(\"Receivable\", {\"CDR\":0.01}, None, None)\n",
" ,None\n",
" ,None)\n",
"\n",
"\n",
"r = localAPI.runPool(myMixedPool\n",
" ,poolAssump = (\"ByPoolId\",\n",
" {\"invoicePool\":iPoolAssump\n",
" ,\"mortgagePool\":mPoolAssump}\n",
" )\n",
" ,read=True)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Balance | \n",
" AccuredFee | \n",
" Principal | \n",
" Fee | \n",
" Default | \n",
" Recovery | \n",
" Loss | \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",
" | 2024-04-01 | \n",
" 2000 | \n",
" 0 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.00 | \n",
" 0 | \n",
" 0.00 | \n",
"
\n",
" \n",
" | 2024-06-01 | \n",
" 0 | \n",
" 0 | \n",
" 1996.65 | \n",
" 0 | \n",
" 3.35 | \n",
" 0 | \n",
" 3.35 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 3.35 | \n",
" 0 | \n",
" 3.35 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance AccuredFee Principal Fee Default Recovery Loss \\\n",
"Date \n",
"2024-04-01 2000 0 0.00 0 0.00 0 0.00 \n",
"2024-06-01 0 0 1996.65 0 3.35 0 3.35 \n",
"\n",
" CumPrincipal CumPrepay CumDelinq CumDefault CumRecovery \\\n",
"Date \n",
"2024-04-01 0 0 0 0.00 0 \n",
"2024-06-01 0 0 0 3.35 0 \n",
"\n",
" CumLoss \n",
"Date \n",
"2024-04-01 0.00 \n",
"2024-06-01 3.35 "
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r['invoicePool']['flow'].head(5)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"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",
" | 2022-03-01 | \n",
" 9059.53 | \n",
" 307.14 | \n",
" 58.54 | \n",
" 0 | \n",
" 7.22 | \n",
" 0 | \n",
" 7.22 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 307.14 | \n",
" 0 | \n",
" 0 | \n",
" 7.22 | \n",
" 0 | \n",
" 7.22 | \n",
"
\n",
" \n",
" | 2022-04-01 | \n",
" 8743.01 | \n",
" 308.80 | \n",
" 56.57 | \n",
" 0 | \n",
" 7.72 | \n",
" 0 | \n",
" 7.72 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 615.94 | \n",
" 0 | \n",
" 0 | \n",
" 14.94 | \n",
" 0 | \n",
" 14.94 | \n",
"
\n",
" \n",
" | 2022-05-01 | \n",
" 8425.32 | \n",
" 310.48 | \n",
" 54.59 | \n",
" 0 | \n",
" 7.21 | \n",
" 0 | \n",
" 7.21 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 926.42 | \n",
" 0 | \n",
" 0 | \n",
" 22.15 | \n",
" 0 | \n",
" 22.15 | \n",
"
\n",
" \n",
" | 2022-06-01 | \n",
" 8105.99 | \n",
" 312.15 | \n",
" 52.61 | \n",
" 0 | \n",
" 7.18 | \n",
" 0 | \n",
" 7.18 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1238.57 | \n",
" 0 | \n",
" 0 | \n",
" 29.33 | \n",
" 0 | \n",
" 29.33 | \n",
"
\n",
" \n",
" | 2022-07-01 | \n",
" 7785.46 | \n",
" 313.84 | \n",
" 50.62 | \n",
" 0 | \n",
" 6.69 | \n",
" 0 | \n",
" 6.69 | \n",
" 0.075 | \n",
" None | \n",
" None | \n",
" 1552.41 | \n",
" 0 | \n",
" 0 | \n",
" 36.02 | \n",
" 0 | \n",
" 36.02 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Balance Principal Interest Prepayment Default Recovery Loss \\\n",
"Date \n",
"2022-03-01 9059.53 307.14 58.54 0 7.22 0 7.22 \n",
"2022-04-01 8743.01 308.80 56.57 0 7.72 0 7.72 \n",
"2022-05-01 8425.32 310.48 54.59 0 7.21 0 7.21 \n",
"2022-06-01 8105.99 312.15 52.61 0 7.18 0 7.18 \n",
"2022-07-01 7785.46 313.84 50.62 0 6.69 0 6.69 \n",
"\n",
" WAC BorrowerNum PrepayPenalty CumPrincipal CumPrepay \\\n",
"Date \n",
"2022-03-01 0.075 None None 307.14 0 \n",
"2022-04-01 0.075 None None 615.94 0 \n",
"2022-05-01 0.075 None None 926.42 0 \n",
"2022-06-01 0.075 None None 1238.57 0 \n",
"2022-07-01 0.075 None None 1552.41 0 \n",
"\n",
" CumDelinq CumDefault CumRecovery CumLoss \n",
"Date \n",
"2022-03-01 0 7.22 0 7.22 \n",
"2022-04-01 0 14.94 0 14.94 \n",
"2022-05-01 0 22.15 0 22.15 \n",
"2022-06-01 0 29.33 0 29.33 \n",
"2022-07-01 0 36.02 0 36.02 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r['mortgagePool']['flow'].head(5)"
]
},
{
"cell_type": "code",
"execution_count": null,
"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": 4
}