The Instrument Model
Instrument Core
The Instrument Core class of attributes stores information that is generic to all financial instruments. It also provides the central link to the other attribute classes that describe more specific aspects of a financial instrument.
SQL Table Generation Code
drop table if exists INSTRUMENT CORE;
create table if not exists INSTRUMENT CORE
(
INSTRUMENT_ID int not null,
INSTRUMENT_STATUS varchar(10) not null,
NAME text not null,
PRIMARY_ASSET_CLASS varchar(10) not null,
DENOMINATION_UNIT varchar(10) not null,
NOMINAL_CURRENCY varchar(10) not null,
QUOTATION_BASIS varchar(10) not null,
DAY_COUNT_CONVENTION varchar(10) not null,
SETTLEMENT_DATE_OFFSET_RULE varchar(10) not null,
DATE_ROLL_RULE varchar(10),
SCHEDULED_MATURITY DATE date,
IS_VALID tinyint(1) not null,
VALID_FROM_DATE datetime,
VALID_TO_DATE datetime,
primary key (INSTRUMENT_ID),
);
The Instrument Analytic class allows us to represent analytic values such as estimated prices (as far as not stored in the Instrument Price class), accrued income, and other calculation results like Beta, Yield, and Volatility. It is the place where you store calculation results for later reuse.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Instrument Analytic ID | PK | Unique identifier for an instance of this class. Automatically allocated by the system. | Identifier | M | (Automatic) |
Instrument ID | FK | System identifier of this instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Analytic Scheme | PK | Type (or group) of analytics that an instance of this class represents. | Look-up | M | Analytic Scheme |
Analytic Scheme Element | PK | Specifies the specific analytic within an Analytic Scheme. | Look-up | M | Analytic Scheme Element |
Analytic Amount | — | Calculated analytic value. | Amount | M | — |
Unit | — | Unit of measurement in which the analytic value is denominated. | Identifier | M | Unit |
Period Start Date | FK | Start of the period for which the analytic value has been calculated. If it applies to a single point in time, the Period Start attribute should be set to that time. | Date | M | — |
Period End Date | — | End of the period for which the analytic value has been calculated. If the analytic is for a single point in time, the Period End attribute should be set to that time and coincides with [Period Start Date]. | Date | O | — |
SQL Table Generation Code
drop table if exists INSTRUMENT ANALYTIC;
create table if not exists INSTRUMENT ANALYTIC
(
INSTRUMENT_ANALYTIC_ID int not null,
INSTRUMENT_ID int,
ANALYTIC_SCHEME varchar(10) not null,
ANALYTIC_SCHEME_ELEMENT varchar(10) not null,
ANALYTIC_AMOUNT float(10) not null,
UNIT varchar(10) not null,
PERIOD_START_DATE datetime not null,
PERIOD_END_DATE datetime not null,
primary key (INSTRUMENT_ANALYTIC_ID),
);
The Instrument Cash Flow Element class allows us to represent the scheduled cash flow structure of the instrument; for example, any fixed, optional, or residual income or capital redemption cash flows scheduled for the instrument. The Instrument Cash Flow Element class is used in conjunction with one or more instances of the Instrument Cash Flow Schedule class.
SQL Table Generation Code
drop table if exists INSTRUMENT CASH FLOW ELEMENT;
create table if not exists INSTRUMENT CASH FLOW ELEMENT
(
CASH_FLOW_ELEMENT_ID int not null,
INSTRUMENT_ID int not null,
CASH_FLOW_ELEMENT_TYPE varchar(10) not null,
PERIOD_START_DATE datetime not null,
PERIOD_END_DATE datetime,
BASE_INSTRUMENT_IDENTIFIER_TYPE varchar(10) not null,
BASE_INSTRUMENT_IDENTIFIER varchar(20) not null,
BASE_UNIT varchar(10) not null,
BASE_VALUE varchar(10) not null,
BASE_VALUE_DENOMINATOR varchar(10) not null,
RATE_CONSTANT numeric(10,6) not null,
RATE_FACTOR numeric(10,6),
CAP numeric(10,6),
FLOOR numeric(10,6),
UNDERLYING_INSTRUMENT_IDENTIFIER_TYPE varchar(10),
UNDERLYING_INSTRUMENT_IDENTIFIER varchar(20),
UNDERLYING_TYPE varchar(10),
UNDERLYING_PRICE_TYPE varchar(10),
primary key (CASH_FLOW_ELEMENT_ID),
);
The Instrument Cash Flow Schedule class specifies the first and last dates on which a particular cash flow event for a Cash Flow Element is planned to occur, as well as how to determine any future regular recurrences of that event.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Cash Flow Schedule ID | PK | Unique identifier for an instance of this class. Automatically allocated by the system. | Identifier | M | (Automatic) |
Cash Flow Element ID | FK | Identifies Cash Flow Element to which an instance of this class belongs. | String | M | — |
Cash Flow Schedule Type | — | Type of event the series of which is modelled by the instance of the Cash Flow Schedule class; e.g., accrual date, settlement date, fixing date, etc. | Look-up | M | Cash Flow Schedule Type |
Repetition Period Type | — | Specifies the type of period defined for the repetition of the event; e.g., Day, Week, Month, Year. | Look-up | O | Repetition Period Type |
Repetition Period Length | — | Specifies the length of the interval between successive repetitions of the event in terms of the defined period type; e.g., 2 (days), 3 (months), etc. | Number | O | — |
Schedule Start Date | — | Specifies the first occurrence of the Cash Flow Element and the start of the repetition sequence if the Cash Flow Element is recurring. | Date | M | — |
Schedule End Date | — | Specifies the last occurrence of the Cash Flow Element if the Cash Flow Element is recurring. If it is not recurring it must be set to the same date as the Schedule Start Date attribute. | Date | M | — |
SQL Table Generation Code
drop table if exists INSTRUMENT CASH FLOW SCHEDULE;
create table if not exists INSTRUMENT CASH FLOW SCHEDULE
(
CASH_FLOW_SCHEDULE_ID int not null,
CASH_FLOW_ELEMENT_ID int not null,
INSTRUMENT_ID int not null,
CASH_FLOW_SCHEDULE_TYPE varchar(10) not null,
REPETITION_PERIOD_TYPE varchar(10),
REPETITION_PERIOD_LENGTH varchar(10),
SCHEDULE_START_DATE datetime not null,
SCHEDULE_END_DATE datetime not null,
primary key (CASH_FLOW_SCHEDULE_ID),
);
The Instrument Cash Flow Fixing class of attributes allows the representation of actual fixings that have taken place, defining the actual values of any variable coupon, redemption, or cash flow related parameters such as pool factors for any instrument.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Cash Flow Fixing ID | PK | Unique identifier for an instance of this class. Automatically allocated by the system. | Identifier | M | (Automatic) |
Instrument ID | FK | Unique identifier for this instrument data record. This attribute specifies the instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Cash Flow Element ID | Specifies the element to which an instance of this class belongs. | String | O | — | |
Cash Flow Fixing Type | Specifies the type of instrument element to which the fixing value applies. | Look-up | M | Cash Flow Fixing Type | |
Fixing Date | Specifies the date on which the actual fixing has taken place. | Date | O | — | |
Effective Date | Specifies the date from which onward the fixed value applies. | Date | M | — | |
Fixing Value | Specifies the actual value determined for the fixing. | Amount | M | — | |
Fixing Unit | Specifies the unit in which the fixing is expressed. | Look-up | M | Unit |
SQL Table Generation Code
drop table if exists INSTRUMENT CASH FLOW FIXING;
create table if not exists INSTRUMENT CASH FLOW FIXING
(
CASH_FLOW_FIXING_ID int not null,
CASH_FLOW_ELEMENT_ID int not null,
INSTRUMENT_ID int not null,
CASH_FLOW_FIXING_TYPE varchar(10) not null,
FIXING_DATE datetime,
EFFECTIVE_DATE datetime not null,
FIXING_VALUE numeric(15,6) not null,
FIXING_UNIT varchar(10) not null,
primary key (CASH_FLOW_FIXING_ID),
);
The Instrument Identifier class or attributes captures information on the instrument identification. Data on multiple identifiers for the same instrument can be stored in a repetitive mode.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Instrument Identifier ID | PK | Unique identifier for an instance of this class. Automatically allocated by the system. | Identifier | M | (Automatic) |
Instrument ID | FK | System identifier of this instrument to which an instance of this class belongs. | Identifier | M | — |
Numbering Scheme | — | Specifies the identifier coding scheme or numbering scheme according to which a value for this financial instrument is stored. The numbering scheme can be, for example, ISIN. | Look-up | M | Numbering Scheme |
Identifier Value | — | Stores the actual value of the identifier, for example the ISIN code for this financial instrument. | String | M | — |
SQL Table Generation Code
drop table if exists INSTRUMENT IDENTIFIER;
create table if not exists INSTRUMENT IDENTIFIER
(
INSTRUMENT_IDENTIFIER_ID int not null,
INSTRUMENT_ID int not null,
NUMBERING_SCHEME varchar(10) not null,
IDENTIFIER_VALUE varchar(20) not null,
primary key (INSTRUMENT_IDENTIFIER_ID),
);
The Instrument Income Payment class records the history of actual income payments for an instrument. This includes declared and actually settled dividend payments as well as actual coupon payments. For the purpose of this book, we abstract from noncash income as well as any tax considerations.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Income Payment ID | PK | Holds the unique system internal identifier for the record. | Identifier | M | — |
Instrument ID | FK | System identifier of this instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Income Event Type | — | Identifier | M | Income Event Type | |
Period Start Date | — | Date | O | — | |
Period End Date | — | Specifies the end of the period started by Period Start Date. | Date | O | — |
Income Accrued in Cash | — | Specifies the actual value of the income in terms of the Nominal Currency. | Amount | M | — |
SQL Table Generation Code
drop table if exists INSTRUMENT INCOME PAYMENT;
create table if not exists INSTRUMENT INCOME PAYMENT
(
INCOME_PAYMENT_ID int not null,
INSTRUMENT_ID int not null,
INCOME_EVENT_TYPE varchar(10) not null,
PERIOD_START_DATE datetime,
PERIOD_END_DATE datetime,
INCOME_ACCRUED_IN_CASH numeric(10,6) not null,
primary key (INCOME_PAYMENT_ID),
);
The Instrument Index Version and Instrument Index Constituent attribute classes allow us to represent Index definitions and versions of these definitions such as Equity or Bond Indices.
The Instrument Index Version allows us to record a unique set of parameters and constituents applicable for a defined period. If the constituents or parameters of an index are changed, a new version of the index is created.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Index Version ID | PK | Holds the unique system internal identifier for the record. | Identifier | P | — |
Instrument ID | FK | System identifier of this instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Index Valuation Formula | — | Specifies the formula used to calculate the index value. | Look-up | M | Index Valuation Formula |
Index Valuation Variable | — | Specifies the variable used for representing the value of each index component. | Look-up | M | Index Valuation Variable |
Index Weighting Variable | — | Specifies the variable used for representing the weight of each index component. | Look-up | M | Index Weighting Variable |
Initial Amount | — | Specifies the initial value of the index version. Allows normalisation of the index at inception to a certain value. | Amount | M | — |
Is Market Price Required | — | Specifies whether market prices are required for this index or whether evaluated prices are acceptable. | Indicator | M | — |
Minimum Constituents | — | Specifies the minimum number of constituents required for a valid index calculation. | Amount | M | — |
Minimum Days Near Maturity Amount | — | Specifies the minimum remaining life for an instrument that can be included in the index. | Amount | M | — |
Maximum Missing Price Threshold | — | Specifies the maximum age of prices in calendar days to be used in the index calculation. | Amount | M | — |
Chaining Factor | — | Amount | M | — | |
Is Official | — | Signals whether an instance of this class is from an official source or deemed to be official. | Indicator | M | — |
Is Valid | — | Signals whether the information provided in this record is still currently valid or active. This flag has special significance in candidate and compound records. | Indicator | M | — |
Valid From Date | — | Defines the date from which the information provided in this record is valid for the financial instrument. | Date | M | — |
Valid To Date | — | Defines the date until which the information provided in this record is valid for the financial instrument. | Date | O | — |
The Instrument Index Constituent class is used to record the financial instruments that are used for an index. Details on how to set up custom indices are given in Chapter 9.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Index Constituent Identifier | PK | Holds the unique system internal identifier for the record. | Identifier | M | N/A |
Instrument ID | FK | System identifier of this instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Index Version ID | FK | Specifies the index version to which this constituent belongs. | Identifier | M | Instrument Index Version ID |
Weight Factor | — | Specifies the weighting to be given to the instrument within the index. | Amount | M | N/A |
Chaining Factor | — | Specifies the multiplier to be used to adjust the value of this constituent before it is used in the index calculation. This normally is used to adjust for example for dividends and stock split. | Amount | M | N/A |
Is Valid | — | Signals whether the information provided in this record is still currently valid or active. This flag has special significance in candidate and compound records. | Indicator | M | N/A |
Valid From Date | — | Defines the date from which the information provided in this record is valid for the financial instrument. | Date | O | N/A |
Valid To Date | — | Defines the date until which the information provided in this record is valid for the financial instrument. | Date | O | N/A |
The Instrument Issuance class of attributes represents the history of Issuance events for an instrument. We do not enter into the intricacies of various offer types, and issuance statuses or issuance events. We only record issuance data for instruments that have actually been issued and record the factual issuance data.
The Instrument Issuance Date class of attributes represents the set of dates applicable to the history of issuance transactions recorded for an instrument.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Issuance Date ID | PK | Unique system internal identifier for any instance of this class. | Identifier | P | N/A |
Instrument ID | FK | Unique identifier for this instrument data record. This attribute specifies the instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Instrument Issuance ID | — | Unique system internal identifier for any instance of the Instrument Issuance class. | Identifier | M | Issuance ID |
Issuance Date Type | — | Specifies the stage of the issuance process to which the date specified in Issuance Date refers. | Date | O | Issuance Date Type |
Issuance Date | — | Specifies the date corresponding to the stage of the issuance process defined in Issuance Date type. | Date | O | N/A |
The Instrument Rating class of attributes may be used to represent the various proprietary and public ratings that are assigned to instruments and reviewed from time to time. This includes credit ratings for bonds as well as more general risk ratings.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Instrument Rating ID | PK | Unique system internal identifier for any instance of this class. | Identifier | M | — |
Instrument ID | FK | System identifier of this instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Rating Scheme | — | Specifies the rating agency and the type of rating to which the Rating Scheme Value corresponds; e.g., Moody’s Short Term Rating, etc. | Look-up | M | Rating Scheme |
Rating Scheme Value | — | Specific rating given to the instrument. | String | M | |
Is Valid | — | Indicates whether an instance of this class is still currently valid or active. | Indicator | M | — |
Valid From Date | — | Date | O | — | |
Valid To Date | — | Date | O | — |
SQL Table Generation Code
drop table if exists INSTRUMENT RATING;
create table if not exists INSTRUMENT RATING
(
INSTRUMENT_RATING_ID int not null,
INSTRUMENT_ID int,
RATING_SCHEME varchar(10) not null,
RATING_SCHEME_VALUE varchar(20) not null,
IS_VALID tinyint(1) not null,
VALID_FROM_DATE datetime,
VALID_TO_DATE datetime,
primary key (INSTRUMENT_RATING_ID),
unique (),
);
The Instrument Relationship Condition class represents constraints in terms of relationships between the financial instrument concerned and other financial instruments. Examples are the linkage of benchmarks to portfolios, programmes of short term debt issuances and derivative contract specifications from which actual contracts are derived. Actual Instruments derived from these should then follow the patterns defined in this way.
The Portfolio Version and Portfolio Constituent attribute classes allow us to store information on portfolios of instruments.
The Portfolio Version records a unique set of parameters and constituents applicable for a defined period. Portfolio versions may be used if there are changing parameters or if constituent sets are to be frozen.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Portfolio Version ID | PK | Unique system internal identifier for any instance of the Instrument Curve Version class. | Identifier | P | — |
Instrument ID | FK | System identifier of this instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Portfolio Version Scheme | — | Specifies the purpose for which the portfolio version is being used. | Identifier | O | Portfolio Version Scheme |
Is Valid | — | Signals whether the information provided in this record is still currently valid or active. This flag has special significance in candidate and compound records. | Indicator | M | — |
Valid From Date | — | Defines the date from which the information provided in this record is valid for the financial instrument. | Date | O | — |
Valid To Date | — | Defines the date until which the information provided in this record is valid for the financial instrument. | Date | O | — |
SQL Table Generation Code
drop table if exists PORTFOLIO VERSION;
create table if not exists PORTFOLIO VERSION
(
PORTFOLIO_VERSION_ID int not null,
INSTRUMENT_ID int,
PORTFOLIO_VERSION_SCHEME varchar(10) not null,
IS_VALID tinyint(1) not null,
VALID_FROM_DATE datetime,
VALID_TO_DATE datetime,
primary key (PORTFOLIO_VERSION_ID),
unique (),
);
The Portfolio Constituent class of attributes is used to record the financial instruments that compose a portfolio. See Chapter 9 for details on how to set up portfolios.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Constituent Instrument ID | PK | Unique system internal identifier for constituent records. | Identifier | M | — |
Portfolio Version ID | FK | Specifies the portfolio version for which this constituent is used. | Identifier | M | Portfolio Version ID |
Instrument ID | FK | System identifier of this instrument to which an instance of this class belongs. | Identifier | M | Instrument ID |
Weight Factor | — | Defines the weight of the financial instrument within the portfolio. | Amount | M | — |
Effective Date | — | Defines the date from which onward the constituent is active within the portfolio version. | Date | M | — |
Constituent Function | — | Specifies the purpose for which this constituent has been recorded. | Identifier | M | Constituent Function |
Base Cost Amount | — | Defines the value of the instrument constituent as a chosen (normalising) base price. | Amount | O | — |
Base Cost Currency | — | Currency that is used for the Base Cost Amount. | Identifier | O | Currency (ISO 4217) |
Is Valid | — | Signals whether the information provided in this record is still currently valid or active. This flag has special significance in candidate and compound records. | Indicator | M | — |
Valid From Date | — | Defines the date from which the information provided in this record is valid for the financial instrument. | Date | O | — |
Valid To Date | — | Defines the date until which the information provided in this record is valid for the financial instrument. | Date | O | — |
SQL Table Generation Code
drop table if exists PORTFOLIO CONSTITUENT;
create table if not exists PORTFOLIO CONSTITUENT
(
CONSTITUENT_INSTRUMENT_ID int not null,
PORTFOLIO_VERSION_ID int not null,
INSTRUMENT_ID int,
WEIGHT_FACTOR numeric(10,2) not null,
EFFECTIVE_DATE datetime not null,
CONSTITUENT_FUNCTION varchar(10) not null,
BASE_COST_AMOUNT numeric(10,6),
BASE_COST_CURRENCY varchar(10),
IS_VALID tinyint(1) not null,
VALID_FROM_DATE datetime,
VALID_TO_DATE datetime,
primary key (CONSTITUENT_INSTRUMENT_ID),
unique (),
unique (),
,
);
The Portfolio Position class of attributes is used to record valuations, risk and return measures for financial instruments that compose a portfolio. See Chapter 9 for details on how to model portfolios.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Portfolio Instrument | PK | ID of the portfolio. | NUMBER | M | — |
Portfolio Version | FK | ID of the portfolio snapshot or version. | VARCHAR2 | M | — |
Constituent Instrument | FK | ID of the instrument held in the portfolio. | NUMBER | M | — |
Quantity | — | Long (+) or short (−) position held. | NUMBER | — | |
Valuation | — | This is either the cost, valuation, or period return for the position. | NUMBER | — | |
Effective Date | — | Date of last revision to the position. | DATE | — | |
Position Transaction Reference | — | Cross reference to the transaction that established the position. | NUMBER | — | |
Position Function | — | Type of position. | VARCHAR2 | — | |
Position Stage | — | Type of position. | VARCHAR2 | — | |
Currency | — | Currency of the position. | VARCHAR2 | — | |
Is Valid | — | Indicates whether the position is still in use for current or historical reporting or has been entirely superseded. | NUMBER | — | |
Valid From Date | — | Date from which the position existed or the beginning of a period from which to measure the return on the position. | DATE | — | |
Valid To Date | — | Last date on which the position existed or the end of a period from which to measure the return on the position. | DATE | — |
The Benchmark Component class of attributes is used to store information on portfolio benchmarks that is to be mapped to portfolios via the Instrument Relationship Condition Class.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Benchmark Instrument | PK | Id of the Benchmark. | NUMBER | M | — |
Benchmark Version | FK | Id of the Benchmark Snapshot or Version. | VARCHAR2 | M | — |
Component Instrument | — | Id of the Instrument held in the benchmark. | NUMBER | — | |
Weight Factor | — | Weight of the component in the benchmark. | NUMBER | — | |
Return Factor | — | Return of the component over a given period. | NUMBER | — | |
Chaining Factor | — | NUMBER | — | ||
Effective Date | — | Date of last revision to the position. | DATE | — | |
Position Function | — | Type of position. | VARCHAR2 | — | |
Position Stage | — | Type of position. | VARCHAR2 | — | |
Currency | — | Currency of the Benchmark Component. | VARCHAR2 | — | |
Is Valid | — | Indicates whether the position is still in use for current or historical reporting or has been entirely superseded. | NUMBER | — | |
Valid From Date | — | Date from which the position existed or the beginning of a period for which to measure the return on the position. | DATE | — | |
Valid To Date | — | Last date on which the position existed or the end of a period for which to measure the return on the position. | DATE | — |
The Party Core class stores information about organisations. It refers to organisations participating in operations with financial instruments acting as one or more of the following roles: issuer, issuer parent organisation, guarantor, depository, exchange, data source, and so on.
SQL Table Generation Code
drop table if exists PARTY CORE;
create table if not exists PARTY CORE
(
PARTY_ID int not null,
NAME text not null,
PARTY_TYPE varchar(10) not null,
CURRENT_STATUS varchar(10) not null,
BASE_CURRENCY varchar(10),
IS_VALID tinyint(1) not null,
VALID_FROM_DATE datetime,
VALID_TO_DATE datetime,
primary key (PARTY_ID)
);
The package Party Account represents financial profiles and reports for parties. This includes income, balance sheet, and flow of funds statements, as well as lower level analytical accounts. The Party Account class stores financial profiles and reports for parties. This includes income, balance sheet, and flow of funds statements as well as lower level analytical accounts.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Party Account ID | PK | Unique system internal identifier for any instance of this class. | Identifier | P | — |
Party ID | FK | Specifies the party to which an instance of this class belongs. | Identifier | M | Party ID |
Party Account Scheme | — | Specifies the scheme from which the Party Account Scheme Value is selected. | Look-up | O | Party Account Scheme |
Party Account Scheme Element | — | Look-up | M | Party Account Scheme Element | |
Party Account Amount Function | — | Look-up | M | Party Account Amount Function | |
Party Account Status | — | Specifies the present status of the Party Account. For instance, this could be OPEN, RECONCILED, CLOSED, etc. | Look-up | M | Party Account Status |
Original Currency | — | Specifies the currency in which the Original Currency Amount is denominated. | Look-up | M | Currency (ISO 4217) |
Original Currency Amount | — | Amount | M | — | |
Base Currency Amount | — | Records the stock or flow amount expressed in terms of the base currency on which the accounting records of the party are denominated. | Amount | M | — |
Period Start Date | — | Date | M | — | |
Period End Date | — | Date | M | — | |
Narrative | — | Allows storing an optional short comment for the party account amount. | String | O | — |
Debit Credit | — | Specifies whether the party account amount is a debit or credit entry. | Look-up | M | Debit Credit |
Is Valid | — | Indicates whether an instance of this class is still currently valid or active. This flag has special significance in candidate and compound records. | Indicator | M | — |
SQL Table Generation Code
drop table if exists PARTY ACCOUNT;
create table if not exists PARTY ACCOUNT
(
PARTY_ACCOUNT_ID int not null,
PARTY_ID int not null,
PARTY ACCOUNT SCHEME varchar(10) not null,
PARTY_ACCOUNT_SCHEME_ELEMENT varchar(10) not null,
PARTY_ACCOUNT_AMOUNT_FUNCTION varchar(10) not null,
PARTY_ACCOUNT_STATUS varchar(10) not null,
ORIGINAL_CURRENCY varchar(10) not null,
ORIGINAL_CURRENCY_AMOUNT numeric(10,2) not null,
BASE_CURRENCY_AMOUNT numeric(10,2) not null,
PERIOD_START_DATE datetime not null,
PERIOD_END_DATE datetime not null,
NARRATIVE varchar(255),
DEBIT_CREDIT varchar(10) not null,
IS VALID tinyint(1) not null,
primary key (PARTY_ACCOUNT_ID),
);
The Party Analytic package contains the class of attributes needed to represent imported or calculated analytic values for a party, such as earnings per share and others. The Party Analytic class stores imported, derived, or calculated analytic values for a party. It stores information that can represent simple scalar analytics, such as volatility, as well as information for curve-based analytics. Curve-based analytics include, for example, default curves in the case of funds or accounting, performance, and financial ratios for other issuers.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Party Analytic ID | PK | Unique system internal identifier for any instance of this class. | Identifier | P | — |
Party ID | FK | Specifies the party to which an instance of this class belongs. | Identifier | M | Party ID |
Analytic Scheme | — | Specifies the category of analytics to which an instance of this class belongs such as Accounting analytics or Volatility. | Look-up | M | Analytic Scheme |
Analytic Scheme Element | — | Look-up | M | Analytic Scheme Element | |
Analytic Amount | — | Records the actual calculated analytic value. | Amount | M | — |
Calculation Date | — | Specifies the date and time at which the Analytic Amount was calculated. | Date | M | — |
Unit | — | Defines the unit of measurement in which the Analytic Amount is denominated. | Look-up | M | Unit |
Currency | — | Specifies the currency in which the Analytic Amount is denominated, if applicable. | Look-up | O | Currency (ISO 4217) |
Period Start Date | — | Date | M | — | |
Period End Date | — | Date | O | — | |
Is Valid | — | Indicates whether an instance of this class is still currently valid or active. This flag has special significance in candidate and compound records. | Indicator | M | — |
SQL Table Generation Code
drop table if exists PARTY ANALYTIC;
create table if not exists PARTY ANALYTIC
(
PARTY_ANALYTIC_ID varchar(10) not null,
PARTY_ID int not null,
ANALYTIC_SCHEME varchar(10) not null,
ANALYTIC_SCHEME_ELEMENT float(10) not null,
CALCULATION_DATE datetime not null,
UNIT varchar(10) not null,
CURRENCY varchar(10),
PERIOD_START_DATE datetime not null,
PERIOD_END_DATE datetime,
IS VALID varchar(10) not null,
primary key (PARTY_ANALYTIC_ID),
);
The Party Industry Classification allows us to store information about the party’s economic activity.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Party Industry ID | PK | Unique system internal identifier for this class. | Identifier | M | — |
Party ID | FK | System identifier for the party to which an instance of this class belongs. | Identifier | M | Party ID |
Industry Scheme | — | Specifies the sector classification scheme (or category) to which the party being classified is exposed or belongs. | Look-up | M | Industry Scheme |
Industry Scheme Value | — | Specifies the specific sector classification (element) for a given sector classification scheme to which the party being classified is exposed or belongs. | Look-up | M | Industry Scheme Value |
Industry Exposure | — | — | Number | O | — |
SQL Table Generation Code
drop table if exists PARTY INDUSTRY CLASSIFICATION;
create table if not exists PARTY INDUSTRY CLASSIFICATION
(
PARTY_INDUSTRY_ID int not null,
PARTY_ID int not null,
INDUSTRY_SCHEME varchar(10) not null,
INDUSTRY_SCHEME_VALUE varchar(20) not null,
INDUSTRY_EXPOSURE numeric(10,6) not null,
primary key (PARTY_INDUSTRY_ID),
);
The Party Rating represents the various proprietary and public ratings assigned to parties over time. This includes credit ratings for parties as well as more generic risk and performance ratings.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Party Rating ID | PK | Unique system internal identifier for this class. | Identifier | M | — |
Party ID | FK | System identifier for the party to which an instance of this class belongs. | Identifier | M | Party ID |
Rating Scheme | — | Identifier | M | Rating Scheme | |
Rating Scheme Value | — | Stores the actual rating value given to the party. | String | M | — |
Is Valid | — | Indicates whether an instance of this class is still currently valid or active. This flag has special significance in candidate and compound records. | Indicator | M | — |
Valid From Date | — | Date from which the rating is valid. | Date | M | — |
Valid To Date | — | Date on which this rating is no longer valid. | Date | O | — |
SQL Table Generation Code
drop table if exists PARTY RATING;
create table if not exists PARTY RATING
(
PARTY_RATING_ID int not null,
PARTY_ID int not null,
RATING_SCHEME varchar(10) not null,
RATING_SCHEME_VALUE varchar(20) not null,
IS_VALID tinyint(1) not null,
VALID_FROM_DATE datetime not null,
VALID_TO_DATE datetime,
primary key (PARTY_RATING_ID),
);
The Role Instrument Issuer is used to represent the role of a party as issuer for an instrument. An issuer is a party who creates an instrument and at least in the first instance is responsible and liable for any agreed payoff from an instrument throughout its life.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Issuer Role ID | PK | Unique system internal identifier for any instance of the Issuer class. | Identifier | M | — |
Instrument ID | FK | Specifies the financial instrument for which the role is carried out. | Identifier | M | Instrument ID |
Party ID | FK | Specifies the party who performs the specified role. | Identifier | M | Party ID |
The Market Model consists of two attribute classes, Instrument Price and Instrument Listing, directly linked to the Instrument Core class of the Instrument model. It allows the representation of any market or estimated prices with a comprehensive set of descriptive attributes to distinguish different types of prices.
The Instrument Price stores the prices for financial instruments. This includes instrument prices in the narrow conventional sense, as unit asset prices for instance used with equities, or percentage asset prices as used commonly for debt instruments, and for prices in a wider sense such as index values, prices expressed as yields, and others.
Attribute Name | PK/FK | Description | Type | M/O | Domain |
---|---|---|---|---|---|
Price ID | PK | Unique system internal identifier for the price record. | Identifier | M | (Automatic) |
Instrument ID | FK | Specifies the financial instrument for which this price applies. | Identifier | M | Instrument ID |
Price Date | — | Specifies the date for which this price information is provided or to which it relates. | Date | M | — |
Price Type | — | Specifies the price type; e.g., Daily Open, Daily Close, Daily Highest, Daily Lowest (or Intra-day) BID, ASK, PAID CALC, NAV. | Identifier | M | Price Type |
Price Value | — | Specifies the price for this financial instrument after any adjustments. | Amount | M | — |
Price Quotation Basis | — | Specifies the type of price quotation (e.g., percentage of nominal value). | Identifier | M | Quotation Basis |
Price Currency | — | Specifies the currency used for this price. | Identifier | M | Currency (ISO 4217) |
Price Lot Size | — | Specifies whether there is a preset and required trading size for the market where the instrument is traded. For example sometimes securities are traded only per 1000 units; e.g., in lots of 1000. | Amount | O | — |
Price Income Inclusion | — | Indicates whether the price is including/excluding entitlement to dividend, interest, or rights. Indicates whether the price value contains the entitlement (“Dirty”), or not (“Clean”). | Identifier | O | Price Income Inclusion |
Traded Volume | — | Amount | O | — |
SQL Table Generation Code
drop table if exists INSTRUMENT PRICE;
create table if not exists INSTRUMENT PRICE
(
PRICE_ID int not null,
INSTRUMENT_ID int,
PRICE_DATE datetime not null,
PRICE_TYPE varchar(10) not null,
PRICE_VALUE numeric(10,6) not null,
PRICE_QUOTATION_BASIS varchar(10) not null,
PRICE_CURRENCY varchar(10) not null,
PRICE_LOT_SIZE numeric(10,4),
PRICE_INCOME_INCLUSION varchar(10),
TRADED_VOLUME numeric(10,4),
primary key (PRICE_ID),
unique (),
);
3.145.44.192