public final class Facility extends Object implements com.opengamma.strata.product.Product, Proratable<ProratedFacility>, org.joda.beans.ImmutableBean
A loan facility, or tranche, has terms defined under a credit agreement. Cash flows related to a loan facility may be one-off fees or payments that accrue over time.
The amounts defined by a loan facility are so-called global amounts which may then be prorated based on a participant's share, defined by a loan trade.
Modifier and Type | Class and Description |
---|---|
static class |
Facility.Builder
The bean-builder for
Facility . |
static class |
Facility.Meta
The meta-bean for
Facility . |
Modifier and Type | Method and Description |
---|---|
com.google.common.collect.ImmutableSet<com.opengamma.strata.basics.currency.Currency> |
allCurrencies()
TODO: collect set of currencies from accruals.
|
static Facility.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
boolean |
equals(Object obj) |
com.opengamma.strata.basics.StandardId |
getAgent()
Gets the agent identifier, optional.
|
com.opengamma.strata.basics.StandardId |
getBorrower()
Gets the borrower identifier
|
com.opengamma.strata.basics.currency.CurrencyAmount |
getCommitmentAmount(java.time.LocalDate date)
Return the global totalCommitmentSchedule amount as of a specific date
|
com.google.common.collect.ImmutableList<LoanContract> |
getContracts()
Gets the interest paying contracts of he facility.
|
com.google.common.collect.ImmutableList<FacilityEvent> |
getEvents()
Gets events (CommitmentAdjustment) associated with this loan.
|
FacilityType |
getFacilityType()
Gets the type of this facility.
|
com.google.common.collect.ImmutableList<AccruingFee> |
getFees()
Gets the accruing fees of the facility.
|
com.opengamma.strata.basics.currency.CurrencyAmount |
getFundedAmount(java.time.LocalDate date)
Return the global funded amount as of a specific date by
simply summing the global amount of each active contract on that date,
accounting for any repayments.
|
com.opengamma.strata.basics.StandardId |
getId()
Gets unique loan identifier.
|
com.google.common.collect.ImmutableList<com.opengamma.strata.basics.StandardId> |
getIdentifiers()
Gets the identifiers of this facility.
|
java.time.LocalDate |
getMaturityDate()
Gets the maturity date of this facility.
|
com.opengamma.strata.basics.currency.CurrencyAmount |
getOriginalCommitmentAmount()
Gets the total totalCommitmentSchedule amount against a facility.
|
java.time.LocalDate |
getStartDate()
Gets the start date of this facility.
|
com.opengamma.strata.collect.timeseries.LocalDateDoubleTimeSeries |
getTotalCommitmentSchedule()
Gets given or generated total commitment schedule for this loan in the loan currency.
|
com.opengamma.strata.basics.currency.CurrencyAmount |
getUndrawnLCAmount(java.time.LocalDate date)
Return the global undrawn LC amount as of a specific date
|
com.opengamma.strata.basics.currency.CurrencyAmount |
getUnfundedAmount(java.time.LocalDate date)
Return the global unfunded amount as of a specific date
|
int |
hashCode() |
static Facility.Meta |
meta()
The meta-bean for
Facility . |
Facility.Meta |
metaBean() |
ProratedFacility |
prorate(com.opengamma.strata.product.ProductTrade trade)
Prorate a 100% allocation of a security or facility into a partial allocation
based on a specific trade.
|
Facility.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
public com.opengamma.strata.basics.currency.CurrencyAmount getFundedAmount(java.time.LocalDate date)
date
- to return funded amount.public com.opengamma.strata.basics.currency.CurrencyAmount getCommitmentAmount(java.time.LocalDate date)
date
- to return totalCommitmentSchedule amount.public com.opengamma.strata.basics.currency.CurrencyAmount getUnfundedAmount(java.time.LocalDate date)
date
- to return unfunded amount.public com.opengamma.strata.basics.currency.CurrencyAmount getUndrawnLCAmount(java.time.LocalDate date)
date
- to return undrawn LC amount.public ProratedFacility prorate(com.opengamma.strata.product.ProductTrade trade)
Proratable
prorate
in interface Proratable<ProratedFacility>
trade
- buy or sell trade representing a full or partial allocationpublic com.google.common.collect.ImmutableSet<com.opengamma.strata.basics.currency.Currency> allCurrencies()
allCurrencies
in interface com.opengamma.strata.product.Product
Product.allCurrencies()
public static Facility.Meta meta()
Facility
.public static Facility.Builder builder()
public Facility.Meta metaBean()
metaBean
in interface org.joda.beans.Bean
public com.opengamma.strata.basics.StandardId getId()
A public (e.g. LXID) or internal id which uniquely identifies a loan facility.
public com.opengamma.strata.basics.StandardId getBorrower()
An identifier used to specify the borrower of the facility.
public com.opengamma.strata.basics.StandardId getAgent()
An identifier used to specify the agent of the facility.
public FacilityType getFacilityType()
public com.google.common.collect.ImmutableList<com.opengamma.strata.basics.StandardId> getIdentifiers()
public com.opengamma.strata.basics.currency.CurrencyAmount getOriginalCommitmentAmount()
public java.time.LocalDate getStartDate()
Funds may be drawn from this date.
public java.time.LocalDate getMaturityDate()
Date on which final principal and interest is repaid.
public com.google.common.collect.ImmutableList<LoanContract> getContracts()
A loan facility may have of zero or more contracts.
public com.google.common.collect.ImmutableList<AccruingFee> getFees()
A loan facility may have of zero or more accruing fees.
public com.opengamma.strata.collect.timeseries.LocalDateDoubleTimeSeries getTotalCommitmentSchedule()
public com.google.common.collect.ImmutableList<FacilityEvent> getEvents()
A loan may have of zero or more events.
public Facility.Builder toBuilder()
Copyright © 2018. All rights reserved.