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

AssetClass.ProjectedCashFlow

Documentation

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

Orphan instances

Asset ProjectedCashflow Source # 
Instance details

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 #