Interface PriceSchedule

All Superinterfaces:
MeasureBase, MeasureSchedule, com.rosetta.model.lib.RosettaModelObject
All Known Subinterfaces:
Price, Price.PriceBuilder, PriceSchedule.PriceScheduleBuilder
All Known Implementing Classes:
Price.PriceBuilderImpl, Price.PriceImpl, PriceSchedule.PriceScheduleBuilderImpl, PriceSchedule.PriceScheduleImpl

@RosettaDataType(value="PriceSchedule", builder=PriceScheduleBuilderImpl.class, version="5.30.0") @RuneDataType(value="PriceSchedule", model="cdm", builder=PriceScheduleBuilderImpl.class, version="5.30.0") public interface PriceSchedule extends MeasureSchedule
Specifies the price of a financial instrument in a trade as a schedule of measures. A price generically expresses the value of an exchange as a ratio: it measures the amount of one thing needed to be exchanged for 1 unit of another thing (e.g. cash in a specific currency in exchange for a bond or share). This generic representation can be used to support any type of financial price beyond just cash price: e.g. an interest rate, a foreign exchange rate, etc. This data type is generically based on a schedule and can also be used to represent a price as a single value.
Version:
5.30.0
  • Field Details

  • Method Details

    • getPerUnitOf

      UnitType getPerUnitOf()
      Provides an attribute to define the unit of the thing being priced. For example, {amount, unitOfAmount, PerUnitOfAmount} = [10, EUR, Shares] = (10.00 EUR/SHARE) * (300,000 SHARES) = EUR 3,000,000.00 (Shares cancel out in the calculation).
    • getPriceType

      PriceTypeEnum getPriceType()
      Specifies the price type as an enumeration: interest rate, exchange rate, asset price etc. This attribute is mandatory so that prices can always be clasiffied according to their type. The price type implies some constraints on the price's units.
    • getPriceExpression

      PriceExpressionEnum getPriceExpression()
      (Optionally) Specifies whether the price is expressed in absolute or percentage terms.
    • getComposite

      PriceComposite getComposite()
      (Optionally) Specifies the underlying price components if the price can be expressed as a composite: e.g. dirty price = clean price + accrued.
    • getArithmeticOperator

      ArithmeticOperationEnum getArithmeticOperator()
      (Optionally) When the price is to be understood as an operator to apply to an observable, i.e. a spread, multiplier or min/max.
    • getCashPrice

      CashPrice getCashPrice()
      (Optionally when the price type is cash) Additional attributes that further define a cash price, e.g. what type of fee it is.
    • build

      PriceSchedule build()
      Build Methods
      Specified by:
      build in interface MeasureBase
      Specified by:
      build in interface MeasureSchedule
      Specified by:
      build in interface com.rosetta.model.lib.RosettaModelObject
    • toBuilder

      Specified by:
      toBuilder in interface MeasureBase
      Specified by:
      toBuilder in interface MeasureSchedule
      Specified by:
      toBuilder in interface com.rosetta.model.lib.RosettaModelObject
    • builder

    • metaData

      default com.rosetta.model.lib.meta.RosettaMetaData<? extends PriceSchedule> metaData()
      Utility Methods
      Specified by:
      metaData in interface MeasureBase
      Specified by:
      metaData in interface MeasureSchedule
      Specified by:
      metaData in interface com.rosetta.model.lib.RosettaModelObject
    • getType

      @RuneAttribute("@type") default Class<? extends PriceSchedule> getType()
      Specified by:
      getType in interface MeasureBase
      Specified by:
      getType in interface MeasureSchedule
      Specified by:
      getType in interface com.rosetta.model.lib.RosettaModelObject
    • process

      default void process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor)
      Specified by:
      process in interface MeasureBase
      Specified by:
      process in interface MeasureSchedule
      Specified by:
      process in interface com.rosetta.model.lib.RosettaModelObject