Safe Haskell | None |
---|---|
Language | Haskell2010 |
Deal
Synopsis
- run :: Asset a => TestDeal a -> Map PoolId PoolCashflow -> Maybe [ActionOnDate] -> Maybe [RateAssumption] -> Maybe ([Pre], [Pre]) -> Maybe (Map String (RevolvingPool, ApplyAssumptionType)) -> DList ResultComponent -> Either String (TestDeal a, DList ResultComponent, Map PoolId PoolCashflow)
- runPool :: Asset a => Pool a -> Maybe ApplyAssumptionType -> Maybe [RateAssumption] -> Either String [(CashFlowFrame, Map CutoffFields Balance)]
- getInits :: Asset a => Set ExpectReturn -> TestDeal a -> Maybe ApplyAssumptionType -> Maybe NonPerfAssumption -> Either String (TestDeal a, [ActionOnDate], Map PoolId PoolCashflow, Map PoolId PoolCashflow)
- runDeal :: Asset a => TestDeal a -> Set ExpectReturn -> Maybe ApplyAssumptionType -> NonPerfAssumption -> Either String (TestDeal a, Map PoolId CashFlowFrame, [ResultComponent], Map String PriceResult, Map PoolId PoolCashflow)
- data ExpectReturn
- performAction :: Asset a => Date -> TestDeal a -> Action -> Either String (TestDeal a)
- populateDealDates :: DateDesp -> DealStatus -> Either String (Date, Date, Date, [ActionOnDate], [ActionOnDate], Date, [ActionOnDate])
- accrueRC :: Asset a => TestDeal a -> Date -> [RateAssumption] -> RateCap -> Either String RateCap
- calcTargetAmount :: Asset a => TestDeal a -> Date -> Account -> Either String Balance
- updateLiqProvider :: Asset a => TestDeal a -> Date -> LiqFacility -> LiqFacility
- projAssetUnion :: AssetUnion -> Date -> AssetPerf -> Maybe [RateAssumption] -> Either String (CashFlowFrame, Map CutoffFields Balance)
- priceAssetUnion :: AssetUnion -> Date -> PricingMethod -> AssetPerf -> Maybe [RateAssumption] -> Either String PriceResult
- removePoolCf :: Asset a => TestDeal a -> TestDeal a
- runPoolType :: Asset a => Bool -> PoolType a -> Maybe ApplyAssumptionType -> Maybe NonPerfAssumption -> Either String (Map PoolId PoolCashflow)
- data PoolType a
- data ActionOnDate
- = EarnAccInt Date AccName
- | ChangeDealStatusTo Date DealStatus
- | AccrueFee Date FeeName
- | ResetLiqProvider Date String
- | ResetLiqProviderRate Date String
- | PoolCollection Date String
- | RunWaterfall Date String
- | DealClosed Date
- | FireTrigger Date DealCycle String
- | InspectDS Date [DealStats]
- | CalcIRSwap Date String
- | SettleIRSwap Date String
- | AccrueCapRate Date String
- | ResetBondRate Date String
- | StepUpBondRate Date String
- | ResetSrtRate Date String
- | ResetAccRate Date String
- | AccrueSrt Date String
- | MakeWhole Date Spread (Table Float Spread)
- | IssueBond Date (Maybe Pre) String AccName Bond (Maybe DealStats) (Maybe DealStats)
- | FundBond Date (Maybe Pre) String AccName Amount
- | RefiBondRate Date AccountName BondName InterestInfo
- | RefiBond Date AccountName Bond
- | BuildReport StartDate EndDate
- | StopRunFlag Date
- | StopRunTest Date [Pre]
- | HitStatedMaturity Date
- | TestCall Date
- data DateDesp
- = PreClosingDates CutoffDate ClosingDate (Maybe RevolvingDate) StatedDate (Date, PoolCollectionDates) (Date, DistributionDates)
- | CurrentDates (Date, Date) (Maybe Date) StatedDate (Date, PoolCollectionDates) (Date, DistributionDates)
- | GenericDates (Map DateType DatePattern)
- changeDealStatus :: Asset a => (Date, String) -> DealStatus -> TestDeal a -> (Maybe ResultComponent, TestDeal a)
Documentation
run :: Asset a => TestDeal a -> Map PoolId PoolCashflow -> Maybe [ActionOnDate] -> Maybe [RateAssumption] -> Maybe ([Pre], [Pre]) -> Maybe (Map String (RevolvingPool, ApplyAssumptionType)) -> DList ResultComponent -> Either String (TestDeal a, DList ResultComponent, Map PoolId PoolCashflow) Source #
runPool :: Asset a => Pool a -> Maybe ApplyAssumptionType -> Maybe [RateAssumption] -> Either String [(CashFlowFrame, Map CutoffFields Balance)] Source #
run a pool of assets ,use asOfDate of Pool to cutoff cashflow yields from assets with assumptions supplied
patch issuance balance for PreClosing Deal
getInits :: Asset a => Set ExpectReturn -> TestDeal a -> Maybe ApplyAssumptionType -> Maybe NonPerfAssumption -> Either String (TestDeal a, [ActionOnDate], Map PoolId PoolCashflow, Map PoolId PoolCashflow) Source #
UI translation : to read pool cash
runDeal :: Asset a => TestDeal a -> Set ExpectReturn -> Maybe ApplyAssumptionType -> NonPerfAssumption -> Either String (TestDeal a, Map PoolId CashFlowFrame, [ResultComponent], Map String PriceResult, Map PoolId PoolCashflow) Source #
data ExpectReturn Source #
Constructors
DealLogs | |
AssetLevelFlow |
Instances
populateDealDates :: DateDesp -> DealStatus -> Either String (Date, Date, Date, [ActionOnDate], [ActionOnDate], Date, [ActionOnDate]) Source #
accrueRC :: Asset a => TestDeal a -> Date -> [RateAssumption] -> RateCap -> Either String RateCap Source #
test if a clean up call should be fired
calcTargetAmount :: Asset a => TestDeal a -> Date -> Account -> Either String Balance Source #
calcuate target balance for a reserve account, 0 for a non-reserve account
updateLiqProvider :: Asset a => TestDeal a -> Date -> LiqFacility -> LiqFacility Source #
TODO : to be replace from L.accrueInt Not possible to use L.accrueInt, since the interest may use formula to query on deal's stats
projAssetUnion :: AssetUnion -> Date -> AssetPerf -> Maybe [RateAssumption] -> Either String (CashFlowFrame, Map CutoffFields Balance) Source #
priceAssetUnion :: AssetUnion -> Date -> PricingMethod -> AssetPerf -> Maybe [RateAssumption] -> Either String PriceResult Source #
runPoolType :: Asset a => Bool -> PoolType a -> Maybe ApplyAssumptionType -> Maybe NonPerfAssumption -> Either String (Map PoolId PoolCashflow) Source #
Instances
FromJSON a => FromJSON (PoolType a) Source # | |||||
Defined in Deal.DealBase | |||||
ToJSON a => ToJSON (PoolType a) Source # | |||||
Generic (PoolType a) Source # | |||||
Defined in Deal.DealBase Associated Types
| |||||
Show a => Show (PoolType a) Source # | |||||
Eq a => Eq (PoolType a) Source # | |||||
Ord a => Ord (PoolType a) Source # | |||||
type Rep (PoolType a) Source # | |||||
Defined in Deal.DealBase type Rep (PoolType a) = D1 ('MetaData "PoolType" "Deal.DealBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) (C1 ('MetaCons "MultiPool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PoolId (Pool a)))) :+: C1 ('MetaCons "ResecDeal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PoolId (UnderlyingDeal a))))) |
data ActionOnDate Source #
Constructors
EarnAccInt Date AccName | sweep bank account interest |
ChangeDealStatusTo Date DealStatus | change deal status |
AccrueFee Date FeeName | accure fee |
ResetLiqProvider Date String | reset credit for liquidity provider |
ResetLiqProviderRate Date String | accure interest/premium amount for liquidity provider |
PoolCollection Date String | collect pool cashflow and deposit to accounts |
RunWaterfall Date String | execute waterfall on distribution date |
DealClosed Date | actions to perform at the deal closing day, and enter a new deal status |
FireTrigger Date DealCycle String | fire a trigger |
InspectDS Date [DealStats] | inspect formulas |
CalcIRSwap Date String | calc interest rate swap dates |
SettleIRSwap Date String | settle interest rate swap dates |
AccrueCapRate Date String | reset interest rate cap dates |
ResetBondRate Date String | reset bond interest rate per bond's interest rate info |
StepUpBondRate Date String | reset bond interest rate per bond's interest rate info |
ResetSrtRate Date String | |
ResetAccRate Date String | |
AccrueSrt Date String | |
MakeWhole Date Spread (Table Float Spread) | |
IssueBond Date (Maybe Pre) String AccName Bond (Maybe DealStats) (Maybe DealStats) | |
FundBond Date (Maybe Pre) String AccName Amount | |
RefiBondRate Date AccountName BondName InterestInfo | |
RefiBond Date AccountName Bond | |
BuildReport StartDate EndDate | build cashflow report between dates and balance report at end date |
StopRunFlag Date | stop the run with a message |
StopRunTest Date [Pre] | stop the run with a condition |
HitStatedMaturity Date | hit the stated maturity date |
TestCall Date | test call dates |
Instances
TimeSeries ActionOnDate Source # | |||||
Defined in Deal.DealBase Methods cmp :: ActionOnDate -> ActionOnDate -> Ordering Source # sameDate :: ActionOnDate -> ActionOnDate -> Bool Source # getDate :: ActionOnDate -> Date Source # getDates :: [ActionOnDate] -> [Date] Source # filterByDate :: [ActionOnDate] -> Date -> [ActionOnDate] Source # sliceBy :: RangeType -> StartDate -> EndDate -> [ActionOnDate] -> [ActionOnDate] Source # cutBy :: CutoffType -> DateDirection -> Date -> [ActionOnDate] -> [ActionOnDate] Source # cmpWith :: ActionOnDate -> Date -> Ordering Source # isAfter :: ActionOnDate -> Date -> Bool Source # isOnAfter :: ActionOnDate -> Date -> Bool Source # isBefore :: ActionOnDate -> Date -> Bool Source # isOnBefore :: ActionOnDate -> Date -> Bool Source # splitBy :: Date -> CutoffType -> [ActionOnDate] -> ([ActionOnDate], [ActionOnDate]) Source # getByDate :: Date -> [ActionOnDate] -> Maybe ActionOnDate Source # | |||||
FromJSON ActionOnDate Source # | |||||
Defined in Deal.DealBase | |||||
ToJSON ActionOnDate Source # | |||||
Defined in Deal.DealBase Methods toJSON :: ActionOnDate -> Value # toEncoding :: ActionOnDate -> Encoding # toJSONList :: [ActionOnDate] -> Value # toEncodingList :: [ActionOnDate] -> Encoding # omitField :: ActionOnDate -> Bool # | |||||
Generic ActionOnDate Source # | |||||
Defined in Deal.DealBase Associated Types
| |||||
Read ActionOnDate Source # | |||||
Defined in Deal.DealBase Methods readsPrec :: Int -> ReadS ActionOnDate # readList :: ReadS [ActionOnDate] # | |||||
Show ActionOnDate Source # | |||||
Defined in Deal.DealBase Methods showsPrec :: Int -> ActionOnDate -> ShowS # show :: ActionOnDate -> String # showList :: [ActionOnDate] -> ShowS # | |||||
Eq ActionOnDate Source # | |||||
Defined in Deal.DealBase | |||||
Ord ActionOnDate Source # | |||||
Defined in Deal.DealBase Methods compare :: ActionOnDate -> ActionOnDate -> Ordering # (<) :: ActionOnDate -> ActionOnDate -> Bool # (<=) :: ActionOnDate -> ActionOnDate -> Bool # (>) :: ActionOnDate -> ActionOnDate -> Bool # (>=) :: ActionOnDate -> ActionOnDate -> Bool # max :: ActionOnDate -> ActionOnDate -> ActionOnDate # min :: ActionOnDate -> ActionOnDate -> ActionOnDate # | |||||
type Rep ActionOnDate Source # | |||||
Defined in Deal.DealBase type Rep ActionOnDate = D1 ('MetaData "ActionOnDate" "Deal.DealBase" "Hastructure-0.50.0-9tFAxbqhtE23KiGoJqUlJG" 'False) ((((C1 ('MetaCons "EarnAccInt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AccName)) :+: (C1 ('MetaCons "ChangeDealStatusTo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DealStatus)) :+: C1 ('MetaCons "AccrueFee" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FeeName)))) :+: ((C1 ('MetaCons "ResetLiqProvider" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "ResetLiqProviderRate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "PoolCollection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "RunWaterfall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) :+: ((C1 ('MetaCons "DealClosed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date)) :+: (C1 ('MetaCons "FireTrigger" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DealCycle) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons "InspectDS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DealStats])))) :+: ((C1 ('MetaCons "CalcIRSwap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "SettleIRSwap" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: (C1 ('MetaCons "AccrueCapRate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "ResetBondRate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))))) :+: (((C1 ('MetaCons "StepUpBondRate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "ResetSrtRate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "ResetAccRate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :+: ((C1 ('MetaCons "AccrueSrt" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "MakeWhole" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Spread) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Table Float Spread))))) :+: (C1 ('MetaCons "IssueBond" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Pre)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :*: ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AccName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bond)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DealStats)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DealStats))))) :+: C1 ('MetaCons "FundBond" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Pre))) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AccName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Amount))))))) :+: ((C1 ('MetaCons "RefiBondRate" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AccountName)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BondName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InterestInfo))) :+: (C1 ('MetaCons "RefiBond" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AccountName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bond))) :+: C1 ('MetaCons "BuildReport" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StartDate) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EndDate)))) :+: ((C1 ('MetaCons "StopRunFlag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date)) :+: C1 ('MetaCons "StopRunTest" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Pre]))) :+: (C1 ('MetaCons "HitStatedMaturity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date)) :+: C1 ('MetaCons "TestCall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date))))))) |
Constructors
PreClosingDates CutoffDate ClosingDate (Maybe RevolvingDate) StatedDate (Date, PoolCollectionDates) (Date, DistributionDates) | |
CurrentDates (Date, Date) (Maybe Date) StatedDate (Date, PoolCollectionDates) (Date, DistributionDates) | |
GenericDates (Map DateType DatePattern) |
Instances
changeDealStatus :: Asset a => (Date, String) -> DealStatus -> TestDeal a -> (Maybe ResultComponent, TestDeal a) Source #
no status change for deal already ended