{ "cells": [ { "cell_type": "markdown", "id": "1cd1717c", "metadata": {}, "source": [ "### Library Example\n", "\n", "#### Connect to server" ] }, { "cell_type": "code", "execution_count": 13, "id": "f7b7076f-53e5-4156-8160-0f973c18c0eb", "metadata": {}, "outputs": [], "source": [ "from absbox import LIBRARY" ] }, { "cell_type": "code", "execution_count": 56, "id": "0e192cbf-b635-45ef-a04a-6fbb884a0982", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
✅ Connected to library server\n",
       "
\n" ], "text/plain": [ "✅ Connected to library server\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
absbox version:0.44.0\n",
       "
\n" ], "text/plain": [ "absbox version:\u001b[1;36m0.44\u001b[0m.\u001b[1;36m0\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Hastructure:{'active': {'local': 'http://localhost:8081 : 0.44.1'}, 'default': 'local', 'inactive': {}}\n",
       "
\n" ], "text/plain": [ "Hastructure:\u001b[1m{\u001b[0m\u001b[32m'active'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'local'\u001b[0m: \u001b[32m'http://localhost:8081 : 0.44.1'\u001b[0m\u001b[1m}\u001b[0m, \u001b[32m'default'\u001b[0m: \u001b[32m'local'\u001b[0m, \u001b[32m'inactive'\u001b[0m: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "library_url = \"https://ldn.spv.run/api\"\n", "library = LIBRARY(library_url)" ] }, { "cell_type": "code", "execution_count": 57, "id": "5bfff1c4-df91-47cb-9b63-4ad81f776650", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
✅ login successfully, user -> trial_1,group -> trial_group_1\n",
       "
\n" ], "text/plain": [ "✅ login successfully, user -> trial_1,group -> trial_group_1\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "library.login(\"trial_1\",\"iamhere\")\n", "#library.safeLogin(\"chinapublisher\")\n" ] }, { "cell_type": "markdown", "id": "39f050bc-1273-46e1-b771-45dfad1247da", "metadata": {}, "source": [ "#### Query Deal Library\n", "\n", "List all deals which are accessible to current user" ] }, { "cell_type": "code", "execution_count": null, "id": "36571d04-d627-42b6-aee2-af7f4eb278f9", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
✅ query success\n",
       "
\n" ], "text/plain": [ "✅ query success\n" ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
IDnameperiodstagetagspermissiongroup
03吉时代2025年第一期个人汽车抵押贷款资产支持证券01auto7003
\n", "
" ], "text/plain": [ " ID name period stage tags permission group\n", "0 3 吉时代2025年第一期个人汽车抵押贷款资产支持证券 0 1 auto 700 3" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "library.query()" ] }, { "cell_type": "markdown", "id": "d2db6ba6-2cba-4916-8ad2-52eaf9610fdb", "metadata": {}, "source": [ "#### Run Deal By Name" ] }, { "cell_type": "code", "execution_count": 59, "id": "55172fa1-b3a5-470f-8d98-897d724f679d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
✅ run success with deal: 吉时代2025年第一期个人汽车抵押贷款资产支持证券|3\n",
       "
\n" ], "text/plain": [ "✅ run success with deal: 吉时代2025年第一期个人汽车抵押贷款资产支持证券|\u001b[1;36m3\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "revol_asset = [\"Mortgage\"\n", " ,{\"originBalance\":2200,\"originRate\":[\"fix\",0.02],\"originTerm\":48\n", " ,\"freq\":\"Monthly\",\"type\":\"Level\",\"originDate\":\"2021-02-01\"}\n", " ,{\"currentBalance\":2200\n", " ,\"currentRate\":0.02\n", " ,\"remainTerm\":40\n", " ,\"status\":\"current\"}]\n", "\n", "\n", "i,r = library.run((\"name\",\"吉时代2025年第一期个人汽车抵押贷款资产支持证券\")\n", " ,runAssump= [(\"revolving\"\n", " ,[\"constant\",revol_asset]\n", " ,(\"Pool\",(\"Mortgage\",{\"CDR\":0.00},None,None,None)\n", " ,None\n", " ,None))\n", " ]\n", " ,read=True)" ] }, { "cell_type": "markdown", "id": "744096f5-4413-4d01-a924-2ada964f0f49", "metadata": {}, "source": [ "#### Run Deal By ID" ] }, { "cell_type": "code", "execution_count": 60, "id": "088559a6-d197-4931-9bda-e18d0c9b5bb6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
✅ run success with deal: 吉时代2025年第一期个人汽车抵押贷款资产支持证券|3\n",
       "
\n" ], "text/plain": [ "✅ run success with deal: 吉时代2025年第一期个人汽车抵押贷款资产支持证券|\u001b[1;36m3\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "i,r = library.run((\"id\",3)\n", " ,runAssump= [(\"revolving\"\n", " ,[\"constant\",revol_asset]\n", " ,(\"Pool\",(\"Mortgage\",{\"CDR\":0.00},None,None,None)\n", " ,None\n", " ,None))\n", " ]\n", " ,read=True)" ] }, { "cell_type": "markdown", "id": "6206010c-1535-4d89-85ca-88180a84fab7", "metadata": {}, "source": [ "#### Run Info" ] }, { "cell_type": "code", "execution_count": 64, "id": "c241bcd7-0f93-4b8e-bb89-ec309560fec9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'time': {'load': '1.5590000000000002 ms', 'run': '31.668000000000003 ms'},\n", " 'engine': 'http://localhost:8081 | 0.44.1',\n", " 'deal': {'name': '吉时代2025年第一期个人汽车抵押贷款资产支持证券', 'id': 3}}" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "i" ] }, { "cell_type": "markdown", "id": "dee0acd0-5b72-449a-bacf-db6b11c53a33", "metadata": {}, "source": [ "#### Run Result\n", "\n", "The result object is same as the one return by `api.run()`" ] }, { "cell_type": "code", "execution_count": 52, "id": "e3782c45-cae4-4d92-8d08-d6d4e47b1a7d", "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", "
BalancePrincipalInterestPrepaymentDefaultRecoveryLossWACBorrowerNumPrepayPenaltyCumPrincipalCumPrepayCumDelinqCumDefaultCumRecoveryCumLoss
Date
2025-03-143.984977e+095.150247e+0811076764.2000000.000000NoneNone5.150247e+0800000
2025-03-313.731465e+092.535123e+086738886.8700000.000000NoneNone7.685370e+0800000
2025-04-304.258881e+092.493541e+086311620.9900000.010284NoneNone1.017891e+0900000
\n", "
" ], "text/plain": [ " Balance Principal Interest Prepayment Default \\\n", "Date \n", "2025-03-14 3.984977e+09 5.150247e+08 11076764.20 0 0 \n", "2025-03-31 3.731465e+09 2.535123e+08 6738886.87 0 0 \n", "2025-04-30 4.258881e+09 2.493541e+08 6311620.99 0 0 \n", "\n", " Recovery Loss WAC BorrowerNum PrepayPenalty CumPrincipal \\\n", "Date \n", "2025-03-14 0 0 0.000000 None None 5.150247e+08 \n", "2025-03-31 0 0 0.000000 None None 7.685370e+08 \n", "2025-04-30 0 0 0.010284 None None 1.017891e+09 \n", "\n", " CumPrepay CumDelinq CumDefault CumRecovery CumLoss \n", "Date \n", "2025-03-14 0 0 0 0 0 \n", "2025-03-31 0 0 0 0 0 \n", "2025-04-30 0 0 0 0 0 " ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r['pool']['flow']['PoolConsol'].head(3)" ] }, { "cell_type": "code", "execution_count": 32, "id": "e0b8e0f8-352a-4b76-9f88-ed9134a33029", "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", "
balanceinterestprincipalratecashintDueintOverIntfactormemo
date
2025-04-261.600000e+093449424.650.00.01833449424.65001.0<PayInt:优先A1>
2025-05-261.600000e+092406575.340.00.01832406575.34001.0<PayInt:优先A1>
2025-06-261.600000e+092486794.520.00.01832486794.52001.0<PayInt:优先A1>
\n", "
" ], "text/plain": [ " balance interest principal rate cash intDue \\\n", "date \n", "2025-04-26 1.600000e+09 3449424.65 0.0 0.0183 3449424.65 0 \n", "2025-05-26 1.600000e+09 2406575.34 0.0 0.0183 2406575.34 0 \n", "2025-06-26 1.600000e+09 2486794.52 0.0 0.0183 2486794.52 0 \n", "\n", " intOverInt factor memo \n", "date \n", "2025-04-26 0 1.0 \n", "2025-05-26 0 1.0 \n", "2025-06-26 0 1.0 " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r['bonds']['优先A1'].head(3)" ] }, { "cell_type": "code", "execution_count": null, "id": "618c597b-06fe-4e77-bc1c-02b0ab30fa1c", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "PyABS", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }