Skip to main content

How to Create Instrument Type

Prerequisites

We assume you have all prerequisites you may need, including:

  1. If needed: the VPN is configured to access the Finmars resources
  2. If needed: access to the Virtual Machine to work with the sensitive information
  3. Must have: registered in Finmars in the needed region environment (self-registered or registered by Finmars)
  4. Must have: having permissions set to allow continue with the Action in the Guide
  5. Must have: to create a new Workspace you must have a License Key (provided by Finmars)

How to Create Instrument Type

1. Open the Workspace, go to Configuration section, Data settings and select Instrument Types.

image.png

2. Use + button to add new instrument type, by selecting "Add blank".

image.png

3. In General tab, we select "com.finmars.standard-instrument-type"as a configuration. Please note that configuration should reflect the module in which this instrument type is created, it can be not only standard. In this particular example, we were working with standard configuration.

For User code, we use respective instrument type name (bond, stock, t-bill, forward, etc.). This name is also used for the following fields: Report Name (Name), Name if Hidden (Public Name) and System name (Short Name). We have convention for a singular form in user code and in Names.

Instrument Class can be different, but for the bond in this illustrative example, we have chosen "Regular Event With Maturity". Kindly note that "Regular Event" and "One-Off Event" are deprecated instrument classes, thus no longer in use. Below is a brief summary of instrument classes which are in use.

  • Event at maturity - Used for instruments with an event at maturity (expiration) date. For instance, zero coupon bond, t-bills, forward, FX forward leg, options.

  • Regular event with maturity - Used for instruments with event at maturity and regular events. For instance, coupon bonds, CDS.
  • Perpetual regular event- Used for instruments with regular events, but no maturity. For instance, perpetual bonds.
  • Default - Instrument with no mechanics behind.
  • General class - Similar to default. For instance, stock, portfolio, other, derivative.
  • Contract for difference - Used for FX instruments. The market value is calculated differently comparing to other classes. It is calculated as P&L whereas other classes MV is calculated as price * position.

We don't make any selections for Factor Same, Factor Up and Factor Down. 

image.png

4. In Pricing Tab, from the drop-down menu, we select USD for pricing currency. Currency is conventional and it is recommended to use USD by default (the same as recommended system default currency). 

When it comes to Price Multiplier, we use 1 for all instrument except for the bonds and t-bills, where we use 0.01 as a Price Multiplier.  Price multiplier can have different values, depending on the way prices of the instruments are provided. Price multiplier is used in calculation of the market value of the instrument. Market value of the instrument equals: position * price * price multiplier * FX rate.

We set "0" (zero) as Default Price. Default price can have different values (not only 0); it is just a price which will be used in pricing if no price was provided for importing.

For Pricing Condition, from the drop-down menu we select: Run Valuation: if non-zero position.

image.png

5. In Accruals tab, from the drop-down menu, we select USD as Accrual Currency. Currency is conventional and it is recommended to use USD by default (the same as recommended system default currency). 

Further, from the second drop-down menu, we select % per annum as Accrual Size Clarification. Only for portfolio, we select Default as Accrual Size Clarification. Accrual Multiplier is set at 1 for all instruments except bonds and t-bills, for which Accrual Multiplier is set at 0.01. For all instrument types, we use 0 (zero) as Default Accrued. Default Accrued can have different values (not only 0), depending on particular instrument type.

image.png

6. In Events tab, we set 9999-12-31 as a maturity date and 0 (zero) as maturity price. It is important to mention that for each instrument, maturity date and maturity price have to be updated to reflect actual contractual terms (this is done before importing data sets).

Maturity date is a date on which a financial agreement ends, triggering the payment of principal with interest or repayment of a loan with interest; it is the date on which the life of a transaction or financial instrument ends, after which it either ceases to exist or can be renewed. Maturity commonly applies to fixed-income investments such as bonds or CDs, as well as loans.

The maturity price of the instrument is the amount that will be paid to the holder of the instrument at its maturity date. This is typically the face value or principal amount of the instrument, such as a bond or a certificate of deposit, which is repaid to the investor when the instrument reaches its maturity.

image.png

7. In User Attributes tab, from the drop-down menu we select Asset Types for respective instrument type. In standard configuration, bonds and t-bills are classified as debt; stocks are classified as equity; options, CDS, forward, FX forward leg are classified as derivative; portfolio and other are classified as other asset type. Here user will see all the user attributes installed in the workspace and they can set default values. 

image.png

8. Exposure tab is deprecated. In Exposure tab, for Exposure Co-Directional Currency and Exposure Counter-Directional Currency, we select USD from the drop-down menu. Please note that we don't make any selection for currencies for FX forward leg, forward, option and derivative in this respect. We set Underlying Long Multiplier and Underlying Short Multiplier at 1.  For Position Reporting, we select Direct Position from the drop-down menu. For other fields relevant for exposure calculation, we don't make any selections. 

image.png

9. Factors tab is deprecated. In Factors tab, we currently do not make any selections.

image.png

10. Layouts should be created beforehand, and they will affect the creation form. In Layout Settings tab, we select the layout of the respective instrument type, from the drop-down menu.

image.png

11. Final step is to click on "Create and Exit" button, after which all changes are saved, and new instrument type is displayed with existing instrument types in configuration section (Data Settings > instrument Types) of the platform.