Hastructure-0.50.0: Cashflow modeling library for structured finance
Safe HaskellNone
LanguageHaskell2010

AssetClass.AssetBase

Synopsis

Documentation

data Installment Source #

Instances

Instances details
Asset Installment Source # 
Instance details

Defined in AssetClass.Installment

UseRate Installment Source # 
Instance details

Defined in AssetClass.AssetBase

FromJSON Installment Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON Installment Source # 
Instance details

Defined in AssetClass.AssetBase

Generic Installment Source # 
Instance details

Defined in AssetClass.AssetBase

Show Installment Source # 
Instance details

Defined in AssetClass.AssetBase

Eq Installment Source # 
Instance details

Defined in AssetClass.AssetBase

Ord Installment Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Installment Source # 
Instance details

Defined in AssetClass.AssetBase

data Lease Source #

Instances

Instances details
Asset Lease Source # 
Instance details

Defined in AssetClass.Lease

UseRate Lease Source # 
Instance details

Defined in AssetClass.AssetBase

FromJSON Lease Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON Lease Source # 
Instance details

Defined in AssetClass.AssetBase

Generic Lease Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

from :: Lease -> Rep Lease x #

to :: Rep Lease x -> Lease #

Show Lease Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

showsPrec :: Int -> Lease -> ShowS #

show :: Lease -> String #

showList :: [Lease] -> ShowS #

Eq Lease Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

(==) :: Lease -> Lease -> Bool #

(/=) :: Lease -> Lease -> Bool #

Ord Lease Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

compare :: Lease -> Lease -> Ordering #

(<) :: Lease -> Lease -> Bool #

(<=) :: Lease -> Lease -> Bool #

(>) :: Lease -> Lease -> Bool #

(>=) :: Lease -> Lease -> Bool #

max :: Lease -> Lease -> Lease #

min :: Lease -> Lease -> Lease #

type Rep Lease Source # 
Instance details

Defined in AssetClass.AssetBase

data OriginalInfo Source #

Instances

Instances details
FromJSON OriginalInfo Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON OriginalInfo Source # 
Instance details

Defined in AssetClass.AssetBase

Generic OriginalInfo Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep OriginalInfo 
Instance details

Defined in AssetClass.AssetBase

type Rep OriginalInfo = D1 ('MetaData "OriginalInfo" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) ((C1 ('MetaCons "MortgageOriginalInfo" 'PrefixI 'True) (((S1 ('MetaSel ('Just "originBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Just "originRate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RateType)) :*: (S1 ('MetaSel ('Just "originTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Period))) :*: ((S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Just "prinType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortPlan)) :*: (S1 ('MetaSel ('Just "prepaymentPenalty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe PrepayPenaltyType)) :*: S1 ('MetaSel ('Just "obligor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Obligor))))) :+: C1 ('MetaCons "LoanOriginalInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "originBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: (S1 ('MetaSel ('Just "originRate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RateType) :*: S1 ('MetaSel ('Just "originTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: ((S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Period) :*: S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date)) :*: (S1 ('MetaSel ('Just "prinType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortPlan) :*: S1 ('MetaSel ('Just "obligor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Obligor)))))) :+: (C1 ('MetaCons "LeaseInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Just "originTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "originRental") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LeaseRateCalc) :*: S1 ('MetaSel ('Just "obligor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Obligor)))) :+: (C1 ('MetaCons "FixedAssetInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Just "originBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Just "residualBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance))) :*: ((S1 ('MetaSel ('Just "originTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Period)) :*: (S1 ('MetaSel ('Just "accRule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortRule) :*: S1 ('MetaSel ('Just "capacity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Capacity)))) :+: C1 ('MetaCons "ReceivableInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Just "originBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Just "originAdvance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance))) :*: (S1 ('MetaSel ('Just "dueDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Just "feeType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ReceivableFeeType)) :*: S1 ('MetaSel ('Just "obligor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Obligor))))))))
Show OriginalInfo Source # 
Instance details

Defined in AssetClass.AssetBase

Eq OriginalInfo Source # 
Instance details

Defined in AssetClass.AssetBase

Ord OriginalInfo Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema OriginalInfo Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep OriginalInfo Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep OriginalInfo = D1 ('MetaData "OriginalInfo" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) ((C1 ('MetaCons "MortgageOriginalInfo" 'PrefixI 'True) (((S1 ('MetaSel ('Just "originBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Just "originRate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RateType)) :*: (S1 ('MetaSel ('Just "originTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Period))) :*: ((S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Just "prinType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortPlan)) :*: (S1 ('MetaSel ('Just "prepaymentPenalty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe PrepayPenaltyType)) :*: S1 ('MetaSel ('Just "obligor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Obligor))))) :+: C1 ('MetaCons "LoanOriginalInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "originBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: (S1 ('MetaSel ('Just "originRate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RateType) :*: S1 ('MetaSel ('Just "originTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: ((S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Period) :*: S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date)) :*: (S1 ('MetaSel ('Just "prinType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortPlan) :*: S1 ('MetaSel ('Just "obligor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Obligor)))))) :+: (C1 ('MetaCons "LeaseInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Just "originTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "originRental") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LeaseRateCalc) :*: S1 ('MetaSel ('Just "obligor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Obligor)))) :+: (C1 ('MetaCons "FixedAssetInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Just "originBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Just "residualBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance))) :*: ((S1 ('MetaSel ('Just "originTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "period") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Period)) :*: (S1 ('MetaSel ('Just "accRule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortRule) :*: S1 ('MetaSel ('Just "capacity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Capacity)))) :+: C1 ('MetaCons "ReceivableInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "startDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Just "originBalance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Just "originAdvance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance))) :*: (S1 ('MetaSel ('Just "dueDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Just "feeType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ReceivableFeeType)) :*: S1 ('MetaSel ('Just "obligor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Obligor))))))))

data Status Source #

Constructors

Current 
Defaulted (Maybe Date) 

Instances

Instances details
FromJSON Status Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON Status Source # 
Instance details

Defined in AssetClass.AssetBase

Generic Status Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep Status 
Instance details

Defined in AssetClass.AssetBase

type Rep Status = D1 ('MetaData "Status" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "Current" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Defaulted" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Date))))

Methods

from :: Status -> Rep Status x #

to :: Rep Status x -> Status #

Show Status Source #

Delinquency (Maybe Int) | Extended (Maybe T.Day)

Instance details

Defined in AssetClass.AssetBase

Eq Status Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

(==) :: Status -> Status -> Bool #

(/=) :: Status -> Status -> Bool #

Ord Status Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema Status Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Status Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Status = D1 ('MetaData "Status" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "Current" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Defaulted" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Date))))

data LeaseStepUp Source #

Instances

Instances details
FromJSON LeaseStepUp Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON LeaseStepUp Source # 
Instance details

Defined in AssetClass.AssetBase

Generic LeaseStepUp Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep LeaseStepUp 
Instance details

Defined in AssetClass.AssetBase

Show LeaseStepUp Source # 
Instance details

Defined in AssetClass.AssetBase

Eq LeaseStepUp Source # 
Instance details

Defined in AssetClass.AssetBase

Ord LeaseStepUp Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep LeaseStepUp Source # 
Instance details

Defined in AssetClass.AssetBase

data AccrualPeriod Source #

Constructors

AccrualPeriod Date DailyRate 

Instances

Instances details
TimeSeries AccrualPeriod Source # 
Instance details

Defined in AssetClass.AssetBase

Generic AccrualPeriod Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep AccrualPeriod 
Instance details

Defined in AssetClass.AssetBase

Show AccrualPeriod Source # 
Instance details

Defined in AssetClass.AssetBase

Eq AccrualPeriod Source # 
Instance details

Defined in AssetClass.AssetBase

Ord AccrualPeriod Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AccrualPeriod Source # 
Instance details

Defined in AssetClass.AssetBase

data PrepayPenaltyType Source #

Constructors

ByTerm Int Rate Rate

using penalty rate 1 if period use penalty rate 2 if period Int

FixAmount Balance (Maybe Int)

fixed penalty fee if any prepayment, or it only applies if period < Int

FixPct Rate (Maybe Int)

fixed percentage penalty fee as percentage of prepayment, or it only applies if period < Int

Sliding Rate Rate

starting with Rate1 at period 1 then decrease by step by rate2

StepDown [(Int, Rate)]

first tuple (n,r) ,first n periods use penalty rate r , then next n periods use pentaly rate in next tuple | NMonthInterest Int

Instances

Instances details
FromJSON PrepayPenaltyType Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON PrepayPenaltyType Source # 
Instance details

Defined in AssetClass.AssetBase

Generic PrepayPenaltyType Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep PrepayPenaltyType 
Instance details

Defined in AssetClass.AssetBase

type Rep PrepayPenaltyType = D1 ('MetaData "PrepayPenaltyType" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) ((C1 ('MetaCons "ByTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate))) :+: C1 ('MetaCons "FixAmount" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)))) :+: (C1 ('MetaCons "FixPct" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int))) :+: (C1 ('MetaCons "Sliding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate)) :+: C1 ('MetaCons "StepDown" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Int, Rate)])))))
Show PrepayPenaltyType Source # 
Instance details

Defined in AssetClass.AssetBase

Eq PrepayPenaltyType Source # 
Instance details

Defined in AssetClass.AssetBase

Ord PrepayPenaltyType Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema PrepayPenaltyType Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep PrepayPenaltyType Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep PrepayPenaltyType = D1 ('MetaData "PrepayPenaltyType" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) ((C1 ('MetaCons "ByTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate))) :+: C1 ('MetaCons "FixAmount" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)))) :+: (C1 ('MetaCons "FixPct" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int))) :+: (C1 ('MetaCons "Sliding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rate)) :+: C1 ('MetaCons "StepDown" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Int, Rate)])))))

data AmortPlan Source #

Constructors

Level

for mortgage / french system -> fixed payment each period which consist of increasing princial and decreasing interest.

Even

for linear mortgage -> evenly distributed principal repayment

I_P

interest only and principal due at last payment

F_P

fee based

PO_FirstN Int

0 fee for first N period

IO_FirstN Int AmortPlan

interest only for first N period

NO_FirstN Int AmortPlan

non payment during first N period

ScheduleRepayment Ts (Maybe DatePattern)

custom principal follow

Balloon Int

balloon payment with period N

Instances

Instances details
FromJSON AmortPlan Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON AmortPlan Source # 
Instance details

Defined in AssetClass.AssetBase

Generic AmortPlan Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep AmortPlan 
Instance details

Defined in AssetClass.AssetBase

type Rep AmortPlan = D1 ('MetaData "AmortPlan" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (((C1 ('MetaCons "Level" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Even" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "I_P" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "F_P" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "PO_FirstN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "IO_FirstN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortPlan))) :+: (C1 ('MetaCons "NO_FirstN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortPlan)) :+: (C1 ('MetaCons "ScheduleRepayment" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ts) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DatePattern))) :+: C1 ('MetaCons "Balloon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))))
Show AmortPlan Source # 
Instance details

Defined in AssetClass.AssetBase

Eq AmortPlan Source # 
Instance details

Defined in AssetClass.AssetBase

Ord AmortPlan Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema AmortPlan Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AmortPlan Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AmortPlan = D1 ('MetaData "AmortPlan" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (((C1 ('MetaCons "Level" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Even" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "I_P" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "F_P" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "PO_FirstN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "IO_FirstN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortPlan))) :+: (C1 ('MetaCons "NO_FirstN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmortPlan)) :+: (C1 ('MetaCons "ScheduleRepayment" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Ts) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DatePattern))) :+: C1 ('MetaCons "Balloon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))))

data Loan Source #

Instances

Instances details
Asset Loan Source # 
Instance details

Defined in AssetClass.Loan

UseRate Loan Source # 
Instance details

Defined in AssetClass.AssetBase

FromJSON Loan Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON Loan Source # 
Instance details

Defined in AssetClass.AssetBase

Generic Loan Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

from :: Loan -> Rep Loan x #

to :: Rep Loan x -> Loan #

Show Loan Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

showsPrec :: Int -> Loan -> ShowS #

show :: Loan -> String #

showList :: [Loan] -> ShowS #

Eq Loan Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

(==) :: Loan -> Loan -> Bool #

(/=) :: Loan -> Loan -> Bool #

Ord Loan Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

compare :: Loan -> Loan -> Ordering #

(<) :: Loan -> Loan -> Bool #

(<=) :: Loan -> Loan -> Bool #

(>) :: Loan -> Loan -> Bool #

(>=) :: Loan -> Loan -> Bool #

max :: Loan -> Loan -> Loan #

min :: Loan -> Loan -> Loan #

type Rep Loan Source # 
Instance details

Defined in AssetClass.AssetBase

data Mortgage Source #

Instances

Instances details
Asset Mortgage Source # 
Instance details

Defined in AssetClass.Mortgage

UseRate Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

FromJSON Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

Generic Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep Mortgage 
Instance details

Defined in AssetClass.AssetBase

type Rep Mortgage = D1 ('MetaData "Mortgage" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "Mortgage" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginalInfo) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IRate))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RemainTerms) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BorrowerNum)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Status)))) :+: (C1 ('MetaCons "AdjustRateMortgage" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginalInfo) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ARM) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IRate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RemainTerms)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BorrowerNum)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Status)))) :+: C1 ('MetaCons "ScheduleMortgageFlow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TsRow]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DatePattern)))))

Methods

from :: Mortgage -> Rep Mortgage x #

to :: Rep Mortgage x -> Mortgage #

Show Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

Eq Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

Ord Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Mortgage Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Mortgage = D1 ('MetaData "Mortgage" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "Mortgage" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginalInfo) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IRate))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RemainTerms) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BorrowerNum)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Status)))) :+: (C1 ('MetaCons "AdjustRateMortgage" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginalInfo) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ARM) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IRate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RemainTerms)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BorrowerNum)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Status)))) :+: C1 ('MetaCons "ScheduleMortgageFlow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TsRow]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DatePattern)))))

data AssetUnion Source #

Instances

Instances details
Asset AssetUnion Source # 
Instance details

Defined in AssetClass.MixedAsset

UseRate AssetUnion Source # 
Instance details

Defined in AssetClass.AssetBase

FromJSON AssetUnion Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON AssetUnion Source # 
Instance details

Defined in AssetClass.AssetBase

Generic AssetUnion Source # 
Instance details

Defined in AssetClass.AssetBase

Show AssetUnion Source # 
Instance details

Defined in AssetClass.AssetBase

Eq AssetUnion Source # 
Instance details

Defined in AssetClass.AssetBase

Ord AssetUnion Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AssetUnion Source # 
Instance details

Defined in AssetClass.AssetBase

data MixedAsset Source #

Constructors

MixedPool (Map String [AssetUnion]) 
DUMMY2 

Instances

Instances details
Generic MixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep MixedAsset 
Instance details

Defined in AssetClass.AssetBase

type Rep MixedAsset = D1 ('MetaData "MixedAsset" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "MixedPool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map String [AssetUnion]))) :+: C1 ('MetaCons "DUMMY2" 'PrefixI 'False) (U1 :: Type -> Type))
Show MixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

Eq MixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

Ord MixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep MixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep MixedAsset = D1 ('MetaData "MixedAsset" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "MixedPool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map String [AssetUnion]))) :+: C1 ('MetaCons "DUMMY2" 'PrefixI 'False) (U1 :: Type -> Type))

data FixedAsset Source #

Instances

Instances details
Asset FixedAsset Source # 
Instance details

Defined in AssetClass.FixedAsset

UseRate FixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

FromJSON FixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON FixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

Generic FixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep FixedAsset 
Instance details

Defined in AssetClass.AssetBase

Show FixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

Eq FixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

Ord FixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep FixedAsset Source # 
Instance details

Defined in AssetClass.AssetBase

data AmortRule Source #

Constructors

DecliningBalance

DecliningBalance Method

StraightLine

Straight Line Method

Instances

Instances details
FromJSON AmortRule Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON AmortRule Source # 
Instance details

Defined in AssetClass.AssetBase

Generic AmortRule Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep AmortRule 
Instance details

Defined in AssetClass.AssetBase

type Rep AmortRule = D1 ('MetaData "AmortRule" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "DecliningBalance" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StraightLine" 'PrefixI 'False) (U1 :: Type -> Type))
Show AmortRule Source # 
Instance details

Defined in AssetClass.AssetBase

Eq AmortRule Source # 
Instance details

Defined in AssetClass.AssetBase

Ord AmortRule Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema AmortRule Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AmortRule Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AmortRule = D1 ('MetaData "AmortRule" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "DecliningBalance" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StraightLine" 'PrefixI 'False) (U1 :: Type -> Type))

data Capacity Source #

Instances

Instances details
FromJSON Capacity Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON Capacity Source # 
Instance details

Defined in AssetClass.AssetBase

Generic Capacity Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep Capacity 
Instance details

Defined in AssetClass.AssetBase

type Rep Capacity = D1 ('MetaData "Capacity" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "FixedCapacity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)) :+: C1 ('MetaCons "CapacityByTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Int, Balance)])))

Methods

from :: Capacity -> Rep Capacity x #

to :: Rep Capacity x -> Capacity #

Show Capacity Source # 
Instance details

Defined in AssetClass.AssetBase

Eq Capacity Source # 
Instance details

Defined in AssetClass.AssetBase

Ord Capacity Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema Capacity Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Capacity Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Capacity = D1 ('MetaData "Capacity" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "FixedCapacity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)) :+: C1 ('MetaCons "CapacityByTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Int, Balance)])))

data AssociateExp Source #

Instances

Instances details
FromJSON AssociateExp Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON AssociateExp Source # 
Instance details

Defined in AssetClass.AssetBase

Generic AssociateExp Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep AssociateExp 
Instance details

Defined in AssetClass.AssetBase

type Rep AssociateExp = D1 ('MetaData "AssociateExp" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "ExpPerPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)) :+: C1 ('MetaCons "ExpPerUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)))
Show AssociateExp Source # 
Instance details

Defined in AssetClass.AssetBase

Eq AssociateExp Source # 
Instance details

Defined in AssetClass.AssetBase

Ord AssociateExp Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AssociateExp Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AssociateExp = D1 ('MetaData "AssociateExp" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "ExpPerPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)) :+: C1 ('MetaCons "ExpPerUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)))

data AssociateIncome Source #

Instances

Instances details
FromJSON AssociateIncome Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON AssociateIncome Source # 
Instance details

Defined in AssetClass.AssetBase

Generic AssociateIncome Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep AssociateIncome 
Instance details

Defined in AssetClass.AssetBase

type Rep AssociateIncome = D1 ('MetaData "AssociateIncome" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "IncomePerPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)) :+: C1 ('MetaCons "IncomePerUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)))
Show AssociateIncome Source # 
Instance details

Defined in AssetClass.AssetBase

Eq AssociateIncome Source # 
Instance details

Defined in AssetClass.AssetBase

Ord AssociateIncome Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AssociateIncome Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep AssociateIncome = D1 ('MetaData "AssociateIncome" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "IncomePerPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)) :+: C1 ('MetaCons "IncomePerUnit" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Balance)))

data ReceivableFeeType Source #

Constructors

FixedFee Balance

a flat fee amount

FixedRateFee Rate

a percentage fee against balance for once

FactorFee Rate Int Direction

a percentage fee against balance for each period (N days)

AdvanceFee Rate

annualized rate for discount fee based on advance amount

CompoundFee [ReceivableFeeType]

compound fee

Instances

Instances details
FromJSON ReceivableFeeType Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON ReceivableFeeType Source # 
Instance details

Defined in AssetClass.AssetBase

Generic ReceivableFeeType Source # 
Instance details

Defined in AssetClass.AssetBase

Show ReceivableFeeType Source # 
Instance details

Defined in AssetClass.AssetBase

Eq ReceivableFeeType Source # 
Instance details

Defined in AssetClass.AssetBase

Ord ReceivableFeeType Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema ReceivableFeeType Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep ReceivableFeeType Source # 
Instance details

Defined in AssetClass.AssetBase

data Receivable Source #

Instances

Instances details
Asset Receivable Source # 
Instance details

Defined in AssetClass.Receivable

UseRate Receivable Source # 
Instance details

Defined in AssetClass.AssetBase

FromJSON Receivable Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON Receivable Source # 
Instance details

Defined in AssetClass.AssetBase

Generic Receivable Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep Receivable 
Instance details

Defined in AssetClass.AssetBase

type Rep Receivable = D1 ('MetaData "Receivable" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "Invoice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginalInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Status)) :+: C1 ('MetaCons "DUMMY4" 'PrefixI 'False) (U1 :: Type -> Type))
Show Receivable Source # 
Instance details

Defined in AssetClass.AssetBase

Eq Receivable Source # 
Instance details

Defined in AssetClass.AssetBase

Ord Receivable Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Receivable Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Receivable = D1 ('MetaData "Receivable" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "Invoice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginalInfo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Status)) :+: C1 ('MetaCons "DUMMY4" 'PrefixI 'False) (U1 :: Type -> Type))

data ProjectedCashflow Source #

Instances

Instances details
Asset ProjectedCashflow Source # 
Instance details

Defined in AssetClass.ProjectedCashFlow

Methods

calcCashflow :: ProjectedCashflow -> Date -> Maybe [RateAssumption] -> Either String CashFlowFrame Source #

getCurrentBal :: ProjectedCashflow -> Balance Source #

getOriginBal :: ProjectedCashflow -> Balance Source #

getOriginRate :: ProjectedCashflow -> IRate Source #

getCurrentRate :: ProjectedCashflow -> IRate Source #

getOriginDate :: ProjectedCashflow -> Date Source #

getOriginInfo :: ProjectedCashflow -> OriginalInfo Source #

isDefaulted :: ProjectedCashflow -> Bool Source #

getPaymentDates :: ProjectedCashflow -> Int -> [Date] Source #

getRemainTerms :: ProjectedCashflow -> Int Source #

getRemainDates :: ProjectedCashflow -> [Date] Source #

getTotalTerms :: ProjectedCashflow -> Int Source #

getPastTerms :: ProjectedCashflow -> Int Source #

projCashflow :: ProjectedCashflow -> Date -> AssetPerf -> Maybe [RateAssumption] -> Either String (CashFlowFrame, Map CutoffFields Balance) Source #

getBorrowerNum :: ProjectedCashflow -> Int Source #

splitWith :: ProjectedCashflow -> [Rate] -> [ProjectedCashflow] Source #

updateOriginDate :: ProjectedCashflow -> Date -> ProjectedCashflow Source #

resetToOrig :: ProjectedCashflow -> ProjectedCashflow Source #

getLastInterestPaymentDate :: ProjectedCashflow -> Maybe Date Source #

calcAccruedInterest :: ProjectedCashflow -> Date -> Balance Source #

calcAlignDate :: ProjectedCashflow -> Date -> Date Source #

getObligor :: ProjectedCashflow -> Maybe Obligor Source #

getObligorTags :: ProjectedCashflow -> Set String Source #

getObligorId :: ProjectedCashflow -> Maybe String Source #

getObligorFields :: ProjectedCashflow -> Maybe (Map String (Either String Double)) Source #

UseRate ProjectedCashflow Source # 
Instance details

Defined in AssetClass.AssetBase

FromJSON ProjectedCashflow Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON ProjectedCashflow Source # 
Instance details

Defined in AssetClass.AssetBase

Generic ProjectedCashflow Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep ProjectedCashflow 
Instance details

Defined in AssetClass.AssetBase

Show ProjectedCashflow Source # 
Instance details

Defined in AssetClass.AssetBase

Eq ProjectedCashflow Source # 
Instance details

Defined in AssetClass.AssetBase

Ord ProjectedCashflow Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep ProjectedCashflow Source # 
Instance details

Defined in AssetClass.AssetBase

data Obligor Source #

Instances

Instances details
FromJSON Obligor Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON Obligor Source # 
Instance details

Defined in AssetClass.AssetBase

Generic Obligor Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep Obligor 
Instance details

Defined in AssetClass.AssetBase

type Rep Obligor = D1 ('MetaData "Obligor" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "Obligor" 'PrefixI 'True) (S1 ('MetaSel ('Just "obligorId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "obligorTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "obligorFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map String (Either String Double))))))

Methods

from :: Obligor -> Rep Obligor x #

to :: Rep Obligor x -> Obligor #

Show Obligor Source # 
Instance details

Defined in AssetClass.AssetBase

Eq Obligor Source # 
Instance details

Defined in AssetClass.AssetBase

Methods

(==) :: Obligor -> Obligor -> Bool #

(/=) :: Obligor -> Obligor -> Bool #

Ord Obligor Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema Obligor Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Obligor Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep Obligor = D1 ('MetaData "Obligor" "AssetClass.AssetBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "Obligor" 'PrefixI 'True) (S1 ('MetaSel ('Just "obligorId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "obligorTag") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "obligorFields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map String (Either String Double))))))

data LeaseRateCalc Source #

Instances

Instances details
FromJSON LeaseRateCalc Source # 
Instance details

Defined in AssetClass.AssetBase

ToJSON LeaseRateCalc Source # 
Instance details

Defined in AssetClass.AssetBase

Generic LeaseRateCalc Source # 
Instance details

Defined in AssetClass.AssetBase

Associated Types

type Rep LeaseRateCalc 
Instance details

Defined in AssetClass.AssetBase

Show LeaseRateCalc Source # 
Instance details

Defined in AssetClass.AssetBase

Eq LeaseRateCalc Source # 
Instance details

Defined in AssetClass.AssetBase

Ord LeaseRateCalc Source # 
Instance details

Defined in AssetClass.AssetBase

ToSchema LeaseRateCalc Source # 
Instance details

Defined in AssetClass.AssetBase

type Rep LeaseRateCalc Source # 
Instance details

Defined in AssetClass.AssetBase

calcAssetPrinInt :: AmortPlan -> Balance -> IRate -> Int -> Int -> (Balance, Int) -> (InterestAmount, PrincipalAmount) Source #

calcPmt :: Balance -> IRate -> Int -> Amount Source #

calculate period payment (Annuity/Level mortgage)

Orphan instances

ToSchema Decimal Source # 
Instance details

ToSchema TsRow Source # 
Instance details

ToSchema ARM Source # 
Instance details

ToSchema RateType Source # 
Instance details

ToSchema CutoffType Source # 
Instance details

ToSchema DatePattern Source # 
Instance details

ToSchema DayCount Source # 
Instance details

ToSchema Direction Source # 
Instance details

ToSchema Index Source # 
Instance details

ToSchema Period Source # 
Instance details

ToSchema Ts Source # 
Instance details

ToSchema (RoundingBy IRate) Source # 
Instance details

ToSchema (TsPoint Balance) Source # 
Instance details

ToSchema (TsPoint IRate) Source # 
Instance details

ToSchema (TsPoint Rational) Source # 
Instance details

ToSchema (TsPoint Bool) Source # 
Instance details

ToSchema (TsPoint Int) Source # 
Instance details

ToSchema (Ratio Integer) Source # 
Instance details