Package-level declarations

Types

Link copied to clipboard

Simple enum for returning accurals adjusted or unadjusted. We don't actually do anything with this yet though, so it's ignored for now.

Link copied to clipboard

Interface for state objects that support being netted with other state objects.

Link copied to clipboard
open class BusinessCalendar(val holidayDates: SortedSet<LocalDate>)

A business calendar performs date calculations that take into account national holidays and weekends. This is a typical feature of financial contracts, in which a business may not want a payment event to fall on a day when no staff are around to handle problems.

Link copied to clipboard
Link copied to clipboard
data class Commodity(val commodityCode: String, val displayName: String, val defaultFractionDigits: Int = 0) : TokenizableAssetInfo

Class representing a commodity, as an equivalent to the Currency class. This exists purely to enable the CommodityContract contract, and is likely to change in future.

Link copied to clipboard

This reflects what happens if a date on which a business event is supposed to happen actually falls upon a non-working day. Depending on the accounting requirement, we can move forward until we get to a business day, or backwards. There are some additional rules which are explained in the individual cases below.

Link copied to clipboard

This is utilised in the DateRollConvention class to determine which way we should initially step when finding a business day.

Link copied to clipboard

This forms the day part of the "Day Count Basis" used for interest calculation. Note that the first character cannot be a number (enum naming constraints), so we drop that in the toString lest some people get confused.

Link copied to clipboard

This forms the year part of the "Day Count Basis" used for interest calculation.

Link copied to clipboard

Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies implementation of general flows that manipulate many agreement types.

Link copied to clipboard
data class Expression(val expr: String)

Represents a textual expression of e.g. a formula

Link copied to clipboard
data class Fix(val of: FixOf, val value: BigDecimal) : CommandData

A Fix represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.

Link copied to clipboard

Interface adding fixing specific methods.

Link copied to clipboard
data class FixOf(val name: String, val forDay: LocalDate, val ofTenor: Tenor)

A FixOf identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)

Link copied to clipboard

Frequency at which an event occurs - the enumerator also casts to an integer specifying the number of times per year that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).

Link copied to clipboard

Interface for state objects that support being netted with other state objects.

Link copied to clipboard

A common netting command for contracts whose states can be netted.

Link copied to clipboard

Enum for the types of netting that can be applied to state objects. Exact behaviour for each type of netting is left to the contract to determine.

Link copied to clipboard

Whether the payment should be made before the due date, or after it.

Link copied to clipboard
data class Tenor(val name: String)

Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity

Properties

Link copied to clipboard

This is an ultra-trivial implementation of commercial paper, which is essentially a simpler version of a corporate bond. It can be seen as a company-specific currency. A company issues CP with a particular face value, say $100, but sells it for less, say $90. The paper can be redeemed for cash at a given date in the future. Thus this example would have a 10% interest rate with a single repayment. Commercial paper is often rolled over (the maturity date is adjusted as if the paper was redeemed and immediately repurchased, but without having to front the cash).