Skip to content

yellowbean/Hastructure

Repository files navigation

Actions Status Docker Build

What is Hastructure ?

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:

  • deal components (bonds,assets,accounts,waterfall,trigger,fees etc.)
  • pool performance assumption input as well as interest rate assumption

Hastructure will generate outputs:

  • cashflow of bonds/accounts/fees
  • pricing of bonds
  • or other outputs make your lose money faster 😎

Why Hastructure ?

  • 🧱 A collection of building blocks to build cashflows model for structured product. User just need to compose them together.
  • 🚗 In-house and white-label friendly.
  • 🎏 No lock-in risk, all JSONs input/output, no proprietary file formats.

I'm using language XXX

  • 🐍 Python wrapper is in Beta now !
  • ☕ Easy integration with Java/C#/C++/JavaScript/Python with RESTful interface and Docker image are ready.

Documentation

Features

  • Integration
    • Built-in REST API services
      • Language independent, integration friendly.
      • Swagger -> here
      • Public server status -> here
    • Docker Support
  • Asset class coverage (Mortgage/Student Loan/Auto Loan/Rentals/Corp Loan/Consumer Installment)
  • Pool Assumptions
    • Mortgage (Prepay, Prepay Penalty, Deliquency, Default,Recovery Lag/Rate)
    • Installment (Prepay Default Recovery Lag/Rate)
    • Corp Loan (Prepay Default Recovery Lag/Rate)
    • Receivable (Default Recovery Lag/Rate)
    • Rentals (Gaps between leases,Rental Curve Assumption)
    • Fixed Asset ( Uitility Rate)
  • Multiple Waterfalls
    • Clean up waterfall/ Pre,Post Enforcement waterfall
    • Pool collection waterfall
  • Accounts
    • Reserve Account/Bank Account (with interest)/Cash Account/ Ledger(PDL)
  • Bonds/Tranches
    • Float Index rate / Step Up coupon type / Fix Rate
    • Sequential / Prepay Lockout /PAC Bond Support /Z Bond Support
    • Bond Pricing (IRR /WAL /Duration /Accrual Int)
  • Call
    • call by Pool/Bond Balance amount;Bond/Pool Factor;On Date/or after
  • Fees
    • Pool / Bond balanced based fees
    • Fix Amount Fees / Custom Fee Flow / Number Type Fee of a deal / Formula based fee rate
  • Liquidity Provider
    • line of credit/ Unlimit support
    • interest charge or fee charge on the credit used & unused
  • Trigger
    • Base on Date
    • Base on Free Formula, Bond /Pool metrics
    • Base on Pool performance, like Cumulative Default Rate, last 3 periods delinquency rates.
    • Base on any combination above
  • Interest Swap
    • Float to Float/ Fix to Float
    • formula based notional balance
  • Scenario Analysis
    • Running multiple scenarios on single deal
    • Pricing on single asset
    • Revoving Buy Analysis
  • Free Formula Support
    • 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.
  • Misc
    • Support user define pay dates & pool collection dates

Premium Support

slack -> https://absboxhastructure.slack.com

Online Demo

The demo only cover very limit features of this engine and subject to UI performance issue due to rapid prototype design of web component

Pls noted that the web demo is far behind latest development/stable version

Others