| 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