{"id":32161123,"url":"https://github.com/absbox/hastructure","last_synced_at":"2025-12-11T23:21:19.920Z","repository":{"id":38788566,"uuid":"495093594","full_name":"absbox/Hastructure","owner":"absbox","description":"ABS/MBS cashflow engine written in Haskell, with API to Python and C/Java (on the way)","archived":false,"fork":false,"pushed_at":"2025-09-16T08:26:20.000Z","size":3853,"stargazers_count":26,"open_issues_count":47,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-16T10:25:14.656Z","etag":null,"topics":["abs","cashflow","clo","mbs","modeling","modelling","structured-finance","structuring"],"latest_commit_sha":null,"homepage":"https://deal-bench.xyz","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/absbox.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-22T15:05:41.000Z","updated_at":"2025-09-16T08:26:24.000Z","dependencies_parsed_at":"2024-01-09T05:21:42.308Z","dependency_job_id":"6b32cd63-0bce-41fb-bc98-3f2f9926cae1","html_url":"https://github.com/absbox/Hastructure","commit_stats":null,"previous_names":["absbox/hastructure","yellowbean/hastructure"],"tags_count":313,"template":false,"template_full_name":null,"purl":"pkg:github/absbox/Hastructure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absbox%2FHastructure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absbox%2FHastructure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absbox%2FHastructure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absbox%2FHastructure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/absbox","download_url":"https://codeload.github.com/absbox/Hastructure/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absbox%2FHastructure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280272338,"owners_count":26302260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abs","cashflow","clo","mbs","modeling","modelling","structured-finance","structuring"],"created_at":"2025-10-21T13:50:42.025Z","updated_at":"2025-10-21T13:50:47.461Z","avatar_url":"https://github.com/absbox.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Actions Status](https://github.com/absbox/Hastructure/workflows/Haskell%20CI/badge.svg)](https://github.com/absbox/Hastructure/actions)\n[![Docker Build](https://img.shields.io/docker/v/yellowbean/hastructure?color=green\u0026label=docker)](https://hub.docker.com/r/yellowbean/hastructure)\n[![Pulls from DockerHub](https://img.shields.io/docker/pulls/yellowbean/hastructure.svg)](https://hub.docker.com/r/yellowbean/hastructure)\n![Hackage Version](https://img.shields.io/hackage/v/Hastructure)\n\n\n# What is Hastructure ?\n\n``Hastructure`` names after ``Haskell`` and ``Structured Finance``, aims to provide cashflow projection for deal/transactions described in either Haskell structure or ``JSON`` via RESTful Service, with inputs from below:\n\n* deal components (bonds,assets,accounts,waterfall,trigger,fees etc.) \n* pool performance assumption input as well as interest rate assumption\n\n``Hastructure`` will generate outputs:\n\n* cashflow of bonds/accounts/fees\n* pricing of bonds\n* or other outputs make your lose money faster :sunglasses:\n\n# Why Hastructure ?\n\n* :bricks: A collection of building blocks to build cashflows model for structured product. User just need to `compose` them together.\n* :car: In-house and white-label friendly.\n* :flags: No lock-in risk, all JSONs input/output, no proprietary file formats.\n\n# I'm using language XXX\n\n* :snake: [Python wrapper](https://github.com/yellowbean/PyABS) is in ``Beta`` now !\n* :coffee: Easy integration with ``Java/C#/C++/JavaScript/Python`` with ``RESTful`` interface and Docker image are ready. \n  * C/Java : [here](https://github.com/absbox/Hastructure/issues/106)\n\n### Documentation\n\n* see what `Hastructure` is capable of -\u003e [Here](https://absbox-doc.readthedocs.io/en/latest/)\n  * [Where is `Hastructure` doc ? ](https://github.com/absbox/Hastructure/wiki/Where-is-documentation-of-Hastructure-%3F)\n\n### Features\n* Integration\n  * Built-in REST API services\n    * Language independent, integration friendly.\n    * Swagger -\u003e [here](https://github.com/absbox/Hastructure/blob/master/swagger.json)\n    * Public server status -\u003e [here](https://absbox.org)\n  * Docker Support \n* Asset class coverage (Mortgage/Student Loan/Auto Loan/Rentals/Corp Loan/Consumer Installment)\n* Pool Assumptions\n  * Mortgage (Prepay, Prepay Penalty, Deliquency, Default,Recovery Lag/Rate)\n  * Installment (Prepay Default Recovery Lag/Rate) \n  * Corp Loan (Prepay Default Recovery Lag/Rate)\n  * Receivable (Default Recovery Lag/Rate)\n  * Rentals (Gaps between leases,Rental Curve Assumption) \n  * Fixed Asset ( Uitility Rate)\n* Multiple Waterfalls\n  * Clean up waterfall/ Pre,Post Enforcement waterfall\n  * Pool collection waterfall\n* Accounts\n  * Reserve Account/Bank Account (with interest)/Cash Account/ Ledger(PDL)\n* Bonds/Tranches\n  * Float Index rate / Step Up coupon type / Fix Rate\n  * Sequential / Prepay Lockout /PAC Bond Support /Z Bond Support \n  * Bond Pricing (IRR /WAL /Duration /Accrual Int)\n* Call\n  * call by Pool/Bond Balance amount;Bond/Pool Factor;On Date/or after\n* Fees\n  * Pool / Bond balanced based fees \n  * Fix Amount Fees / Custom Fee Flow / Number Type Fee of a deal / Formula based fee rate \n* Liquidity Provider \n  * line of credit/ Unlimit support \n  * interest charge or fee charge on the credit used \u0026 unused\n* Trigger \n  * Base on Date \n  * Base on Free Formula, Bond /Pool metrics\n  * Base on Pool performance, like Cumulative Default Rate, last 3 periods delinquency rates.\n  * Base on any combination above\n* Interest Swap\n  * Float to Float/ Fix to Float\n  * formula based notional balance\n* Scenario Analysis\n  * Running multiple scenarios on single deal\n  * Pricing on single asset \n  * Revoving Buy Analysis \n* Free Formula Support \n  * User is able to using statistics of deal ( Pool Balance,Account balance ,total Bond Balance of , A factor of .. ) to construct formula which used to specify the amount of cash to transfer , pay out to fee or liabilities etc.\n* Misc\n  * Support user define pay dates \u0026 pool collection dates \n\n\n### Online Demo\n\nThe demo only cover very limit features of this engine and subject to UI performance issue due to rapid prototype design of web component\n\n**Pls noted that the web demo is far behind latest development/stable version**\n\n* [Here](https://deal-bench.xyz)\n\n\n### Others\n* [Why yet another cashflow engine](https://github.com/absbox/Hastructure/wiki/Why-Yet-Anohter-Cashflow-Engine)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabsbox%2Fhastructure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabsbox%2Fhastructure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabsbox%2Fhastructure/lists"}