{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "489b7d06", "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 2, "id": "6c7b8c35", "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)\n", "\n", "import absbox.examples as examples" ] }, { "cell_type": "markdown", "id": "7fc3d420", "metadata": {}, "source": [ "### View Multiple cashflow\n", "\n", "User can have view multiple cashflows via single function" ] }, { "cell_type": "code", "execution_count": 3, "id": "487d9ddb", "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": [ "r = localAPI.run(examples.test03\n", " ,poolAssump = (\"Pool\",(\"Mortgage\",None,None,None,None)\n", " ,None\n", " ,None)\n", " ,runAssump = None\n", " ,read=True)" ] }, { "cell_type": "markdown", "id": "0523c0d5", "metadata": {}, "source": [ "#### View multiple bonds casfhlow\n", "\n", "include cashflow view function" ] }, { "cell_type": "code", "execution_count": 4, "id": "3b90a4d6", "metadata": {}, "outputs": [], "source": [ "from absbox import readBondsCf,readFeesCf,readAccsCf" ] }, { "cell_type": "code", "execution_count": 5, "id": "904476db", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
A1B
balanceinterestprincipalratecashbalanceinterestprincipalratecash
date
2021-06-20383.3112.27416.690.07428.961000.00.00.000.0
2021-07-20296.392.2086.920.0789.121000.00.00.000.0
2021-08-20207.311.7689.080.0790.841000.00.00.000.0
2021-09-20115.861.2391.450.0792.681000.00.00.000.0
2021-10-2021.860.6694.000.0794.661000.00.00.000.0
\n", "
" ], "text/plain": [ " A1 B \\\n", " balance interest principal rate cash balance interest \n", "date \n", "2021-06-20 383.31 12.27 416.69 0.07 428.96 1000.0 0.0 \n", "2021-07-20 296.39 2.20 86.92 0.07 89.12 1000.0 0.0 \n", "2021-08-20 207.31 1.76 89.08 0.07 90.84 1000.0 0.0 \n", "2021-09-20 115.86 1.23 91.45 0.07 92.68 1000.0 0.0 \n", "2021-10-20 21.86 0.66 94.00 0.07 94.66 1000.0 0.0 \n", "\n", " \n", " principal rate cash \n", "date \n", "2021-06-20 0.0 0 0.0 \n", "2021-07-20 0.0 0 0.0 \n", "2021-08-20 0.0 0 0.0 \n", "2021-09-20 0.0 0 0.0 \n", "2021-10-20 0.0 0 0.0 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "readBondsCf(r['bonds']).head()" ] }, { "cell_type": "markdown", "id": "29794a4b", "metadata": {}, "source": [ "User can keep all columns" ] }, { "cell_type": "code", "execution_count": 6, "id": "5f4862be", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
A1B
balanceinterestprincipalratecashintDueintOverIntfactormemobalanceinterestprincipalratecashintDueintOverIntfactormemo
date
2021-06-20383.3112.27416.690.07428.960.00.00.38331[<PayInt:A1>, <PayPrin:A1>]1000.00.00.000.0001.0<PayYield:B>
2021-07-20296.392.2086.920.0789.120.00.00.29639[<PayInt:A1>, <PayPrin:A1>]1000.00.00.000.0001.0<PayYield:B>
2021-08-20207.311.7689.080.0790.840.00.00.20731[<PayInt:A1>, <PayPrin:A1>]1000.00.00.000.0001.0<PayYield:B>
2021-09-20115.861.2391.450.0792.680.00.00.11586[<PayInt:A1>, <PayPrin:A1>]1000.00.00.000.0001.0<PayYield:B>
2021-10-2021.860.6694.000.0794.660.00.00.02186[<PayInt:A1>, <PayPrin:A1>]1000.00.00.000.0001.0<PayYield:B>
\n", "
" ], "text/plain": [ " A1 \\\n", " balance interest principal rate cash intDue intOverInt \n", "date \n", "2021-06-20 383.31 12.27 416.69 0.07 428.96 0.0 0.0 \n", "2021-07-20 296.39 2.20 86.92 0.07 89.12 0.0 0.0 \n", "2021-08-20 207.31 1.76 89.08 0.07 90.84 0.0 0.0 \n", "2021-09-20 115.86 1.23 91.45 0.07 92.68 0.0 0.0 \n", "2021-10-20 21.86 0.66 94.00 0.07 94.66 0.0 0.0 \n", "\n", " B \\\n", " factor memo balance interest principal \n", "date \n", "2021-06-20 0.38331 [, ] 1000.0 0.0 0.0 \n", "2021-07-20 0.29639 [, ] 1000.0 0.0 0.0 \n", "2021-08-20 0.20731 [, ] 1000.0 0.0 0.0 \n", "2021-09-20 0.11586 [, ] 1000.0 0.0 0.0 \n", "2021-10-20 0.02186 [, ] 1000.0 0.0 0.0 \n", "\n", " \n", " rate cash intDue intOverInt factor memo \n", "date \n", "2021-06-20 0 0.0 0 0 1.0 \n", "2021-07-20 0 0.0 0 0 1.0 \n", "2021-08-20 0 0.0 0 0 1.0 \n", "2021-09-20 0 0.0 0 0 1.0 \n", "2021-10-20 0 0.0 0 0 1.0 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "readBondsCf(r['bonds'],popColumns=[]).head()" ] }, { "cell_type": "markdown", "id": "500d7644", "metadata": {}, "source": [ "#### View multiple fee cashflow" ] }, { "cell_type": "code", "execution_count": 7, "id": "63d3c8af", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
bondAdmFeepoolServFee
balancepaymentbalancepayment
datedaySeq
2021-06-200036.0006.48
2021-07-200027.6601.07
2021-08-200025.9201.10
2021-09-200024.1401.03
2021-10-200022.3100.88
2021-11-200020.4300.89
2021-12-200018.5000.75
2022-01-200016.5300.74
2022-02-200014.5200.67
2022-03-200012.4700.45
2022-04-200010.3700.52
2022-05-20008.2300.41
2022-06-20006.0400.37
2022-07-20003.8200.27
2022-08-20001.5400.22
2022-09-20000.0000.15
2022-10-20000.0000.07
\n", "
" ], "text/plain": [ " bondAdmFee poolServFee \n", " balance payment balance payment\n", "date daySeq \n", "2021-06-20 0 0 36.00 0 6.48\n", "2021-07-20 0 0 27.66 0 1.07\n", "2021-08-20 0 0 25.92 0 1.10\n", "2021-09-20 0 0 24.14 0 1.03\n", "2021-10-20 0 0 22.31 0 0.88\n", "2021-11-20 0 0 20.43 0 0.89\n", "2021-12-20 0 0 18.50 0 0.75\n", "2022-01-20 0 0 16.53 0 0.74\n", "2022-02-20 0 0 14.52 0 0.67\n", "2022-03-20 0 0 12.47 0 0.45\n", "2022-04-20 0 0 10.37 0 0.52\n", "2022-05-20 0 0 8.23 0 0.41\n", "2022-06-20 0 0 6.04 0 0.37\n", "2022-07-20 0 0 3.82 0 0.27\n", "2022-08-20 0 0 1.54 0 0.22\n", "2022-09-20 0 0 0.00 0 0.15\n", "2022-10-20 0 0 0.00 0 0.07" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "readFeesCf(r['fees'])" ] }, { "cell_type": "markdown", "id": "78548232", "metadata": {}, "source": [ "#### View multiple account cashflow" ] }, { "cell_type": "code", "execution_count": 8, "id": "21c28f64", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
acc01
balancechange
datedaySeq
2021-04-01028.6328.63
1235.72207.09
2235.720.00
3235.720.00
2021-05-010249.0013.28
............
2022-10-200117.79-0.07
1117.790.00
2117.790.00
3117.790.00
40.00-117.79
\n", "

161 rows × 2 columns

\n", "
" ], "text/plain": [ " acc01 \n", " balance change\n", "date daySeq \n", "2021-04-01 0 28.63 28.63\n", " 1 235.72 207.09\n", " 2 235.72 0.00\n", " 3 235.72 0.00\n", "2021-05-01 0 249.00 13.28\n", "... ... ...\n", "2022-10-20 0 117.79 -0.07\n", " 1 117.79 0.00\n", " 2 117.79 0.00\n", " 3 117.79 0.00\n", " 4 0.00 -117.79\n", "\n", "[161 rows x 2 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "readAccsCf(r['accounts'])" ] }, { "cell_type": "code", "execution_count": null, "id": "0b744ecc", "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 }