FpMLv53-0.1: A binding for the Financial Products Markup Language (v5.3)

Safe HaskellSafe-Infered

Data.FpML.V53.Shared

Synopsis

Documentation

newtype CorrelationValue Source

A type defining a number specified as a decimal between -1 and 1 inclusive.

newtype HourMinuteTime Source

A type defining a time specified in hh:mm:ss format where the second component must be '00', e.g. 11am would be represented as 11:00:00.

Constructors

HourMinuteTime Time 

newtype NonNegativeDecimal Source

A type defining a number specified as non negative decimal greater than 0 inclusive.

newtype PositiveDecimal Source

A type defining a number specified as positive decimal greater than 0 exclusive.

Constructors

PositiveDecimal Decimal 

newtype RestrictedPercentage Source

A type defining a percentage specified as decimal from 0 to 1. A percentage of 5% would be represented as 0.05.

newtype Scheme Source

The base class for all types which define coding schemes.

Constructors

Scheme NormalizedString 

Instances

Eq Scheme 
Show Scheme 
SchemaType Scheme 
SimpleType Scheme 
Extension TimezoneLocation Scheme 
Extension SpreadScheduleType Scheme 
Extension SettlementPriceSource Scheme 
Extension SettlementPriceDefaultElection Scheme 
Extension SettlementMethod Scheme 
Extension RoutingId Scheme 
Extension ResourceType Scheme 
Extension ResourceId Scheme 
Extension RequestedAction Scheme 
Extension PersonRole Scheme 
Extension BusinessUnitRole Scheme 
Extension ReferenceBankId Scheme 
Extension ReferenceAmount Scheme 
Extension RateSourcePage Scheme 
Extension ProductType Scheme 
Extension ProductId Scheme 
Extension PaymentType Scheme 
Extension PaymentId Scheme 
Extension PartyRoleType Scheme 
Extension PartyRole Scheme 
Extension PartyName Scheme 
Extension PartyId Scheme 
Extension OriginatingEvent Scheme 
Extension MimeType Scheme 
Extension MatrixTerm Scheme 
Extension MatrixType Scheme 
Extension MatchId Scheme 
Extension MasterConfirmationType Scheme 
Extension MasterConfirmationAnnexType Scheme 
Extension MasterAgreementVersion Scheme 
Extension MasterAgreementType Scheme 
Extension MainPublication Scheme 
Extension Language Scheme 
Extension InterpolationMethod Scheme 
Extension InstrumentId Scheme 
Extension InformationProvider Scheme 
Extension IndustryClassification Scheme 
Extension GoverningLaw Scheme 
Extension FloatingRateIndex Scheme 
Extension ExchangeId Scheme 
Extension EntityName Scheme 
Extension EntityId Scheme 
Extension DeterminationMethod Scheme 
Extension DayCountFraction Scheme 
Extension Currency Scheme 
Extension CreditRating Scheme 
Extension CreditSupportAgreementType Scheme 
Extension CreditSupportAgreementIdentifier Scheme 
Extension CreditSeniority Scheme 
Extension ContractualSupplement Scheme 
Extension ContractualDefinitions Scheme 
Extension ClearanceSystem Scheme 
Extension CashflowType Scheme 
Extension CashflowId Scheme 
Extension BusinessCenter Scheme 
Extension BrokerConfirmationType Scheme 
Extension AssetClass Scheme 
Extension AgreementVersion Scheme 
Extension AgreementType Scheme 
Extension Unit Scheme 
Extension PersonId Scheme 
Extension AccountName Scheme 
Extension AccountId Scheme 
Extension UnderlyingAssetTranche Scheme 
Extension TimeZone Scheme 
Extension ReportingCurrencyType Scheme 
Extension QuoteTiming Scheme 
Extension QuantityUnit Scheme 
Extension PriceQuoteUnits Scheme 
Extension MortgageSector Scheme 
Extension Lien Scheme 
Extension FutureId Scheme 
Extension FacilityType Scheme 
Extension CouponType Scheme 
Extension CommodityDetails Scheme 
Extension CommodityBusinessCalendar Scheme 
Extension CommodityBase Scheme 
Extension BasketName Scheme 
Extension BasketId Scheme 
Extension PricingModel Scheme 
Extension AssetMeasureType Scheme 
Extension RestructuringType Scheme 
Extension MarketDisruption Scheme 
Extension FrequencyType Scheme 
Extension MatrixSource Scheme 
Extension IndexName Scheme 
Extension IndexId Scheme 
Extension IndexAnnexSource Scheme 
Extension EntityType Scheme 
Extension AdditionalTerm Scheme 
Extension OilProductType Scheme 
Extension MarketDisruptionEvent Scheme 
Extension GasQuality Scheme 
Extension GasDeliveryPoint Scheme 
Extension ElectricityTransmissionContingencyType Scheme 
Extension ElectricityDeliveryPoint Scheme 
Extension DisruptionFallback Scheme 
Extension CommodityQuantityFrequency Scheme 
Extension CommodityProductGrade Scheme 
Extension CommodityPipelineCycle Scheme 
Extension CommodityPipeline Scheme 
Extension CommodityPayRelativeToEvent Scheme 
Extension CommodityHubCode Scheme 
Extension CommodityFxType Scheme 
Extension CommodityFrequencyType Scheme 
Extension CommodityExpireRelativeToEvent Scheme 
Extension CommodityDeliveryRisk Scheme 
Extension CommodityDeliveryPoint Scheme 
Extension CoalTransportationEquipment Scheme 
Extension CoalQualityAdjustments Scheme 
Extension CoalProductType Scheme 
Extension CoalProductSource Scheme 
Extension CoalDeliveryPoint Scheme 
Extension BullionDeliveryLocation Scheme 
Extension CutName Scheme 
Extension Validation Scheme 
Extension Trader Scheme 
Extension IssuerId Scheme 
Extension TradeId Scheme 
Extension TradeCategory Scheme 
Extension ReportingRole Scheme 
Extension QueryParameterOperator Scheme 
Extension QueryParameterId Scheme 
Extension PortfolioName Scheme 
Extension ConfirmationMethod Scheme 
Extension ExecutionType Scheme 
Extension ExecutionVenueType Scheme 
Extension SupervisoryBody Scheme 
Extension ReportingRegimeName Scheme 
Extension TimestampTypeScheme Scheme 
Extension RegulatorId Scheme 
Extension ReportingPurpose Scheme 
Extension TransactionCharacteristic Scheme 
Extension OrganizationCharacteristic Scheme 
Extension CreditDocument Scheme 
Extension CollateralizationType Scheme 
Extension ClearingStatusValue Scheme 
Extension AllocationReportingStatus Scheme 
Extension LinkId Scheme 
Extension ContractId Scheme 
Extension VerificationStatus Scheme 
Extension ServiceAdvisoryCategory Scheme 
Extension ServiceProcessingEvent Scheme 
Extension ServiceProcessingStep Scheme 
Extension ServiceProcessingCycle Scheme 
Extension ServiceStatus Scheme 
Extension BusinessProcess Scheme 
Extension ReportId Scheme 
Extension ReasonCode Scheme 
Extension ImplementationSpecificationVersion Scheme 
Extension MessageId Scheme 
Extension MessageAddress Scheme 
Extension EventStatus Scheme 
Extension TerminatingEvent Scheme 
Extension WithdrawalReason Scheme 
Extension RequestedWithdrawalAction Scheme 
Extension CompressionType Scheme 
Extension EventId Scheme 
Extension OptionType Scheme 
Extension SettlementRateOption Scheme 
Extension PricingInputType Scheme 
Extension PositionId Scheme 
Extension PerturbationType Scheme 
Extension DerivativeCalculationMethod Scheme 
Extension ValuationSetDetail Scheme 
Extension ScheduledDateType Scheme 
Extension CompoundingFrequency Scheme 
Restricts Scheme NormalizedString 

newtype Token60 Source

A type defining a token of length between 1 and 60 characters inclusive.

Constructors

Token60 Token 

data Account Source

A generic account that represents any party's account at another party. Parties may be identified by the account at another party.

Constructors

Account 

Fields

account_ID :: ID

The unique identifier for the account within the document.

account_id :: Maybe AccountId

An account identifier. For example an Account number.

account_name :: Maybe AccountName

The name by which the account is known.

account_beneficiary :: Maybe PartyReference

A reference to the party beneficiary of the account.

account_servicingParty :: Maybe PartyReference

A reference to the party that services/supports the account.

data AccountId Source

The data type used for account identifiers.

data AccountIdAttributes Source

Constructors

AccountIdAttributes 

Fields

accountIdAttrib_accountIdScheme :: Maybe AnyURI

The identifier scheme used with this accountId. A unique URI to determine the authoritative issuer of these identifiers.

data AccountName Source

The data type used for the name of the account.

data AccountNameAttributes Source

Constructors

AccountNameAttributes 

Fields

accountNameAttrib_accountNameScheme :: Maybe AnyURI

The identifier scheme used with this accountName. A unique URI to determine the source of the account name.

data Address Source

A type that represents a physical postal address.

Constructors

Address 

Fields

address_streetAddress :: Maybe StreetAddress

The set of street and building number information that identifies a postal address within a city.

address_city :: Maybe XsdString

The city component of a postal address.

address_state :: Maybe XsdString

A country subdivision used in postal addresses in some countries. For example, US states, Canadian provinces, Swiss cantons.

address_country :: Maybe CountryCode

The ISO 3166 standard code for the country within which the postal address is located.

address_postalCode :: Maybe XsdString

The code, required for computerised mail sorting systems, that is allocated to a physical address by a national postal authority.

data BusinessUnit Source

A type that represents information about a unit within an organization.

Constructors

BusinessUnit 

Fields

businessUnit_ID :: Maybe ID
 
businessUnit_name :: Maybe XsdString

A name used to describe the organization unit

businessUnit_id :: Maybe Unit

An identifier used to uniquely identify organization unit

businessUnit_contactInfo :: Maybe ContactInformation

Information on how to contact the unit using various means.

businessUnit_country :: Maybe CountryCode

The ISO 3166 standard code for the country where the individual works.

data Person Source

A type that represents information about a person connected with a trade or business process.

Constructors

Person 

Fields

person_ID :: Maybe ID
 
person_honorific :: Maybe NormalizedString

An honorific title, such as Mr., Ms., Dr. etc.

person_firstName :: Maybe NormalizedString

Given name, such as John or Mary.

person_choice2 :: Maybe (OneOf2 [NormalizedString] [Initial])

Choice between:

  1. middleName
  2. initial
person_surname :: Maybe NormalizedString

Family name, such as Smith or Jones.

person_suffix :: Maybe NormalizedString

Name suffix, such as Jr., III, etc.

person_id :: [PersonId]

An identifier assigned by a system for uniquely identifying the individual

person_businessUnitReference :: Maybe BusinessUnitReference

The unit for which the indvidual works.

person_contactInfo :: Maybe ContactInformation

Information on how to contact the individual using various means.

person_country :: Maybe CountryCode

The ISO 3166 standard code for the country where the individual works.

data PersonId Source

An identifier used to identify an individual person.

data Unit Source

A type used to record information about a unit, subdivision, desk, or other similar business entity.

Constructors

Unit Scheme UnitAttributes 

data ContactInformation Source

A type that represents how to contact an individual or organization.

Constructors

ContactInformation 

Fields

contactInfo_telephone :: [TelephoneNumber]

A telephonic contact.

contactInfo_email :: [NormalizedString]

An address on an electronic mail or messaging sysem .

contactInfo_address :: Maybe Address

A postal or street address.

data TelephoneNumber Source

A type that represents a telephonic contact.

Constructors

TelephoneNumber 

Fields

telephNumber_type :: Maybe TelephoneTypeEnum

The type of telephone number (work, personal, mobile).

telephNumber_number :: Maybe XsdString

A telephonic contact.

data AdjustableDate Source

A type for defining a date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.

Constructors

AdjustableDate 

Fields

adjustDate_ID :: Maybe ID
 
adjustDate_unadjustedDate :: IdentifiedDate

A date subject to adjustment.

adjustDate_dateAdjustments :: Maybe BusinessDayAdjustments

The business day convention and financial business centers used for adjusting the date if it would otherwise fall on a day that is not a business date in the specified business centers.

adjustDate_adjustedDate :: Maybe IdentifiedDate

The date once the adjustment has been performed. (Note that this date may change if the business center holidays change).

data AdjustableDate2 Source

A type that is different from AdjustableDate in two regards. First, date adjustments can be specified with either a dateAdjustments element or a reference to an existing dateAdjustments element. Second, it does not require the specification of date adjustments.

Constructors

AdjustableDate2 

Fields

adjustDate2_ID :: Maybe ID
 
adjustDate2_unadjustedDate :: IdentifiedDate

A date subject to adjustment.

adjustDate2_choice1 :: Maybe (OneOf2 BusinessDayAdjustments BusinessDayAdjustmentsReference)

Choice between:

  1. The business day convention and financial business centers used for adjusting the date if it would otherwise fall on a day that is not a business dat in the specified business centers.
  2. A pointer style reference to date adjustments defined elsewhere in the document.
adjustDate2_adjustedDate :: Maybe IdentifiedDate

The date once the adjustment has been performed. (Note that this date may change if the business center holidays change).

data AdjustableDates Source

A type for defining a series of dates that shall be subject to adjustment if they would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the dates.

Constructors

AdjustableDates 

Fields

adjustDates_ID :: Maybe ID
 
adjustDates_unadjustedDate :: [IdentifiedDate]

A date subject to adjustment.

adjustDates_dateAdjustments :: Maybe BusinessDayAdjustments

The business day convention and financial business centers used for adjusting the date if it would otherwise fall on a day that is not a business dat in the specified business centers.

adjustDates_adjustedDate :: [IdentifiedDate]

The date once the adjustment has been performed. (Note that this date may change if the business center holidays change).

data AdjustableDatesOrRelativeDateOffset Source

A type for defining a series of dates, either as a list of adjustable dates, or a as a repeating sequence from a base date

Constructors

AdjustableDatesOrRelativeDateOffset 

Fields

adordo_choice0 :: Maybe (OneOf2 AdjustableDates RelativeDateOffset)

Choice between:

  1. A series of adjustable dates
  2. A series of dates specified as a repeating sequence from a base date.

data AdjustableOrAdjustedDate Source

A type for defining a date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.

Constructors

AdjustableOrAdjustedDate 

Fields

adjustOrAdjustDate_ID :: Maybe ID
 
adjustOrAdjustDate_choice0 :: OneOf2 (IdentifiedDate, Maybe BusinessDayAdjustments, Maybe IdentifiedDate) IdentifiedDate

Choice between:

  1. Sequence of:
  • A date subject to adjustment.
  • The business day convention and financial business centers used for adjusting the date if it would otherwise fall on a day that is not a business date in the specified business centers.
  • The date once the adjustment has been performed. (Note that this date may change if the business center holidays change).
  1. The date once the adjustment has been performed. (Note that this date may change if the business center holidays change).

data AdjustableOrRelativeDate Source

A type giving the choice between defining a date as an explicit date together with applicable adjustments or as relative to some other (anchor) date.

Constructors

AdjustableOrRelativeDate 

Fields

adjustOrRelatDate_ID :: Maybe ID
 
adjustOrRelatDate_choice0 :: Maybe (OneOf2 AdjustableDate RelativeDateOffset)

Choice between:

  1. A date that shall be subject to adjustment if it would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.
  2. A date specified as some offset to another date (the anchor date).

data AdjustableOrRelativeDates Source

A type giving the choice between defining a series of dates as an explicit list of dates together with applicable adjustments or as relative to some other series of (anchor) dates.

Constructors

AdjustableOrRelativeDates 

Fields

adjustOrRelatDates_ID :: Maybe ID
 
adjustOrRelatDates_choice0 :: Maybe (OneOf2 AdjustableDates RelativeDates)

Choice between:

  1. A series of dates that shall be subject to adjustment if they would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.
  2. A series of dates specified as some offset to another series of dates (the anchor dates).

data AdjustableRelativeOrPeriodicDates Source

Constructors

AdjustableRelativeOrPeriodicDates 

Fields

adjustRelatOrPeriodDates_ID :: Maybe ID
 
adjustRelatOrPeriodDates_choice0 :: Maybe (OneOf3 AdjustableDates RelativeDateSequence PeriodicDates)

Choice between:

  1. A series of dates that shall be subject to adjustment if they would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.
  2. A series of dates specified as some offset to other dates (the anchor dates) which can
  3. periodicDates

data AdjustableRelativeOrPeriodicDates2 Source

A type giving the choice between defining a series of dates as an explicit list of dates together with applicable adjustments, or as relative to some other series of (anchor) dates, or as a set of factors to specify periodic occurences.

Constructors

AdjustableRelativeOrPeriodicDates2 

Fields

adjustRelatOrPeriodDates2_ID :: Maybe ID
 
adjustRelatOrPeriodDates2_choice0 :: Maybe (OneOf3 AdjustableDates RelativeDates PeriodicDates)

Choice between:

  1. A series of dates that shall be subject to adjustment if they would otherwise fall on a day that is not a business day in the specified business centers, together with the convention for adjusting the date.
  2. A series of dates specified as some offset to another series of dates (the anchor dates).
  3. periodicDates

data AdjustedRelativeDateOffset Source

A type defining a date (referred to as the derived date) as a relative offset from another date (referred to as the anchor date) plus optional date adjustments.

Constructors

AdjustedRelativeDateOffset 

Fields

adjustRelatDateOffset_ID :: Maybe ID
 
adjustRelatDateOffset_periodMultiplier :: Integer

A time period multiplier, e.g. 1, 2 or 3 etc. A negative value can be used when specifying an offset relative to another date, e.g. -2 days.

adjustRelatDateOffset_period :: PeriodEnum

A time period, e.g. a day, week, month or year of the stream. If the periodMultiplier value is 0 (zero) then period must contain the value D (day).

adjustRelatDateOffset_dayType :: Maybe DayTypeEnum

In the case of an offset specified as a number of days, this element defines whether consideration is given as to whether a day is a good business day or not. If a day type of business days is specified then non-business days are ignored when calculating the offset. The financial business centers to use for determination of business days are implied by the context in which this element is used. This element must only be included when the offset is specified as a number of days. If the offset is zero days then the dayType element should not be included.

adjustRelatDateOffset_businessDayConvention :: Maybe BusinessDayConventionEnum

The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

adjustRelatDateOffset_choice4 :: Maybe (OneOf2 BusinessCentersReference BusinessCenters)

Choice between:

  1. A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.
  2. businessCenters
adjustRelatDateOffset_dateRelativeTo :: Maybe DateReference

Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor date is defined.

adjustRelatDateOffset_adjustedDate :: Maybe IdentifiedDate

The date once the adjustment has been performed. (Note that this date may change if the business center holidays change).

adjustRelatDateOffset_relativeDateAdjustments :: Maybe BusinessDayAdjustments

The business day convention and financial business centers used for adjusting the relative date if it would otherwise fall on a day that is not a business date in the specified business centers.

data AmericanExercise Source

A type defining the exercise period for an American style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

Constructors

AmericanExercise 

Fields

americExerc_ID :: Maybe ID
 
americExerc_commencementDate :: Maybe AdjustableOrRelativeDate

The first day of the exercise period for an American style option.

americExerc_expirationDate :: Maybe AdjustableOrRelativeDate

The last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.

americExerc_relevantUnderlyingDate :: Maybe AdjustableOrRelativeDates

The date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).

americExerc_earliestExerciseTime :: Maybe BusinessCenterTime

The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date , in the case of an American option.

americExerc_latestExerciseTime :: Maybe BusinessCenterTime

For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.

americExerc_expirationTime :: Maybe BusinessCenterTime

The latest time for exercise on expirationDate.

americExerc_multipleExercise :: Maybe MultipleExercise

As defined in the 2000 ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of the option has the right to exercise all or less than all the unexercised notional amount of the underlying swap on one or more days in the exercise period, but on any such day may not exercise less than the minimum notional amount or more that the maximum notional amount, and if an integral multiple amount is specified, the notional amount exercised must be equal to, or be an intergral multiple of, the integral multiple amount.

americExerc_exerciseFeeSchedule :: Maybe ExerciseFeeSchedule

The fees associated with an exercise date. The fees are conditional on the exercise occuring. The fees can be specified as actual currency amounts or as percentages of the notional amount being exercised.

data AmountSchedule Source

A type defining a currency amount or a currency amount schedule.

Constructors

AmountSchedule 

Fields

amountSched_ID :: Maybe ID
 
amountSched_initialValue :: Decimal

The initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

amountSched_step :: [Step]

The schedule of step date and value pairs. On each step date the associated step value becomes effective A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

amountSched_currency :: Maybe Currency

The currency in which an amount is denominated.

data AutomaticExercise Source

A type to define automatic exercise of a swaption. With automatic exercise the option is deemed to have exercised if it is in the money by more than the threshold amount on the exercise date.

Constructors

AutomaticExercise 

Fields

automExerc_thresholdRate :: Maybe Decimal

A threshold rate. The threshold of 0.10% would be represented as 0.001

data AverageDailyTradingVolumeLimit Source

To indicate the limitation percentage and limitation period.

Constructors

AverageDailyTradingVolumeLimit 

Fields

averageDailyTradingVolumeLimit_limitationPercentage :: Maybe RestrictedPercentage

Specifies the limitation percentage in Average Daily trading volume.

averageDailyTradingVolumeLimit_limitationPeriod :: Maybe NonNegativeInteger

Specifies the limitation period for Average Daily trading volume in number of days.

data Beneficiary Source

A type defining the beneficiary of the funds.

Constructors

Beneficiary 

Fields

beneficiary_choice0 :: Maybe (OneOf3 RoutingIds RoutingExplicitDetails RoutingIdsAndExplicitDetails)

Choice between:

  1. A set of unique identifiers for a party, eachone identifying the party within a payment system. The assumption is that each party will not have more than one identifier within the same payment system.
  2. A set of details that is used to identify a party involved in the routing of a payment when the party does not have a code that identifies it within one of the recognized payment systems.
  3. A combination of coded payment system identifiers and details for physical addressing for a party involved in the routing of a payment.
beneficiary_partyReference :: Maybe PartyReference

Link to the party acting as beneficiary. This element can only appear within the beneficiary container element.

data BermudaExercise Source

A type defining the Bermuda option exercise dates and the expiration date together with any rules govenerning the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fee.

Constructors

BermudaExercise 

Fields

bermudaExerc_ID :: Maybe ID
 
bermudaExercise_dates :: Maybe AdjustableOrRelativeDates

The dates the define the Bermuda option exercise dates and the expiration date. The last specified date is assumed to be the expiration date. The dates can either be specified as a series of explicit dates and associated adjustments or as a series of dates defined relative to another schedule of dates, for example, the calculation period start dates. Where a relative series of dates are defined the first and last possible exercise dates can be separately specified.

bermudaExerc_relevantUnderlyingDate :: Maybe AdjustableOrRelativeDates

The date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).

bermudaExerc_earliestExerciseTime :: Maybe BusinessCenterTime

The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date , in the case of an American option.

bermudaExerc_latestExerciseTime :: Maybe BusinessCenterTime

For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.

bermudaExerc_expirationTime :: Maybe BusinessCenterTime

The latest time for exercise on expirationDate.

bermudaExerc_multipleExercise :: Maybe MultipleExercise

As defined in the 2000 ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of the option has the right to exercise all or less than all the unexercised notional amount of the underlying swap on one or more days in the exercise period, but on any such day may not exercise less than the minimum notional amount or more that the maximum notional amount, and if an integral multiple amount is specified, the notional amount exercised must be equal to, or be an intergral multiple of, the integral multiple amount.

bermudaExerc_exerciseFeeSchedule :: Maybe ExerciseFeeSchedule

The fees associated with an exercise date. The fees are conditional on the exercise occuring. The fees can be specified as actual currency amounts or as percentages of the notional amount being exercised.

data BrokerConfirmation Source

Identifies the market sector in which the trade has been arranged.

Constructors

BrokerConfirmation 

Fields

brokerConfirmation_type :: Maybe BrokerConfirmationType

The type of broker confirmation executed between the parties.

data BusinessCenter Source

A code identifying a business day calendar location. A business day calendar location is drawn from the list identified by the business day calendar location scheme.

data BusinessCenters Source

A type for defining business day calendar used in determining whether a day is a business day or not. A list of business day calendar locations may be ordered in the document alphabetically based on business day calendar location code. An FpML document containing an unordered business day calendar location list is still regarded as a conformant document.

data BusinessCentersReference Source

A pointer style reference to a set of business day calendar defined elsewhere in the document.

data BusinessCenterTime Source

A type for defining a time with respect to a business day calendar location. For example, 11:00am London time.

Constructors

BusinessCenterTime 

Fields

busCenterTime_hourMinuteTime :: Maybe HourMinuteTime

A time specified in hh:mm:ss format where the second component must be '00', e.g. 11am would be represented as 11:00:00.

busCenterTime_businessCenter :: Maybe BusinessCenter
 

data BusinessDateRange Source

A type defining a range of contiguous business days by defining an unadjusted first date, an unadjusted last date and a business day convention and business centers for adjusting the first and last dates if they would otherwise fall on a non business day in the specified business centers. The days between the first and last date must also be good business days in the specified centers to be counted in the range.

Constructors

BusinessDateRange 

Fields

busDateRange_unadjustedFirstDate :: Maybe Date

The first date of a date range.

busDateRange_unadjustedLastDate :: Maybe Date

The last date of a date range.

busDateRange_businessDayConvention :: Maybe BusinessDayConventionEnum

The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

busDateRange_choice3 :: Maybe (OneOf2 BusinessCentersReference BusinessCenters)

Choice between:

  1. A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.
  2. businessCenters

data BusinessDayAdjustments Source

A type defining the business day convention and financial business centers used for adjusting any relevant date if it would otherwise fall on a day that is not a business day in the specified business centers.

Constructors

BusinessDayAdjustments 

Fields

busDayAdjust_ID :: Maybe ID
 
busDayAdjust_businessDayConvention :: Maybe BusinessDayConventionEnum

The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

busDayAdjust_choice1 :: Maybe (OneOf2 BusinessCentersReference BusinessCenters)

Choice between:

  1. A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.
  2. businessCenters

data CalculationAgent Source

A type defining the ISDA calculation agent responsible for performing duties as defined in the applicable product definitions.

Constructors

CalculationAgent 

Fields

calcAgent_choice0 :: Maybe (OneOf2 [PartyReference] CalculationAgentPartyEnum)

Choice between:

  1. A pointer style reference to a party identifier defined elsewhere in the document. The party referenced is the ISDA Calculation Agent for the trade. If more than one party is referenced then the parties are assumed to be co-calculation agents, i.e. they have joint responsibility.
  2. The ISDA calculation agent responsible for performing duties as defined in the applicable product definitions. For example, the Calculation Agent may be defined as being the Non-exercising Party.

data CalculationPeriodFrequency Source

A type defining the frequency at which calculation period end dates occur within the regular part of the calculation period schedule and thier roll date convention. In case the calculation frequency is of value T (term), the period is defined by the swapswapStreamcalculationPerioDateseffectiveDate and the swapswapStreamcalculationPerioDatesterminationDate.

Constructors

CalculationPeriodFrequency 

Fields

calcPeriodFrequ_ID :: Maybe ID
 
calcPeriodFrequ_periodMultiplier :: Maybe PositiveInteger

A time period multiplier, e.g. 1, 2 or 3 etc. If the period value is T (Term) then periodMultiplier must contain the value 1.

calcPeriodFrequ_period :: Maybe PeriodExtendedEnum

A time period, e.g. a day, week, month, year or term of the stream.

calcPeriodFrequ_rollConvention :: Maybe RollConventionEnum

Used in conjunction with a frequency and the regular period start date of a calculation period, determines each calculation period end date within the regular part of a calculation period schedule.

data CashflowId Source

An identifier used to identify a single component cashflow.

data CashflowNotional Source

The notionalprincipal valuequantity/volume used to compute the cashflow.

Constructors

CashflowNotional 

Fields

cashflNotion_ID :: Maybe ID
 
cashflNotion_choice0 :: Maybe (OneOf2 Currency NormalizedString)

Choice between:

  1. The currency in which an amount is denominated.
  2. The units in which an amount (not monetary) is denominated.
cashflNotion_amount :: Decimal

The quantity of notional (in currency or other units).

data CashflowType Source

A coding scheme used to describe the type or purpose of a cash flow or cash flow component.

data CashSettlementReferenceBanks Source

A type defining the list of reference institutions polled for relevant rates or prices when determining the cash settlement amount for a product where cash settlement is applicable.

Constructors

CashSettlementReferenceBanks 

Fields

cashSettlRefBanks_ID :: Maybe ID
 
cashSettlRefBanks_referenceBank :: [ReferenceBank]

An institution (party) identified by means of a coding scheme and an optional name.

data ClearanceSystem Source

Unless otherwise specified, the principal clearance system customarily used for settling trades in the relevant underlying.

data ContractualMatrix Source

Constructors

ContractualMatrix 

Fields

contrMatrix_matrixType :: Maybe MatrixType

Identifies the form of applicable matrix.

contrMatrix_publicationDate :: Maybe Date

Specifies the publication date of the applicable version of the matrix. When this element is omitted, the ISDA supplemental language for incorporation of the relevant matrix will generally define rules for which version of the matrix is applicable.

contrMatrix_matrixTerm :: Maybe MatrixTerm

Defines any applicable key into the relevant matrix. For example, the Transaction Type would be the single term required for the Credit Derivatives Physical Settlement Matrix. This element should be omitted in the case of the 2000 ISDA Definitions Settlement Matrix for Early Termination and Swaptions.

data ContractualTermsSupplement Source

A contractual supplement (such as those published by ISDA) and its publication date that will apply to the trade.

Constructors

ContractualTermsSupplement 

Fields

contrTermsSuppl_type :: Maybe ContractualSupplement

Identifies the form of applicable contractual supplement.

contrTermsSuppl_publicationDate :: Maybe Date

Specifies the publication date of the applicable version of the contractual supplement.

data CorrespondentInformation Source

A type that describes the information to identify a correspondent bank that will make delivery of the funds on the paying bank's behalf in the country where the payment is to be made.

Constructors

CorrespondentInformation 

Fields

corresInfo_choice0 :: Maybe (OneOf3 RoutingIds RoutingExplicitDetails RoutingIdsAndExplicitDetails)

Choice between:

  1. A set of unique identifiers for a party, eachone identifying the party within a payment system. The assumption is that each party will not have more than one identifier within the same payment system.
  2. A set of details that is used to identify a party involved in the routing of a payment when the party does not have a code that identifies it within one of the recognized payment systems.
  3. A combination of coded payment system identifiers and details for physical addressing for a party involved in the routing of a payment.
corresInfo_correspondentPartyReference :: Maybe PartyReference

Link to the party acting as correspondent. This element can only appear within the correspondentInformation container element.

data CountryCode Source

The code representation of a country or an area of special sovereignty. By default it is a valid 2 character country code as defined by the ISO standard 3166-1 alpha-2 - Codes for representation of countries http:www.niso.orgstandardsresources/3166.html.

data CreditSeniorityAttributes Source

Constructors

CreditSeniorityAttributes 

Fields

creditSeniorAttrib_creditSeniorityScheme :: Maybe AnyURI

creditSeniorityTradingScheme overrides creditSeniorityScheme when the underlyer defines the reference obligation used in a single name credit default swap trade.

data CreditSupportAgreement Source

The agreement executed between the parties and intended to govern collateral arrangement for all OTC derivatives transactions between those parties.

Constructors

CreditSupportAgreement 

Fields

creditSupportAgreem_type :: Maybe CreditSupportAgreementType

The type of ISDA Credit Support Agreement

creditSupportAgreem_date :: Maybe Date

The date of the agreement executed between the parties and intended to govern collateral arrangements for all OTC derivatives transactions between those parties.

creditSupportAgreem_identifier :: Maybe CreditSupportAgreementIdentifier

An identifier used to uniquely identify the CSA

data Currency Source

The code representation of a currency or fund. By default it is a valid currency code as defined by the ISO standard 4217 - Codes for representation of currencies and funds http:www.iso.orgisoenprods-servicespopstds/currencycodeslist.html.

data DateList Source

List of Dates

Constructors

DateList 

Fields

dateList_date :: [Date]
 

data DateOffset Source

A type defining an offset used in calculating a date when this date is defined in reference to another date through a date offset. The type includes the convention for adjusting the date and an optional sequence element to indicate the order in a sequence of multiple date offsets.

Constructors

DateOffset 

Fields

dateOffset_ID :: Maybe ID
 
dateOffset_periodMultiplier :: Integer

A time period multiplier, e.g. 1, 2 or 3 etc. A negative value can be used when specifying an offset relative to another date, e.g. -2 days.

dateOffset_period :: PeriodEnum

A time period, e.g. a day, week, month or year of the stream. If the periodMultiplier value is 0 (zero) then period must contain the value D (day).

dateOffset_dayType :: Maybe DayTypeEnum

In the case of an offset specified as a number of days, this element defines whether consideration is given as to whether a day is a good business day or not. If a day type of business days is specified then non-business days are ignored when calculating the offset. The financial business centers to use for determination of business days are implied by the context in which this element is used. This element must only be included when the offset is specified as a number of days. If the offset is zero days then the dayType element should not be included.

dateOffset_businessDayConvention :: Maybe BusinessDayConventionEnum

The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

data DateRange Source

A type defining a contiguous series of calendar dates. The date range is defined as all the dates between and including the first and the last date. The first date must fall before the last date.

Constructors

DateRange 

Fields

dateRange_unadjustedFirstDate :: Maybe Date

The first date of a date range.

dateRange_unadjustedLastDate :: Maybe Date

The last date of a date range.

data DateReference Source

Reference to an identified date or a complex date structure.

Constructors

DateReference 

Fields

dateRef_href :: IDREF
 

data DayCountFraction Source

The specification for how the number of days between two dates is calculated for purposes of calculation of a fixed or floating payment amount and the basis for how many days are assumed to be in a year. Day Count Fraction is an ISDA term. The equivalent AFB (Association Francaise de Banques) term is Calculation Basis.

data DeterminationMethod Source

Coding scheme that specifies the method according to which an amount or a date is determined.

data Documentation Source

An entity for defining the definitions that govern the document and should include the year and type of definitions referenced, along with any relevant documentation (such as master agreement) and the date it was signed.

Constructors

Documentation 

Fields

docum_masterAgreement :: Maybe MasterAgreement

The agreement executed between the parties and intended to govern all OTC derivatives transactions between those parties.

docum_choice1 :: Maybe (OneOf2 MasterConfirmation BrokerConfirmation)

Choice between:

  1. The agreement executed between the parties and intended to govern all OTC derivatives transactions between those parties.
  2. Specifies the deails for a broker confirm.
docum_contractualDefinitions :: [ContractualDefinitions]

The definitions such as those published by ISDA that will define the terms of the trade.

docum_contractualTermsSupplement :: [ContractualTermsSupplement]

A contractual supplement (such as those published by ISDA) that will apply to the trade.

docum_contractualMatrix :: [ContractualMatrix]

A reference to a contractual matrix of elected terms/values (such as those published by ISDA) that shall be deemed to apply to the trade. The applicable matrix is identified by reference to a name and optionally a publication date. Depending on the structure of the matrix, an additional term (specified in the matrixTerm element) may be required to further identify a subset of applicable terms/values within the matrix.

docum_creditSupportAgreement :: Maybe CreditSupportAgreement

The agreement executed between the parties and intended to govern collateral arrangement for all OTC derivatives transactions between those parties.

docum_attachment :: [Resource]

A human readable document related to this transaction, for example a confirmation.

data ExternalDocument Source

A for holding information about documents external to the FpML.

Constructors

ExternalDocument 

Fields

externDocum_mimeType :: Maybe MimeType

Indicates the type of media used to store the content. mimeType is used to determine the software product(s) that can read the content. MIME Types are described in RFC 2046.

externDocum_choice1 :: Maybe (OneOf5 XsdString HexBinary Base64Binary AnyURI HTTPAttachmentReference)

Choice between:

  1. Provides extra information as string. In case the extra information is in XML format, a CDATA section must be placed around the source message to prevent its interpretation as XML content.
  2. Provides extra information as binary contents coded in hexadecimal.
  3. Provides extra information as binary contents coded in base64.
  4. Provides extra information as URL that references the information on a web server accessible to the message recipient.
  5. Provides a place to put a reference to an attachment on an HTTP message, such as is used by SOAP with Attachments and ebXML.

data HTTPAttachmentReference Source

A special type that allows references to HTTP attachments identified with an HTTP Content-ID header, as is done with SOAP with Attachments (http:www.w3.orgTRSOAP-attachments). Unlike with a normal FpML href, the type is not IDREF, as the target is not identified by an XML id attribute.

data Empty Source

A special type meant to be used for elements with no content and no attributes.

Constructors

Empty 

data EntityId Source

A legal entity identifier (e.g. RED entity code).

data EntityName Source

The name of the reference entity. A free format string. FpML does not define usage rules for this element.

data EuropeanExercise Source

A type defining the exercise period for a European style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

Constructors

EuropeanExercise 

Fields

europExerc_ID :: Maybe ID
 
europExerc_expirationDate :: AdjustableOrRelativeDate

The last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.

europExerc_relevantUnderlyingDate :: Maybe AdjustableOrRelativeDates

The date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).

europExerc_earliestExerciseTime :: Maybe BusinessCenterTime

The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date , in the case of an American option.

europExerc_expirationTime :: Maybe BusinessCenterTime

The latest time for exercise on expirationDate.

europExerc_partialExercise :: Maybe PartialExercise

As defined in the 2000 ISDA Definitions, Section 12.3. Partial Exercise, the buyer of the option has the right to exercise all or less than all the notional amount of the underlying swap on the expiration date, but may not exercise less than the minimum notional amount, and if an integral multiple amount is specified, the notional amount exercised must be equal to, or be an integral multiple of, the integral multiple amount.

europExerc_exerciseFee :: Maybe ExerciseFee

A fee to be paid on exercise. This could be represented as an amount or a rate and notional reference on which to apply the rate.

data ExchangeId Source

A short form unique identifier for an exchange. If the element is not present then the exchange shall be the primary exchange on which the underlying is listed. The term Exchange is assumed to have the meaning as defined in the ISDA 2002 Equity Derivatives Definitions.

data ExerciseFee Source

A type defining the fee payable on exercise of an option. This fee may be defined as an amount or a percentage of the notional exercised.

Constructors

ExerciseFee 

Fields

exerciseFee_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

exerciseFee_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

exerciseFee_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

exerciseFee_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

exerciseFee_notionalReference :: Maybe NotionalReference

A pointer style reference to the associated notional schedule defined elsewhere in the document.

exerciseFee_choice5 :: Maybe (OneOf2 Decimal Decimal)

Choice between:

  1. The amount of fee to be paid on exercise. The fee currency is that of the referenced notional.
  2. A fee represented as a percentage of some referenced notional. A percentage of 5% would be represented as 0.05.
exerciseFee_feePaymentDate :: Maybe RelativeDateOffset

The date on which exercise fee(s) will be paid. It is specified as a relative date.

data ExerciseFeeSchedule Source

A type to define a fee or schedule of fees to be payable on the exercise of an option. This fee may be defined as an amount or a percentage of the notional exercised.

Constructors

ExerciseFeeSchedule 

Fields

exercFeeSched_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

exercFeeSched_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

exercFeeSched_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

exercFeeSched_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

exercFeeSched_notionalReference :: Maybe ScheduleReference

A pointer style reference to the associated notional schedule defined elsewhere in the document.

exercFeeSched_choice5 :: Maybe (OneOf2 AmountSchedule Schedule)

Choice between:

  1. The exercise fee amount schedule. The fees are expressed as currency amounts. The currency of the fee is assumed to be that of the notional schedule referenced.
  2. The exercise free rate schedule. The fees are expressed as percentage rates of the notional being exercised. The currency of the fee is assumed to be that of the notional schedule referenced.
exercFeeSched_feePaymentDate :: Maybe RelativeDateOffset

The date on which exercise fee(s) will be paid. It is specified as a relative date.

data ExerciseNotice Source

A type defining to whom and where notice of execution should be given. The partyReference refers to one of the principal parties of the trade. If present the exerciseNoticePartyReference refers to a party, other than the principal party, to whome notice should be given.

Constructors

ExerciseNotice 

Fields

exercNotice_partyReference :: Maybe PartyReference

The party referenced has allocated the trade identifier.

exerciseNotice_partyReference :: Maybe PartyReference

The party referenced is the party to which notice of exercise should be given by the buyer.

exercNotice_businessCenter :: Maybe BusinessCenter
 

data ExerciseProcedure Source

A type describing how notice of exercise should be given. This can be either manual or automatic.

Constructors

ExerciseProcedure 

Fields

exercProced_choice0 :: Maybe (OneOf2 ManualExercise AutomaticExercise)

Choice between:

  1. Specifies that the notice of exercise must be given by the buyer to the seller or seller's agent.
  2. If automatic is specified then the notional amount of the underlying swap, not previously exercised under the swaption will be automatically exercised at the expriration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than the specified threshold rate. The term in-the-money is assumed to have the meaning defining in the 2000 ISDA Definitions, Section 17.4 In-the-money.
exercProced_followUpConfirmation :: Maybe Boolean

A flag to indicate whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.

exercProced_limitedRightToConfirm :: Maybe Boolean

Has the meaning defined as part of the 1997 ISDA Government Bond Option Definitions, section 4.5 Limited Right to Confirm Exercise. If present, (i) the Seller may request the Buyer to confirm its intent if not done on or before the expiration time on the Expiration date (ii) specific rules will apply in relation to the settlement mode.

exercProced_splitTicket :: Maybe Boolean

Typically applicable to the physical settlement of bond and convertible bond options. If present, means that the Party required to deliver the bonds will divide those to be delivered as notifying party desires to facilitate delivery obligations.

data ExerciseProcedureOption Source

A type describing how notice of exercise should be given. This can be either manual or automatic.

Constructors

ExerciseProcedureOption 

Fields

exercProcedOption_choice0 :: OneOf2 Empty Empty

Choice between:

  1. Specifies that the notice of exercise must be given by the buyer to the seller or seller's agent.
  2. If automatic is specified then the notional amount of the underlying swap, not previously exercised under the swaption will be automatically exercised at the expriration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than the specified threshold rate. The term in-the-money is assumed to have the meaning defining in the 2000 ISDA Definitions, Section 17.4 In-the-money.

data FloatingRate Source

A type defining a floating rate.

Constructors

FloatingRate 

Fields

floatingRate_ID :: Maybe ID
 
floatingRate_index :: FloatingRateIndex
 
floatingRate_indexTenor :: Maybe Period

The ISDA Designated Maturity, i.e. the tenor of the floating rate.

floatingRate_multiplierSchedule :: Maybe Schedule

A rate multiplier or multiplier schedule to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be a positive or negative decimal. This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.

floatingRate_spreadSchedule :: [SpreadSchedule]

The ISDA Spread or a Spread schedule expressed as explicit spreads and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The spread is a per annum rate, expressed as a decimal. For purposes of determining a calculation period amount, if positive the spread will be added to the floating rate and if negative the spread will be subtracted from the floating rate. A positive 10 basis point (0.1%) spread would be represented as 0.001.

floatingRate_rateTreatment :: Maybe RateTreatmentEnum

The specification of any rate conversion which needs to be applied to the observed rate before being used in any calculations. The two common conversions are for securities quoted on a bank discount basis which will need to be converted to either a Money Market Yield or Bond Equivalent Yield. See the Annex to the 2000 ISDA Definitions, Section 7.3. Certain General Definitions Relating to Floating Rate Options, paragraphs (g) and (h) for definitions of these terms.

floatingRate_capRateSchedule :: [StrikeSchedule]

The cap rate or cap rate schedule, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. A cap rate schedule is expressed as explicit cap rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.

floatingRate_floorRateSchedule :: [StrikeSchedule]

The floor rate or floor rate schedule, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. A floor rate schedule is expressed as explicit floor rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.

data FloatingRateCalculation Source

A type defining the floating rate and definitions relating to the calculation of floating rate amounts.

Constructors

FloatingRateCalculation 

Fields

floatRateCalc_ID :: Maybe ID
 
floatRateCalc_floatingRateIndex :: FloatingRateIndex
 
floatRateCalc_indexTenor :: Maybe Period

The ISDA Designated Maturity, i.e. the tenor of the floating rate.

floatRateCalc_floatingRateMultiplierSchedule :: Maybe Schedule

A rate multiplier or multiplier schedule to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be a positive or negative decimal. This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.

floatRateCalc_spreadSchedule :: [SpreadSchedule]

The ISDA Spread or a Spread schedule expressed as explicit spreads and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The spread is a per annum rate, expressed as a decimal. For purposes of determining a calculation period amount, if positive the spread will be added to the floating rate and if negative the spread will be subtracted from the floating rate. A positive 10 basis point (0.1%) spread would be represented as 0.001.

floatRateCalc_rateTreatment :: Maybe RateTreatmentEnum

The specification of any rate conversion which needs to be applied to the observed rate before being used in any calculations. The two common conversions are for securities quoted on a bank discount basis which will need to be converted to either a Money Market Yield or Bond Equivalent Yield. See the Annex to the 2000 ISDA Definitions, Section 7.3. Certain General Definitions Relating to Floating Rate Options, paragraphs (g) and (h) for definitions of these terms.

floatRateCalc_capRateSchedule :: [StrikeSchedule]

The cap rate or cap rate schedule, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. A cap rate schedule is expressed as explicit cap rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.

floatRateCalc_floorRateSchedule :: [StrikeSchedule]

The floor rate or floor rate schedule, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. A floor rate schedule is expressed as explicit floor rates and dates and the step dates may be subject to adjustment in accordance with any adjustments specified in calculationPeriodDatesAdjustments. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.

floatRateCalc_initialRate :: Maybe Decimal

The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. An initial rate of 5% would be represented as 0.05.

floatRateCalc_finalRateRounding :: Maybe Rounding

The rounding convention to apply to the final rate used in determination of a calculation period amount.

floatRateCalc_averagingMethod :: Maybe AveragingMethodEnum

If averaging is applicable, this component specifies whether a weighted or unweighted average method of calculation is to be used. The component must only be included when averaging applies.

floatRateCalc_negativeInterestRateTreatment :: Maybe NegativeInterestRateTreatmentEnum

The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).

data ForecastRateIndex Source

A type defining a rate index.

Constructors

ForecastRateIndex 

Fields

forecRateIndex_floatingRateIndex :: Maybe FloatingRateIndex

The ISDA Floating Rate Option, i.e. the floating rate index.

forecRateIndex_indexTenor :: Maybe Period

The ISDA Designated Maturity, i.e. the tenor of the floating rate.

data Formula Source

A type describing a financial formula, with its description and components.

Constructors

Formula 

Fields

formula_description :: Maybe XsdString

Text description of the formula

formula_math :: Maybe Math

An element for containing an XML representation of the formula. Defined using xsd:any currently for flexibility in choice of language (MathML, OpenMath)

formula_component :: [FormulaComponent]

Elements describing the components of the formula. The name attribute points to a value used in the math element. The href attribute points to a value elsewhere in the document

data FormulaComponent Source

Elements describing the components of the formula. The name attribute points to a value used in the math element. The href attribute points to a numeric value defined elsewhere in the document that is used by the formula component.

Constructors

FormulaComponent 

Fields

formulaCompon_name :: Maybe NormalizedString
 
formulaCompon_componentDescription :: Maybe XsdString

Text description of the component

formulaCompon_formula :: Maybe Formula

Additional formulas required to describe this component

data Frequency Source

A type defining a time frequency, e.g. one day, three months. Used for specifying payment or calculation frequencies at which the value T (Term) is applicable.

Constructors

Frequency 

Fields

frequency_ID :: Maybe ID
 
frequency_periodMultiplier :: Maybe PositiveInteger

A time period multiplier, e.g. 1, 2 or 3 etc. If the period value is T (Term) then periodMultiplier must contain the value 1.

frequency_period :: Maybe PeriodExtendedEnum

A time period, e.g. a day, week, month, year or term of the stream.

data FutureValueAmount Source

A type defining a currency amount as at a future value date.

Constructors

FutureValueAmount 

Fields

futureValueAmount_ID :: Maybe ID
 
futureValueAmount_currency :: Currency

The currency in which an amount is denominated.

futureValueAmount_amount :: NonNegativeDecimal

The non negative monetary quantity in currency units.

futureValueAmount_calculationPeriodNumberOfDays :: Maybe PositiveInteger

The number of days from the adjusted calculation period start date to the adjusted value date, calculated in accordance with the applicable day count fraction.

futureValueAmount_valueDate :: Maybe Date

Adjusted value date of the future value amount.

data FxFixing Source

A type that specifies the source for and timing of a fixing of an exchange rate. This is used in the agreement of non-deliverable forward trades as well as various types of FX OTC options that require observations against a particular rate.

Constructors

FxFixing 

Fields

fxFixing_quotedCurrencyPair :: Maybe QuotedCurrencyPair

Defines the two currencies for an FX trade and the quotation relationship between the two currencies.

fxFixing_fixingDate :: Maybe Date

Describes the specific date when a non-deliverable forward or cash-settled option will fix against a particular rate, which will be used to compute the ultimate cash settlement. This element should be omitted where a single, discrete fixing date cannot be identified e.g. on an american option, where fixing may occur at any date on a continuous range.

fxFixing_fxSpotRateSource :: Maybe FxSpotRateSource

Specifies the methodology (reference source and, optionally, fixing time) to be used for determining a currency conversion rate.

data FxCashSettlement Source

A type that is used for describing cash settlement of an option / non deliverable forward. It includes the currency to settle into together with the fixings required to calculate the currency amount.

Constructors

FxCashSettlement 

Fields

fxCashSettl_settlementCurrency :: Maybe Currency

The currency in which cash settlement occurs for non-deliverable forwards and cash-settled options (non-deliverable or otherwise).

fxCashSettl_fixing :: [FxFixing]

Specifies the source for and timing of a fixing of an exchange rate. This is used in the agreement of non-deliverable forward trades as well as various types of FX OTC options that require observations against a particular rate. This element is optional, permitting it to be omitted where fixing details are unavailable at the point of message creation. It has multiple occurrence to support the case where fixing details must be specified for more than one currency pair e.g. on an option settled into a third currency (that is not one of the option currencies).

data FxRate Source

A type describing the rate of a currency conversion: pair of currency, quotation mode and exchange rate.

Constructors

FxRate 

Fields

fxRate_quotedCurrencyPair :: Maybe QuotedCurrencyPair

Defines the two currencies for an FX trade and the quotation relationship between the two currencies.

fxRate_rate :: Maybe Decimal

The rate of exchange between the two currencies of the leg of a deal. Must be specified with a quote basis.

data FxSpotRateSource Source

A type defining the source and time for an fx rate.

Constructors

FxSpotRateSource 

Fields

fxSpotRateSource_primaryRateSource :: Maybe InformationSource

The primary source for where the rate observation will occur. Will typically be either a page or a reference bank published rate.

fxSpotRateSource_secondaryRateSource :: Maybe InformationSource

An alternative, or secondary, source for where the rate observation will occur. Will typically be either a page or a reference bank published rate.

fxSpotRateSource_fixingTime :: Maybe BusinessCenterTime

The time at which the spot currency exchange rate will be observed. It is specified as a time in a business day calendar location, e.g. 11:00am London time.

data GenericAgreement Source

An entity for defining a generic agreement executed between two parties for any purpose.

Constructors

GenericAgreement 

Fields

genericAgreem_type :: Maybe AgreementType

The type of agreement executed between the parties.

genericAgreem_version :: Maybe AgreementVersion

The version of the agreement.

genericAgreem_date :: Maybe Date

The date on which the agreement was signed.

genericAgreem_amendmentDate :: [Date]

A date on which the agreement was amended.

genericAgreem_governingLaw :: Maybe GoverningLaw

Identification of the law governing the agreement.

data GoverningLaw Source

Identification of the law governing the transaction.

data GrossCashflow Source

A payment component owed from one party to the other for the cash flow date. This payment component should by of only a single type, e.g. a fee or a cashflow from a cashflow stream.

Constructors

GrossCashflow 

Fields

grossCashfl_cashflowId :: Maybe CashflowId

Unique identifier for a cash flow.

grossCashfl_partyTradeIdentifierReference :: Maybe PartyTradeIdentifierReference

Pointer-style reference to the partyTradeIdentifier block within the tradeIdentifyingItems collection, which identifies the parent trade for this cashflow.

grossCashfl_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

grossCashfl_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

grossCashfl_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

grossCashfl_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

grossCashfl_cashflowAmount :: Maybe Money

Cash flow amount in a given currency to be paid/received.

grossCashfl_cashflowType :: Maybe CashflowType

Defines the type of cash flow. For instance, a type of fee, premium, principal exchange, leg fee.

data InformationSource Source

A type defining the source for a piece of information (e.g. a rate refix or an fx fixing).

Constructors

InformationSource 

Fields

infoSource_rateSource :: Maybe InformationProvider

An information source for obtaining a market rate. For example Bloomberg, Reuters, Telerate etc.

infoSource_rateSourcePage :: Maybe RateSourcePage

A specific page for the rate source for obtaining a market rate.

infoSource_rateSourcePageHeading :: Maybe XsdString

The heading for the rate source on a given rate source page.

data InterestAccrualsCompoundingMethod Source

A type defining the way in which interests are accrued: the applicable rate (fixed or floating reference) and the compounding method.

Constructors

InterestAccrualsCompoundingMethod 

Fields

interAccruCompoMethod_choice0 :: OneOf2 FloatingRateCalculation Decimal

Choice between:

  1. The floating rate calculation definitions
  2. The calculation period fixed rate. A per annum rate, expressed as a decimal. A fixed rate of 5% would be represented as 0.05.
interAccruCompoMethod_compoundingMethod :: Maybe CompoundingMethodEnum

If more that one calculation period contributes to a single payment amount this element specifies whether compounding is applicable, and if so, what compounding method is to be used. This element must only be included when more that one calculation period contributes to a single payment amount.

data InterestAccrualsMethod Source

A type describing the method for accruing interests on dividends. Can be either a fixed rate reference or a floating rate reference.

Constructors

InterestAccrualsMethod 

Fields

interAccruMethod_choice0 :: OneOf2 FloatingRateCalculation Decimal

Choice between:

  1. The floating rate calculation definitions
  2. The calculation period fixed rate. A per annum rate, expressed as a decimal. A fixed rate of 5% would be represented as 0.05.

data IntermediaryInformation Source

A type that describes the information to identify an intermediary through which payment will be made by the correspondent bank to the ultimate beneficiary of the funds.

Constructors

IntermediaryInformation 

Fields

intermInfo_choice0 :: Maybe (OneOf3 RoutingIds RoutingExplicitDetails RoutingIdsAndExplicitDetails)

Choice between:

  1. A set of unique identifiers for a party, eachone identifying the party within a payment system. The assumption is that each party will not have more than one identifier within the same payment system.
  2. A set of details that is used to identify a party involved in the routing of a payment when the party does not have a code that identifies it within one of the recognized payment systems.
  3. A combination of coded payment system identifiers and details for physical addressing for a party involved in the routing of a payment.
intermInfo_intermediarySequenceNumber :: Maybe PositiveInteger

A sequence number that gives the position of the current intermediary in the chain of payment intermediaries. The assumed domain value set is an ascending sequence of integers starting from 1.

intermInfo_intermediaryPartyReference :: Maybe PartyReference

Reference to the party acting as intermediary.

data Language Source

The data type used for indicating the language of the resource, described using the ISO 639-2/T Code.

data LegalEntity Source

A type defining a legal entity.

Constructors

LegalEntity 

Fields

legalEntity_ID :: Maybe ID
 
legalEntity_choice0 :: Maybe (OneOf1 (Maybe EntityName, [EntityId]))

Choice between:

  1. Sequence of:
  • The name of the reference entity. A free format string. FpML does not define usage rules for this element.
  • A legal entity identifier (e.g. RED entity code).

data ManualExercise Source

A type defining manual exercise, i.e. that the option buyer counterparty must give notice to the option seller of exercise.

Constructors

ManualExercise 

Fields

manualExerc_exerciseNotice :: Maybe ExerciseNotice

Definition of the party to whom notice of exercise should be given.

manualExerc_fallbackExercise :: Maybe Boolean

If fallback exercise is specified then the notional amount of the underlying swap, not previously exercised under the swaption, will be automatically exercised at the expiration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than one tenth of a percentage point (0.10% or 0.001). The term in-the-money is assumed to have the meaning defined in the 2000 ISDA Definitions, Section 17.4. In-the-money.

data MasterAgreement Source

An entity for defining the agreement executed between the parties and intended to govern all OTC derivatives transactions between those parties.

Constructors

MasterAgreement 

Fields

masterAgreement_type :: Maybe MasterAgreementType

The agreement executed between the parties and intended to govern product-specific derivatives transactions between those parties.

masterAgreement_version :: Maybe MasterAgreementVersion

The version of the master agreement.

masterAgreement_date :: Maybe Date

The date on which the master agreement was signed.

data MasterConfirmation Source

An entity for defining the master confirmation agreement executed between the parties.

Constructors

MasterConfirmation 

Fields

masterConfirmation_type :: Maybe MasterConfirmationType

The type of master confirmation executed between the parties.

masterConfirmation_date :: Maybe Date

The date of the confirmation executed between the parties and intended to govern all relevant transactions between those parties.

masterConfirmation_annexDate :: Maybe Date

The date that an annex to the master confirmation was executed between the parties.

masterConfirmation_annexType :: Maybe MasterConfirmationAnnexType

The type of master confirmation annex executed between the parties.

data MatchId Source

An identifier used to identify matched cashflows.

data Math Source

A type defining a mathematical expression.

Constructors

Math 

data MimeType Source

The type that indicates the type of media used to store the content. MimeType is used to determine the software product(s) that can read the content. MIME types are described in RFC 2046.

data Money Source

A type defining a currency amount.

Constructors

Money 

Fields

money_ID :: Maybe ID
 
money_currency :: Currency

The currency in which an amount is denominated.

money_amount :: Decimal

The monetary quantity in currency units.

data MultipleExercise Source

A type defining multiple exercises. As defining in the 2000 ISDA Definitions, Section 12.4. Multiple Exercise, the buyer of the option has the right to exercise all or less than all the unexercised notional amount of the underlying swap on one or more days in the exercise period, but on any such day may not exercise less than the minimum notional amount or more than the maximum notional amount, and if an integral multiple amount is specified, the notional exercised must be equal to or, be an integral multiple of, the integral multiple amount.

Constructors

MultipleExercise 

Fields

multiExerc_notionalReference :: [NotionalReference]

A pointer style reference to the associated notional schedule defined elsewhere in the document. This element has been made optional as part of its integration in the OptionBaseExtended, because not required for the options on securities.

multiExerc_integralMultipleAmount :: Maybe Decimal

A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised.

multiExerc_choice2 :: Maybe (OneOf2 Decimal NonNegativeInteger)

Choice between:

  1. The minimum notional amount that can be exercised on a given exercise date. See multipleExercise.
  2. The minimum number of options that can be exercised on a given exercise date.
multiExerc_choice3 :: Maybe (OneOf2 Decimal NonNegativeDecimal)

Choice between:

  1. The maximum notional amount that can be exercised on a given exercise date.
  2. The maximum number of options that can be exercised on a given exercise date. If the number is not specified, it means that the maximum number of options corresponds to the remaining unexercised options.

data NonNegativeAmountSchedule Source

A type defining a currency amount or a currency amount schedule.

Constructors

NonNegativeAmountSchedule 

Fields

nonNegatAmountSched_ID :: Maybe ID
 
nonNegatAmountSched_initialValue :: NonNegativeDecimal

The non-negative initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

nonNegatAmountSched_step :: [NonNegativeStep]

The schedule of step date and non-negative value pairs. On each step date the associated step value becomes effective. A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

nonNegatAmountSched_currency :: Maybe Currency

The currency in which an amount is denominated.

data NonNegativePayment Source

A complex type to specify non negative payments.

Constructors

NonNegativePayment 

Fields

nonNegatPayment_ID :: Maybe ID
 
nonNegatPayment_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

nonNegatPayment_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

nonNegatPayment_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

nonNegatPayment_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

nonNegatPayment_paymentDate :: Maybe AdjustableOrRelativeDate

The payment date, which can be expressed as either an adjustable or relative date.

nonNegatPayment_paymentAmount :: Maybe NonNegativeMoney

Non negative payment amount.

data NonNegativeSchedule Source

A type defining a schedule of non-negative rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.

Constructors

NonNegativeSchedule 

Fields

nonNegatSched_ID :: Maybe ID
 
nonNegatSched_initialValue :: NonNegativeDecimal

The non-negative initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

nonNegatSched_step :: [NonNegativeStep]

The schedule of step date and non-negative value pairs. On each step date the associated step value becomes effective. A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

data NonNegativeStep Source

A type defining a step date and non-negative step value pair. This step definitions are used to define varying rate or amount schedules, e.g. a notional amortization or a step-up coupon schedule.

Constructors

NonNegativeStep 

Fields

nonNegatStep_ID :: Maybe ID
 
nonNegatStep_stepDate :: Maybe Date

The date on which the associated stepValue becomes effective. This day may be subject to adjustment in accordance with a business day convention.

nonNegatStep_stepValue :: Maybe NonNegativeDecimal

The non-negative rate or amount which becomes effective on the associated stepDate. A rate of 5% would be represented as 0.05.

data NotionalAmount Source

A complex type to specify the notional amount.

Constructors

NotionalAmount 

Fields

notionAmount_ID :: Maybe ID
 
notionAmount_currency :: Currency

The currency in which an amount is denominated.

notionAmount_amount :: NonNegativeDecimal

The non negative monetary quantity in currency units.

data Offset Source

A type defining an offset used in calculating a new date relative to a reference date. Currently, the only offsets defined are expected to be expressed as either calendar or business day offsets.

Constructors

Offset 

Fields

offset_ID :: Maybe ID
 
offset_periodMultiplier :: Integer

A time period multiplier, e.g. 1, 2 or 3 etc. A negative value can be used when specifying an offset relative to another date, e.g. -2 days.

offset_period :: PeriodEnum

A time period, e.g. a day, week, month or year of the stream. If the periodMultiplier value is 0 (zero) then period must contain the value D (day).

offset_dayType :: Maybe DayTypeEnum

In the case of an offset specified as a number of days, this element defines whether consideration is given as to whether a day is a good business day or not. If a day type of business days is specified then non-business days are ignored when calculating the offset. The financial business centers to use for determination of business days are implied by the context in which this element is used. This element must only be included when the offset is specified as a number of days. If the offset is zero days then the dayType element should not be included.

data OffsetPrevailingTime Source

Allows the specification of a time that may be on a day prior or subsequent to the day in question. This type is intended for use with a day of the week (i.e. where no actual date is specified) as part of, for example, a period that runs from 23:00-07:00 on a series of days and where holidays on the actual days would affect the entire time period.

Constructors

OffsetPrevailingTime 

Fields

offsetPrevaTime_time :: Maybe PrevailingTime
 
offsetPrevaTime_offset :: Maybe Offset

Indicates whether time applies to the actual day specified (in which case this element should be omitted) the day prior to that day (in which case periodMultiplier should be -1 and period should be Day) or the day subsequent to that day (in which case periodMultiplier should be 1 and period should be Day).

data OnBehalfOf Source

Constructors

OnBehalfOf 

Fields

onBehalfOf_partyReference :: Maybe PartyReference

The party for which the message reciever should work.

onBehalfOf_accountReference :: [AccountReference]

Identifies the account(s) related to the party when they can be determined from the party alone, for example in a inter-book trade.

data PartialExercise Source

A type defining partial exercise. As defined in the 2000 ISDA Definitions, Section 12.3 Partial Exercise, the buyer of the option may exercise all or less than all the notional amount of the underlying swap but may not be less than the minimum notional amount (if specified) and must be an integral multiple of the integral multiple amount if specified.

Constructors

PartialExercise 

Fields

partialExerc_notionalReference :: [NotionalReference]

A pointer style reference to the associated notional schedule defined elsewhere in the document. This element has been made optional as part of its integration in the OptionBaseExtended, because not required for the options on securities.

partialExerc_integralMultipleAmount :: Maybe Decimal

A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised.

partialExerc_choice2 :: Maybe (OneOf2 Decimal NonNegativeInteger)

Choice between:

  1. The minimum notional amount that can be exercised on a given exercise date. See multipleExercise.
  2. The minimum number of options that can be exercised on a given exercise date.

data Party Source

Constructors

Party 

Fields

party_ID :: ID

The id uniquely identifying the Party within the document.

party_id :: [PartyId]

A party identifier, e.g. a S.W.I.F.T. bank identifier code (BIC).

party_name :: Maybe PartyName

The legal name of the organization. A free format string. FpML does not define usage rules for this element.

party_classification :: [IndustryClassification]

The party's industry sector classification.

party_creditRating :: [CreditRating]

The party's credit rating.

party_country :: Maybe CountryCode

The country where the party is domiciled.

party_jurisdiction :: [GoverningLaw]

The legal jurisdiction of the entity's registration.

party_organizationType :: Maybe OrganizationType

The country where the party is domiciled.

party_contactInfo :: Maybe ContactInformation

Information on how to contact the party using various means.

party_businessUnit :: [BusinessUnit]

Optional organization unit information used to describe the organization units (e.g. trading desks) involved in a transaction or business process .

party_person :: [Person]

Optional information about people involved in a transaction or busines process. (These are eomployees of the party).

data PartyId Source

The data type used for party identifiers.

data PartyName Source

The data type used for the legal name of an organization.

data PartyRelationship Source

Constructors

PartyRelationship 

Fields

partyRelat_partyReference :: PartyReference

Reference to a party.

partyRelat_accountReference :: Maybe AccountReference

Reference to an account.

partyRelat_role :: Maybe PartyRole

The category of the relationship. The related party performs the role specified in this field for the base party. For example, if the role is Guarantor, the related party acts as a guarantor for the base party.

partyRelat_type :: Maybe PartyRoleType

Additional definition refining the type of relationship. For example, if the role is Guarantor, this element may be used to specify whether all positions are guaranteed, or only a subset of them.

partyRelat_effectiveDate :: Maybe Date

The date on which the relationship begins or began.

partyRelat_terminationDate :: Maybe Date

The date on which the relationship ends or ended.

partyRelat_documentation :: Maybe PartyRelationshipDocumentation

Describes the agreements that define the party relationship.

data PartyRelationshipDocumentation Source

A description of the legal agreement(s) and definitions that document a party's relationships with other parties

Constructors

PartyRelationshipDocumentation 

Fields

partyRelatDocum_choice0 :: [OneOf3 MasterAgreement CreditSupportAgreement GenericAgreement]

Choice between:

  1. A agreement executed between two parties that includes or references the related party.
  2. An agreement executed between two parties intended to govern collateral arrangement for OTC derivatives transactions between those parties, and that references the related party.
  3. An agrement that references the related party.

data PartyRole Source

A type describing a role played by a party in one or more transactions. Examples include roles such as guarantor, custodian, confirmation service provider, etc. This can be extended to provide custom roles.

data PartyRoleType Source

A type refining the role a role played by a party in one or more transactions. Examples include AllPositions and SomePositions for Guarantor. This can be extended to provide custom types.

data Payment Source

A type for defining payments

Constructors

Payment 

Fields

payment_ID :: Maybe ID
 
payment_href :: Maybe IDREF

Can be used to reference the yield curve used to estimate the discount factor

payment_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

payment_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

payment_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

payment_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

payment_amount :: NonNegativeMoney

The currency amount of the payment.

payment_date :: Maybe AdjustableOrAdjustedDate

The payment date. This date is subject to adjustment in accordance with any applicable business day convention.

payment_type :: Maybe PaymentType

A classification of the type of fee or additional payment, e.g. brokerage, upfront fee etc. FpML does not define domain values for this element.

payment_settlementInformation :: Maybe SettlementInformation

The information required to settle a currency payment that results from a trade.

payment_discountFactor :: Maybe Decimal

The value representing the discount factor used to calculate the present value of the cash flow.

payment_presentValueAmount :: Maybe Money

The amount representing the present value of the forecast payment.

data PaymentBase Source

An abstract base class for payment types.

data PaymentDetails Source

Details on the referenced payment. e.g. Its cashflow components, settlement details.

Constructors

PaymentDetails 

Fields

paymentDetails_paymentReference :: Maybe PaymentReference

The reference to the identified payment strucutre.

paymentDetails_grossCashflow :: [GrossCashflow]

Payment details of this cash flow component, including currency, amount and payer/payee.

paymentDetails_settlementInformation :: Maybe SettlementInformation

The information required to settle a currency payment.

data PaymentId Source

An identifier used to identify a matchable payment.

data Period Source

A type to define recurring periods or time offsets.

Constructors

Period 

Fields

period_ID :: Maybe ID
 
period_multiplier :: Integer

A time period multiplier, e.g. 1, 2 or 3 etc. A negative value can be used when specifying an offset relative to another date, e.g. -2 days.

period :: PeriodEnum

A time period, e.g. a day, week, month or year of the stream. If the periodMultiplier value is 0 (zero) then period must contain the value D (day).

data PeriodicDates Source

Constructors

PeriodicDates 

Fields

periodDates_calculationStartDate :: Maybe AdjustableOrRelativeDate
 
periodDates_calculationEndDate :: Maybe AdjustableOrRelativeDate
 
periodDates_calculationPeriodFrequency :: Maybe CalculationPeriodFrequency

The frequency at which calculation period end dates occur with the regular part of the calculation period schedule and their roll date convention.

periodDates_calculationPeriodDatesAdjustments :: Maybe BusinessDayAdjustments

The business day convention to apply to each calculation period end date if it would otherwise fall on a day that is not a business day in the specified financial business centers.

data PositiveAmountSchedule Source

A type defining a currency amount or a currency amount schedule.

Constructors

PositiveAmountSchedule 

Fields

positAmountSched_ID :: Maybe ID
 
positAmountSched_initialValue :: PositiveDecimal

The strictly-positive initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

positAmountSched_step :: [PositiveStep]

The schedule of step date and strictly-positive value pairs. On each step date the associated step value becomes effective. A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

positAmountSched_currency :: Maybe Currency

The currency in which an amount is denominated.

data PositiveMoney Source

A type defining a positive money amount

Constructors

PositiveMoney 

Fields

positMoney_ID :: Maybe ID
 
positMoney_currency :: Currency

The currency in which an amount is denominated.

positMoney_amount :: Maybe PositiveDecimal

The positive monetary quantity in currency units.

data PositivePayment Source

A complex type to specify positive payments.

Constructors

PositivePayment 

Fields

positPayment_ID :: Maybe ID
 
positPayment_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

positPayment_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

positPayment_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

positPayment_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

positPayment_paymentDate :: Maybe AdjustableOrRelativeDate

The payment date, which can be expressed as either an adjustable or relative date.

positPayment_paymentAmount :: Maybe PositiveMoney

Positive payment amount.

data PositiveSchedule Source

A type defining a schedule of strictly-postive rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.

Constructors

PositiveSchedule 

Fields

positSched_ID :: Maybe ID
 
positSched_initialValue :: PositiveDecimal

The strictly-positive initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

positSched_step :: [PositiveStep]

The schedule of step date and strictly-positive value pairs. On each step date the associated step value becomes effective. A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

data PositiveStep Source

A type defining a step date and strictly-positive step value pair. This step definitions are used to define varying rate or amount schedules, e.g. a notional amortization or a step-up coupon schedule.

Constructors

PositiveStep 

Fields

positiveStep_ID :: Maybe ID
 
positiveStep_stepDate :: Maybe Date

The date on which the associated stepValue becomes effective. This day may be subject to adjustment in accordance with a business day convention.

positiveStep_stepValue :: Maybe PositiveDecimal

The strictly positive rate or amount which becomes effective on the associated stepDate. A rate of 5% would be represented as 0.05.

data PrevailingTime Source

A type for defining a time with respect to a geographic location, for example 11:00 Phoenix, USA. This type should be used where a wider range of locations than those available as business centres is required.

Constructors

PrevailingTime 

Fields

prevaTime_hourMinuteTime :: Maybe HourMinuteTime

A time specified in hh:mm:ss format where the second component must be '00', e.g. 11am would be represented as 11:00:00.

prevaTime_location :: Maybe TimezoneLocation

The geographic location to which the hourMinuteTime applies. The time takes into account any current day light saving changes or other adjustments i.e. it is the prevaling time at the location.

data PrincipalExchanges Source

A type defining which principal exchanges occur for the stream.

Constructors

PrincipalExchanges 

Fields

princExchan_ID :: Maybe ID
 
princExchan_initialExchange :: Maybe Boolean

A true/false flag to indicate whether there is an initial exchange of principal on the effective date.

princExchan_finalExchange :: Maybe Boolean

A true/false flag to indicate whether there is a final exchange of principal on the termination date.

princExchan_intermediateExchange :: Maybe Boolean

A true/false flag to indicate whether there are intermediate or interim exchanges of principal during the term of the swap.

data Product Source

The base type which all FpML products extend.

data QuotedCurrencyPair Source

A type that describes the composition of a rate that has been quoted or is to be quoted. This includes the two currencies and the quotation relationship between the two currencies and is used as a building block throughout the FX specification.

Constructors

QuotedCurrencyPair 

Fields

quotedCurrenPair_currency1 :: Maybe Currency

The first currency specified when a pair of currencies is to be evaluated.

quotedCurrenPair_currency2 :: Maybe Currency

The second currency specified when a pair of currencies is to be evaluated.

quotedCurrenPair_quoteBasis :: Maybe QuoteBasisEnum

The method by which the exchange rate is quoted.

data Rate Source

The abstract base class for all types which define interest rate streams.

data RateReference Source

Reference to any rate (floating, inflation) derived from the abstract Rate component.

Constructors

RateReference 

Fields

rateRef_href :: IDREF
 

data RateObservation Source

A type defining parameters associated with an individual observation or fixing. This type forms part of the cashflow representation of a stream.

Constructors

RateObservation 

Fields

rateObserv_ID :: Maybe ID
 
rateObserv_resetDate :: Maybe Date

The reset date.

rateObserv_adjustedFixingDate :: Maybe Date

The adjusted fixing date, i.e. the actual date the rate is observed. The date should already be adjusted for any applicable business day convention.

rateObserv_observedRate :: Maybe Decimal

The actual observed rate before any required rate treatment is applied, e.g. before converting a rate quoted on a discount basis to an equivalent yield. An observed rate of 5% would be represented as 0.05.

rateObserv_treatedRate :: Maybe Decimal

The observed rate after any required rate treatment is applied. A treated rate of 5% would be represented as 0.05.

rateObserv_observationWeight :: Maybe PositiveInteger

The number of days weighting to be associated with the rate observation, i.e. the number of days such rate is in effect. This is applicable in the case of a weighted average method of calculation where more than one reset date is established for a single calculation period.

rateObserv_rateReference :: Maybe RateReference

A pointer style reference to a floating rate component defined as part of a stub calculation period amount component. It is only required when it is necessary to distinguish two rate observations for the same fixing date which could occur when linear interpolation of two different rates occurs for a stub calculation period.

rateObserv_forecastRate :: Maybe Decimal

The value representing the forecast rate used to calculate the forecast future value of the accrual period.A value of 1% should be represented as 0.01

rateObserv_treatedForecastRate :: Maybe Decimal

The value representing the forecast rate after applying rate treatment rules. A value of 1% should be represented as 0.01

data Reference Source

The abstract base class for all types which define intra-document pointers.

Constructors

Reference_SpreadScheduleReference SpreadScheduleReference 
Reference_ScheduleReference ScheduleReference 
Reference_ReturnSwapNotionalAmountReference ReturnSwapNotionalAmountReference 
Reference_ProductReference ProductReference 
Reference_PricingStructureReference PricingStructureReference 
Reference_PaymentReference PaymentReference 
Reference_PartyTradeIdentifierReference PartyTradeIdentifierReference 
Reference_PersonReference PersonReference 
Reference_BusinessUnitReference BusinessUnitReference 
Reference_PartyReference PartyReference 
Reference_NotionalReference NotionalReference 
Reference_NotionalAmountReference NotionalAmountReference 
Reference_LegalEntityReference LegalEntityReference 
Reference_IdentifiedCurrencyReference IdentifiedCurrencyReference 
Reference_HTTPAttachmentReference HTTPAttachmentReference 
Reference_DeterminationMethodReference DeterminationMethodReference 
Reference_DateReference DateReference 
Reference_BusinessDayAdjustmentsReference BusinessDayAdjustmentsReference 
Reference_BusinessCentersReference BusinessCentersReference 
Reference_AmountReference AmountReference 
Reference_AccountReference AccountReference 
Reference_AssetReference AssetReference 
Reference_AnyAssetReference AnyAssetReference 
Reference_CreditEventsReference CreditEventsReference 
Reference_ValuationDatesReference ValuationDatesReference 
Reference_ResetDatesReference ResetDatesReference 
Reference_RelevantUnderlyingDateReference RelevantUnderlyingDateReference 
Reference_PaymentDatesReference PaymentDatesReference 
Reference_InterestRateStreamReference InterestRateStreamReference 
Reference_CalculationPeriodDatesReference CalculationPeriodDatesReference 
Reference_MoneyReference MoneyReference 
Reference_InterestLegCalculationPeriodDatesReference InterestLegCalculationPeriodDatesReference 
Reference_FloatingRateCalculationReference FloatingRateCalculationReference 
Reference_SettlementPeriodsReference SettlementPeriodsReference 
Reference_QuantityReference QuantityReference 
Reference_QuantityScheduleReference QuantityScheduleReference 
Reference_LagReference LagReference 
Reference_CalculationPeriodsScheduleReference CalculationPeriodsScheduleReference 
Reference_CalculationPeriodsReference CalculationPeriodsReference 
Reference_CalculationPeriodsDatesReference CalculationPeriodsDatesReference 
Reference_SettlementTermsReference SettlementTermsReference 
Reference_ProtectionTermsReference ProtectionTermsReference 
Reference_FixedRateReference FixedRateReference 
Reference_ValuationScenarioReference ValuationScenarioReference 
Reference_ValuationReference ValuationReference 
Reference_SensitivitySetDefinitionReference SensitivitySetDefinitionReference 
Reference_PricingParameterDerivativeReference PricingParameterDerivativeReference 
Reference_PricingDataPointCoordinateReference PricingDataPointCoordinateReference 
Reference_MarketReference MarketReference 
Reference_AssetOrTermPointOrPricingStructureReference AssetOrTermPointOrPricingStructureReference 

Instances

Eq Reference 
Show Reference 
SchemaType Reference 
Extension SpreadScheduleReference Reference 
Extension ScheduleReference Reference 
Extension ReturnSwapNotionalAmountReference Reference 
Extension ProductReference Reference 
Extension PricingStructureReference Reference 
Extension PaymentReference Reference 
Extension PartyTradeIdentifierReference Reference 
Extension PersonReference Reference 
Extension BusinessUnitReference Reference 
Extension PartyReference Reference 
Extension NotionalReference Reference 
Extension NotionalAmountReference Reference 
Extension LegalEntityReference Reference 
Extension IdentifiedCurrencyReference Reference 
Extension HTTPAttachmentReference Reference 
Extension DeterminationMethodReference Reference 
Extension DateReference Reference 
Extension BusinessDayAdjustmentsReference Reference 
Extension BusinessCentersReference Reference 
Extension AmountReference Reference 
Extension AccountReference Reference 
Extension AssetReference Reference 
Extension AnyAssetReference Reference 
Extension CreditEventsReference Reference 
Extension SettlementTermsReference Reference 
Extension ProtectionTermsReference Reference 
Extension FixedRateReference Reference 
Extension SettlementPeriodsReference Reference 
Extension QuantityReference Reference 
Extension QuantityScheduleReference Reference 
Extension LagReference Reference 
Extension CalculationPeriodsScheduleReference Reference 
Extension CalculationPeriodsReference Reference 
Extension CalculationPeriodsDatesReference Reference 
Extension InterestLegCalculationPeriodDatesReference Reference 
Extension FloatingRateCalculationReference Reference 
Extension MoneyReference Reference 
Extension ValuationDatesReference Reference 
Extension ResetDatesReference Reference 
Extension RelevantUnderlyingDateReference Reference 
Extension PaymentDatesReference Reference 
Extension InterestRateStreamReference Reference 
Extension CalculationPeriodDatesReference Reference 
Extension ValuationScenarioReference Reference 
Extension ValuationReference Reference 
Extension SensitivitySetDefinitionReference Reference 
Extension PricingParameterDerivativeReference Reference 
Extension PricingDataPointCoordinateReference Reference 
Extension MarketReference Reference 
Extension AssetOrTermPointOrPricingStructureReference Reference 

data ReferenceBank Source

A type to describe an institution (party) identified by means of a coding scheme and an optional name.

Constructors

ReferenceBank 

Fields

referenceBank_id :: Maybe ReferenceBankId

An institution (party) identifier, e.g. a bank identifier code (BIC).

referenceBank_name :: Maybe XsdString

The name of the institution (party). A free format string. FpML does not define usage rules for the element.

data RelatedBusinessUnit Source

Constructors

RelatedBusinessUnit 

Fields

relatedBusUnit_businessUnitReference :: BusinessUnitReference

The unit that is related to this.

relatedBusUnit_role :: BusinessUnitRole

The category of the relationship. The related unit performs the role specified in this field for the base party. For example, if the role is Trader, the related unit acts acts or acted as the base party's trading unit.

data RelatedParty Source

Constructors

RelatedParty 

Fields

relatedParty_partyReference :: PartyReference

Reference to a party.

relatedParty_accountReference :: Maybe AccountReference

Reference to an account.

relatedParty_role :: PartyRole

The category of the relationship. The related party performs the role specified in this field for the base party. For example, if the role is Guarantor, the related party acts as a guarantor for the base party.

relatedParty_type :: Maybe PartyRoleType

Additional definition refining the type of relationship. For example, if the role is Guarantor, this element may be used to specify whether all positions are guaranteed, or only a subset of them.

data RelatedPerson Source

Constructors

RelatedPerson 

Fields

relatedPerson_personReference :: PersonReference

The individual person that is related to this.

relatedPerson_role :: PersonRole

The category of the relationship. The related individual performs the role specified in this field for the base party. For example, if the role is Trader, the related person acts acts or acted as the base party's trader.

data BusinessUnitRole Source

A type describing a role played by a unit in one or more transactions. Examples include roles such as Trader, Collateral, Confirmation, Settlement, etc. This can be extended to provide custom roles.

data PersonRole Source

A type describing a role played by a person in one or more transactions. Examples include roles such as Trader, Broker, MiddleOffice, Legal, etc. This can be extended to provide custom roles.

data RelativeDateOffset Source

A type defining a date (referred to as the derived date) as a relative offset from another date (referred to as the anchor date). If the anchor date is itself an adjustable date then the offset is assumed to be calculated from the adjusted anchor date. A number of different scenarios can be supported, namely; 1) the derived date may simply be a number of calendar periods (days, weeks, months or years) preceding or following the anchor date; 2) the unadjusted derived date may be a number of calendar periods (days, weeks, months or years) preceding or following the anchor date with the resulting unadjusted derived date subject to adjustment in accordance with a specified business day convention, i.e. the derived date must fall on a good business day; 3) the derived date may be a number of business days preceding or following the anchor date. Note that the businessDayConvention specifies any required adjustment to the unadjusted derived date. A negative or positive value in the periodMultiplier indicates whether the unadjusted derived precedes or follows the anchor date. The businessDayConvention should contain a value NONE if the day type element contains a value of Business (since specifying a negative or positive business days offset would already guarantee that the derived date would fall on a good business day in the specified business centers).

Constructors

RelativeDateOffset 

Fields

relatDateOffset_ID :: Maybe ID
 
relatDateOffset_periodMultiplier :: Integer

A time period multiplier, e.g. 1, 2 or 3 etc. A negative value can be used when specifying an offset relative to another date, e.g. -2 days.

relatDateOffset_period :: PeriodEnum

A time period, e.g. a day, week, month or year of the stream. If the periodMultiplier value is 0 (zero) then period must contain the value D (day).

relatDateOffset_dayType :: Maybe DayTypeEnum

In the case of an offset specified as a number of days, this element defines whether consideration is given as to whether a day is a good business day or not. If a day type of business days is specified then non-business days are ignored when calculating the offset. The financial business centers to use for determination of business days are implied by the context in which this element is used. This element must only be included when the offset is specified as a number of days. If the offset is zero days then the dayType element should not be included.

relatDateOffset_businessDayConvention :: Maybe BusinessDayConventionEnum

The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

relatDateOffset_choice4 :: Maybe (OneOf2 BusinessCentersReference BusinessCenters)

Choice between:

  1. A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.
  2. businessCenters
relatDateOffset_dateRelativeTo :: Maybe DateReference

Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor date is defined.

relatDateOffset_adjustedDate :: Maybe IdentifiedDate

The date once the adjustment has been performed. (Note that this date may change if the business center holidays change).

data RelativeDates Source

A type describing a set of dates defined as relative to another set of dates.

Constructors

RelativeDates 

Fields

relatDates_ID :: Maybe ID
 
relatDates_periodMultiplier :: Integer

A time period multiplier, e.g. 1, 2 or 3 etc. A negative value can be used when specifying an offset relative to another date, e.g. -2 days.

relatDates_period :: PeriodEnum

A time period, e.g. a day, week, month or year of the stream. If the periodMultiplier value is 0 (zero) then period must contain the value D (day).

relatDates_dayType :: Maybe DayTypeEnum

In the case of an offset specified as a number of days, this element defines whether consideration is given as to whether a day is a good business day or not. If a day type of business days is specified then non-business days are ignored when calculating the offset. The financial business centers to use for determination of business days are implied by the context in which this element is used. This element must only be included when the offset is specified as a number of days. If the offset is zero days then the dayType element should not be included.

relatDates_businessDayConvention :: Maybe BusinessDayConventionEnum

The convention for adjusting a date if it would otherwise fall on a day that is not a business day.

relatDates_choice4 :: Maybe (OneOf2 BusinessCentersReference BusinessCenters)

Choice between:

  1. A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.
  2. businessCenters
relatDates_dateRelativeTo :: Maybe DateReference

Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor date is defined.

relatDates_adjustedDate :: Maybe IdentifiedDate

The date once the adjustment has been performed. (Note that this date may change if the business center holidays change).

relatDates_periodSkip :: Maybe PositiveInteger

The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1.

relatDates_scheduleBounds :: Maybe DateRange

The first and last dates of a schedule. This can be used to restrict the range of values in a reference series of dates.

data RelativeDateSequence Source

A type describing a date when this date is defined in reference to another date through one or several date offsets.

Constructors

RelativeDateSequence 

Fields

relatDateSequen_dateRelativeTo :: Maybe DateReference

Specifies the anchor as an href attribute. The href attribute value is a pointer style reference to the element or component elsewhere in the document where the anchor date is defined.

relatDateSequen_dateOffset :: [DateOffset]
 
relatDateSequen_choice2 :: Maybe (OneOf2 BusinessCentersReference BusinessCenters)

Choice between:

  1. A pointer style reference to a set of financial business centers defined elsewhere in the document. This set of business centers is used to determine whether a particular day is a business day or not.
  2. businessCenters

data ResetFrequency Source

A type defining the reset frequency. In the case of a weekly reset, also specifies the day of the week that the reset occurs. If the reset frequency is greater than the calculation period frequency the this implies that more or more reset dates is established for each calculation period and some form of rate averaginhg is applicable. The specific averaging method of calculation is specified in FloatingRateCalculation. In case the reset frequency is of value T (term), the period is defined by the swapswapStreamcalculationPerioDateseffectiveDate and the swapswapStreamcalculationPerioDatesterminationDate.

Constructors

ResetFrequency 

Fields

resetFrequ_ID :: Maybe ID
 
resetFrequ_periodMultiplier :: Maybe PositiveInteger

A time period multiplier, e.g. 1, 2 or 3 etc. If the period value is T (Term) then periodMultiplier must contain the value 1.

resetFrequ_period :: Maybe PeriodExtendedEnum

A time period, e.g. a day, week, month, year or term of the stream.

resetFrequ_weeklyRollConvention :: Maybe WeeklyRollConventionEnum

The day of the week on which a weekly reset date occurs. This element must be included if the reset frequency is defined as weekly and not otherwise.

data Resource Source

Describes the resource that contains the media representation of a business event (i.e used for stating the Publicly Available Information). For example, can describe a file or a URL that represents the event. This type is an extended version of a type defined by RIXML (www.rixml.org).

Constructors

Resource 

Fields

resource_id :: Maybe ResourceId

The unique identifier of the resource within the event.

resource_type :: Maybe ResourceType

A description of the type of the resource, e.g. a confirmation.

resource_language :: Maybe Language

Indicates the language of the resource, described using the ISO 639-2/T Code.

resource_sizeInBytes :: Maybe Decimal

Indicates the size of the resource in bytes. It could be used by the end user to estimate the download time and storage needs.

resource_length :: Maybe ResourceLength

Indicates the length of the resource. For example, if the resource were a PDF file, the length would be in pages.

resource_mimeType :: Maybe MimeType

Indicates the type of media used to store the content. mimeType is used to determine the software product(s) that can read the content. MIME Types are described in RFC 2046.

resource_name :: Maybe NormalizedString

The name of the resource.

resource_comments :: Maybe XsdString

Any additional comments that are deemed necessary. For example, which software version is required to open the document? Or, how does this resource relate to the others for this event?

resource_choice8 :: Maybe (OneOf4 XsdString HexBinary Base64Binary AnyURI)

Choice between:

  1. Provides extra information as string. In case the extra information is in XML format, a CDATA section must be placed around the source message to prevent its interpretation as XML content.
  2. Provides extra information as binary contents coded in hexadecimal.
  3. Provides extra information as binary contents coded in base64.
  4. Indicates where the resource can be found, as a URL that references the information on a web server accessible to the message recipient.

data ResourceId Source

The data type used for resource identifiers.

data ResourceLength Source

The type that indicates the length of the resource.

Constructors

ResourceLength 

Fields

resourLength_lengthUnit :: Maybe LengthUnitEnum

The length unit of the resource. For example, pages (pdf, text documents) or time (audio, video files).

resourLength_lengthValue :: Maybe Decimal

The length value of the resource.

data ResourceType Source

The data type used for describing the type or purpose of a resource, e.g. Confirmation.

data Rounding Source

A type defining a rounding direction and precision to be used in the rounding of a rate.

Constructors

Rounding 

Fields

rounding_direction :: Maybe RoundingDirectionEnum

Specifies the rounding direction.

rounding_precision :: Maybe NonNegativeInteger

Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7 in the FpML document since the percentage is expressed as a decimal, e.g. 9.876543% (or 0.09876543) being rounded to the nearest 5 decimal places is 9.87654% (or 0.0987654).

data Routing Source

A type that provides three alternative ways of identifying a party involved in the routing of a payment. The identification may use payment system identifiers only; actual name, address and other reference information; or a combination of both.

Constructors

Routing 

Fields

routing_choice0 :: Maybe (OneOf3 RoutingIds RoutingExplicitDetails RoutingIdsAndExplicitDetails)

Choice between:

  1. A set of unique identifiers for a party, eachone identifying the party within a payment system. The assumption is that each party will not have more than one identifier within the same payment system.
  2. A set of details that is used to identify a party involved in the routing of a payment when the party does not have a code that identifies it within one of the recognized payment systems.
  3. A combination of coded payment system identifiers and details for physical addressing for a party involved in the routing of a payment.

data RoutingExplicitDetails Source

A type that models name, address and supplementary textual information for the purposes of identifying a party involved in the routing of a payment.

Constructors

RoutingExplicitDetails 

Fields

routingExplicDetails_routingName :: Maybe XsdString

A real name that is used to identify a party involved in the routing of a payment.

routingExplicDetails_routingAddress :: Maybe Address

A physical postal address via which a payment can be routed.

routingExplicDetails_routingAccountNumber :: Maybe XsdString

An account number via which a payment can be routed.

routingExplicDetails_routingReferenceText :: [XsdString]

A piece of free-format text used to assist the identification of a party involved in the routing of a payment.

data RoutingIds Source

A type that provides for identifying a party involved in the routing of a payment by means of one or more standard identification codes. For example, both a SWIFT BIC code and a national bank identifier may be required.

Constructors

RoutingIds 

Fields

routingIds_routingId :: [RoutingId]

A unique identifier for party that is a participant in a recognized payment system.

data RoutingIdsAndExplicitDetails Source

A type that provides a combination of payment system identification codes with physical postal address details, for the purposes of identifying a party involved in the routing of a payment.

Constructors

RoutingIdsAndExplicitDetails 

Fields

routingIdsAndExplicDetails_routingIds :: [RoutingIds]

A set of unique identifiers for a party, eachone identifying the party within a payment system. The assumption is that each party will not have more than one identifier within the same payment system.

routingIdsAndExplicDetails_routingName :: Maybe XsdString

A real name that is used to identify a party involved in the routing of a payment.

routingIdsAndExplicDetails_routingAddress :: Maybe Address

A physical postal address via which a payment can be routed.

routingIdsAndExplicDetails_routingAccountNumber :: Maybe XsdString

An account number via which a payment can be routed.

routingIdsAndExplicDetails_routingReferenceText :: [XsdString]

A piece of free-format text used to assist the identification of a party involved in the routing of a payment.

data Schedule Source

A type defining a schedule of rates or amounts in terms of an initial value and then a series of step date and value pairs. On each step date the rate or amount changes to the new step value. The series of step date and value pairs are optional. If not specified, this implies that the initial value remains unchanged over time.

Constructors

Schedule 

Fields

schedule_ID :: Maybe ID
 
schedule_initialValue :: Decimal

The initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

schedule_step :: [Step]

The schedule of step date and value pairs. On each step date the associated step value becomes effective A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

data SettlementInformation Source

A type that represents the choice of methods for settling a potential currency payment resulting from a trade: by means of a standard settlement instruction, by netting it out with other payments, or with an explicit settlement instruction.

Constructors

SettlementInformation 

Fields

settlInfo_choice0 :: Maybe (OneOf2 StandardSettlementStyleEnum SettlementInstruction)

Choice between:

  1. An optional element used to describe how a trade will settle. This defines a scheme and is used for identifying trades that are identified as settling standard and/or flagged for settlement netting.
  2. An explicit specification of how a currency payment is to be made, when the payment is not netted and the route is other than the recipient's standard settlement instruction.

data SettlementInstruction Source

A type that models a complete instruction for settling a currency payment, including the settlement method to be used, the correspondent bank, any intermediary banks and the ultimate beneficary.

Constructors

SettlementInstruction 

Fields

settlInstr_settlementMethod :: Maybe SettlementMethod

The mechanism by which settlement is to be made. The scheme of domain values will include standard mechanisms such as CLS, Fedwire, Chips ABA, Chips UID, SWIFT, CHAPS and DDA.

settlInstr_correspondentInformation :: Maybe CorrespondentInformation

The information required to identify the correspondent bank that will make delivery of the funds on the paying bank's behalf in the country where the payment is to be made

settlInstr_intermediaryInformation :: [IntermediaryInformation]

Information to identify an intermediary through which payment will be made by the correspondent bank to the ultimate beneficiary of the funds.

settlInstr_beneficiaryBank :: Maybe Beneficiary

The bank that acts for the ultimate beneficiary of the funds in receiving payments.

settlInstr_beneficiary :: Maybe Beneficiary

The ultimate beneficiary of the funds. The beneficiary can be identified either by an account at the beneficiaryBank (qv) or by explicit routingInformation. This element provides for the latter.

settlInstr_depositoryPartyReference :: Maybe PartyReference

Reference to the depository of the settlement.

settlInstr_splitSettlement :: [SplitSettlement]

The set of individual payments that are to be made when a currency payment settling a trade needs to be split between a number of ultimate beneficiaries. Each split payment may need to have its own routing information.

data SettlementPriceSource Source

The source from which the settlement price is to be obtained, e.g. a Reuters page, Prezzo di Riferimento, etc.

data SettlementRateSource Source

A type describing the method for obtaining a settlement rate.

Constructors

SettlementRateSource 

Fields

settlRateSource_choice0 :: Maybe (OneOf2 InformationSource CashSettlementReferenceBanks)

Choice between:

  1. The information source where a published or displayed market rate will be obtained, e.g. Telerate Page 3750.
  2. A container for a set of reference institutions. These reference institutions may be called upon to provide rate quotations as part of the method to determine the applicable cash settlement amount. If institutions are not specified, it is assumed that reference institutions will be agreed between the parties on the exercise date, or in the case of swap transaction to which mandatory early termination is applicable, the cash settlement valuation date.

data SharedAmericanExercise Source

TBA

Constructors

SharedAmericanExercise 

Fields

sharedAmericExerc_ID :: Maybe ID
 
sharedAmericExerc_commencementDate :: Maybe AdjustableOrRelativeDate

The first day of the exercise period for an American style option.

sharedAmericExerc_expirationDate :: Maybe AdjustableOrRelativeDate

The last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.

sharedAmericExerc_choice2 :: Maybe (OneOf2 BusinessCenterTime DeterminationMethod)

Choice between latest exercise time expressed as literal time, or using a determination method.

Choice between:

  1. For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.
  2. Latest exercise time determination method.

data SimplePayment Source

A complex type to specified payments in a simpler fashion than the Payment type. This construct should be used from the version 4.3 onwards.

Constructors

SimplePayment 

Fields

simplePayment_ID :: Maybe ID
 
simplePayment_payerPartyReference :: Maybe PartyReference

A reference to the party responsible for making the payments defined by this structure.

simplePayment_payerAccountReference :: Maybe AccountReference

A reference to the account responsible for making the payments defined by this structure.

simplePayment_receiverPartyReference :: Maybe PartyReference

A reference to the party that receives the payments corresponding to this structure.

simplePayment_receiverAccountReference :: Maybe AccountReference

A reference to the account that receives the payments corresponding to this structure.

simplePayment_paymentAmount :: Maybe NonNegativeMoney
 
simplePayment_paymentDate :: Maybe AdjustableOrRelativeDate

The payment date. This date is subject to adjustment in accordance with any applicable business day convention.

data SplitSettlement Source

A type that supports the division of a gross settlement amount into a number of split settlements, each requiring its own settlement instruction.

Constructors

SplitSettlement 

Fields

splitSettlement_amount :: Maybe Money

One of the monetary amounts in a split settlement payment.

splitSettl_beneficiaryBank :: Maybe Routing

The bank that acts for the ultimate beneficiary of the funds in receiving payments.

splitSettl_beneficiary :: Maybe Routing

The ultimate beneficiary of the funds. The beneficiary can be identified either by an account at the beneficiaryBank (qv) or by explicit routingInformation. This element provides for the latter.

data SpreadSchedule Source

Adds an optional spread type element to the Schedule to identify a long or short spread value.

Constructors

SpreadSchedule 

Fields

spreadSched_ID :: Maybe ID
 
spreadSched_initialValue :: Decimal

The initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

spreadSched_step :: [Step]

The schedule of step date and value pairs. On each step date the associated step value becomes effective A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

spreadSched_type :: Maybe SpreadScheduleType
 

data Step Source

A type defining a step date and step value pair. This step definitions are used to define varying rate or amount schedules, e.g. a notional amortization or a step-up coupon schedule.

Constructors

Step 

Fields

step_ID :: Maybe ID
 
step_date :: Maybe Date

The date on which the associated stepValue becomes effective. This day may be subject to adjustment in accordance with a business day convention.

step_value :: Maybe Decimal

The rate or amount which becomes effective on the associated stepDate. A rate of 5% would be represented as 0.05.

data StepBase Source

A type defining a step date and step value pair. This step definitions are used to define varying rate or amount schedules, e.g. a notional amortization or a step-up coupon schedule.

data StreetAddress Source

A type that describes the set of street and building number information that identifies a postal address within a city.

Constructors

StreetAddress 

Fields

streetAddress_streetLine :: [XsdString]

An individual line of street and building number information, forming part of a postal address.

data Strike Source

A type describing a single cap or floor rate.

Constructors

Strike 

Fields

strike_ID :: Maybe ID
 
strike_rate :: Maybe Decimal

The rate for a cap or floor.

strike_buyer :: Maybe IdentifiedPayerReceiver

The buyer of the option

strike_seller :: Maybe IdentifiedPayerReceiver

The party that has sold.

data StrikeSchedule Source

A type describing a schedule of cap or floor rates.

Constructors

StrikeSchedule 

Fields

strikeSched_ID :: Maybe ID
 
strikeSched_initialValue :: Decimal

The initial rate or amount, as the case may be. An initial rate of 5% would be represented as 0.05.

strikeSched_step :: [Step]

The schedule of step date and value pairs. On each step date the associated step value becomes effective A list of steps may be ordered in the document by ascending step date. An FpML document containing an unordered list of steps is still regarded as a conformant document.

strikeSched_buyer :: Maybe IdentifiedPayerReceiver

The buyer of the option

strikeSched_seller :: Maybe IdentifiedPayerReceiver

The party that has sold.

data Stub Source

A type defining how a stub calculation period amount is calculated and the start and end date of the stub. A single floating rate tenor different to that used for the regular part of the calculation periods schedule may be specified, or two floating rate tenors many be specified. If two floating rate tenors are specified then Linear Interpolation (in accordance with the 2000 ISDA Definitions, Section 8.3 Interpolation) is assumed to apply. Alternatively, an actual known stub rate or stub amount may be specified.

Constructors

Stub 

Fields

stub_choice0 :: Maybe (OneOf3 [FloatingRate] Decimal Money)

Choice between:

  1. The rates to be applied to the initial or final stub may be the linear interpolation of two different rates. While the majority of the time, the rate indices will be the same as that specified in the stream and only the tenor itself will be different, it is possible to specift two different rates. For example, a 2 month stub period may use the linear interpolation of a 1 month and 3 month rate. The different rates would be specified in this component. Note that a maximum of two rates can be specified. If a stub period uses the same floating rate index, including tenor, as the regular calculation periods then this should not be specified again within this component, i.e. the stub calculation period amount component may not need to be specified even if there is an initial or final stub period. If a stub period uses a different floating rate index compared to the regular calculation periods then this should be specified within this component. If specified here, they are likely to have id attributes, allowing them to be referenced from within the cashflows component.
  2. An actual rate to apply for the initial or final stub period may have been agreed between the principal parties (in a similar way to how an initial rate may have been agreed for the first regular period). If an actual stub rate has been agreed then it would be included in this component. It will be a per annum rate, expressed as a decimal. A stub rate of 5% would be represented as 0.05.
  3. An actual amount to apply for the initial or final stub period may have been agreed between th two parties. If an actual stub amount has been agreed then it would be included in this component.
stub_startDate :: Maybe AdjustableOrRelativeDate

Start date of stub period. This was created to support use of the InterestRateStream within the Equity Derivative sphere, and this element is not expected to be produced in the representation of Interest Rate products.

stub_endDate :: Maybe AdjustableOrRelativeDate

End date of stub period. This was created to support use of the InterestRateStream within the Equity Derivative sphere, and this element is not expected to be produced in the representation of Interest Rate products.

data StubValue Source

A type defining how a stub calculation period amount is calculated. A single floating rate tenor different to that used for the regular part of the calculation periods schedule may be specified, or two floating rate tenors many be specified. If two floating rate tenors are specified then Linear Interpolation (in accordance with the 2000 ISDA Definitions, Section 8.3 Interpolation) is assumed to apply. Alternatively, an actual known stub rate or stub amount may be specified.

Constructors

StubValue 

Fields

stubValue_choice0 :: Maybe (OneOf3 [FloatingRate] Decimal Money)

Choice between:

  1. The rates to be applied to the initial or final stub may be the linear interpolation of two different rates. While the majority of the time, the rate indices will be the same as that specified in the stream and only the tenor itself will be different, it is possible to specift two different rates. For example, a 2 month stub period may use the linear interpolation of a 1 month and 3 month rate. The different rates would be specified in this component. Note that a maximum of two rates can be specified. If a stub period uses the same floating rate index, including tenor, as the regular calculation periods then this should not be specified again within this component, i.e. the stub calculation period amount component may not need to be specified even if there is an initial or final stub period. If a stub period uses a different floating rate index compared to the regular calculation periods then this should be specified within this component. If specified here, they are likely to have id attributes, allowing them to be referenced from within the cashflows component.
  2. An actual rate to apply for the initial or final stub period may have been agreed between the principal parties (in a similar way to how an initial rate may have been agreed for the first regular period). If an actual stub rate has been agreed then it would be included in this component. It will be a per annum rate, expressed as a decimal. A stub rate of 5% would be represented as 0.05.
  3. An actual amount to apply for the initial or final stub period may have been agreed between th two parties. If an actual stub amount has been agreed then it would be included in this component.

data TimezoneLocation Source

A geophraphic location for the purposes of defining a prevailing time according to the tz database.

elementAmericanExercise :: XMLParser AmericanExerciseSource

The parameters for defining the exercise period for an American style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

elementBermudaExercise :: XMLParser BermudaExerciseSource

The parameters for defining the exercise period for a Bermuda style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

elementEuropeanExercise :: XMLParser EuropeanExerciseSource

The parameters for defining the exercise period for a European style option together with any rules governing the notional amount of the underlying which can be exercised on any given exercise date and any associated exercise fees.

elementExercise :: XMLParser ExerciseSource

An placeholder for the actual option exercise definitions.

elementProduct :: XMLParser ProductSource

An abstract element used as a place holder for the substituting product elements.

data OrganizationType Source

A code that describes what type of role an organization plays, for example a SwapsDealer, a Major Swaps Participant, or Other