Structured Products Builder
Structured Products Builder
User Guide
No part of this document may be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without the express written permission of TEMENOS Holdings NV.
Table of Contents
Overview.................................................................................................................................................. 3
Setup ....................................................................................................................................................... 4
Creating a SY Trade Input Application ................................................................................................ 4
Defining a Structured Product .............................................................................................................. 8
Product Description .......................................................................................................................... 9
Event Definition .............................................................................................................................. 10
System Events ............................................................................................................................ 11
Unit Definition ................................................................................................................................. 12
Product Definition ........................................................................................................................... 16
Connect User Input Application to the Product .......................................................................... 20
Underlying Application Dependencies ............................................................................................... 21
Non Stop Processing ......................................................................................................................... 22
Delivery .............................................................................................................................................. 23
Delivery Interface ........................................................................................................................... 23
Product Level Configuration ........................................................................................................... 25
Unit Level Configuration ................................................................................................................. 26
Overview
The Structured Products Builder (SB) enables the construction of new instruments which can then be
published in the T24 Arrangement Architecture Product catalogue. These instruments are created by
combining various product types which can be represented in T24. This combination can happen
either at instrument initiation or at a time or event triggered point later.
A key principle of the Structured Products Builder is the ability to define a product in a straightforward
way without the need for lengthy setup, or creation of any code. This also includes the re-use of
common components such as product events, and the existing functionality in T24.
The configuration of a product is the combination of events and units of work to synthesise the
features of a Structured Product using the underlying T24 modules as the building blocks for that
product.
The key applications of the Product Builder are illustrated below.
The functionality provided in the Structured Products Builder (SB) module is dependant upon the
Structured Products (SY) module also being installed in the T24 environment.
Setup
This section describes the construction of a new Structured Product, the related input application, the
Accounting setup, and considerations.
EB.TABLE.DEFINITION
Any cross validation of the field values on the above input application requires a separate routine
which is defined in EB.TABLE.PROCEDURES. The id of this record is the same as the input
application – e.g. SY.OTCCRAN
EB.TABLE.PROCEDURES
To ensure that all versions of the input applications (plus the ‘non version’ application) operate
correctly within the SY module, the following VERSION and VERSION.CONTROL setup is required.
Each of the applications created in the previous step require a VERSION.CONTROL record that
must have the following field values: -
INPUT.RTN – SY.INTERFACE
AUTH.RTN – SY.INTERFACE
NON.VERSION.RUN - Y
VERSION.CONTROL
All VERSIONs of the above applications must then have the EXC.INC.RTN field set to ‘Yes’.
VERSION
If required, auto numbering of each of the above applications can be implemented by defining them in
AUTO.ID.START and in PGM.AUTOM.ID on the COMPANY record(s) as per the following
example: -
AUTO.ID.START
COMPANY
The following sections describe the tables required to create a new Structured Product and their
context.
Once a product has been successfully constructed it should be published in the AA Product Catalogue,
prior to being traded. This is described in the Structured Products User Guide.
The preconfigured OTCCRAN product is used in the illustrations throughout this section.
Product Description
The initial step is to create a SY.PRODUCT.DESCRIPTION record which records the basic
description of the product. This is illustrated in the following example.
SY.PRODUCT.DESCRIPTION
Event Definition
The application SY.EVENT.DEFINITION enables the definition of the events that take place during
the lifecycle of a Structured Product – e.g. Create, Input, Maturity, Knock out, Kick in, Fixing Dates, etc.
These definitions act as a template for the SY.EVENT record instances that are automatically created
per transaction during transaction processing.
Events can map to T24 functions, to other T24 events, and can be defined to be triggered ad-hoc by
the user or an external process.
SY.EVENT.DEFINTION
System Events
The following generic SY.EVENT.DEFINITION records are available in T24. These are triggered
when a standard T24 action (e.g. Reverse) that isn’t defined on the SY.PRODUCT.DEFINITION
takes place.
E.g. When a SY deal is reversed and a ‘Reverse’ event hasn’t been defined on the related Product
Definition, the sySystemReverse event is triggered to reverse the underlying trades.
Authorise Plugin
All ‘System Events’ are prefixed sySystem and must not be changed. Should a deviation from the
normal product lifecycle be required a new event with an appropriate event type needs to be setup for
that specific purpose.
Unit Definition
The table SY.UNIT.DEFINITION enables the creation and modification of the Units of work for a
specified Structured Product.
A Unit represents a component part of a Structured Product and will usually be a Deal through an
existing T24 application/VERSION, but can also be a unit of work or piece of processing to be carried
out during the product lifecycle (e.g. an external API call, which passes information to another system).
The Unit also encapsulates a bi-directional mapping between the Structured Product and the
underlying T24 application/VERSION. I.e. populates the required data on the underlying application.
An operation on a Unit is triggered when an Event is processed during the Structured Product lifecycle.
For example the input of a new Callable Range Accrual Note trade would trigger a Unit that creates an
underlying MM.MONEY.MARKET.
These definitions act as a template for the SY.UNIT record instances that are automatically created
per transaction during transaction processing.
SY.UNIT.DEFINITION – Description
SY.UNIT.DEFINITION – Mapping
Units also allow for logical data manipulation and calculation through the use of Product based
Variables (Virtual Fields) which allow the product to gather information from other parts of T24 without
having this captured on the T24 User Input Application. This data can then be manipulated in various
ways.
Using the product variables it’s possible to introduce logic into the processing and filter out units of
work if they are not required under defined conditions.
Any number of variables can be associated with the product and the source data taken from any part
of T24 with the use of drilldowns. Standard mathematical functions are also provided. This variable
can be either transitory (a working variable) or stored. Setting stored will mean that this information is
stored on the transaction and can be used by subsequent units of work. E.g. this could be used for
rate setting or monitoring for barrier breaches.
Recommendation – When implementing a new product, a drill down to the SY input application should
be defined to store the values that are not automatically mapped across to SY.TRANSACTION on a
single unit when the deal is initially created.
The EB.FORMAT.ENTRY id specified on the unit definition is used to map data from the SY trade
input application, SY.EVENT, SY.UNIT, SY.TRANSACTION and product variables to the
underlying T24 applications.
The mapping record (EB.FORMAT.ENTRY) is associated to the operation that is being applied to
the underlying deal.
EB.FORMAT.ENTRY
Product Definition
Any dependencies between events can be configured using the DEPENDENCY field. E.g. A daily event
to check whether a contract has ‘kicked out’ is dependent upon the trade having been authorised.
The field ACTIVE is associated to the event and specifies whether this EVENT and related
dependencies are active. Any events that are not ACTIVE will raise an error.
OPERATION, UNIT.DEF and INSTANCE are associated multi-value fields. The values of “New”,
“Input”, Reverse”, “Authorise”, “Delete”, “Verify” and “Run” can be entered in OPERATION and defines
the function that the field UNIT.DEF which is linked to SY.UNIT will perform.
The product also records the ‘Sweep’ settings. These settings allow entries with the specified
transaction type(s) to be automatically posted back to the Customer’s account during the product
lifecycle – e.g. a monthly interest payment. These settings are defined at product level in
SY.PRODUCT.DEFINITION fields SWEEP.ACCT and SWEEP.TXNS.
The above accounting settings take precedence over the system wide settings on SY.PARAMETER.
Further information on transaction sweeping entries, can be found in the ‘Sweep Txns’ section under
Accounting Process in the Structured Products User Guide.
SY.PRODUCT.DEFINITION – Description
SY.PRODUCT.DEFINITION – Sweeping
SY.PRODUCT.DEFINITION – Events
ASSET.TYPE
SUB.ASSET.TYPE
The SY.PRODUCT.INTERFACE
application provides the link between the
SY.PRODUCT.DEFINITION, and the input application created in EB.TABLE.DEFINITION.
Therefore each Structured Product requires a unique input application. The link is provided by the
PRODUCT.DEFINITION field on SY.PRODUCT.INTERFACE.
Additionally, SY.PRODUCT.INTERFACE provides the facility to define the common mandatory
fields for a product and their mapping to SY.TRANSACTION for core processing.
SY.PRODUCT.INTERFACE
SY.PRODUCT.DEFINITION
When constructing new products, the mechanics of the underlying applications need to be taken into
consideration.
An example of this is MM.MONEY.MARKET which can be set to mature at Start of Day via the field
MATURE.AT.SOD. So, when a Structured Product with an underlying MM.MONEY.MARKET is
constructed, the setting that will be applied to this field needs to be considered in conjunction with the
COB.PHASE of the product’s Maturity event – i.e. the underlying MM.MONEY.MARKET needs to
mature before the SY Maturity event takes place. In this instance they could both be configured to
mature at Start of Day.
Another example is an underlying DX.TRADE. If margin is not applicable the Initial and variation
margin calculations would need to be set to ‘NO.IM’ and ‘NO.VM’ respectively on
DX.CONTRACT.MASTER. Additionally, if the underlying contract of the option is a security then a
corresponding SECURITY.MASTER contract needs to be set up.
N.B. – The underlying trade from an exercised option needs to have the DX ref stamped in
LINK.REFERENCE when the option uses a local API to perform the closeout processing.
ALL Application allows NS processing for New or Amend if NS active for company
NEW Application allows NS processing for NEW only
NOD Can be run Non Stop even NS is not installed
N.B. - The underlying trades of the Structured Product (e.g. MM.MONEY.MARKET) need to be
considered in relation to Non-Stop Processing, when selecting the appropriate value. The
recommended value is ‘NEW’.
Non-stop processing also needs to be installed to successfully input trades for products that have
SY.EVENT.DEFINITION records set with COB.PHASE – Start of Day or Close of Business.
Delivery
The Structured Products module uses standard T24 soft delivery messages. These can be attached
either at product level per event or, at unit level per event.
By using the standard T24 delivery configuration EB.ACTIVITY records can be attached at different
stages in the configured product to produce specific delivery messages.
N.B. – Any delivery that is normally generated from the underlying applications is suppressed when it
is linked to a Structured Product
Delivery Interface
The standard EB.ADVICES messages 5000 (Structured Product Trade Confirmation) and 5100
(Structured Product Deal Termination) are available with Structured Products and are illustrated below.
Full configuration of the actual message output / format as detailed in DE.FORMAT.PRINT can be
configured to suit individual requirements.
Please see Delivery User Guide for more details of how this can be achieved.
At this level of configuration EB.ACTIVITY records can be specified at each EVENT level depending
on when delivery is required to be produced.
As seen in the following example EB.ACTIVITY records have been specified at multiple EVENT
stages. Firstly a delivery messages will be produced at the ‘New’ stage of the contract as specified
next to the PPDCREATE event and field OPERATION.
This event is a user configured SY.EVENT.DEFINITION so could be used if required in unique
instances when delivery is required.
Also in this example, delivery is being specified at the sySystemAuthorise and sySystemReverse
events stage which is more common practice. These are system released SY.EVENT.DEFINITION
records and have to be added to the SY.PRODUCT.DEFINITION record to achieve delivery
messages. Although no OPERATION has been specified in these cases, the messages are still
generated at contract Authorisation and Reversal.