diff --git a/docs/source/modeling.rst b/docs/source/modeling.rst index 4a942d2..201bdd0 100644 --- a/docs/source/modeling.rst +++ b/docs/source/modeling.rst @@ -2058,6 +2058,67 @@ Pay Fee Residual Bond ^^^^^^ +.. list-table:: cheatsheet-bond-action + :header-rows: 1 + + * - Action Name + - Accrue? + - Pay? + - Multiple Bonds? + * - ``calcInt`` + - Yes, accure Interest + - Won't pay cash + - Yes + * - ``calcIntBy`` + - Yes, accure Interest + - Won't pay cash + - No + * - ``payInt`` + - No + - Yes, pay till due interest is 0 + - Yes, pro-rata + * - ``payIntBySeq`` + - No + - Yes, pay till due interest is 0 + - Yes, sequentially + * - ``accrueAndPayInt`` + - Yes + - Yes, pay till due interest is 0 + - Yes, pro-rata + * - ``accrueAndPayIntBySeq`` + - Yes + - Yes, pay till due interest is 0 + - Yes, sequentially + * - ``payIntResidual`` + - No + - Yes, pay regardless the due interest + - No + * - ``calcBondPrin`` + - Yes, accrue due principal + - No + - Yes, pro-rata + * - ``payPrin`` + - Yes, accrue due principal + - Yes, pay till due principal is 0 + - Yes, pro-rata + * - ``payPrinBySeq`` + - Yes, accrue due principal + - Yes, pay till due principal is 0 + - Yes, sequentially + * - ``payPrinResidual`` + - No + - Yes, pay regardless the due principal + - No + * - ``payPrinWithDue`` + - No + - Yes, pay till due principal is 0 + - Yes, pro-rata + + + + + + Calc Bond Int calculate the due interest of a bond diff --git a/docs/source/nbsample/debug_sample.ipynb b/docs/source/nbsample/debug_sample.ipynb new file mode 100644 index 0000000..9525f2c --- /dev/null +++ b/docs/source/nbsample/debug_sample.ipynb @@ -0,0 +1,864 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c2aaa0a9", + "metadata": {}, + "source": [ + "### Debug Example" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "82a6ae32", + "metadata": {}, + "outputs": [], + "source": [ + "from absbox.examples import test05\n", + "from absbox import API,EnginePath" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a302e4b1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Connecting engine server -> https://absbox.org/api/dev\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mConnecting engine server -> \u001b[0m\u001b[1;4;35mhttps://absbox.org/api/dev\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Connected, local lib:0.26.4, server:0.27.13\n",
+       "
\n" + ], + "text/plain": [ + "✅\u001b[1;32mConnected, local li\u001b[0m\u001b[1;32mb:0\u001b[0m\u001b[1;32m.\u001b[0m\u001b[1;32m26.4\u001b[0m\u001b[1;32m, server:\u001b[0m\u001b[1;32m0.27\u001b[0m\u001b[1;32m.\u001b[0m\u001b[1;32m13\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "localAPI = API(EnginePath.DEV, lang='english',check=False)" + ] + }, + { + "cell_type": "markdown", + "id": "dad1adb2", + "metadata": {}, + "source": [ + "#### Inspect Values at End Of Day\n", + "\n", + "User can have the `inspect` any formula based values during the cashflow projection. \n", + "\n", + "User need to supply `(\"inspect\", (,)....)` in the deal run assumption" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "18b980b1", + "metadata": {}, + "outputs": [], + "source": [ + "r = localAPI.run(test05\n", + " ,poolAssump = None\n", + " ,runAssump = [(\"inspect\",[\"MonthEnd\",(\"poolFactor\",)]\n", + " ,[\"QuarterEnd\",(\"poolBalance\",)]\n", + " ,['MonthEnd',(\"curPoolCollection\",None,\"Principal\")]\n", + " ,['MonthEnd',(\"status\",\"Amortizing\")])]\n", + " ,read=True)" + ] + }, + { + "cell_type": "markdown", + "id": "fbbf0898", + "metadata": {}, + "source": [ + "View the inspection " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "a38a387c", + "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", + "
<PoolFactor>
Date
2021-03-010
2021-03-310
2021-04-300.905868
2021-05-310.858331
2021-06-300.810477
\n", + "
" + ], + "text/plain": [ + " \n", + "Date \n", + "2021-03-01 0\n", + "2021-03-31 0\n", + "2021-04-30 0.905868\n", + "2021-05-31 0.858331\n", + "2021-06-30 0.810477" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r['result']['inspect'][''].head()" + ] + }, + { + "cell_type": "markdown", + "id": "e49f5e35", + "metadata": {}, + "source": [ + "Or , to view multiple variable and auto join by dates" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a649d3e8", + "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", + "
<CurrentPoolBalance><IsDealStatus><PoolCurCollection:['CollectedPrincipal'],None><PoolFactor>
Date
2021-03-010False00
2021-03-310False00
2021-04-30NaNTrue207.090.905868
2021-05-31NaNTrue104.580.858331
2021-06-301783.05True105.280.810477
2021-07-31NaNTrue105.970.762309
2021-08-31NaNTrue106.690.713813
2021-09-301463True107.390.665
2021-10-31NaNTrue108.10.615863
2021-11-30NaNTrue108.830.566395
2021-12-311136.52True109.550.5166
2022-01-31NaNTrue110.290.466468
2022-02-28NaNTrue111.010.416009
2022-03-31803.46True111.760.365209
2022-04-30NaNTrue112.510.314068
2022-05-31NaNTrue113.250.26259
2022-06-30463.69True114.010.210768
2022-07-31NaNTrue114.770.1586
2022-08-31NaNTrue115.540.106081
2022-09-30117.08True116.30.053218
\n", + "
" + ], + "text/plain": [ + " \\\n", + "Date \n", + "2021-03-01 0 False \n", + "2021-03-31 0 False \n", + "2021-04-30 NaN True \n", + "2021-05-31 NaN True \n", + "2021-06-30 1783.05 True \n", + "2021-07-31 NaN True \n", + "2021-08-31 NaN True \n", + "2021-09-30 1463 True \n", + "2021-10-31 NaN True \n", + "2021-11-30 NaN True \n", + "2021-12-31 1136.52 True \n", + "2022-01-31 NaN True \n", + "2022-02-28 NaN True \n", + "2022-03-31 803.46 True \n", + "2022-04-30 NaN True \n", + "2022-05-31 NaN True \n", + "2022-06-30 463.69 True \n", + "2022-07-31 NaN True \n", + "2022-08-31 NaN True \n", + "2022-09-30 117.08 True \n", + "\n", + " \n", + "Date \n", + "2021-03-01 0 0 \n", + "2021-03-31 0 0 \n", + "2021-04-30 207.09 0.905868 \n", + "2021-05-31 104.58 0.858331 \n", + "2021-06-30 105.28 0.810477 \n", + "2021-07-31 105.97 0.762309 \n", + "2021-08-31 106.69 0.713813 \n", + "2021-09-30 107.39 0.665 \n", + "2021-10-31 108.1 0.615863 \n", + "2021-11-30 108.83 0.566395 \n", + "2021-12-31 109.55 0.5166 \n", + "2022-01-31 110.29 0.466468 \n", + "2022-02-28 111.01 0.416009 \n", + "2022-03-31 111.76 0.365209 \n", + "2022-04-30 112.51 0.314068 \n", + "2022-05-31 113.25 0.26259 \n", + "2022-06-30 114.01 0.210768 \n", + "2022-07-31 114.77 0.1586 \n", + "2022-08-31 115.54 0.106081 \n", + "2022-09-30 116.3 0.053218 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from absbox import unifyTs\n", + "\n", + "unifyTs(r['result']['inspect'].values()).head()" + ] + }, + { + "cell_type": "markdown", + "id": "f77487f7", + "metadata": {}, + "source": [ + "#### Inspect Values during the Waterfall" + ] + }, + { + "cell_type": "markdown", + "id": "5be46e04", + "metadata": {}, + "source": [ + "The `(\"inspect\", (,)....)` only inspect values at the `end of day` basis. \n", + "\n", + "If user want to inspect values during in a waterfall , user need to annotate `which variable` in the waterfall.\n", + "\n", + "\n", + " Syntax\n", + " \n", + " `['inspect','comment',]`" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "fe77744f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'amortizing': [['calcInt', 'A1'],\n", + " ['inspect', 'After AccureInteret bond:A1', ('bondDueInt', 'A1')],\n", + " ['payInt', 'acc01', ['A1']],\n", + " ['inspect', 'After Pay', ('bondDueInt', 'A1')],\n", + " ['payPrin', 'acc01', ['A1']],\n", + " ['payPrin', 'acc01', ['B']],\n", + " ['payIntResidual', 'acc01', 'B']]}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test05.waterfall" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "a229fdf5", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateCommentDealStatsValue
02021-06-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}15.34
12021-06-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
22021-07-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}3.12
32021-07-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
42021-08-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}2.55
52021-08-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
62021-09-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}1.86
72021-09-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
82021-10-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}1.13
92021-10-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
102021-11-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.48
112021-11-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
122021-12-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
132021-12-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
142022-01-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
152022-01-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
162022-02-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
172022-02-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
182022-03-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
192022-03-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
202022-04-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
212022-04-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
222022-05-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
232022-05-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
242022-06-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
252022-06-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
262022-07-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
272022-07-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
282022-08-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
292022-08-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
302022-09-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
312022-09-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
322022-10-20After AccureInteret bond:A1{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
332022-10-20After Pay{'tag': 'CurrentDueBondInt', 'contents': ['A1']}0.00
\n", + "
" + ], + "text/plain": [ + " Date Comment \\\n", + "0 2021-06-20 After AccureInteret bond:A1 \n", + "1 2021-06-20 After Pay \n", + "2 2021-07-20 After AccureInteret bond:A1 \n", + "3 2021-07-20 After Pay \n", + "4 2021-08-20 After AccureInteret bond:A1 \n", + "5 2021-08-20 After Pay \n", + "6 2021-09-20 After AccureInteret bond:A1 \n", + "7 2021-09-20 After Pay \n", + "8 2021-10-20 After AccureInteret bond:A1 \n", + "9 2021-10-20 After Pay \n", + "10 2021-11-20 After AccureInteret bond:A1 \n", + "11 2021-11-20 After Pay \n", + "12 2021-12-20 After AccureInteret bond:A1 \n", + "13 2021-12-20 After Pay \n", + "14 2022-01-20 After AccureInteret bond:A1 \n", + "15 2022-01-20 After Pay \n", + "16 2022-02-20 After AccureInteret bond:A1 \n", + "17 2022-02-20 After Pay \n", + "18 2022-03-20 After AccureInteret bond:A1 \n", + "19 2022-03-20 After Pay \n", + "20 2022-04-20 After AccureInteret bond:A1 \n", + "21 2022-04-20 After Pay \n", + "22 2022-05-20 After AccureInteret bond:A1 \n", + "23 2022-05-20 After Pay \n", + "24 2022-06-20 After AccureInteret bond:A1 \n", + "25 2022-06-20 After Pay \n", + "26 2022-07-20 After AccureInteret bond:A1 \n", + "27 2022-07-20 After Pay \n", + "28 2022-08-20 After AccureInteret bond:A1 \n", + "29 2022-08-20 After Pay \n", + "30 2022-09-20 After AccureInteret bond:A1 \n", + "31 2022-09-20 After Pay \n", + "32 2022-10-20 After AccureInteret bond:A1 \n", + "33 2022-10-20 After Pay \n", + "\n", + " DealStats Value \n", + "0 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 15.34 \n", + "1 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "2 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 3.12 \n", + "3 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "4 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 2.55 \n", + "5 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "6 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 1.86 \n", + "7 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "8 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 1.13 \n", + "9 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "10 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.48 \n", + "11 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "12 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "13 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "14 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "15 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "16 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "17 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "18 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "19 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "20 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "21 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "22 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "23 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "24 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "25 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "26 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "27 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "28 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "29 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "30 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "31 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "32 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 \n", + "33 {'tag': 'CurrentDueBondInt', 'contents': ['A1']} 0.00 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r['result']['waterfallInspect'].head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "544f2903", + "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.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/source/nbsample/modelExamples.rst b/docs/source/nbsample/modelExamples.rst index 95bafaa..f1b4e87 100644 --- a/docs/source/nbsample/modelExamples.rst +++ b/docs/source/nbsample/modelExamples.rst @@ -4,4 +4,5 @@ Model Examples .. toctree:: :maxdepth: 0 - SRT_Example_Native_Prod \ No newline at end of file + SRT_Example_Native_Prod + debug_sample \ No newline at end of file