GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302...

434
Curve Builder Release 6 User Guide

Transcript of GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302...

Page 1: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Builder

Release 6

User Guide

Page 2: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Copyright

Published: July 2020Edition: 1

The content in this document contains confidential or proprietary information and is subject to change withoutnotice. All content in this publication is copyright of Enverus and Enverus Ltd, unless otherwise explicitly stated.No part of this document may be reproduced or transmitted in any form or by anymeans (electronic ormechanical, or by photocopying, recording or otherwise), without the prior consent of Enverus or Enverus Ltd.

The screenshots and graphics are representative of those created by the software andmay not be exact copiesof what is displayed.

Enverus, the Enverus logo, DataManager, Curve Builder, Data Loader, Live Connect and Data Hub are brandnames, trademarks or registered trademarks of Enverus and Enverus Ltd. All other brand names andtrademarks are the properties of their respective companies.

Copyright © 2020 All rights reserved.

https://www.enverus.com/

Page 3: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Contents

Introduction 1About Curve Builder 1KeyConcepts 2

Getting Started 4Registering a Server 4Federated Authentication 8Import / Export of Server Registration Details 9Cloning Server Registration Details 13Connecting to the GCB Server from the Client 14Changing your Password 19Disconnecting from theGCB Server 21

Setting Preferences 22Environment Settings 23Formatting Settings 26Error Reporting Settings 28

DataChart Viewer Settings 29Curves Settings 30Statuses Settings 31Data Chart Settings 32Data Grid Settings 33Range Scale Settings 34

Import Export Settings 35Code Editor Settings 37Setting Visual Themes 38Menu Settings 41Docking Panes Settings 43Workspace Settings 45Task Panel Settings 47Others Settings 48

GCB Environment 49User Interface 49MenuOptions 58Working with Data Tables 68Customizing the Columns 69

i

Page 4: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Copying and Saving a Data Table 71Grouping and Sorting the Data Table 74Applying Selection Rules 78

Products 80Products Data Table 82Creating a New Product 83Product Data 87Product Properties 90

Viewing the Product Data Chart 92Editing a Product 94Deleting a Product 96

Rules 97KeyConcepts for Rules 99RulesData Table 103Creating a New Rule Package 104Adding andManaging Rules 108Adding andManaging Functions 115Adding andManaging Import Packages 120Setting the Rule Properties 125Defining the Cron Schedule 129

Creating a CustomRule Package 133Cloning a Rule Package 136Documenting the Rule Package 139Editing a Rule Package 141Deleting a Rule Package 143Managing Rule Package Versions 144Setting the Rule Package Status 148

About the Rules Package Debugger 151Debug User Interface 151Working with Test Cases 158

Curves 166DataManager - Curve Builder Integration 168Curve Definitions 171Curve Definition Data Table 177Editing the Curve Definition 179Curve Definition Details 181Selecting the Input Sources for the Curve 187Configuring Finalizers for a Curve 193Documenting the Curve 197

ii

Page 5: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Managing Versions of the Curve Definition 199Setting the Status for the Curve 204

Adding Curves to a Dashboard Group 206Cloning a Curve Definition 207Deleting a Curve Definition 209Viewing Curve Relationships 210

Curve Formulas 211Curve Formula Structure 213Curve Building Using Formulas 222Curve Formula Variables 226Curve Formula Functions 238Curve Formula CustomFunctions 244Curve Formula Examples 245IF Statement Examples 250Curve Formulas in the Curve Definition 252Creating a Curve Formula Rule Package 254

Curve Folders 260Adding Curves to a Folder 261Creating a Curve Folder 262Editing a Curve Folder 263Copying a Curve Folder 264Moving a Curve Folder 266Deleting a Curve Folder 267

Curve Hierarchy 268View HierarchyOption 270

Curve Building 271Run Types 271Viewing the Built Curve 277Built Curve Data Table 280Curve VersionsData Table 282

Process Log for Built Curves 283Viewing the Curve Process Log 285

Viewing the Curve Properties 287Locking and Unlocking a Curve 290Approving and Unapproving Curves 291Deleting Built Curve Versions 293

Curve Shaping 294Creating a New Shape Definition 296Editing a Shape Definition 299

iii

Page 6: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Shape Properties 300Building the Shape 302Deleting a Shape Definition 306

Curve Scripts 307Creating a New Script 308Editing a Script 311

Deleting a Script 313Managing Script Versions 314Setting the Script Status 319

Live Curves 321KeyConcepts for Live Curves 322Taking a Snapshot of a Live Curve 324Cleaning the Live Curves 327AgendaGroups for Live Curves 329MemoryManagement for Rule-Based Live Curves 331

Curve Validation 332Curve Validation Rule Details 333Manual Curve Validation 334Validation Rule Examples 336Generating a Statistic Report of the Curve Data 342

Dashboard 344DashBoard User Interface 346Dashboard CurveGroups StatusData Table 351Dashboard Curve Status Data Table 352

Monitoring the Curve Status on the Dashboard 353Filtering the Dashboard 357Viewing the Dashboard Process Log 363

Dashboard Groups 365Creating a New Dashboard Group 367Editing a Dashboard Group 370Configuring Finalizers for a CurveGroup 372Adding Curves to a Dashboard Group 375Deleting Curves from aDashboard Group 376

Running the Dashboard Group Curves 377Running the Dashboard Group Finalizers 378Approving and Unapproving Dashboard Groups 379Locking and Unlocking Dashboard Groups 380Deleting a Dashboard Group 381

Charts 382

iv

Page 7: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Selecting the Chart Type 383Selecting Chart Options 385Chart Settings 387Built Curve Data Table 393Exporting Data to Excel 395Filtering Data in the Chart Viewer 396Data Conversion 398Applying CurrencyConversion 400Applying Unit Conversion 401Supported Units 402Unit Conversion between Dimensions 403Unit Conversion within the SameDimension 414Vendor and CustomConversion 417

Setting Conversion Options 419RoundingOptions 420

Getting Help 426Help Resources 426Contacting Support 427Documentation Feedback 427

v

Page 8: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Introduction

About Curve Builder

Curve Builder is a purpose-built application providing a fast, flexible and scalable framework for the automatedgeneration of forward curves for any asset class.

In addition to the pre-defined set of rules provided, you can specify custom rules for the rapid construction andgeneration of forward curves. Curves can be built in real-time, intra-day or end of day. TheGCB applicationalso provides manual or automated curve validation and a processing dashboard for monitoring curve status.

The client tools include theWindows desktop application and Curve Builder ExcelAdd-In.

TheWindows desktop application is a fully featured administration tool, providing:

l Creation, editing and deletion of curve definitions, shape definitions, scripts and rules.

l Rule debug for testing and drilling into rule execution.

l Definition and testing of data validation to check data quality.

l Dashboard tomonitor daily curve builds and to view quality status information.

l Configuration of finalizers, to specify processes to deal with curve failures and curve export.

l Management of meta data, e.g. calendars, units, etc.

l Security administration for users, workgroups and policies.

Note: A separate guide is available for the Curve Builder ExcelAdd-In.

Introduction Page 1

Chapter 1

Page 9: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Key Concepts

Contract DataThe data for a single day for a product, including available period codes.

Contract Data SeriesProduct timeseries, consisting only of indexes and associated values.

Contract Data SeriesProduct timeseries, consisting only of indexes and associated values.

Curve DataThe curve data is a composite structure comprising of various curve properties and thesefour vectors:l Tenor: string vector containing all the relative tenor labels for each observationmade in the curve.l Daycount: number of calendar days, calculated from the reporting date to start the delivery ormaturity date of the tenor.

l Values:  value of the tenor at each observation point.l Source: source of the data for each tenor point.

DashboardThis is the definition The dashboard provides a visual summary of the build and qualitystatus for monitoring of curve groups and individual curves.

Dashboard GroupsDashboard groups are used to organize and manage set of curves as a single object,enabling you to run all curves in a group or the finalizers for a group together.

FinalizersSpecified for a single curve or a group of curve, finalizers determine the set of actions to beperformed once a curve has been built.

Forward CurveThis is the definition Is the current price a buyer is willing to pay for a commodity productdelivery at a future date.

Key Concepts Page 2

CurveBuilder 6 | User Guide

Page 10: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

OnDateIs the reporting date for the curve, whether an assessment date or simply an onDate. Avaluation is carried out on this date to create the forward contract.

Process LogThe process log file contains details of the curve build.

ProductsProducts are tradeable forward contracts, with price values for future delivery periods, usedas input data for forward curves.

RulesRules can be constructed and grouped as rule packages to define the business rules to beapplied when constructing a curve.

SecuritySetting up users within workgroups and using policy groups to specify and assignpermissioning, you can set up the required security levels and access privileges for users.

ScriptsScripts are blocks of code detailing the logic to be applied to construct the shape of aforward curve.

ShapesA shape can be applied to construct a forward curve, using the script containing the codelogic, to forecast how a commodity will perform in the future.

TenorsTenors represent the delivery periods, either absolute, e.g. 2017M05 (May 2017) orrelative, e.g. M01 (month 1).

Validation RulesThis is the definition You can create validation rules to check the quality of the data and toflag suspect data, where the validation rules are not met. Validation rules can be configuredto be run on the curve once it has been built.

Key Concepts Page 3

CurveBuilder 6 | User Guide

Page 11: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Getting Started

Registering a Server

You need to register at least oneGCB server before you can establish a connection. Any new servers that youregister are accessible when connecting to GCB using the Client application or Curve Builder ExcelAdd-In orthe client APIs.

You can apply different colors to server names to differentiate the servers, e.g. Production fromDevelopmentservers. The server name is displayed in the selected color in the server listing.

Additionally, a colored bar is displayed below the ribbon bar when connected to that server.

Getting Started Page 4

Chapter 2

Page 12: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When registering a server, you need to specify the authenticationmethod required for the user and enter anyrequired details. Youmay also need to enter proxy information to connect outside of your local intranet. Specificproxy server details for an individual server are specified on theRegistrations tab. Alternatively, if allregistered servers have the same proxy, you can add the proxy server details on theAdvanced tab. You canalso import and export server registration settings and clone an existing server registration.

UsingServer Registrations you can:

l Register a new server

l Configure advanced server settings

l Import and export server registration settings

l Clone server registration settings

Registering a Server Page 5

CurveBuilder 6 | User Guide

Page 13: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO REGISTER A NEW SERVER

1. To display theServer Registrationswindow:

GCB Client

l On theHome tab, select theConnect drop-down arrow and selectServer Registrations.l In the Task Manager pane, selectServer Registrations.l On theConnect dialog box, selectOptions >>.

TheServer Registrations dialog box is displayed, listing any registered servers.2. ClickNew to add a server.

3. Enter theServer url, in the format <http(s)://<hostname>:<port number>.a. In theName field, enter a name to identify the server.

b. Under Type, select the authentication to be used for when connecting to the server, reflecting theLogin type set up for your user.

l SelectWindows Authentication to log in to using your Windows user credentials.

l SelectGenic Authentication to log in using user credentials provided by Enverus.l Select IP authentication to log in with just a user name, validating the user against theconfigured IP address range.

l Select Federated Authentication to log in with single sign-on (SSO) using the user's singleauthentication token.

c. Enter the appropriateUsername andPassword for the selected authentication.

Registering a Server Page 6

CurveBuilder 6 | User Guide

Page 14: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

d. If required, enter the name of the proxy server and port number. Thismay be necessary if you areconnecting to a server through a firewall.

e. (Optional) ClickTest Connection to validate the connection.

f. If appropriate, clickSet Default to set this server as the default server for connection.

Note: Wheremultiple servers are listed, the selected default server is displayedin bold in the server listing.

g. ClickSave and thenOK to exit the window.

TO CONFIGURE ADVANCED SERVER SETTINGS

If all registered servers use the same proxy server, you can add the proxy server details on theAdvanced tab.

Note: If you are connecting to a server through a firewall, youmay need to specify the proxy server andport details.

1. In theServer Registrations dialog box, click theAdvanced tab.

2. In theProxy server field, enter the server name to specify the proxy server.3. In theProxy port field, enter the port number.4. If required, amend theConnection timeout period  to specify a different timeout (in seconds) after

which the connection times out.

5. TheEnable compression option is checked, by default. This option can improve the connectivityperformance when connected to remote networks. Uncheck this box, if not required.

Note: Ensure that the Enable compression option is configured on the remote server towhich you are connecting.

Registering a Server Page 7

CurveBuilder 6 | User Guide

Page 15: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Federated Authentication

Federation refers to a set of common standards and protocols for mapping user identities across organizationsvia trust relationships. Enverus exposes an intermediary service, or broker, that provides support for twoprotocols:

l SAML v2.0

l OpenID Connect v1.0

The authenticationmechanism used within the security domain is at the discretion of each organisation, be it anLDAP server, Active Directory, multi-factor authentication, etc.

Federated users are re-directed to their respective identity providers (IdP) when attempting to log in to theEnterprise DataManagement (EDM) platform. They are never prompted for credentials by the Enverus identitybroker. If Single-Sign On (SSO) is supported by the IdP, users are not required to re-enter their credentials; theIdP detects that there is an active session for that user and validates the authentication request on the user’sbehalf.

This first time a federated user logs in on the Enverus T&R platform, the identity broker creates a local identityfor this user and links the external identity to it. Only the user’s principal name and email address aremappedfrom the external security token and stored as local user attributes.

Authorization

Security restraints are enforced at the product level, and entitlements are populated from the user´sGCBworkgroups. Therefore, an account must exist in GCB for each federated user, and theGCB usernamemustmatch the user principal name from the external security domain. This is the username that is imported from theSAML assertion or OIDC ID token at first login, and the value of the preferred_username claim on the accesstoken generated by the identity broker.

Federated Authentication Page 8

CurveBuilder 6 | User Guide

Page 16: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Import / Export of Server Registration Details

On theAdvanced tab of theServer Registrations dialog box, you can Import the registered servers detailsfrom an XML file or from earlier versions of the GCB Client. You can alsoExport the existing server registrationsettings to an XML file.

Import / Export of Server Registration Details Page 9

CurveBuilder 6 | User Guide

Page 17: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO IMPORT SERVER REGISTRATION SETTINGS

1. In theServer Registrations dialog box, select theAdvanced tab.

2. Click on the Import drop-down.

3. From the drop-down, you can either select:

l From File: to import from an XML file.

l From Previous Versions: to import settings from previous versions of the GCB Client.

a. If you select From File, the Import dialog box is displayed.

i. Navigate to and select the required file.

ii. ClickSave.

iii. The Import Server Registrations dialog box displays the server details. By default, all serverregistration entries are checked.

iv. Uncheck the boxes for any server registration details that you do not want to import.

b. If you select From Previous Versions, the Import Server Registrations dialog box displays theserver details from the previousGCB version(s).

Import / Export of Server Registration Details Page 10

CurveBuilder 6 | User Guide

Page 18: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. Optionally:

l Check the Import advanced settings box to include any settings detailed on theAdvanced tabwhen importing the server registration details.

l Check theOverwrite registrations with same name to replace any existing server registrationdetails which have the same name as the registration details being imported.

5. ClickOK to import the server registration details.

Import / Export of Server Registration Details Page 11

CurveBuilder 6 | User Guide

Page 19: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO EXPORT SERVER REGISTRATION SETTINGS

1. In theServer Registrations dialog box, click theAdvanced tab.

2. ClickExport to display theExport dialog box.3. Browse to the location where you want to save the export file.

4. Enter a File Name and clickSave to export the details. TheExport Server Registrations dialog boxis displayed with server details.

5. Uncheck the boxes for any server registration details that you do not want to export. By default, allserver registration entries are checked.

6. Optionally:

l Check theExport advanced settings box to include the settings detailed on theAdvanced tabwhen exporting the server registration details.

l Check theOverwrite registrations with same name to replace existing server registrationdetails which have the same name as the registration details being exported.

l Check Include passwords to export the settings along with the password details.7. ClickOK after making the required selections to export the server registration details.

Import / Export of Server Registration Details Page 12

CurveBuilder 6 | User Guide

Page 20: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Cloning Server Registration Details

You can clone an existing server connection entry to duplicate it and then amend, as required.

Thismay be useful if you want to createmultiple server registrations for the same environment with differentuser names.

TO CLONE SERVER REGISTRATION DETAILS

1. With theServer Registrationswindow displayed, highlight the server that you want to clone from theServers list.

2. ClickClone.3. Enter a new name for the server.

4. Amend the server details, as required.

5. ClickSave. The cloned server details are listed in theServer list.

Cloning Server Registration Details Page 13

CurveBuilder 6 | User Guide

Page 21: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Connecting to the GCB Server from the Client

Once you have registered one or more GCB servers, you can log in to connect to the server. You also have theoption to change your password.

Important: If the required server has not been registered, refer to Server Registration for details.

Default Connection OptionsYou can set various default server connection options underOptions > Environment > Settings.

Connecting to the GCB Server from the Client Page 14

CurveBuilder 6 | User Guide

Page 22: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

At startup optionThis option enables you to specify the default action when the application is launched.

From the drop-down, you can select to:

l Show Connection dialog box

l Load last workspace

l Show an empty environment

Auto connect at startup optionWith this option set toYes, an automatic connection to the default server ismade whenGCB is opened.

For connection to the server to be automatic, ensure:

l TheAuto connect at startup option is set toYes.l A default server is specified. This can be done by clickingOptions >> on theConnect dialog.l The specified default server is running and can be accessed.

l TheShow Connection dialog at startup box on theConnect dialog is unchecked.

Show server connection status alertWith this option set toYes, the Server / WebSocket icon on the client status bar, shows the real-time status.

Connecting to the GCB Server from the Client Page 15

CurveBuilder 6 | User Guide

Page 23: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Auto check server connections optionWith this option set to Yes, the server status is displayed in theConnectwindow, indicating whether or not it isrunning.

Showwarning on disconnect optionWith this option set toYes, a warningmessage is displayed, prompting for confirmation, when you disconnectfrom the server.

Connecting to the GCB Server from the Client Page 16

CurveBuilder 6 | User Guide

Page 24: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO CONNECT TO GCB1. SelectStart > All Programs > DataGenic.

2. Expand theDataGenic folder and select GCB 6.The Curve Builder window is displayed, with theConnect dialog box listing any registered servers.If theConnect dialog box is not displayed, do one of the following to open it: 

l ClickConnect on theHome tab.l ClickConnect on the Task Manager pane.

Note: If the Show this connection dialog at startup option is unchecked, the Connect dialogis bypassed and you are automatically connected to the server to which you were previouslyconnected.

Note: If required, you can click onOptions >> to add a new server and to view and amendthe existing server registration details.

Connecting to the GCB Server from the Client Page 17

CurveBuilder 6 | User Guide

Page 25: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

3. If you have previously connected to the required server, you can click on theConnect split-button drop-down and select the server from the list displaying the last five server connections.

Alternatively, select the requiredServer from theConnect dialog box and clickConnect.

The connection progress status is displayed in theConnect dialog box.

Once a connection has been established, the full GCB client application is enabled and theConnect optionswitches toDisconnect.

Connecting to the GCB Server from the Client Page 18

CurveBuilder 6 | User Guide

Page 26: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Changing your Password

When you first log in to GCB, youmay be prompted to change your password. You can also use theChangePassword option to change your existing password.

Note: Administrators and other users with the appropriate permissions can also reset user passwords.When a user's password is reset, the user is prompted to enter a new password when they next log in.

TO CHANGE THE PASSWORD

1. To change your password, do one of the following:

l On theHome tab, click on theConnect / Disconnect split-button drop-down and selectChange Password.

l With the connected server node highlighted in the Folders pane, selectChange Password inthe Task Manager pane.

Changing your Password Page 19

CurveBuilder 6 | User Guide

Page 27: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TheChange Password dialog box is displayed.

2. Enter your existing password.

3. Enter the new password, retype it to confirm and clickOK.Click here for guidance on password creation.

Changing your Password Page 20

CurveBuilder 6 | User Guide

Page 28: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Disconnecting from the GCB Server

When you disconnect, any active GCB windows are closed and you are disconnected from the server, althoughthe application remains open.

TO DISCONNECT FROMGCB1. To disconnect, do one of the following:

l In the GCB application, clickHome > Disconnect.l ClickDisconnect in the Task Manager.

A message box is displayed, prompting for confirmation to disconnect.

2. ClickYes to log out from the application.

TO EXIT FROM THEGCB APPLICATIONl ClickFile > Exit.

Any open windows are closed prior to exiting the application.

Disconnecting from theGCB Server Page 21

CurveBuilder 6 | User Guide

Page 29: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Setting Preferences

UnderOptions, you can view andmodify the default preferences and settings for the display and behavior ofthe GCB client application. TheOptions icon is accessed on theGCB mainmenu.

Important: Youmay need to disconnect and re-connect for changes to the default preferences to bereflected.

TO VIEW AND AMEND DEFAULT SETTINGS

1. Select Options on theGCBmainmenu to display theOptions dialog box.

2. Select the required option and set your preferences for:

l Environment

l DataChart Viewer

l Import Export

l Code Editor

l Visual Themes

Note: For many settings, you can click on the Reset button to revert the settings for thedisplayed options back to the original values.

3. Either clickApply to save the changes orOK to save the changes and exit the window.

Setting Preferences Page 22

Chapter 3

Page 30: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Environment Settings

The following diagram displays theEnvironment options, used to set general default preferences for the clientapplication.

In addition to themain environment preferences, you can specify settings for:

l Date, time, currency andOnDates formatting

l Error reporting

Environment Settings Page 23

CurveBuilder 6 | User Guide

Page 31: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The following tables detail themainEnvironment settings.

General

Option Description

Default page size Specifies the number of models to be displayed per page in the Explorertab.

Search page size Specifies the number of models to be displayed per page in the searchwindow.

Report page size Specifies the number of rows to be displayed per page in a report window.

Default search filtersview

Specifies the default view mode for the search filters. The options availableareSimple, Compact andStandard.

Default long-runningprocess timeout Specifies the default timeout in seconds for long processes.

Default history days Specifies the default number of history days considered when running thevalidation.

Maximum debugsessions

Specifies themaximum number of debug sessions that are retained for atest case. The default number is 5 and themaximum is 50.

Startup

Option Description

At startup Determines what is displayed whenGCB is started.

CachingSpecifies whether pre-caching or caching on demand is used. If you selecteither of thePre-cache options, the time taken to initially connect to theserver will be increased.

Environment Settings Page 24

CurveBuilder 6 | User Guide

Page 32: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Settings

Option Description

Auto connect at startup Specifies whether to automatically connect to the default server at startup.

Show server connectionstatus alerts Specifies whether server / socket connection status alerts are shown.

Auto check serverconnections

Specifies whether to automatically check all the connections for configuredservers.

Show warning ondisconnect

Specifies whether to display a confirmation dialog box when disconnectingfrom the server.

Character casing forcodes and identifiers Specifies the character case for codes: Upper, Lower orNormal.

Remember eachwindow's view settings

Determines whether to save and restore the size and position of eachwindow after you log out and log in again.

Environment Settings Page 25

CurveBuilder 6 | User Guide

Page 33: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Formatting Settings

This option allows you to customize the format for the date, time, currency andOnDates. The following diagramdisplays the Formatting options.

The following tables detail the Formatting settings.

Date Formats

Options Description

Short date format Specifies format to display the dates in short form, e.g. 25/02/2016.

Date separator Selected date separator.

Short date sample Displays a short date in the selected date format.

Long date format Specifies format to display the dates in long form, e.g. Feb 25, 2016.

Long date sample Displays a long date in the selected date format.

Formatting Settings Page 26

CurveBuilder 6 | User Guide

Page 34: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Currency Formats

Options Description

Currency symbol Specifies the default currency separator.

Decimal Specifies symbol for decimal separator.

Grouping Specifies symbol for grouping.

Currency format positive Determines the display of positive currency amounts.

Currency formatnegative Determines the display of negative currency amounts.

Positive currencysample Displays an example of positive currency format.

Negative currencysample Displays an example of negative currency format.

Time Formats

Options Description

Time format Specifies format to display the time, e.g. HH:mm:ss.

Time separator Specifies time separator.

Time sample Displays an example of time format.

OnDate Formats

Options Description

Date format Specifies date format for onDates.

Day format Specifies day format for onDates.

Date sample Displays an example of Date format.

Day sample Displays an example of Day format.

Formatting Settings Page 27

CurveBuilder 6 | User Guide

Page 35: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Error Reporting Settings

This option allows you to specify how error reporting should be handled and whether they should be reportedback to Enverus.We strongly recommend that this option should be enabled.

The following diagram displays theError Reporting dialog box.

Error Reporting Settings Page 28

CurveBuilder 6 | User Guide

Page 36: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

DataChart Viewer Settings

This option enables you to set preferences for the display and behavior of the DataChart.

The following table details themainDataChart Viewer settings.

Option Description

Tool Tip styleSpecifies the appearance of the tool tip:

Standard orBalloon style.

Show saveconfirmation dialog

When saving changes, determines whether you are prompted forconfirmation and a reason for themodification.

Using DataChart Viewer settings, you can specify settings for:

l Curves

l Statuses

l DataChart

l DataGrid

l Range Scale

DataChart Viewer Settings Page 29

CurveBuilder 6 | User Guide

Page 37: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curves Settings

This option enables you to set preferences for the display and behavior of theChart Viewer. The followingdiagram displays the options available.

The following table details theCurve Viewer settings.

Option Description

General

Data chart view Specifies whether the chart, grid or both are displayedin the viewer, by default.

Data grid placement Specifies the default placement of the data grid;Bottom, Top, Right or Left.

Behavior Specifies the default behavior to be used for the curveviewer: Simple, Standard orExtended.

Curves Settings Page 30

CurveBuilder 6 | User Guide

Page 38: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Statuses Settings

This option enables you to customize the appearance and behavior of the display of the various statusindicators.

The following diagram displays the options available.

You can assign various colors to easily visualize the different data statuses and specify which status indicatorsare displayed in the data grid.

Statuses Settings Page 31

CurveBuilder 6 | User Guide

Page 39: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Data Chart Settings

This option enables you to set preferences for the display and behavior of the data chart. The following diagramdisplays the options available.

You can select default preferences for the chart types, theme, palette, fill method, header, footer, labels,legends and its position. You can also specify the required behavior for the drag point, rotation, renderingmodeand whether to enable 3D, zoom history and zoom animation.

Data Chart Settings Page 32

CurveBuilder 6 | User Guide

Page 40: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Data Grid Settings

This option enables you to set preferences for the display and behavior of the data grid. The following diagramdisplays the options available.

You can define the colors that are used in the cell display.

Data Grid Settings Page 33

CurveBuilder 6 | User Guide

Page 41: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Range Scale Settings

This option enables you to set preferences for the display and behavior of the range scale. The followingdiagram displays the options available.

You can define the colors that are used to highlight the range scale and set a preference for whether the rangescale is automatically filled. You can also specify the default behavior forAutoFill.

Note: The AutoFill option determineswhether the number of bands displayed in the range scaleautomatically fits the entire width available or only fits to the text displayed in each band.

Range Scale Settings Page 34

CurveBuilder 6 | User Guide

Page 42: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Import Export Settings

This option enables you to customize the default Import / Export settings. The following diagram displays theoptions available.

Import Export Settings Page 35

CurveBuilder 6 | User Guide

Page 43: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The following table details the Import Export settings.

Option Description

Import

Enable interactivemode Specifies whether interactivemode is enabled duringimport, by default.

Ignore errors Specifies whether to ignore errors while importing.

Default timeout Specifies the default timeout period for the importprocess.

Export

Enable interactivemode Specifies whether the interactivemodemust beenabled during export.

Ignore errors Specifies whether to ignore errors when exporting.

Default timeout Specifies the default timeout period for the exportprocess in seconds.

Include curve dependents Specifies whether to include curve dependents whenexporting curvemodels.

Include curvedependencies

Specifies whether to include curve dependencieswhen exporting curvemodels.

Import Export Settings Page 36

CurveBuilder 6 | User Guide

Page 44: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Code Editor Settings

This option enables you to customize the settings for the code editor. The following diagram displays theoptions available.

The following table details theCode Editor settings.

Option Description

GeneralShow line numbers Specifies whether to show line numbers in the code

editor.

Highlight current line Specifies whether to highlight the current line in thecode editor.

TenorsEnable word wrap Specifies whether to use wrap long lines in the code

editor.

Show word wrap glyph Specifies the display of the glyph icon when long linesare wrapped in the code editor.

Code Editor Settings Page 37

CurveBuilder 6 | User Guide

Page 45: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Setting Visual Themes

This option enables you to set preferences for the behavior of the tree, list and grid views and whether to enablesmart and intelligent features for menus, dialogs and drop-down lists.

When you enable Intelligent features for menus, dialog box and drop-downs, the frequently usedmenu, dialogbox or drop-down is listed at the top level and those itemswhich are rarely used or unused are listed at thebottom or hidden automatically. The following diagram displays the options available.

Using Visual themes, you can specify settings for:

l Menus

l Docking panes

l Workspace

l Task panes

l Others settings

Setting Visual Themes Page 38

CurveBuilder 6 | User Guide

Page 46: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The following table details themainVisual Themes settings.

Option Description

General

Themes Determines the theme that is used for the application,using themes from different versions.

Color scheme Specifies the color scheme for the current theme.

Use theme colors Specifies whether to use the default colors defined bythe current theme.

Use theme styles Specifies whether to use the default styles defined bythe current theme.

Use system fonts Specifies whether system fonts are used.

Trees, Lists andGrids

Allow column reorder Determines whether tabular columns in lists and gridscan be re-ordered.

Enable hot tracking Specifies whether hot tracking is enabled, where thecolor of the text or tab changes with mouse hover.

Enable hover selectionSpecifies whether the option is enabled toautomatically select the items in the list or tree withmouse hover.

Enable label wrap Determines whether the column text is wrapped whenlonger than two lines.

Enable single selectionDetermines whether the single-expand option isenabled, where the selected node expands and thenode being unselected collapses.

Hide selection Determines whether the highlighted item is hidden orshown, when the control does not have the focus.

Show grid Lines Specifies whether grid lines in lists and grids aredisplayed.

Setting Visual Themes Page 39

CurveBuilder 6 | User Guide

Page 47: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Option Description

Smart andIntelligent features

Automatic completion

Determines the completionmode for drop-down listsand text boxes.

None: auto complete is disabled.

Suggest: Displays drop-down list with one or moresuggested entries, based on entered characters.

Append: Field is automatically populated with the firstavailable entity starting with the entered character(s).

Suggest and Append: This is the default option. Thefield is automatically populated with the first availableentity starting with the entered character(s) and a drop-down list of all suggested entries is also displayed.

Intelligent menus

Determines whether intelligent menus are enabled,where frequently used options are displayed at the topof the listing and unusedmenu commands areautomatically hidden.

Smart dialogs Determines whether smart dialogs are enabled, wherethe dialog saves and restores the previous selection.

Smart drop-down listsDetermines whether smart lists are enabled, where thelists remember the column order, visibility and sortedstate.

Setting Visual Themes Page 40

CurveBuilder 6 | User Guide

Page 48: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Menu Settings

Using this option, you can customize how themenu items appear and behave. The following diagram displaysthe options available.

Menu Settings Page 41

CurveBuilder 6 | User Guide

Page 49: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The following table details theMenu settings.

Option Description

Appearance

Show shadows undermenu icons

Specifies whether a shadow is displayed foricons displayed in themenus and toolbars.

Show shadows underpopupmenus

Specifies whether a shadow is displayedunder popupmenus.

Settings

Enable alt+dragcustomization

Determines the use of Alt key to dragmenusand toolbar buttons to relocate them isenabled.

Show accelerator tool tipsDetermines whether keyboard tips for menusand toolbars are displayed when ALT key ispressed.

Show context menuaccelerators

Determines whether keyboard shortcuts aredisplayed in context menus.

Show status bar Specifies whether the status bar is displayed.

Show navigation bar Specifies whether the navigation bar isdisplayed.

Menu Settings Page 42

CurveBuilder 6 | User Guide

Page 50: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Docking Panes Settings

This option enables you to set pane preferences. The following diagram displays the options available.

Docking Panes Settings Page 43

CurveBuilder 6 | User Guide

Page 51: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The following table details the Docking Panes settings.

Option Description

Appearance

Highlight active caption Specifies whether the header or the caption bar of theactive pane is highlighted.

Enable hot tracking Specifies whether hot tracking is enabled, where thecolor of the text or tab changes with mouse hover.

Show pane icons Determines whether the icons for the pane tabs areshown.

Use luna colors Specifies whether Luna colors are used for the dockingpanes.

UseOneNote colors Specifies whether One Note colors for the pane tabsare enabled, such that every tab is brightly colored

Settings

Enable alpha dockingcontext

Specifies whether to show area docking pane willoccupy in grey as the pane is dragged to a new location.

Enable sticky floatingframes

Determines whether floating panes snap to the edges ofthe screen, other floating panes and open applicationswhen dragged to dock.

Show contents whiledragging

Determines whether to display contents of pane whilstit is being dragged. Otherwise, the pane outline isshown.

Show docking contextstickers

Determines whether the docking context stickers aredisplayed while dragging a docking pane. Dockingstickers show locations where pane can be docked.

Show Maximize / restorebuttons

Determines whether maximize and restore buttons fordocking panes are displayed.

This setting is only available when panes are dockedadjacent to each other.

Use Splitter trackers

Determines whether splitter trackers are used whenresizing the docking panes.If disabled, the panes are resized in real-time.Otherwise, only an outline is drawnwhen resizing thepane.

Docking Panes Settings Page 44

CurveBuilder 6 | User Guide

Page 52: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Workspace Settings

This option enables you to set workspace preferences. The following diagram displays the options available.

Workspace Settings Page 45

CurveBuilder 6 | User Guide

Page 53: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The following table details theWorkspace options.

Option Description

Appearance

Tab layout Determines the layout for the workspace panetabs: Auto Size, Size to Fit, Fixed orCompressed.

Show selected tab in bold Determines whether the text of the selected tab in theworkspace is bold.

UseOneNote colorsSpecifies whether One Note colors for the workspacepane tabs are enabled, such that every tab is brightlycolored

Settings

Allow column reorder Determines whether the user can reorder theworkspace tabs.

Enable hot tracking Specifies whether hot tracking is enabled, where thecolor of the text or tab changes with mouse hover.

Show pane icons Determines whether the icons for the workspace panetabs are shown.

Workspace Settings Page 46

CurveBuilder 6 | User Guide

Page 54: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Task Panel Settings

This option enables you to set task panel preferences. The following diagram displays the options available.

The following table details the Task panes options.

Option Description

Task ManagerAppearance

Behavior style Determines the style for the items and groups:Explorer, List or Toolbox.

Tracking styleSpecifies the tracking style that is used for the taskmanager items when you hover themouse pointer overthem: Default, Image, Item or Text.

Task Panel Settings Page 47

CurveBuilder 6 | User Guide

Page 55: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Others Settings

This option enables you to set task preferences for the appearance of the Shortcut bar and Property Grids. Thefollowing diagram displays the options available.

The following table lists theOthers options.

Option Description

Report ControlAppearance Shade sort column Determines whether the sorted column of the report

list is shaded grey.

Property GridAppearance

Show toolbarDetermines whether the built-in toolbar (with buttons tosort and group the items) for the property grid isdisplayed.

Track changes Determines whether to highlight items in bold when thevalue is modified or updated from the default value.

Others Settings Page 48

CurveBuilder 6 | User Guide

Page 56: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

GCB Environment

User Interface

TheGCB client user interface consists of a set of ribbon toolbars to quickly access related features on separatetabs. The workspace is divided into different panes to work with the application and tomanage your data. Youcan use theView tab to customize the interface to show or hide the various panes. The displayed panes canalso bemoved and re-arranged within the application window.

Important: Access to the GCB functionality and data is determined by the permissions that have beenset up for your user.

Themain workspace areas are shown here.

Note: Various default preferences relating to the interface can be set under Options.

GCB Environment Page 49

Chapter 4

Page 57: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Ribbon Command BarThe ribbon replaces the traditional menu bar and toolbar and provides quick access to the commands that youneed to complete a task. These commands are organized into logical groups under different tabs, which eachrelate to a particular activity.

Folders PaneThe Folders pane provides a simple tree interface to navigate, locate and select the entity (curves, groups,products, shapes, rules or scripts) that you want to work with. The display in theExplorer tab is determined bywhat is selected in the Folders pane.

The Folders pane consists of the following:

l Navigation bar: You can enter search criteria in the top navigation bar to quickly locate items in theFolders pane. Use the arrows tomove back / forwards, to step through thematching results and tomove up and down levels in the Folder tree.

User Interface Page 50

CurveBuilder 6 | User Guide

Page 58: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Folder Nodes Details

GCB Server

Displays the name of the GCB server to which you are currently connected.

Click on it to display the node listing in theExplorer tab.

Note: The server connection, logged-in user details and client version are displayed in the TaskManager pane.

CurvesCategories

Expand the node to display the curve categories in the Folders pane.

Click on the node to display all the curves, grouped by category, in theExplorer tab.

Click on a category to display the curves for the category in theExplorer tab.

CurveHierarchy

Expand the node to display the curve hierarchy in the Folders pane.

Click on the node to display all the curves, grouped by hierarchy, in theExplorer tab.

Click on a curve in theCurve Hierarchy folder, for the selected curve shown in hierarchical view intheExplorer tab,

My Folders

Expand the node to display your personal folders in the Folders pane.

Click on the node to display all the personal folders in theExplorer tab.

Click on a folder to display the curves for the personal folder in theExplorer tab.

Shared Folders

Expand the node to display the shared folders in the Folders pane.

Click on the node to display all the shared folders in theExplorer tab.

Click on a folder to display the curves for the shared folder in theExplorer tab.

DashboardGroups

Expand the node to display the list of dashboard groups in the Folders pane.

Click on the node to display all the dashboard groups in theExplorer tab.

Click on a group to display the curves for the dashboard group in theExplorer tab.

ProductsClick on the node to display the products in theExplorer tab.

You can then select from the drop-downs to filter the list.

Shapes

Expand the node to display the shape categories in the Folders pane.

Click on the node to display all the shapes in theExplorer tab.

Click on a category to display the shapes for the category in theExplorer tab.

User Interface Page 51

CurveBuilder 6 | User Guide

Page 59: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Folder Nodes Details

Rules

Expand the node to display the rule categories in the Folders pane.

Click on the node to display the rule packages in theExplorer tab.

Click on a category to display the rules for the category in theExplorer tab.

Scripts

Expand the node to display the script categories in the Folders pane.

Click on the node to display the scripts in theExplorer tab.

Click on a category to display the scripts for the category in theExplorer tab.

User Interface Page 52

CurveBuilder 6 | User Guide

Page 60: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Explorer TabTheExplorer tab displays the listing for the item selected in the Folders tree.

User Interface Page 53

CurveBuilder 6 | User Guide

Page 61: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Dashboard TabTheDashboard provides an "at-a-glance" visual status indicator for monitoring curve groups and individualcurves.

User Interface Page 54

CurveBuilder 6 | User Guide

Page 62: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TaskManagerThe contents of the Task Manager is dependent on what is selected in the Folders tree. It displays the detailsof the currently selected item, together with relevant tasks.

In this example, with the server node selected in the Folders pane, the server connection information isdisplayed.

User Interface Page 55

CurveBuilder 6 | User Guide

Page 63: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Error ListTheError List pane displays the issues, warnings and cautions related to the recent action.

Calendar PaneTheCalendar Pane displays the calendar months for the selected year. You can then select a QuotingCalendar and Rollover Calendar to include the details in the calendar. To enable the calendar pane, on theView tab, selectCalendars.

Note: The Calendars toolbar has options to copy, export, print preview and to print the indexes.

User Interface Page 56

CurveBuilder 6 | User Guide

Page 64: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Status BarThe online / offline and connection / disconnection status is displayed in the status bar, with the Server /WebSocket icon showing the real-time status.

Additionally, message alerts for connection issues are displayed below the ribbon bar.

User Interface Page 57

CurveBuilder 6 | User Guide

Page 65: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Menu Options

TheGCB client user interface consists of a set of ribbon toolbars for related features on separate tabs.Withineach of the ribbons, tools and features are grouped together by function and, for ease of access, some optionsare available onmore than one ribbon.

l When you select a tab, the ribbon for that tab is displayed.

l When you see an option with a down arrow, click on it to accessmore information or further options.

l Where relevant, an icon's coloured background indicates that the option is enabled.

Note: Access to the GCB functionality and data is determined by the permissions that have been set upfor your user.

MenuOptions Page 58

CurveBuilder 6 | User Guide

Page 66: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

File MenuThe Filemenu contains commands related to the handling of files, such asOpen, Save andPrint. It alsocontains a list of recently edited files. The Filemenu options are described below.

MenuOption Icon Option /Shortcut Description

New

CurveCtrl+Shift+C To create a new curve.

ShapeCtrl+Shift+H To create a new shape.

RuleCtrl+Shift+R To create a new rule.

ScriptCtrl+Shift+S To create a new script.

Open Ctrl + O To open an existing file.

Close To close the active tab.

Close All To close all tabs.

Export To export data in various formats.

Import To import data in various formats.

Page Setup To specify page settings.

Print Preview To preview the output before printing.

Print Ctrl+P To print the active selection.

Exit To close the application.

MenuOptions Page 59

CurveBuilder 6 | User Guide

Page 67: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Home tabTheHome tab contains a range of commands from creating a new curve to copying and saving the data intable format. TheHome ribbon is displayed below, together with descriptions for each of the options.

RibbonGroup Icon Option Description

Server / Connect /Disconnect

Select Connect to establish a connection to a server.In theConnect dialog, you can select Options to accessand amend the server details and register additional servers.

Once connected, select theDisconnect icon to disconnectthe active server connection.

Click on the split-button drop-down to change the passwordor to manage the registered servers.

Workspace

New To create a new curve, shape, rule and script.

Open To open aGDMX transform file.

Close To close the active tab.

Close All To close all open tabs.

EditTo edit the selected item.

You can also double-click on the row to edit it.

Delete To delete the selected item.

Properties To view / hide the properties for the selected item.

Save To save changes to the active item.

Save As To save the active item with a different name or to a differentlocation.

Save All To save all open items.

Refresh To refresh the display.

Search Search Enter text to search for an expression.

Clear To clear the search results.

MenuOptions Page 60

CurveBuilder 6 | User Guide

Page 68: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

RibbonGroup Icon Option Description

Results

Filter Enter text by which to filter the search results in the currentview.

Go to first page To go to the first page of the search results.

Go to previouspage To go to the previous page in the search results.

Go to nextpage To go to the next page in the search results.

Go to last page To go to the last page in the search results.

Show All To show all results.

Stop To cancel the retrieval of search results.

Build Run To build the selected curve, group of curves or shape.

Table

Copy Table To copy the data table to the clipboard.

Save TableTo save the data table to file.

Excel is automatically launched with the data table contents,when saving as an Excel Workbook,

ValidationsConfigure To configure validations for the selected curve.

Run To run validations for the selected curve.

Statistics Analyze To generate a statistical report for the selected curve.

Versions

PreviousVersions To view previous versions of the selected item.

ViewDifferences To view the differences between previous versions.

Dashboard Dashboard To view the dashboard.

Widgets

ViewRelationships To view the links for the selected item.

View Hierarchy To view the curve hierarchy for the selected curve.

View Calendar To view the calendar pane, displaying the calendar for theselected item.

MenuOptions Page 61

CurveBuilder 6 | User Guide

Page 69: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Rules tabTheRules tab is used to work with and debug defined rules. TheRules ribbon is displayed below, togetherwith descriptions for each of the options.

RibbonGroup Icon Option Description

Insert File To insert the contents of a file.

Close To close the active tab.

Close All To close all open tabs.

Save To save changes made to the active item.

Save As To save the active item with a different name or to a differentlocation

Save All To save all open items.

Editor

Advanced To access and select advanced editor commands.

CommentSelection

To comment out selected lines so they are not included whenexecuting the script.

UncommentSelection

To uncomment selected lines so they are included whenexecuting the script.

List Members To display themembers in a drop-down list.

Parameter Info To view the parameter information.

Quick Info To view quick information relating to the selected code.

Insert Snippet To view the snippets that you can insert in the code.

Build

Debug To debug the rule code.

Compile To compile the rule code.

Run To run the code or selected item.

Stop To stop running the process.

MenuOptions Page 62

CurveBuilder 6 | User Guide

Page 70: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

RibbonGroup Icon Option Description

Versions

PreviousVersions To view previous versions for the selected item.

ViewDifferences To view the differences between previous versions.

View

Error ListTo toggle the display of the Error List pane at the bottom ofthe Rules window, detailing any errors and warnings thatoccur while a rule is created, updated or modified.

Quick Find To toggle the display of the Find / Replace pane to quicklylocate information.

Go To Line To go to a particular line number in the rule.

MenuOptions Page 63

CurveBuilder 6 | User Guide

Page 71: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Charts tabTheCharts tab is used to view curve and product data, both in graphical and numeric form. TheCharts ribbonis displayed below, together with descriptions for each of the options.

RibbonGroup Icon Option Description

Workspace

Copy Table To copy the table information to the clipboard.

Export to Excel To export the data to Excel or other formats.

Refresh To refresh the display.

View

Chart To toggle the display of the chart.

Grid To toggle the display of the data grid.

Chart Settings To apply display settings to a single series or to the entirechart.

Chart Tools

Show / hidelegends To toggle display of legends on the chart.

Show / hidelabels To toggle display of labels on the chart.

Enable /disable 3DView

To enable or disable the 3D view for the chart.

Enable/disable freerotate

To enable or disable free rotation of the chart.

Zoom In To enlarge the view.

ZoomOut To reduce the view.

Zoom 100% To display the chart in its default view.

Copy asPicture To copy the chart to the clipboard as an image.

MenuOptions Page 64

CurveBuilder 6 | User Guide

Page 72: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

ToolsThe Tools tab is used tomanagemeta data, security and audit information and import / export options. TheTools ribbon is displayed below, together with descriptions for each of the options.

Ribbon Icon Option Description

DataExport To export data to file.

Import To import a data file.

Manage Types Manager To create andmanage various data types.

Administration

ServerAdministration

To set up companies, users, workgroups and policy groupsfor security and user access.

Audit Manager This functionality is not yet available.

My Policies To view the URI policies and permissions for your user.

Customize Options To view and set default preferences for the environment, datachart viewer, visual themes, etc.

MenuOptions Page 65

CurveBuilder 6 | User Guide

Page 73: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

ViewTheView tab is used to toggle the display of the panes and windows that you want to be active. TheViewribbon is displayed below, together with descriptions for each of the options.

RibbonGroup Icon Option Description

Active Panes

Folders To toggle the display of the Folders pane.

Task Manager To toggle the display of the Task Manager pane.

Explorer To toggle the display of the Explorer tab.

Dashboard To toggle the display of the Dashboard.

Error List To toggle the display of the Error List pane.

Calendars To toggle the display of the Calendars pane.

Documentation To toggle the display of the Documentation pane.

Window

Arrange To arrange the windows that areminimized at the bottom ofthe GCB workspace.

Cascade To overlap the display of the windows.

TileHorizontally To arrange the windows horizontally.

Tile Vertically To arrange the windows vertically.

Windows Tomanage the display of the currently active windows.

MenuOptions Page 66

CurveBuilder 6 | User Guide

Page 74: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Global Options

RibbonGroup Icon Option Description

Global toolbar

Online helpsearch Enter a keyword to search the help for related information.

Documentation

Click the icon to display the online documentation.Click on the drop-down arrow to view support, license andversion information.

Click About Genic CurveBuilder > License Info to viewthe license details, includingmaximum users, license expirydate and licensed products.

Options To view and set default preferences for the environment, datachart viewer, visual themes, etc.

Collapse /Expand

To collapse / expand the ribbon display to view only the tabnames.

MenuOptions Page 67

CurveBuilder 6 | User Guide

Page 75: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Working with Data Tables

In variouswindow panes, information is presented in a tabular grid.

You can configure the grid to determine how the information is displayed, such as hiding or showing certaincolumns, moving column positions, specifying the sort order of the data or applying selection rules.

You can also copy the data in the table to the clipboard or export it to file.

An example of a data table is the search results for currency rates, shown below.

You can right-click on the data table heading row to access options to: 

l Customize the columns

l Copy and save the data table information

l Group and sort the information in the data table

l Apply selection rules

Working with Data Tables Page 68

CurveBuilder 6 | User Guide

Page 76: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Customizing the Columns

For any information displayed in a data table, you can customize the columns to change the way the informationis displayed.

TO REMOVE A COLUMN

You can quickly remove a column from the data table.

1. Click on the heading for the column that you want to delete and drag it away from the table.

2. Release themouse when the column heading is displayed with a black cross.

Note: Follow the procedure below to hide or shown columns, if you later want to include the removedcolumn.

TO HIDE OR SHOW COLUMNS

1. With the data table displayed, right-click in the column heading row and selectColumns.

The full list of columns is displayed, with a against the columns that are currently displayed.

Note: The column headingswill vary for each data table.

Customizing the Columns Page 69

CurveBuilder 6 | User Guide

Page 77: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

2. Click on the column heading to add or remove the tickmarks to show or hide the column in the datatable.

3. Click outside of themenu listing when you have selected the required columns.

SelectAutoFit to automatically adjust the columnwidths for the selected columns.

TO RE-SIZE THE COLUMN WIDTHS

l To change the width of an individual column, hover the cursor on the separator between two columns.When the cursor switches to a drag themouse to increase or decrease the columnwidth.

l To automatically adjust the columnwidth for the displayed columns, right-click the column heading rowand selectColumns > AutoFit.

TO MOVE THE COLUMN

1. With the pointer on the column you want to move, click and drag the column to the new position.

Two red arrows indicate the new position.

2. Release themouse to re-position the column.

Customizing the Columns Page 70

CurveBuilder 6 | User Guide

Page 78: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Copying and Saving a Data Table

You can copy any information displayed in a data table to the clipboard and also save the data to file, specifyingwhich columns and rows should be included.

Note: You can also just copy the URIs for the displayed entity to the clipboard.

In this example, the details of themodels listed in theExplorer tab are exported and saved to file.

TO COPY THE DATA TABLE TO THE CLIPBOARD

With the data table displayed:

1. If you only want to copy the information for a number of rows, highlight the required rows.

Hold down theCtrl key to select multiple items in a range and theShift key to select multiple non-consecutive items. Keep the Ctrl / Shift key held down, otherwise your selectionswill be removed whenyou right-click the column heading in the next step!

2. Right-click in the column heading row and select Copy Table.

Note: The Copy Table option is also available on the Home, Search and DataChartstabs.

This displays the Table Options dialog box. The checkedColumns indicate the columns for which thedata will be exported.

3. Check that the required column headings are selected and amend, as required.

Copying and Saving a Data Table Page 71

CurveBuilder 6 | User Guide

Page 79: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. If you have highlighted certain rows and only want to export the information for these rows, check theCopy only selected rows box.

5. By default, the search results are saved in Excel format. If required, click on theSave as type drop-down to change this format.

6. ClickOK to copy the data to the clipboard.

TO SAVE THE DATA TABLE TO FILE

With the data table displayed:

1. If you only want to save the information for a number of rows, highlight the required rows.

Hold down theCtrl key to select multiple items in a range and theShift key to select multiple non-consecutive items. Keep theCtrl / Shift key held down, otherwise your selectionswill be removedwhen you right-click the column heading in the next step!

2. Right-click in the column heading row and select Save Table.

Note: The Save Table option is also available on the Home and Search tabs.

This displays theExport As dialog box. The checkedColumns on the right indicate the columns forwhich the data will be exported.

3. Check that the required column headings are selected and amend, as required.

4. If you have highlighted certain rows and only want to export the information for these rows, check theCopy only selected rows box.

5. Choose a location to save the file and enter a File name.6. By default, the search results are saved in Excel format. If required, click on theSave as type drop-

down to change this format.

7. ClickSave.

Copying and Saving a Data Table Page 72

CurveBuilder 6 | User Guide

Page 80: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Copying URIsYou can copymultiple URIs for the entities displayed in a data table to the clipboard.

TO COPY URISWith the data table displayed:

1. Highlight one or more rows.

2. Either:

l Right-click and selectCopy.l Select theCopy icon.

The URIs can then be pasted into another application.

Copying and Saving a Data Table Page 73

CurveBuilder 6 | User Guide

Page 81: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Grouping and Sorting the Data Table

For any information displayed in a data table, you can specify the order in which the information is displayed,either by grouping the data by category or by sorting on one or more columns.

Note: You can combine these two options, so that sorting is applied within the groupings.

Grouping the DataYou can organize the product listing into groups.

In this example, the product listing is grouped byCategory.

Grouping and Sorting the Data Table Page 74

CurveBuilder 6 | User Guide

Page 82: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO GROUP THE DATA

1. With the data table displayed, right-click in the column heading row and select Group By.

2. Select the option bywhich you want to group the data.

Note: The options available for grouping the data vary, depending on the information in thedata table.

The data table is re-displayed with the selected grouping applied.

l Click on the arrows for an individual group to expand or collapse it.

l SelectExpand /Collapse from theGroup By context menu to apply to all groups.l SelectReset to remove the group sorting and to display the product listing in its default view.

Grouping and Sorting the Data Table Page 75

CurveBuilder 6 | User Guide

Page 83: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Sorting the DataYou can sort the data table on one or more columns, in ascending or descending order.

The arrow to the right of the column heading indicates that the column is being used to sort the data andwhether it is in ascending or descending order. Youmay need to increase the columnwidths to see the sortarrows.

In this example, the data is sorted firstly byProduct, in ascending order and then for each product byMarketBasis, in descending order.

Note: Where the data is displayed over multiple pages, the column sort is applied only to the currentpage.When youmove to a different page, the previously applied sort order is disregarded. To sort alldata acrossmultiple pages, you should use the secondmethod.

TO SORT ON ONE COLUMN / SINGLE PAGE

1. With the data table displayed, click the heading for the column bywhich you want to sort the data.

2. Click again to change from ascending to descending order.

When you click on a column heading to select it for sorting, any existing sort selections are removed.

Grouping and Sorting the Data Table Page 76

CurveBuilder 6 | User Guide

Page 84: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO SORT ON MULTIPLE COLUMNS / MULTIPLE PAGES

1. With the data table displayed, right-click on a column header and selectSort Order.

TheSort Order window is displayed, indicating any columns being used to sort the data and whether inascending or descending order.

2. Specify the required sorting.

l To select a column for sorting, highlight it and select the sort order from theOrder drop-down.l The data is sorted by column, according to the order of the columns in the listing.

Tomove a column up / down the list, highlight it and use the up / down arrows.

l To remove sorting from a column, highlight it and selectNone from theOrder drop-down.l To remove all sorting, selectReset All.

3. ClickOK to confirm and to exit the window.

The data table is re-sorted, with the arrows on the indicating the column(s) used for sorting and the sortorder.

Grouping and Sorting the Data Table Page 77

CurveBuilder 6 | User Guide

Page 85: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Applying Selection Rules

For data tables, you can set up one or more rules to highlight data items that match the selection criteria.

Note: This option is useful if you want to copy or save a specific selection of items listed in a data table.

In this example for theProducts listing, a selection rule has been entered to search for text that endswithGBP.EUR.M01.

TO APPLY SELECTION RULES

1. With the data table displayed, right-click in the column heading row and selectSelection Rules.

TheSelection Rules dialog box is displayed.

Applying Selection Rules Page 78

CurveBuilder 6 | User Guide

Page 86: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

2. To create a new rule, clickNew.3. Select the required Type andCondition from the respective drop-down lists.

4. Enter the values for the selection rule in theValue field(s). Tick theMatch case orMatch whole wordboxes, if required.

Selected options are detailed when the rule is added.5. ClickAdd to add the rule to the list.6. Repeat the procedure to add additional rules.

7. Additionally, you can:

l Tick theStop If True box to halt the selection when the first matching instance is found andhighlighted.

l Click the Link icon to link sequential rules together and to unlink them.

l To edit a rule, select it and clickUpdate once you havemade any changes.l To delete a rule, select it and selectRemove.l SelectClear All to delete all rules.

l Rules are applied in the order shown. Use the arrows to change the position of thehighlighted rule in the list.

8. ClickOK to exit the window and apply the selection rules to the data table listing.

Applying Selection Rules Page 79

CurveBuilder 6 | User Guide

Page 87: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Products

Products are tradeable forward contracts, with price values for future delivery periods, that can be used as theinput data to build a forward curve.

You can view the list of products to which you have access by selectingProducts on the Folders tree.

All product data with DATAHUB as the source ismanaged by Enverus's data service and provided as "readonly" data. The DATAHUB source includes any curves that are specifically published by Enverus and theGLC source is for the live products for real-time data.

All product data with MARKETVIEW as the source is alsomanaged by Enverus and provided as "read only"data. If you know the product symbol or a part of the symbol, you can enter it in theSearch field to display therequired product.

When you select a curve in theCurve Hierarchy folder, you can see any products used as curve inputs . Thecurve inputs, forward curves / products, are shown in hierarchical view in theExplorer tab.

Products Page 80

Chapter 5

Page 88: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

You can also create your own products or assessments and upload the input data to build the curve. ThePERSONAL source is used for these user-created products.

Products are referenced by their unique reference identifier (URI), constructed from the source and productcategory, e.g . model://DATAHUB/ICE_BRENT.

In the Product listing, you can right-click on a product to access the context-menu.

Note: Access to the Products folders and the available products is dependent on the user permissions.

For Products, you can:

l Create a new product

l Add data to the product

l Add product properties

l View the product data in the Chart Viewer

l Edit a product's details

l Delete a product

Note: You can also use the Curve Builder ExcelAdd-In to create products and upload the data into theGCB database. See the separate guide on the Curve Builder ExcelAdd-In.

Products Page 81

CurveBuilder 6 | User Guide

Page 89: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Products Data Table

You can select the products details to be displayed in theExplorer tab to filter and view only the requiredinformation in the data table. For more information, see Customizing the ColumnDisplay.

In this example, the default column details for the selected product is displayed.

These columns are available:

Column Description Displayed by Default?

Category The category to which the product belongs.

Code Unique code for the product, within theproduct category.

Source Source of the input data.

Supplier Data supplier.

Commodity Commodity grouping for the product.

Product Product.

Market Basis Market basis or location for the product.

Default Profile The default profile for the product.

Rollover Calendar Rollover calendar to be applied to the product.

Currency Currency for the product.

Unit Unit for the product.

Products Data Table Page 82

CurveBuilder 6 | User Guide

Page 90: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating a New Product

You can add your own products and assessments and input valueswhich can then be used to build a curve.

Note: You can also use the Curve Builder ExcelAdd-In to create products. See the separate User Guidefor the add-in.

These standard categories are used when defining a product and uniquely identifying the product:

l Source, e.g. Datahub, MarketView, Personal

l Supplier, e.g. BOE, ICE

l Commodity, e.g. Exchange Rates, Crudes

l Product, e.g. AUD, Brent

l Market basis, United Kingdom, North Sea

User-created products are automatically created withPersonal as the source.

Note: When a new product is created, the specified product category is used as part of the productcode.

You can also associate different rollover calendars with individual contracts, enablingmultiple expiry dates tobe applied to a product. A warning indicator is displayed if you enter an invalid calendar.

Creating a New Product Page 83

CurveBuilder 6 | User Guide

Page 91: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

AsGCB can only handle a single rollover calendar for a product, theRMULTIPLE rollover calendar can beselected, to indicate that multiple rollover calendars have been applied to the product, at tenor level. When theRMULTIPLE calendar is selected, this virtual rollover calendar applies the different underlying calendarsspecified for the tenors.

As there is only one product associated with multiple contract dates, the applied rollover is determined by thelatest contract data that has been loaded for the product.

Important: The RMULTIPLE calendar must be added as it is not available by default.

TO CREATE A NEW PRODUCT

1. In the Folders pane, expand the server node, if necessary, and selectProducts from the tree.

2. To create a new product, do one of the following:

l HighlightProducts in the Folders pane and clickNew on the toolbar.

l Right-click on any product row that is displayed and selectNew Product.

Creating a New Product Page 84

CurveBuilder 6 | User Guide

Page 92: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

l Select theNew Product link in the Task Manager pane.

TheProduct dialog box is displayed.

Creating a New Product Page 85

CurveBuilder 6 | User Guide

Page 93: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

3. On theDetails tab, enter details for the * mandatory fields, together with any other product information,selecting from the drop-down lists if the required value for the field already exists.

Field Description Required?

CategoryProduct category, used to group products.Also used to determine the security policy for user /workgroup access.

Code Unique code for the product.

Name Name of the product.

Description Long description for the product.

Default profile Default pricing profile.

Supplier Data supplier.

Commodity Type of commodity.

Product Tradeable product.

Market basis Themarket basis or location.

Currency Currency in which the product is quoted.

Unit Units in which the product is quoted.

Holiday calendar Holiday calendar for product that determines trading days.

Rollover calendar Rollover calendar for product.

Fair value compliance Regulation on how the forward curves are valued.

4. Click on theData tab to add data to the new product.

5. (Optional) Click on theProperties tab to enter any property details for the new product.

6. ClickOK to finish and to create the new product and add it to the listing.

Creating a New Product Page 86

CurveBuilder 6 | User Guide

Page 94: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Product Data

TheData tab on theProduct dialog box is used to input and view data values. You can load and edit datavalues for any product that you have created.

Note: Products that you have created are categorised with the source as PERSONAL. You cannot addcontract data to products with source DATAHUB or MARKETVIEW.

The contract data for the latest available onDate is displayed, by default, in the ProductData tab. You can usethe onDate selector to quickly select a different date for which you want to display the product data.

Note: You can also use the Curve Builder ExcelAdd-In to input and update data forPERSONAL products.

Product Data Page 87

CurveBuilder 6 | User Guide

Page 95: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO ADD DATA TO A PRODUCT

1. In the Folders pane, expand the server node, if necessary, and selectProducts from the tree. The listof products is displayed in theExplorer tab.

Note: Select PERSONAL as the source to display only those products that you have created.

2. Select the required product, which displays the chart and data grid in theChart Viewer.3. To edit the product, do one of the following: 

l Double-click on the product.

l Right-click on the product and selectOpen for Editing.TheProduct dialog box is displayed.

Product Data Page 88

CurveBuilder 6 | User Guide

Page 96: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. Select theData tab.By default, the current date is selected and the default profile.

5. To enter the data:

a. Select the required profile and the date for which you want to add data.

b. Click in the row cells to enter the absolute / relative tenors and values for the selected date.

Repeat this step to add data for all the required dates.

c. (Optional) You can enter the rollover calendar to be applied to the different tenors. A warningindicator is displayed if you enter an invalid code for the rollover calendar.

6. Once you have entered all the data, clickOK.7. Ensure the appropriate date and profile is selected to view the input data in theChart Viewer.

If necessary, you can refresh the data by clicking Refresh or by pressing F5 on the keyboard.

Product Data Page 89

CurveBuilder 6 | User Guide

Page 97: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Product Properties

Properties are used to define the reference information for a product. You can add custom properties to user-created products when creating or editing them.

Note: Properties for products with the source of DataHub or MarketView aremaintained by Enverus.

This example displays theProperties tab for ICE Crudes Brent North Sea.

Product Properties Page 90

CurveBuilder 6 | User Guide

Page 98: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO ADD A PRODUCT PROPERTY

1. While creating or editing a product, select theProperties tab.

2. ClickNew.3. In theName field, enter a name for the new property, e.g. Units.

4. Select the required Type from the drop-down list, e.g. Unit.

5. Select aValue from the drop-down list e.g. Barrel, or enter it manually.

6. ClickAdd to add the new property to the list.

7. ClickNew to add additional properties.

TO EDIT AN EXISTING PROPERTY

Note: Whenmodifying a property, the Add button is replaced by the Update button.

1. When creating or editing a product, select theProperties tab.

2. Double-click on the property that you want to amend. The existing property details are displayed in theproperty fields.

3. Make any changes and clickUpdate to save the changes.

TO DELETE A USER-DEFINED PROPERTY

1. When creating or editing a product, select theProperties tab.

2. Highlight the property and clickRemove to delete it from the list.

Product Properties Page 91

CurveBuilder 6 | User Guide

Page 99: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Viewing the Product Data Chart

You can view any data related to a product in theChart Viewer of theExplorer tab. When you select aproduct from the listing, the data for a single day is displayed in the Chart Viewer, in chart and tabular format.

By default, the latest day's data is displayed.

Additionally, different time zone and range scale are added to enable data to be viewed in different time zonesand to filter views.

Note: By default, the data is displayed in UTC timezone in GCB.

You can use the chart filters to select the required product profile, date and tenors to be displayed. If theselected product is not associated with a calendar, only the absolute tenors are sorted but not the relativetenors.

In this example, the product listing has been filtered to view only data Products = WTI andMarket/Basis = NewYork Harbor, resulting in the display of a single product for which the chart and data grid are shown.

Note: You can input your own data for any products that you have created.

Viewing the Product Data Chart Page 92

CurveBuilder 6 | User Guide

Page 100: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO VIEW PRODUCT DATA IN THE CHART VIEWER

1. In the Folders pane, expand the server node and selectProducts

2. Expand theProducts node, to select the required source.3. Navigate through the tree structure to select the requiredProduct.

The list of products is displayed in theExplorer tab.4. Select the required product to display the data in the chart and data grid.

5. Use the filter bars in the chart, to filter the data to display the required profile and date.

The data in theChart Viewer is automatically refreshed to reflect your selection. You can then right-click on the chart or data grid to access various options:

l Change the chart type

l Select the chart options

l Export the data to Excel

Note: Select Remove All to remove the product chart and data from the Chart Viewer.

Viewing the Product Data Chart Page 93

CurveBuilder 6 | User Guide

Page 101: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Editing a Product

You can edit any user-created products, for which the source isPersonal. When editing a product's details,you can amend any of the product information, except for theCategory andCode.

Note: It is not possible to edit products with the source of DATAHUB or MARKETVIEW; they areopened for editing in read-onlymode.

TO EDIT A PRODUCT

1. In the Folders pane, expand the server node, select Products.

2. Expand theProducts node, to select the required source.

Note: You can only edit the product details for which the source is PERSONAL.

3. Navigate through the tree structure to select the requiredProduct.The list of products is displayed in theExplorer tab.

4. Select the required product to edit.

5. To edit the product, do one of the following:

l Double-click on the product.

l Right-click on the product and selectOpen for Editing.

Editing a Product Page 94

CurveBuilder 6 | User Guide

Page 102: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The details of the selected product are displayed in theProductwindow.

6. Make the required changes to any fields that are enabled for editing.

l In theDetails tab, you can edit the fields except forCategory andCode, as required.l In theData tab, input or amend the data value for the required date.l In theProperties tab, edit the property details, by adding or removing the property information.

7. ClickOK to save the changes.

Editing a Product Page 95

CurveBuilder 6 | User Guide

Page 103: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Product

With the necessary permissions, you can delete any user-created products that are no longer required. Forthese products, the source is defined asPersonal.

Note: Any contract data that has been input for the product is also deleted.

TO DELETE A PRODUCT

1. In the Folders pane, expand the server node, if necessary, and selectProducts from the tree.

The list of products is displayed in theExplorer tab.2. Highlight one or more products that you want to delete and do one of the following:

a. Click Delete on theHome tab.

b. Right-click on the highlighted product(s) and selectDelete.

3. ClickYes to confirm the deletion and to remove the product(s) from the listing.

Deleting a Product Page 96

CurveBuilder 6 | User Guide

Page 104: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Rules

Rules can be configured and grouped as a rule package, to define the business rules to be applied whenconstructing a curve. The rules can also be used to provide input data for the curve.

You can also create curve formula rule packages to be used to construct a curve.

When defining the required rules, you can create test cases for your rules and debug the code.

As part of the curve building process, you can create a workflow by defining sets of rules for these different rulepackages: 

l Pre-rule package

l Rule package

l Post-rule package

l Validation rule package

Note: These rule packages can then be associated with a particular curve when configuring the curvedefinition. The validation rule packages are also used when running validation checks.

Rules are organized into different categories and displayed under theRules node in the Folders tree. With theRules node selected, the available rule packages are displayed in theExplorer tab.

Rules Page 97

Chapter 6

Page 105: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When you expand theRules node and select a category, the list of rules in that category is then displayed in theExplorer tab. For each rule, the rule status indicator is also displayed.

TheRules tab and toolbar provides quick access to the editor commands, compiler and parameter information,together with options to debug the rules.

Note: For information on the Rules menu items, seeMenuOptions.

For rules, you can:

l Create a new rule package

l Clone a rule package

l Edit an existing rule package

l Debug a rule package

l Create a custom rule package

l Manage the rule package versions

l Set the status of the rule package

l Delete a rule package

Rules Page 98

CurveBuilder 6 | User Guide

Page 106: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Key Concepts for Rules

TheDrools BRMS (business rule management system, written in JAVA) is used for writing rules and scripts inGCB.

Activation GroupProvides an alternative way to control the execution of the rules.When different rules are configured to be in the same activation group, only one of the rulesin the group will get fired. This means that the first rule that gets activated automaticallydisqualifies any other rule in the group and they do not even get evaluated. This can beuseful when there is no way to limit the conditions of alternative rules in such a way that onlyone gets fired. It would be enough to set the salience of the first one to be evaluated higherthan the others and if it gets triggered, the other ones will never be fired.

Agenda GroupWhen defining the rule, the agenda group enables you to control the execution order of therules by grouping rules together within a rule package into multiple independent groups thatapply to a particular sub-process within a larger process. This allows you to logicallyseparate the rule package into different phases of execution.The way the rules work is that for each fact that is inserted into the session, the rule enginecreates an execution list, split by agenda groups.At any point, only one agenda group has the focus, which means that only the rules in thatgroup are activated and fired until all executions are complete or there are no facts left. Inthis way, the rules in one agenda group are fired independently of rules in other agendagroups.By default, every rule is associated with the MAIN agenda group.For live curves, there are multiple distinct phases; INIT, PREVAL, POSTVAL andCLEANUP which allow you to functionally separate the rule package.

Note: The Auto Focus attribute of the rulesmust be used with agenda groups to allow better executioncontrol. If the Auto Focus parameter of the rule is set to true, the active agenda group is automaticallychanged to the agenda group of the rule.

Note: See Agenda groups for live curves for more information.

Key Concepts for Rules Page 99

CurveBuilder 6 | User Guide

Page 107: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

ConditionsThe condition determines whether a rule should be fired, by testing each fact (orcombination of facts) that is loaded into the session.This example illustrates a simple condition that tests for the existence of a monthly contractin the forward contract data that is loaded into the session:

Example: 

$M1: ForwardContract (periodCode.type==PeriodCode.TYPE_MONTH_RELATIVE)

Where:

$M1: is the name of the variable used to store the ForwardContract and eventually will be used inthe consequence.

ForwardContract(): Asks if there is a ForwardContractObject in the session that matches thecondition between the brackets.

periodCode.type==PeriodCode.TYPE_MONTH_RELATIVE: This is a test to check if theForward Contract period code is of type relative monthly.

ConsequencesThe rule consequence runs whenever a defined condition is met. The consequence codehas access to all the global variables, as well as any variables defined in the rules condition.It also has access to all the curve functions and the classes in the curve library. For example:

l Curve.add($M1);: adds the $M1 variable created as a condition in the curve.l Retract($M1);: Use this to remove or retract the variable from the session memory.

Note: Semicolon at the end of the line.

Curve Formula Rule PackageSimilar to a standard rule package, a formula rule package contains one or more formulasthat can be applied to a curve definition to construct curves.

Note: For curve formulas rule packages, the rule package typemust be set toFormulaCurveConstruction.

Key Concepts for Rules Page 100

CurveBuilder 6 | User Guide

Page 108: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

FactsFacts are the data items available in the session that are used to check the conditions of therules.In GCB, facts are the forward prices defined as the input source when configuring the curveor any other element that is added in the session during the rules execution. That is:

l Each one of the contracts available for the market date, if a Forward Contract is used asthe data input source.

l Each one of the tenors of a curve OnDate, if a Forward Curve is used as the data inputsource.

l All elements inserted in the session.

Global variablesA global variable is a variable with global scope, meaning that it is visible (and accessible)throughout GCB program, unless it is shadowed.By default the following global variables are present whenever a curve is built:

l OnDate: onDate for the built curve.l Logger:Process Log that is stored along with the curve.l Definition: Curve definition containing the curve configuration, including the holidaycalendar, rollover calendar, etc.

l Curve: Output of the built curve.l Data: Input data to build curves.

Note: You can add loggingmessages, warnings and errors in the rules.

RetractFacts can be removed from the session when they are no longer required, using the retractmethod. The removal of certain facts is required to avoiding an infinite loop in certain rules.

Example: rule "RemoveM01" when

$FC : ForwardContract();

then

retract($FC);

end

Key Concepts for Rules Page 101

CurveBuilder 6 | User Guide

Page 109: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Note: It is recommended that any fact that is no longer required is retracted from thesession, to prevent undesired firing of rules. This also helps performance as the number offacts being evaluated is reduced.

Rule PackageIs a collection of the rules, functions and imports that can be executed as a session. The rulepackage type determines how it is applied to a curve definition.

RulesRules can be constructed and grouped as rule packages to define the business rules to beapplied when constructing a curve.Rules are composed of a condition and a consequence that is taken when the condition ismet.

Rules EngineThe rules engine attempts to match facts (input data) with the conditions of the rules. Everytime a fact or a set of facts meet the conditions of a rule, the consequence of that rule istriggered. Facts are asserted into working memory, where they may then be modified orretracted. A system with a large number of rules and facts may result in many rules beingtrue for the same fact assertion; these rules are said to be in conflict. The execution order ofthese conflicting rules is resolved by the salience and the agenda

SalienceDefined when configuring a rule, the salience refers to the rule's importance or priority and isspecified an integer between 0 and 100. Rules with a higher salience are evaluated first.The default value for a rule's salience is 0.

SessionGCB loads all the forward contract and input data into a session. A stateless session can becalled like a function, passing it some data and then receiving some results back.In GCB, the rule engine matches any rule where the conditions resolve to true by testingevery fact (piece of data) that is loaded into the session. These rules are then fired in order oftheir salience (priority). This ensures that any changes in the rule session will re-invoke therule engine to test the conditions again. When all Forward Contracts have been retractedfrom the session, or when there are no more rules to fire, GCB extracts the final curve fromthe session.

Key Concepts for Rules Page 102

CurveBuilder 6 | User Guide

Page 110: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Rules Data Table

You can select the rule details that are displayed in theExplorer tab, to filter and view only the requiredinformation in the data table.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

These data columns can be selected for display:

Column DescriptionDisplayed

byDefault?

Shield Related to security, the shield indicates that the rule package is read only andcannot bemodified.

Version Status Green square indicates that the rule package status is set to production.

Category Rule package category, used to group rule packages.

Type Type or rule package, which specifies how the rule package is used.

Description Rule package description.

Uri Rule URI.

Modified Date Date when the rule package details was last modified.

Modified By User who last modified and saved the rule package.

Rules Data Table Page 103

CurveBuilder 6 | User Guide

Page 111: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating a New Rule Package

Combining a collection of rules, imports and functions, you can create a rule package to be applied whenconstructing curves. Once you have created a rule package, it can be associated with and applied tomultiplecurve definitions.

When creating a new rule package, you are essentially creating an empty container to which you can add therequired rules and, optionally, custom functions and JAVA package imports.

It is important to specify the correct rule type, as this determines how the rule package is applied.

Important: In addition to standard rule packages, you can create curve formula rule packages. In thiscase you need to select FormulaCurveConstruction as the rule package type.

To view the rule packages that have been applied to a curve, display the curve in theExplorer tab and add thePre-Rule / Post-Rule or Validation columns to the curve definition data table.

Creating a New Rule Package Page 104

CurveBuilder 6 | User Guide

Page 112: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TheRule Package Wizard guides you through the process of creating a new rule package.

TO CREATE A NEW RULE PACKAGE

1. To create a new rule package, do one of the following:

l On the Filemenu, selectNew > Rule.l On theHomemenu, selectRule on theNew split-button drop-down.

l Highlight theRules node in the Folders pane and either: o SelectNew on theHome tab.o In the Task Manager pane, selectNew Rule Package.

l On the keyboard, pressCtrl+Shift+R.l Right-click on any existingRule and selectNew Rule Package.

TheNew Rule Package Wizard dialog box is displayed.

Creating a New Rule Package Page 105

CurveBuilder 6 | User Guide

Page 113: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

2. SelectNew Rule Package and clickNext to display theSpecify Details dialog box.

3. Enter the following details for the new rule package:

a. Name: Unique name for the rule package.

Note: Rule package names cannot start with a numeric character.

b. Type: By default,CurveConstruction is selected. If required, select an alternative rule type fromthe drop-down list.

Types Description

CurveConstructionRule packages applied when constructing the curve.The standard rules held in GCB can bemodified, based on userrequirements. This is the default type.

CurvePreConstructionPre-rule packages used to prepare the input data before thecurve is built.

CurvePostConstructionPost-rule packages used tomanipulate the output data oncethe curve is built.

Creating a New Rule Package Page 106

CurveBuilder 6 | User Guide

Page 114: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Types Description

CurveValidation

These rules are used to validate the curve output.When included as part of the curve definition, these rules arerun as the final action after the curve has been built and before itis saved.

These validation rules are also used when runningmanual dataquality checks.

These rules can determine whether the curve status should beflagged as Failed if the issue is significant enough to stop thecurve building process or whether just a warningmessageshould be logged.

Note: See Curve Validation Rule Details for moreinformation.

FormulaCurveConstruction

Defined formulas are used for curve construction.

Note: See Creating a Curve Formula Rule Package formore information.

CurveAnalysis Not currently in use.

TimeSeriesValidation Not currently in use.

ManualActions Not currently in use.

System Not currently in use.

c. Category: Select an existing category from the drop-down list or enter a category name to create anew one.

d. Description: (Optional) Enter a description for the rule package.

4. ClickFinish to create the rule package. The newly created rule is added to the specified rule categoryand is opened in a new tab, where you can:

l Add rules

l Add formulas

l Add functions

l Add imports

l Debug the rule

l Document the rules package

Note: Once a rule package has been created, it can then be selected when defining a curve.

Creating a New Rule Package Page 107

CurveBuilder 6 | User Guide

Page 115: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Adding andManaging Rules

You can add one or more rules to a rule package.When adding a new rule, you need to enter the rule details,specifying the rule condition and consequence.

You can also copy rules from another rule package.

Note: Some sample details of conditions and consequences that can be used when creating rules areprovided.

Important: A good understanding of JAVA / MVEL is required when defining rules.Please contact your Account Manager for support in defining rules.

For rules, you can:

l Add new rules to a rule package

l Copy rules from another rule package

l Edit existing rules

l Delete existing rules

Adding andManaging Rules Page 108

CurveBuilder 6 | User Guide

Page 116: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO ADD A NEW RULE TO THE RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. Enter the name for the new rule underRule Name.

4. (Optional) Enter a description for the new rule.

5. (Optional) Click on the Properties to add any required set of properties to the rule package.

6. The default dialect is Java. If required, change theDialect toMVEL.7. Enter an integer values between 0 -100 to specify the salience for the rule.

Note: Rules with a higher salience are evaluated first. The default value is 0.

8. (Optional) Set the following properties on the rule row.

Adding andManaging Rules Page 109

CurveBuilder 6 | User Guide

Page 117: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

a. Select theAgenda group from the drop-down list.

Note: For end of the day curves, the agenda is set asMAIN , which is default. Otheragenda options are applicable for the live curves.

b. Enter anEffective Date to specify a date fromwhich the rule should be activated.

c. Enter anExpires date to specify a date after which the rule would not longer be active.

If required, click on the Properties icon to configure all rule properties.

9. Click Add icon to add the rule and display the outline definition below.

10. Enter the required details for theCondition andConsequence.11. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Rules Page 110

CurveBuilder 6 | User Guide

Page 118: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO COPY RULES FROM ANOTHER RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. Right-click anywhere in the rule pane and selectCopy Rules.

TheRules dialog box displays the list of rule packages containing rules.4. Expand the rule package to view the rules for the package.

Adding andManaging Rules Page 111

CurveBuilder 6 | User Guide

Page 119: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

5. You can either copy all rules or select individual rules from one or more rule packages.

l To copy all rules in a rule package, check the box next to the rule package name.

l To copy individual rules, expand the rule package and check the box for the individual rules.

l To copy all rules, check the Rule Packages box.

6. ClickOK to copy the selected rules into the current rule package.

Note: The copied rules are not linked to the original rules. Any changesmade to a rule in one rulepackage need to be replicated in other rules packages.

7. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Rules Page 112

CurveBuilder 6 | User Guide

Page 120: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO EDIT AN EXISTING RULE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. Amend the rule, as required.

4. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Rules Page 113

CurveBuilder 6 | User Guide

Page 121: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO DELETE AN EXISTING RULE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. To remove the rule, either: 

l Highlight the rule and select click Delete on theHome tab.

l Right-click on the rule and selectDelete.4. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Rules Page 114

CurveBuilder 6 | User Guide

Page 122: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Adding andManaging Functions

Functions are an optional component that can be added to a rule package, allowing you to create some genericfunctions that can be used by any rule in the rule package.

For functions, you can:

l Add new functions

l Copy functions from another package

l Edit existing functions

l Delete existing functions

Adding andManaging Functions Page 115

CurveBuilder 6 | User Guide

Page 123: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO ADD A NEW FUNCTION TO THE RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. To switch the display to functions, select Functions from the drop-down.

Any existing functions defined in the rule package are listed.

4. Enter the name for the new function under Function Name.5. Select the requiredReturn Type from the drop-down.

6. Click the icon to add the function and to enable the outline definition below.

7. Enter the function details.

8. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Functions Page 116

CurveBuilder 6 | User Guide

Page 124: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO COPY FUNCTIONS FROM ANOTHER RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. To switch the display to functions, select Functions from the drop-down.

4. Select a function to copy its details.

5. Right-click on the chosen function and selectCopy Functions.The Functions dialog box displays the list of rule packages containing functions.

6. Expand the rule package to view the functions for the package.

7. You can either copy all functions or select individual functions from one or more rule packages.

l To copy all functions in a rule package, check the box next to the rule package name.

l To copy individual functions, expand the rule package and check the box for the individual rules.

Adding andManaging Functions Page 117

CurveBuilder 6 | User Guide

Page 125: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

l To copy all functions, check the Rule Packages box.

8. ClickOK to copy the selected functions into the current rule package.

Note: The copied functions are not linked to the original rules. Any changesmade to afunction in one rule package need to be replicated in other rule packages.

9. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

TO EDIT AN EXISTING FUNCTION

1. Select the rule package containing the function you want to amend and either: 

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rules package is opened in a new tab, labeled with the package name. Any existing rules are listed,by default.

2. From the drop-down, select Functions to list the functions for the rule package.3. Select the function andmake any amendments.

4. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Functions Page 118

CurveBuilder 6 | User Guide

Page 126: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO DELETE AN EXISTING FUNCTION

1. Select the rule package containing the function you want to delete and either: 

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rules package is opened in a new tab, labeled with the package name. Any existing rules are listed,by default.

2. From the drop-down, select Functions to list the functions for the rule package.3. To remove the function, either: 

l Highlight the function and select click Delete on theHome tab.

l Right-click on the function and selectDelete.4. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Functions Page 119

CurveBuilder 6 | User Guide

Page 127: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Adding andManaging Import Packages

Import packages are used to add JAVA package names to the rule package, so that short class names can beused instead of fully qualified JAVA class names.

Imports can also be used to add static JAVA classmethods, so that they can be used as functions in rules.

For imports, you can:

l Add new import packages

l Copy an import package from another rule package

l Edit an existing import package

l Delete an existing import package

Adding andManaging Import Packages Page 120

CurveBuilder 6 | User Guide

Page 128: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO ADD A NEW IMPORT PACKAGE TO THE RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. To switch the display to imports, select Imports from the drop-down.

Any defined import packages are displayed in the lower pane.

4. Enter the path and file name for the package to be imported.

5. Click on icon to add the import details.

6. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Import Packages Page 121

CurveBuilder 6 | User Guide

Page 129: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO COPY AN IMPORT PACKAGE FROM ANOTHER RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. To switch the display to imports, select Imports from the drop-down.

4. Select an Import package to copy its details.

5. Right-click on an existing import package and selectCopy Import Packages.

The Import Packages dialog box displays the list of rule packages containing import packages.6. Expand the rule package and check the boxes for the import packages to be copied.

7. ClickOK to copy the import packages.

Adding andManaging Import Packages Page 122

CurveBuilder 6 | User Guide

Page 130: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO EDIT AN EXISTING IMPORT PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. To switch the display to imports, select Imports from the drop-down.

4. Amend the import details in the lower pane, as required.

5. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Adding andManaging Import Packages Page 123

CurveBuilder 6 | User Guide

Page 131: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO DELETE AN EXISTING IMPORT PACKAGE

1. Select the rule package containing the import package you want to delete and either: 

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rules package is opened for editing in a new tab, labeled with the package name. Any existing rulesare listed, by default.

2. To switch the display to imports, select Imports from the drop-down.

3. Right-click on the import package you want to delete and selectDelete.4. ClickYes to confirm the deletion.

Adding andManaging Import Packages Page 124

CurveBuilder 6 | User Guide

Page 132: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Setting the Rule Properties

UnderRule Properties, you can specify the properties for an individual rule in a rule package.

TheRule Properties dialog box is displayed when you click on the Properties icon in theRule PackageEditor.

TO SET THE RULE PROPERTIES

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. For the required rule, click on the icon to display theRule Properties dialog box.

Setting the Rule Properties Page 125

CurveBuilder 6 | User Guide

Page 133: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. Enter or amend these details:

l General properties

l Group properties

l Activation properties

Note: The Timer allows you to set the firing schedule for the rules. For more information, seeDefining the cron schedule.

5. ClickOK to save the changes.

Setting the Rule Properties Page 126

CurveBuilder 6 | User Guide

Page 134: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

General PropertiesUsed to configure general parameters for the rule.

General Description

Name Rule name.

Description Rule description.

Dialect Syntax used when writing the rules. By default, JAVA is selected. Alternatively, MVEL canbe selected.

Salience Value between 0-100 to determine the rule priority. Rules with higher salience values aregiven higher priority. The default is 0.

Duration Determines that the rule will fire after a specified duration, if it is still true.

Timer

Click on the  to specify the cron expression, to set the firing scheduled for the rule. Youcan either select a pre-defined option, select values for the individual components ormanually enter the cron expression.Your selections are reflected in theRule field and theResults field details the next firingtime, based on the configured cron expression, together with a description of the firingschedule.

Attributes Description

No LoopWhen a rule's consequencemodifies a fact, it may cause the rule to be triggered again, thuscausing an infinite loop. Setting theNo Loop attribute will skip the creation of a furtheractivation for the rule, given the current set of facts.

Lock on Active

Whenever a flow group becomes active or an agenda group receives the focus, any rulewithin that group, flagged as Lock on Active, will not be triggeredmore than once. Thisavoids infinite loops in case the actions performed in the consequences of the executedrules would trigger the same rule again.This attribute is more restrictive than theNo Loop attribute, as this will prevent the re-execution of a rule as a result of themodifications performed by any rule in the sameagenda. No Loop only avoids re-activations as a result of the execution of the rule flaggedas No Loop. Lock on Active can be used in combination with flow groups and agendagroups. In that case, further activations of the rules are only limited until a different groupbecomes active. Once the group is changed, the rule can be fired again.

Auto FocusTheAuto Focus attribute should be used with the agenda groups to allow better executioncontrol. If theAuto Focus parameter of the rule is set to true, the active agenda group isautomatically changed to the agenda group of the rule.

Enabled Check this option to enable the rule, so it can be triggered.

Note: The No Loop / Lock on Active options can be enabled to avoid an endless loop. However, theseoptions should be used with caution and it is recommended that users read the Drools documentation.

Setting the Rule Properties Page 127

CurveBuilder 6 | User Guide

Page 135: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Group PropertiesBy assigning groups to the rule, you can configure the execution order for rules.

Groups Description

Agenda group

Used to control the execution order of the rules.The agenda group property allows you to separate the rules in a rule package into astack of multiple independent groups. Drools creates a stack of agenda groups; whenthere are no rules left to fire in the currently active agenda group, the next agendagroup is evaluated.By default, the default agenda group is MAIN.

For more information, see Rule Concepts and Terminology.

Flow group The Flow groupworks in a similar way to Agenda groups.The order of the rules in the flow group determines the execution order.

Activation group

Used to further control the execution of rules, only one rule within the same activationgroup is fired. If the first rule is activated , any other rules within the same group arenot evaluated.This can be useful when there is no way to limit the conditions of alternative rules, sothat only one rule gets fired each time. However, it is also possible to enough to set ahigher salience for the first rule so that it is evaluated first and, if it gets triggered, theother ones are not be fired.

Salience and groups are powerful tools to control the order in which the rules in a rule package are executed.Typically, the same control can be obtained fromwell-defined conditions and salience.

Activation PropertiesUsed to set the activation date range for the rule, by defining the effective start date and expiry date. A rulecannot be activated outside of these dates.

Setting the Rule Properties Page 128

CurveBuilder 6 | User Guide

Page 136: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Defining the Cron Schedule

You can specify a cron expression to set the schedule for a rule or a shape. You can select from a number ofpre-defined options, specify values for each of the components to build the cron expression.

For a rule, the cron expression is set in the Timer field of theRule Properties dialog box.

TheResult field details the next firing time, based on the specified cron expression, together with a descriptionof the configured schedule.

Defining the Cron Schedule Page 129

CurveBuilder 6 | User Guide

Page 137: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When defining a shape, the cron expression is set in theSchedule field of theShape Definition dialog box.

Defining the Cron Schedule Page 130

CurveBuilder 6 | User Guide

Page 138: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Cron ExpressionCron expressions are composed of six required fields and one optional field, each separated bywhite space.

Field Name Allowed Values Allowed Special Characters Mandatory?

Seconds 0-59 , - * / Yes

Minutes 0-59 , - * / Yes

Hours 0-23 , - * / Yes

Day of theMonth 1-31 , - * ? / LW Yes

Month 1-12 or JAN-DEC , - * / Yes

Day of Week1-7 or SUN-SAT1 = Sunday2 = Monday, etc.

= " , - * ? / L # Yes

Year (Optional) blank, 1970-2199 * / No

SpecialCharacters Description Component Examples

* All values

SecondsMinutesHoursDaysMonths

WeekdaysYears

Every hour

/Incrementing

Action: enter a start value andincrement

SecondsMinutesHoursDaysMonths

WeekdaysYears

5/2: Starting at 5am, every 2 hours.1/3: Starting on first day of month, every3 days.

, -

Specific value or range

Action: select one or moreindividual values which areseparated by comma, or range ofvalues.

SecondsMinutesHoursDaysMonths

WeekdaysYears

4,6Mon, Wed, Fri4-8

Defining the Cron Schedule Page 131

CurveBuilder 6 | User Guide

Page 139: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

SpecialCharacters Description Component Examples

? UnspecifiedDaysMonths

Weekdays?

L

Last day of themonthLast day of the week

You can also specify an offsetfrom the last day of themonth, e.g.L-3.

Days 2L: Last Monday of themonth.

L-3: Third to last day of the calendarmonth.

LW Last weekday of themonth Days LW

_L Last specified weekday of themonth Weekdays 7L: Last Saturday of themonth

_W Nearest weekday of themonth Days

15W: If the 15th is a Tuesday, fires onTuesday 15th.If the 15th is a Saturday, fires on Friday14th.If the 15th is a Sunday, fires onMonday16th.

1W:If the 1st is a Saturday, fires onMonday3rd, as it does not jumpmonthboundaries.

#Specific weekday of themonth

Action: specify the week of themonth

Weekdays 1#5: 5th Sunday of themonth

Note: Allowed characters, names of months and days of the week are not case-sensitive.

Defining the Cron Schedule Page 132

CurveBuilder 6 | User Guide

Page 140: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating a Custom Rule Package

You can quickly create a custom rule package, by incorporating rules, functions and import packages fromexisting rule packages.

TO CREATE A CUSTOM RULE PACKAGE

1. To create a custom rule do one of the following:

l On the Filemenu, selectNew > Rule.l On the Filemenu, selectRule on theNew split-button drop-down.

l Highlight theRules node in the Folders pane and either:o SelectNew on theHome tab.o In the Task Manager pane, selectNew Rule Package.

l On the keyboard, pressCtrl+Shift+R.l Right-click on any existingRule and selectNew Rule Package.

TheNew Rule Package Wizard dialog box is displayed.2. SelectCustom Rule Package and clickNext to display theSpecify Details dialog box .3. Enter the following details:

a. Name: Enter a name for the new custom rule package

b. Type: By default,CurveConstruction is selected. If required, select an alternative rule type fromthe drop-down list.

Types Description

CurveConstructionRule packages applied when constructing the curve.The standard rules held in GCB can bemodified, based on user requirements.This is the default type.

CurvePreConstruction Pre-rule packages used to prepare the input data before the curve is built.

CurvePostConstructionPost-rule packages used tomanipulate the output data once the curve isbuilt.

Creating a Custom Rule Package Page 133

CurveBuilder 6 | User Guide

Page 141: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Types Description

CurveValidation

These rules are used to validate the curve output.When included as part of the curve definition, these rules are run as the finalaction after the curve has been built and before it is saved.

These validation rules are also used when runningmanual data qualitychecks.

These rules can determine whether the curve status should be flagged asFailed if the issue is significant enough to stop the curve building process orwhether just a warningmessage should be logged.

Note: See Curve Validation Rule Details for more information.

FormulaCurveConstruction

Defined formulas are used for curve construction.

Note: See Creating a Curve Formula Rule Package for moreinformation.

CurveAnalysis Not currently in use.

TimeSeriesValidation Not currently in use.

ManualActions Not currently in use.

System Not currently in use.

c. Category: Select an existing category from the drop-down list or enter a new name to create it.

d. Description: (Optional) Enter a description for the rule package.

Creating a Custom Rule Package Page 134

CurveBuilder 6 | User Guide

Page 142: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. ClickNext to display theCustomize Contents dialog box.

The existing rule packages and details are displayed in the left pane and the custom rule package that isbeing created is displayed on the right.

5. Navigate to and select an existing rule, function or import package from an existing package and clickto include it in the new package.

To remove an item from the current rule package, select it and click .

6. After selecting all the required components, clickFinish to complete the process.The newly created custom rule package is added to the specified category and opened for editing in anew tab.

Note: Once a rule package has been created, it can then be selected when defining a curve.

Creating a Custom Rule Package Page 135

CurveBuilder 6 | User Guide

Page 143: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Cloning a Rule Package

This option enables you to create a copy of an existing rule package. This is useful if you want to create a newrule package with a similar definition to an existing one. You can then just edit the package, as required.

TO CLONE A RULE PACKAGE

1. To clone a rule package, do one of the following:

l On the Filemenu, selectNew > Rule.l On the Filemenu, selectRule on theNew split-button drop-down.

l Highlight theRules node in the Folders pane and on theHome tab, selectNew.l On the keyboard, pressCtrl+Shift+R.

TheNew Rule Package Wizard dialog box is displayed.

Note: You can also right-click on the existing Rule and select Clone Rule Package. In thiscase, the Specify Details dialog box (step 2) is displayed, with the existing rule package fieldpopulated with the selected rule package.

2. ClickNext to display theSpecify Details dialog box.

Cloning a Rule Package Page 136

CurveBuilder 6 | User Guide

Page 144: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

3. Enter the following details

a. Name: Enter a unique name for the new cloned rule package.

b. Type: By default,CurveConstruction is selected. If required, select an alternative rule type fromthe drop-down list.

Types Description

CurveConstructionRule packages applied when constructing the curve.The standard rules held in GCB can bemodified, based on user requirements.This is the default type.

CurvePreConstruction Pre-rule packages used to prepare the input data before the curve is built.

CurvePostConstructionPost-rule packages used tomanipulate the output data once the curve isbuilt.

Cloning a Rule Package Page 137

CurveBuilder 6 | User Guide

Page 145: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Types Description

CurveValidation

These rules are used to validate the curve output.When included as part of the curve definition, these rules are run as the finalaction after the curve has been built and before it is saved.

These validation rules are also used when runningmanual data qualitychecks.

These rules can determine whether the curve status should be flagged asFailed if the issue is significant enough to stop the curve building process orwhether just a warningmessage should be logged.

Note: See Curve Validation Rule Details for more information.

FormulaCurveConstruction

Defined formulas are used for curve construction.

Note: See Creating a Curve Formula Rule Package for moreinformation.

CurveAnalysis Not currently in use.

TimeSeriesValidation Not currently in use.

ManualActions Not currently in use.

System Not currently in use.

c. Category: Select an existing category from the drop-down list or enter a new name to create one.

d. Description: (Optional) Enter a description for the rule package.

4. If not already entered, select the existing rule package to be cloned from the drop-down list.

5. ClickFinish.The newly cloned rule package is added to the specified category and opened for editing in a new tab.

Note: Once a rule package has been created, it can then be selected when defining a curve.

Cloning a Rule Package Page 138

CurveBuilder 6 | User Guide

Page 146: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Documenting the Rule Package

Once a rule package has been created, you can edit the package to add some related text information. You canalso save this information to file.

If preferred, you can create the text content outside of GCB and then open the external document in the texteditor and save it with the rule package.

Note: Rule packages provided by Enverus include rule documentation.

The separate documentation pane needs to be enabled to display any text related to the rule package. Bydefault, the pane is displayed to the right of theExplorer tab, but can be dragged to a different position.

TO ENABLE THE DOCUMENTATION PANE

l On theView tab, selectDocumentation to display theDocumentation pane.

Note: Enabled panes are displayed with an orange background.

Documenting the Rule Package Page 139

CurveBuilder 6 | User Guide

Page 147: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO DOCUMENT RULE PACKAGE DETAILS

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. ClickDocumentation to open theRich Text Editor.

4. In the editor, you can:

l Enter or edit the rule information .

l Apply any formatting to the text.o SelectOpen to navigate to and import text from an external file. You can only open documents in*.rtf or *.txt format.

l SelectSave As to save the rule documentation to file. You can save the document in .rtf, .txt or.htm format.

5. Click to save the text and to exit the editor. Click to close the editor without making any changes.

Documenting the Rule Package Page 140

CurveBuilder 6 | User Guide

Page 148: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Editing a Rule Package

Once you have created a new rule package, you can open it for editing, to add or amend the details.Additionally, you can use theDebug option to run test cases on the rules.

Note: A new version of the rule package is saved every time it ismodified. When saving changes, youare prompted to detail the reason for themodification, for auditing purposes.

In the top pane, you can add andmanage the rules, functions or imports and configure the rule properties. Youcan also view and update any documentation relating to the rule and open a separate window for debuggingthe rule package.

Note: A similar procedure is used when editing Curve Formula Rule Packages.

TO EDIT A RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. Edit the package details, as required.

a. Click on the Properties icon to add any required properties for the rule. For example, youmaywant to set a timeout property for the rule.

Editing a Rule Package Page 141

CurveBuilder 6 | User Guide

Page 149: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

b. Click on Documentation to view or edit the rule package documentation.

c. Click on theRules drop-down to switch the display to the required rule component:

l Rules

l Functions

l Imports

d. Select Debug to test the rule package.

Note: You can right-click on a row and select View > Rule / Functions / Imports to switch thedisplay to the selected component.Additionally, select View > Previous Versions to view andmanage previous versions of therule package.

4. To save the rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the rule package change.

b. Tick theSet status to production box if you want thismodified version of the rule package to beused when building a curve and clickSave.

Editing a Rule Package Page 142

CurveBuilder 6 | User Guide

Page 150: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Rule Package

You can delete any rule package that is no longer required. If the rule package is associated with a curve, it isalso removed from the curve definition.

TO DELETE A RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter search criteria in the top navigation bar to quickly locate the required package.

2. To delete the rule package, do one of the following:

l Highlight the package and select click Delete on theHome tab.

l Right-click on the rule package and selectDelete.

Note: Multiple packages can be selected for deletion.

3. ClickYes to confirm the deletion and to remove the rule package from the listing.

Deleting a Rule Package Page 143

CurveBuilder 6 | User Guide

Page 151: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Managing Rule Package Versions

Whenever youmake a change to the rule package, a new version of the package is saved. For auditingpurposes, you are prompted to enter the reason for themodification, which is also useful to identify and trackchanges between versions.

When viewing the rule package's versions, each version is numbered sequentially and displayed with details ofwhomade themodification, the reason and the date / time on which it was done.Where set, the status of theversion is also displayed. The latest version of the package is considered to be the current / active version.

Important: The package statusmust be set to Production, as indicated by , to apply the rules defined inthe curve definition to build the forward curves.Wheremultiple versions of the same package exist, youneed tomake sure that the correct version is set to Production. If you do not set a rule package toProduction, you will be unable to select it when defining a curve.

Under Previous Versions, you can view andmanage the available versions of the rule package and set thepackage status. You can also rollback to a previous version and compare differences between two selectedversions.

l

Note: The Previous Versions option is enabled when editing a rule package.

Managing Rule Package Versions Page 144

CurveBuilder 6 | User Guide

Page 152: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO VIEW AND MANAGE RULE PACKAGE VERSIONS

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. To display thePrevious versionswindow, either:l SelectPrevious Versions on theHome orRules tabl Right-click on a row and selectView > Previous Versions.

ThePrevious Versions - <rule package> dialog box is displayed, listing the versions for the rulepackage.

4. You can:

l Set the status of the package

l Revert to the selected version

l Rollback the package version

l Delete a version

l View the differences between two versions

Note: Rolling back deletes the latest version and reloads the previous version by discardingany unsaved changes in the current session.

5. When finished, click to close the window.

Managing Rule Package Versions Page 145

CurveBuilder 6 | User Guide

Page 153: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Reverting to a Previous Version of the Rule PackageOther than the latest version of the package, you can select a different version of the rule package to revert to,as the latest (active) version.

Important: A new version of the rule package for the version to which you are reverting is created.When reverting to a different version, the status of the selected version is set to Production.

TO REVERT TO A SELECTED VERSION OF THE RULE PACKAGE

1. With thePrevious Versions dialog box for the package displayed, do one of the following:

l Select the version that you want to revert to and select Revert on the toolbar.

l Right-click the version to which you are reverting and selectRevert.2. SelectYes to confirm.3. Click to close the window.

The rule package details are refreshed, reverting to the details for the selected rule package version.

Rolling Back to a Previous Version of the Rule PackageThe rollback option deletes the latest version of the package and reloads the previous version, discarding anyunsaved changes that have beenmade in the current session.

You cannot roll back to a previous version if only one version of the rule package remains. In this case, therollback option is disabled.

Important: If you roll back from a version of the package that is currently set to Production status, youneed tomanually set the status for a different package to Production.

TO ROLLBACK TO THE PREVIOUS VERSION

1. With thePrevious Versions dialog box for the rule package displayed, do one of the following:

l Select Rollback on the toolbar.

l Right-click on any version row and selectRollback.2. SelectYes to confirm the rollback.

Managing Rule Package Versions Page 146

CurveBuilder 6 | User Guide

Page 154: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Version of the Rule PackageOther than the latest version of the package, you can delete previous versions that are no longer required.

Note: The latest (active) version cannot be deleted. To remove it, you can use the rollback option.

TO DELETE A VERSION OF THE RULE PACKAGE

1. With thePrevious Versions dialog box for the package displayed, do one of the following:

l Select the version to be deleted and select Delete on the toolbar.

l Right-click the version to be deleted and selectDelete.2. SelectYes to confirm the deletion.

A message is displayed if you attempt to delete the latest version (highest sequential number).

Viewing the Differences between Package VersionsYou can use this option to compare differences between two versions of the same rule package.

TO COMPARE TWO VERSIONS

1. With thePrevious Versions dialog box for the package displayed, select the two versions that youwant to compare.

2. You can then either:

l Select Differences from the toolbar.

l Right-click on any version row and selectDifferences.

Note: This option is only enabled when two versions of the package are selected.

Managing Rule Package Versions Page 147

CurveBuilder 6 | User Guide

Page 155: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Setting the Rule Package Status

The status of a rule package, including curve formula rule packages, must be set to Production before it canbe associated with a curve definition. Whilst being tested or if you do not want it to be used, set the status toTesting

Note: By default, the status of a rule package is automatically set to Production, once it has beencreated.

When the rule packages are listed in theExplorer tab, the package's status indicator is displayed visuallyalongside the package name.

A status indicator of Testing or Production can be assigned to a rule package.Wheremultiple versionsof the package exist, you can select the version to which you want to assign the status.

ThePrevious Versionswindow is used to set the package status.

Note: A status can only be set for a single version of the rule package.

Setting the Rule Package Status Page 148

CurveBuilder 6 | User Guide

Page 156: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When saving the changes to an edited rule package, you have the option to set the status to production bychecking the box, as indicated. This sets the latest version of the rule package.

TO SET THE PACKAGE STATUS

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing rules are listed.

3. Select Previous Versions on theHome orRules tab to display thePrevious Versionswindow.

Setting the Rule Package Status Page 149

CurveBuilder 6 | User Guide

Page 157: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. To set the status, either:

l Select the version to which you want to assign a status, click Set Status on the toolbar andselect the required status.

l Right-click on the required version, selectSet Status and then the required status.The selected status is displayed alongside the version.

Note: Select Reset to remove any status setting.

5. Select to close the window.

Setting the Rule Package Status Page 150

CurveBuilder 6 | User Guide

Page 158: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

About the Rules Package Debugger

You can use theDebug functionality to create test cases for your rules, input data, parameters and curvedefinition. You can then run the test cases to ensure the rule provides the expected results, variables and statusinformation.

Debug User Interface

Themain workspace areas are shown here. Other than themain rule display, you can customize theworkspace to include only those panes you want to view and drag them to change the position.

About the Rules Package Debugger Page 151

CurveBuilder 6 | User Guide

Page 159: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Ribbon toolbarTheDebug ribbon is displayed below, together with descriptions for each of the options.

RibbonGroup Icon Option Description

Test Cases

New To create a new test case.

Edit To edit the selected test case.

Delete To delete the selected test case.

Save To save the selected debug session. .

Save Rules To save changes to the rule package.

Build

Run To run the selected debug session.

Run All To run all the debug sessions.

Stop To stop running the debug sessions in process.

Process Log Toggle to display the process log generated when the rulepackage is built.

DataExtract Inputs To extract the input contract data for the selected curve date.

Refresh To reload the code contents for the debug session.

View

Properties Tick to display the Properties pane.

Statuses Tick to display the Statuses pane.

Variables Tick to display the Variables pane.

Debug User Interface Page 152

CurveBuilder 6 | User Guide

Page 160: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Folders paneThe Folders pane provides a simple tree interface to navigate, locate and work with different test cases andsessions.

Debug User Interface Page 153

CurveBuilder 6 | User Guide

Page 161: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Properties paneTheProperties pane displays the Input Parameters, Input Data and theExpected Results. These detailscan be amended, as required.

Properties Description

InputParameters

Parameters to be used for the test case.

l Curve date: Date to use for the test case.

l Tenor expiry: Select the required expiry calendar from the drop-down.

l Curve definition: Curve definition to be used as input.Click on to select from the drop-down or click on to open the Select Curvewindow, listing the curves by category.

l Properties: Any custom properties to be used.

Input Data Contract inputs for the specified curve, either taken from the curve definition orenteredmanually.

ExpectedResults

Displays the expected results, if previously entered and saved as part of the testcase.

Note: These details are also displayed when you select Extract Inputs from the Debugtoolbar.

Debug User Interface Page 154

CurveBuilder 6 | User Guide

Page 162: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Rule paneThemainRule pane details each rule in the package. The built curve for the selected test case session isdisplayed in the Chart Viewer and in the data grid below.

Debug User Interface Page 155

CurveBuilder 6 | User Guide

Page 163: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Variables paneTheVariables pane displays any global, input and output variables defined in the rule.

Variables Description

GlobalVariables

The global variable displays the following:

l OnDate: Displays the OnDate of the curve that is built.

l Logger: Consists of the Process Log which is stored along with the curve.

l Definition: Displays the curve definition details containing the configurationinformation of the curve that is built. It provides access to all the parameters of thecurve definition, like rollover calendar, quoting calendar, and so on.

l Curve: Displays the output of curve build to which forward contracts tenors areadded.

l Data: Consists of input ForwardContract data.

Input Variables Displays the input variables or data that is used to build the forward curve.

OutputVariables Displays the details of the forward curve that is built.

Debug User Interface Page 156

CurveBuilder 6 | User Guide

Page 164: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Statuses paneTheStatuses pane displays the status of the session that has been run, statusmessage, together with thestart and end time and the duration.

Statuses Description

Status Status of the test case run.

Message Message relating to the test case status.

Start time Start time when the test case was run.

End time End time when the test case run was completed.

Duration Total time taken to complete the test run.

Process Log paneDisplays the log for the built test case, displaying error, information, warning and debugmessages, togetherwith an error summary count.

You can click on one of themessage to only show thosemessages. For extensive logs, you can enter a searchexpression to only display results that match the search expression.

Debug User Interface Page 157

CurveBuilder 6 | User Guide

Page 165: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Working with Test Cases

TheDebugwindow is used to create and run test cases for the rules. The curves can be built for a specific dayand the results analyzed and compared with the expected results. The code for the rule can then easily beamended and the rule re-run.

You can either create a new test case from scratch or clone an existing test case.When a test case is run, atimestamped session is created.

Note: You can set themaximumnumber of debug sessions that are retained for a test case, underTools > Options > Environment > General. By default, this is set to 5.

The following example shows a sample test case, together with the results.

Note: When running test cases, the built curves are not saved.

Working with Test Cases Page 158

CurveBuilder 6 | User Guide

Page 166: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

A process log is generated when a test case is run, which can be reviewed for messages and debuginformation. A failure statusmessage is displayed if any output curve values are different from the expectedresults.

For test cases, you can:

l Create a new test case

l Run one or all test cases

l Edit a test case

l Clone an existing test case

l Delete a test case or session

TO CREATE A TEST CASE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, do one of the following:

l Double-click on the selected rule package.

l Right-click on the chosen rule package and select Open for Editing.

l Highlight the curve and selectEdit from theHome tab.

Working with Test Cases Page 159

CurveBuilder 6 | User Guide

Page 167: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

3. To open theDebugwindow, either:l SelectDebug on theRules tab.l In theRules editor, click on theDebug button

4. To create a new test case, either: 

l Select New on theDebug toolbar.

l Right-click anywhere in the Folders pane and select New.The Test Case dialog box is displayed.

5. Enter the following details.

l Curve date: Date for which you want to build the curve. By default, it is the current day's date.l Test name: Name for the test case. By default, it is the current day's date.l Tenor expiry: From the drop-down, select the expiry calendar to be applied to the test case.

l Curve definition: Curve definition to be used as the source for the Input Data and InputParameters. Click on to select from the drop-down or click on to open theSelect Curvewindow. The curves are listed alphabetically, by category.

6. ClickOK to save the test case, which is listed under the Test Cases node.

Working with Test Cases Page 160

CurveBuilder 6 | User Guide

Page 168: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO RUN A TEST CASE

1. In the Folders pane, select the test case that you want to run.

2. Click onExtract Inputs on theDebug toolbar to populate the input data in the Input Data tab.

Note: Input data are the contract inputs for the specified curve, either fetched from the curvedefinition or enteredmanually.

Working with Test Cases Page 161

CurveBuilder 6 | User Guide

Page 169: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

3. Do one of the following:

l ClickRun on theDebug toolbar.l Right-click on the chosen test case and clickRun.

Note: If there aremultiple test cases, select Run All if you want to run them all.

Note: Rules with higher salience (0-100) are evaluated first.The rule salience is specified when configuring the rule; the default value is 0.

4. A session is created, based on the Input Parameters and Input Data in theProperties pane.The variable details and status information is displayed, together with the curve chart and data grid.

5. Expand the session node to view the rules that have been run.

6. You can then select any of the sessions to check the variable details, status information and curveoutput after the selected rule has been run. You can also amend the code to change the rule, asrequired.

7. (Optional) To view the log for build and error details with the test case, selectProcess Log.

Working with Test Cases Page 162

CurveBuilder 6 | User Guide

Page 170: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO CLONE A TEST CASE

1. In the Folders pane of theDebugwindow, select the test case to be cloned.

2. Do one of the following:

l Click on theNew split-button drop-down and select Clone.

l Right-click on the test case and selectClone.

TheClone Test Case dialog box is displayed, with the cloned details for the test case, with thecurve date set to the current day.

3. Enter or update the following details, as required.

l Curve date: Date for which you want to build the curve. By default, it is the current day's date.l Test name: Name for the test case. By default, it is the current day's date.l Tenor expiry: From the drop-down, select the expiry calendar to be applied to the test case.

l Curve definition: Curve definition to be used as the source for the Input Data and InputParameters. Click on to select from the drop-down or click on to open theSelect Curvewindow. The curves are listed alphabetically, by category.

4. ClickOK.5. The new cloned test case is created and saved under the Test Cases node.

Working with Test Cases Page 163

CurveBuilder 6 | User Guide

Page 171: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO EDIT A TEST CASE

Note: You can also edit the rule information displayed in the Debug window.When done, remember toclick on Save Rules on the Debug toolbar.

1. In the Folders pane of theDebug window, expand the Test Cases node to select the a test case to beedited.

2. Do one of the following:

l Right-click on the test case and select Edit.

l Click theEdit icon on theDebug toolbar.The Test Case dialog box is displayed.

3. Amend the details, as required and clickOK to save the changes.

Working with Test Cases Page 164

CurveBuilder 6 | User Guide

Page 172: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO DELETE A TEST CASE OR SESSION

Note: You can delete a test case and all associated sessions or select and delete a session for aparticular test case. You cannot deletemultiple sessions at the same time.

1. In the Folders pane of theDebugwindow, expand the Test Cases node to select the test case or testcase session to be deleted.

2. Do one of the following:

l Right-click on the test case or session and select Delete.

l Click theDelete icon on theDebug toolbar.3. ClickYes to confirm the deletion and to remove the test case or session from the listing.

Note: You can set themaximumnumber of debug sessions that are retained for a test case under Tools> Options > Environment > General.

Working with Test Cases Page 165

CurveBuilder 6 | User Guide

Page 173: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curves

You can create a forward curve to provide a snapshot of market prices as a certain time, generating an array ofthe forward prices for a certain market.

When creating and building a new forward curve, the first step is to create the curve definition, specifying theinput data, build type, rules or formulas, calendars and general curve details. As part of the curve definition, youcan also specify a shape definition to be used to shape the curve.

Curves are referenced by their unique reference identifier (URI), constructed from the category, code, profile,date and version name. e.g . curve://ICE/BRENT/CURVE/27-02-2017/FINAL.

Once the curve details have been configured, you can specify the build triggers and the finalizers to be appliedto the curve, detailing the actions to be taken once the curve has been built or the cut-off time has beenreached. Additionally, by grouping curves into different dashboard groups, you can then apply finalizer actionsat the group level rather than the individual curve level.

The curve definitions are organized in different categories grouped by, for example, commodity type, curveowner or workgroup. They are displayed under theCurve Categories node in the Folders tree and groupedby category in theExplorer tab.

You can organise your curves into different curve folders. Under the Curve Hierarchy folder, you can view thecurve dependencies and hierarchy.

Important: Live curves are dealt with differently on the server.

Curves Page 166

Chapter 7

Page 174: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When viewing a curve in theExplorer tab, the curve versions for the selected curve are listed below the curvelist and selection filter.

Follow these steps to build and view a curve:

1. Create a new curve definition

2. (Optional) Add a curve to a group

3. Apply finalizers to the curve or curve group

4. Set the curve version to Production

5. Build the curve

6. View the built curve

7. Monitor the curve status

For curves, you can also:

l Edit an existing curve definition

l Clone a curve definition

l Delete an existing curve definition

l Remove a curve from a group

l Add text documentation to the curve definition

l Delete versions of the built curve for a particular day

l View curve hierarchy

l View the curve relationships

l View the process log for a built curve

l Configure and run validations on the curve

For live curves, you can:

l Take a snapshot of the curve

l Delete snapshots to clean the live curves

Note: In the Folders tree, Explorer and Dashboard tabs, you can right-click on a curve or curve versionto access various curve options.

Curves Page 167

CurveBuilder 6 | User Guide

Page 175: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Data Manager - Curve Builder Integration

An integrated environment can be set up for DataManager and Curve Builder.

The integration of GCB with GDMenables you to access andmanage both curves andGDMdata. The curvesbuilt in GCB aremade available as referencemodels in GDM, while the curve data remains stored in GCB .These referencemodels are read-only and cannot be updated in GDM. Additionally, the proprietary data inGDM can be accessed in GCB to build curves. If the referencemodel for the curve does not already exist inGDM, a new model is created with a FINAL version.

Whenever data is updated or corrected, or when proprietary data is added to GDM, these data updates arereflected in GCB and any affected curves are automatically rebuilt.

When importing aGDMX file to GDM, products are automatically created in GCB-RT with the type ofPERSONAL.

Proprietary DataThe followingGDMproprietary data can be accessed in GCB :

l Curve data

l Time series data

l Formulas

All proprietarymodelsmust have these properties defined, all with the TYPE as SCSTR:

l Market Basis

l Product Type

l Supplier

l Commodity

Additionally, these options should be checked for these properties.

l Include this property for filtering

l Include this property for browsing

DataManager - Curve Builder Integration Page 168

CurveBuilder 6 | User Guide

Page 176: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

1. You need to import the following template and template view XML files into the GDM application server:

l GCBRT_Template.xml

The import of this template enables the curves built in the GCB Cloud to be available asmodels inGDM.

l GCB_PD_View.xml

The import of this template view enables curves to be built in GCB using proprietary data stored inGDM.

You can add anEXCLUDE string property to the GCB-PD_VIEW template to excludemodels thatyou do not want to be pushed to GCB. By default, the value for the EXCLUDE property is set tofalse.o exclude=false: proprietary datamessages are sent to GCB through the bridge server and theproduct is created under the PERSONAL node in GCB.

o exclude=true: proprietary datamessages are not sent to GCB and a product is not created inGCB.

2. To view curve tenor data created in GCB in theGDM Client application, theHDB calendar also needsto be present in the GDM server and can be imported.

DataManager - Curve Builder Integration Page 169

CurveBuilder 6 | User Guide

Page 177: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Notification AlertsThese notification alerts are used to trigger alerts in GDMwhen an update ismade to a curve loaded into GDMusing theGCB bridge:

l CurveDateCreate: triggered when a curve is built for a new onDate.

l CurveDateUpdate: triggered when a curve is built for an existing onDate

TO BUILD A CURVE IN GCB FOR PROPRIETARY DATA LOADED INGDM1. Associate theGCB_PD_VIEW to the template in GDM for which proprietary data is loaded. You will

see that the corresponding Products are created in GCB .

2. Create a curve definition in GCB for the proprietary Products data that has been created.

Once the curve definitions are created for the proprietary data, whenever this data is updated, the curvewill be built in GCB and the referencemodel is populated in GDM.

DataManager - Curve Builder Integration Page 170

CurveBuilder 6 | User Guide

Page 178: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Definitions

When creating a new curve definition, you need to specify the build type and the required input data. By default,CURVE profile is added as the default profile.

You can select one or more products or existing curves as the source of the data fromwhich the curve is to bebuilt.

These types of curves can be created:

l Simple composed curves: The curves are constructed in a simple way, based on the input dataprovided without bootstrapping or any other transformation applied.

l Rule based curves: The curves are constructed using a pre-defined set of business rules. This set ofrules is called the rule package.

l Curve formula packages: The curves are constructed using a pre-defined package consisting offormulas, custom functions and java package imports.

l Direct formulas: The curves are constructed using curve formulas specified as part of the curvedefinition.

l Custom curves: The curves are constructed using a supported programming language.

When configuring the curve, you need to specify the run type to determine how and when the curve is built.

l Auto: Curve is automatically built whenever the required input sources are received.l Live: Curve is updated in real-time whenever new data is received.

l Manual: Curve is built for the specified date on an ad-hoc basis, as and when required.l Scheduled: Curve is built at the specified cut-off time, taking into account any offset.l None: Curve is not built.

If you attempt to manually build the curve, the following error message is displayed: Curve building isdeprecated for the curve type RUN_NONE.

If an auto build of the curve is triggered by loading the contract data, the curve will not build.

TheCurve Definition Wizard guides you through the curve creation process. Once the curve has beencreated, you can edit the curve definition to add additional configuration information or edit the input sources.

Curve Definitions Page 171

CurveBuilder 6 | User Guide

Page 179: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO CREATE A NEW CURVE DEFINITION

1. To create the new curve, do one of the following:

l On the Filemenu, selectNew > Curve.l On the Filemenu, select Curve on the New split-button drop-down.

l Highlight theCurves node in the Folders pane and either:o SelectNew on theHome tab.o In the Task Manager pane, selectNew Curve Definition.

l On the keyboard, pressCtrl+Shift+C.l Right-click on any existingCurve and selectNew Curve Definition.

TheNew Curve Definition Wizard dialog box is displayed.

2. SelectNew Curve Definition.

Curve Definitions Page 172

CurveBuilder 6 | User Guide

Page 180: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

3. ClickNext > to display theBuild Configuration dialog box.

4. Select the requiredBuild type from the drop-down list.

Note: By default, the Simple build type is selected.

l Simple: Curve is constructed in a simple way, based on the input data provided withoutbootstrapping or any other transformation applied.

l Rule: Curve is constructed using a defined rule package, applying a pre-defined set of businessrules. WithRule selected, you can then select the required rule packages.

l FormulaPackage: The curve is constructed using a defined formula package.With FormulaPackage selected, you can then select the formula package and name.

l Direct Formula: The curve formula is defined as part of the curve definition and can only beused to construct that curve.WithDirectFormula selected, you can enter the formula detailsdirectly in the curve definition.

l Custom curves: Curves are constructed using a programming language supported byGCB.

Note: See Curve Formulas for details on specifying formulas in the curve definition.

5. Select the required run type to determine how and when the curve is built.

6. Select theBuild Priority.7. ClickNext > to display the Input Sources dialog box.

Curve Definitions Page 173

CurveBuilder 6 | User Guide

Page 181: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

8. Select the input data for the curve.

9. If required, enter a default profile for the new curve.

10. ClickNext > to display theBuild Settings dialog box.

Curve Definitions Page 174

CurveBuilder 6 | User Guide

Page 182: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Where possible, themeta data for the selected input source is used to automatically populate thesefields.

l Currency provider

l Currency

l Unit

l Holiday calendar

l Rollover calendar

Note: You need to specify a currency and unit to view them in the curve and toenable conversion to other currencies / units.If no currency or units are specified, no conversion is done and the raw values areused for all inputs.Where the currency and units are specified in the rule package, they are appliedwhen building the curve.

Note: The rollover calendar details are used to convert the source data fromAbsolute to Relative contracts. If the source contains relative contracts or isanother curve, the rollover calendar is not used.

11. ClickNext to display theSpecify Details dialog box and enter the details for saving the new curvedefinition.

a. Category: Select an existing category from the drop-down list or enter a categoryname to create a new one.

Curve Definitions Page 175

CurveBuilder 6 | User Guide

Page 183: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Note: The combination of the category and code form the curve'sunique identifier, i.e. curve://<category>/<code>.The curve category is also used for permissioning, to allow user accessto the curve category.

b. Code: Enter a code that is unique within the selected category.

c. Name: Enter a short name for the curve.

Note: Curve definition names can start with any alpha-numericcharacter.

d. Description: (Optional) Enter a long description for the new curve creation.

12. Once you have entered all the curve configuration details, you can click on to preview thecurve in theCurve Viewer window and check the configuration. Close the window when done.

13. ClickFinish to complete the process and to save the curve definition in the specified curve category.

Once you have created your new curve, you can:

l Configure finalizers for the curve

l Add the curve to a dashboard group

l Configure finalizers for the dashboard group

l Set the curve status

l Build the curve

Important: The curve status needs to be set to Production before it can be built.

Curve Definitions Page 176

CurveBuilder 6 | User Guide

Page 184: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Definition Data Table

You can select the curve definition details that are displayed in theExplorer tab, to filter and view only therequired information in the data table.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

In the following example, the default column details for the curve definition is displayed.

Curve Definition Data Table Page 177

CurveBuilder 6 | User Guide

Page 185: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

These data columns can be selected for display:

Column DescriptionDisplayed

byDefault?

Shield Relate to security rights, the shield indicates that the curve is read only andcannot be read.

Version Status The version status indicates the production status of the curve.

Category Curve category, used to group the curves.

Role Label for the input source, e.g. primary.

Profile Profile specified for the input source.

Build Type Selectedmethod based for building the curve.

Run Type Selectedmethod for running the curve.

Supplier Data supplier.

Commodity Commodity grouping for the curve.

Product The product details associated with the curve definition.

Market Basis Curvemarket or location for the curve.

Pre-rule If specified, pre-rule associated with the curve that is applied before the curveis built.

Post-rule If specified, post-rule associated with the curve that is applied after the curveis built.

Validation If specified, validation rule associated with the curve that is used to checkthe curve data quality.

Description Curve definition description.

URI URI for curve definition.

Curve Definition Data Table Page 178

CurveBuilder 6 | User Guide

Page 186: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Editing the Curve Definition

Once a curve definition has been created, you can open it in the editor, to specify and amend curve details andthe input sources. Here you can specify how the curve should be built, together with any pre-build or post-buildrule packages.

A new version of the curve definition is saved every time it ismodified. For auditing purposes, you are promptedto detail the reason for themodification, when saving changes.

Important: Make sure you set the status of the latest modified version to Production to use it to build thecurve.

In the left hand pane of theCurve Definitionwindow, you can specify:

l Curve Details

l Build Settings

l Curve Settings

Editing the Curve Definition Page 179

CurveBuilder 6 | User Guide

Page 187: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

You can also view the curve, document curve information and add any finalizer profiles. Additionally, you canview andmanage the versions of the curve definition and view the curve relationships.

In the right hand pane, you can define or amend the input sources used to build the curve. Additionally, you canalso amend the build type to change

TO EDIT THE CURVE DEFINITION

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. To edit the curve, do one of the following:

l Double-click on the curve.

l Right-click the curve and select Open for Editing.

l Highlight the curve and selectEdit from theHome tab.The curve definition is displayed in a separate tab, labeled with the curve name.

3. Edit the curve details, as required.

4. ClickView Curve to preview and check the curve configuration details, before the curve is actuallybuilt.

5. ClickDocumentation to view or edit the curve documentation.

6. Select and amend curve finalizers.

7. Select and amend the curve input sources.

8. To save the changes:

a. Do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.b. In theConfirm Save Changes box, enter the reason for the curvemodification.

c. Check theSet status to production box if you want thismodified version of the curve definition tobe used to build the curve.

Note: For more information, seeManaging Versions of the Curve Definition.

TO EDIT A CURVE FROM THE DASHBOARD1. In theCurves pane of the dashboard, right-click on the curve and select Open for Edit.

Editing the Curve Definition Page 180

CurveBuilder 6 | User Guide

Page 188: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Definition Details

When editing a curve definition, these curve details can be specified.

Note: See viewing the curve properties for information on adding and viewing curve properties.

Curve DetailsYou can edit any information for the curve, except for the code and category.

Curve Details Description Required

Category

The curve category is used to organize the curves; curves aredisplayed under their curve category in the Folders tree.The category is also used to construct the curve's unique identifier:curve://CATEGORY.CODE.Security policies for user / workgroup access are also specified bycurve category.

CodeUnique code for the curve, within the curve category. The code isalso used to construct the curve's unique identifier:curve://CATEGORY.CODE

Name Short name for the curve.

Version type

Determines how different versions of the curve are handled.

l AlwaysNewVersion: Select to create a new dated version ofthe curve whenever it is updated with new data. This is thedefault option.

l SingleFinalVersion: Select to create andmaintain only oneversion of the curve.

Description Long description for the curve.

Commodity Commodity grouping for the curve.Select an existing commodity from the list or enter a new one.

Product Product for the curve.Select an existing PRODUCT from the list or enter a new one.

Market basis Market basis or location for the curve.Select an existingmarket basis from the list or enter a new one.

Assigned to User responsible for the curve.

Curve Definition Details Page 181

CurveBuilder 6 | User Guide

Page 189: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Build Settings

Build Settings Description Required

Build type

Displays the build type specified when the curve was created.

Simple: Curves are constructed in a simple way, based on the inputdata provided, without bootstrapping or any other transformationapplied.

Rule: Curves are constructed using an existing rule package,applying a pre-defined set of business rules.

Formula Package: The curves are constructed using a pre-definedpackage of formulas, custom functions and java package imports.

Direct Formula:For use only by the individual curve, the curves areconstructed using the formula details entered directly in the curvedefinition.

Custom curves: Curves are constructed using a programminglanguage supported by GCB.

Rule package

Only displayed if you select Rule as theBuild type.

Select the rule package for the curve from the drop-down list.

Click on the Edit Rule Package icon to open the rule package ina separate tab and to amend it.

Pre-rule package

Only displayed if you select Simple orRule as theBuild type. Pre-rule package to be run prior to building the curve.

Select the pre-rule package from the drop-down list.

Click on the Edit Rule Package icon to open the rule package ina separate tab and amend it.

Post-rule package

Only displayed if you select Simple orRule as theBuild type.

Post-rule package to be run after the curve has been built, tomanipulate the curve output data.

Select the rule package from the drop-down list.

Click on the Edit Rule Package icon to open the rule package ina separate tab and amend it.

Curve Definition Details Page 182

CurveBuilder 6 | User Guide

Page 190: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Build Settings Description Required

LanguageOnly displayed if you select Custom as theBuild type.

Select the language used for the custom rule from the drop-downlist.

Formula Package

Displayed if you select FormulaPackage as theBuild type. Selectthe required formula package from the drop-down list.

Click on the Edit Formula Package icon to open the curveformula rule package in a separate tab and amend it.

Formula NameDisplayed if you select FormulaPackage as theBuild type. Wheremultiple formulas are included in the package, select the requiredformula name from the drop-down list.

Validation rulepackage

Rule package to be used to validate the quality of the curve.The validation rule package is applied to use business rules todetermine whether a build failure is significant enough to stop thecurve building process or whether just a warningmessage should belogged.

Shape name Name of the shape definition to be used to shape the curve.

Curve Definition Details Page 183

CurveBuilder 6 | User Guide

Page 191: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Build Settings Description Required

Run type

Specifies how and when a curve is built.

l Auto: Curve is automatically built whenever the requiredinput sources are received. If the inputs are loadedmore thanonce, e.g. for a correction, the curve is built multiple times.

l Manual: Curve is built on an ad-hoc basis, as and whenrequired. You can build the curve for a single date or for aspecified date range.

l Live: The curve is updated in real-time whenever new data isreceived.

For this option, you need to specify the start and end time forthe period during which the live curve is built and a value forthe snap minutes.

Live curves are retained inmemory and can be configured totake snapshots of the curve that are saved to the database atintervals, as specified by the snapminutes.

l Scheduled: Curve is built at the specified cut-off time, takinginto account any offset.

l None: Curve is not built.

With the run type set toNone and an attempt is made tomanually build the curve, the following error message isdisplayed: Curve building is deprecated for the curvetype RUN_NONE.

When the run type set toNone and a user triggers an autobuild of the curve by loading the contract data, the curve willnot build.

Note: By default, curves are configured to run automatically.

Build priorityFor multiple curves, determines order in which different curves arebuilt.Priorities are: Low / Medium / High.

Default profile The default profile for the curve, in which the data is stored.Typically, this would be CURVE.

Curve Definition Details Page 184

CurveBuilder 6 | User Guide

Page 192: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Build Settings Description Required

Contract inputs

Select the required input source:

l Any: The input source details are used to build the curve.

l Absolutes: Select to only use the absolutes. In this case, itrolls the absolutes according to the expiry calendar to createthe relatives.This allows you to force the contracts to roll at a different timeto the exchange. For example, you can roll the absolutes aday earlier to avoid spikes due to last day volatility.

l Relatives: Select to use the relative contracts, as provided.

Disable build for non-quoting days

With this option set to true, curves are not build on non-quotingdays, i.e. on holidays, even when there is data available on a holidaydate.

Note: By default, this option is set to False.

Use contract rollover

Select True to use the rollover calendar from the input product orcontract. Typically, relevant wheremultiple products are specified.

If no rollover calendar exists for the input, the rollover calendarspecified for the curve is used.

Set to False to apply the rollover calendar specified in the curvedefinition, underCurve Settings.

Cut-off time The time at which a check is made to see if the curve has been built.

Properties

Displays count of any properties defined for the curve.Click on theicon to add, edit and delete properties.

These properties are used to specify parameters that are passed tothe rules and used as facts to build the curve.

Curve Definition Details Page 185

CurveBuilder 6 | User Guide

Page 193: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve SettingsHere, you can edit and amend the currency, unit and calendar information for the curve.

Curve Settings Description Required

Currency provider

Currency source for the curve. This field can be left blank to use thecurrency for the input data.Click on the drop-down to select the required source and currencyfor conversion.If a currency is specified but not a provider, the first availableprovider for the currency is used

Unit Unit for the curve.Click on the drop-down to select a different unit for the curve.

Properties

This field is only enabled if a unit has been selected.

Click on the Properties icon to add or edit the property details tobe applied when converting the data to a different unit.

Holiday calendar Holiday calendar to be applied to the curve.Click on the drop-down to select the required holiday calendar.

Rollover calendar

Rollover calendar to be applied to the curve.Click on the drop-down to select a rollover calendar to be applied tothe curve. The calendar is used to convert the absolute contract torelative and to calculate the period covered by each tenor.

Roundingmethod Roundingmethod. Click on the drop-down to select the requiredrounding option.

Decimal precisionNumber of decimal places to be applied to the curve.It is not necessary to select a roundingmethod to specify thedecimal precision.

Curve Definition Details Page 186

CurveBuilder 6 | User Guide

Page 194: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Selecting the Input Sources for the Curve

You can specify the curve input sourceswhen creating a new curve using theCurve Definition wizard.Alternatively, once you have saved a new curve definition, you can open it for editing and specify the input data.

Note: The View Hierarchy option allows you to view the curve hierarchy for a particular curve. If theselected curve is a parent curve, you can see all the child curves and any products, used as inputs to thecurve.

From this context menu, you can also view the product details and contract data.

Selecting the Input Sources for the Curve Page 187

CurveBuilder 6 | User Guide

Page 195: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Additionally, if you have selected and have highlighted a forward curve input source, theOpen CurveDesigner option can be selected to open the curve for editing.

If you are defining a similar set of inputs for multiple curves, it is advised to specify these inputs first as one curveand use this curve as input to your other curves. This is recommended as curves are read significantlymorequickly than searching for and reading in forward contract datamultiple times.

TO SELECT THE INPUT SOURCES FOR THE CURVE

The procedure for selecting the input sources is similar, whether you are creating or editing a curve definition.

1. Either:

l Create a new curve definition

l Edit an existing curve definition

2. To add a new input source, either click in the top blank cell in theProduct / Curve column, on the drop-down or on the Add icon and select either Products or Forward Curves as the input source.

Products

l When selectingProducts, theSelect Productwindow is displayed.

l Use the Folders tree to navigate to and select the required product (s) and clickOK to add as aninput to your curve definition.

Note: You can click on the View Data icon to review the data to ensure that theselected product is correct.

Selecting the Input Sources for the Curve Page 188

CurveBuilder 6 | User Guide

Page 196: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Forward Curves

l When selecting Forward Curves, expand the required node in theSelect Curvewindow andselect the required curve.

3. (Optional) With an input product highlighted, click on the drop-down to display the context menu.l Click on theView Product option to display the product, the data and properties details. Forexample, youmaywant to check the underlying currency and units for the product.

Selecting the Input Sources for the Curve Page 189

CurveBuilder 6 | User Guide

Page 197: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

l Click on theView Contract Data option to display the contract data for the latest onDate forwhich data is available. You can then select a different onDate for which to view the data.

4. (Optional) With an input curve highlighted, click on the drop-down or right-click to display the contextmenu and select Open Curve Designer to open and edit the selected curve definition.

5. Click on the drop-down to select an existing role for the input source or to enter a new role label. Therole name is a label for the specified input source that is used to identify it when applying rules. It is notnecessary to assign a role if it is not required for the rule.

Note: To combine input sourceswhich, perhaps, have partial information, you can assign thesame role tomultiple input sources. For example, youmaywant to use one input source forthe prompt data and another source for the longer futures, monthly, quarterly data, etc.

Selecting the Input Sources for the Curve Page 190

CurveBuilder 6 | User Guide

Page 198: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

6. The default profile for the selected input source is displayed. If there aremultiple profiles associatedwith the selected input sources, specify the required profile.

7. (Optional) Enter an offset value to determine the number of days offset from the onDate to be used.

l Offset = 0 is taken as the current day. This is the default.The curve is built for the current day, using the current day's values for the specified source.

l Offset = -1 is taken as the previous quoting day.The curve is built for the current day, using the previous quoting day's values for the specifiedsource.

l Offset = 1 is taken as the next quoting day.The curve is built for the current day, using the following quoting day's values for the specifiedsource.

l Offset = 99 is taken as the last available quoting day.The curve is built for the current day, using the last available value for the specific source.

Note: The quoting days for the specified holiday calendar are taken into accountwhen determining the day specified by the offset.

Example: In the following diagram, you can see that the curve offset has two sources,Primary and Alternate1.

The offset value for Primary is set to 2, and for Alternate1 it is set to -1. So if we run theprimary source on 07-Feb-2018, then the curve is built for 07-Feb-2018, but the source picksup the data of 09-Feb-2018, as the offset value entered for primary source is 2.

Note: The Process Log Report contains detailed information regarding thecurve building process and the input data used.

8. Repeat this procedure to add additional input sources.

Selecting the Input Sources for the Curve Page 191

CurveBuilder 6 | User Guide

Page 199: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

9. Once you have defined one or more input sources, you can:

l Uncheck the box for the input source row (to the left of theRole column), to indicate that thesource is not mandatory. In this case, the curve is still built if there is no data for this input source.

With this box checked, the curve build will fail if there is no data for this input source .

l Click on the Delete button to remove the input data source for that row.

l SelectView Product from themenu listing view the product, data and property details for thehighlighted product.

l SelectView Contract Data from themenu listing to view the data for the highlighted product.

l SelectProducts or Forward Curves from theProduct / Curve drop-down to change the inputdata source for that row.

l Wheremultiple input sources have been defined with the same role, you can change the order byhighlighting the row and using the Up / Down arrows.

Note: You can also select the input source by selecting the required value from each of thedrop-downs and then clicking the Add icon to add the input source row.

Selecting the Input Sources for the Curve Page 192

CurveBuilder 6 | User Guide

Page 200: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Configuring Finalizers for a Curve

When creating or editing a curve, you can select and configure one or more finalizers for the curve to determinethe actions to be taken. You need to create the finalizer profile, under Types Manager before you canconfigure it for the curve.

When a finalizer profile is first created, you can specify default settings for the finalizer parameters. These canbe amended when selecting and configuring the finalizer for a specific curve.

Note: You canmonitor the status of finalizers that have been run on the Finalizer Log tab on theDashboard.

Single Curve Finalizers

A single curve finalizer is executed when:

l The curve for a single onDate is successfully built, once the input data for the curve is received.In this case, the configured output services are executed, regardless of the cut-off time.

l The cut-off time is reached.

At this time, a check ismade to see whether the curve has been built.Finalizer actions can be executed at this point, regardless of whether the curve has been built.

Note: If the curve has not been built, the curve status is changed fromWaiting to Failed.

When editing the curve, the required cut-off time and any offset is set underBuild Settings.

Important: With the option Disable build for non-quoting days set to True, you can configure finalisers to send anotification when curves are not built, due to holidays.

Configuring Finalizers for a Curve Page 193

CurveBuilder 6 | User Guide

Page 201: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Note: You can also configure finalizers for curve groups.

Configuring Finalizers for a Curve Page 194

CurveBuilder 6 | User Guide

Page 202: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO SELECT AND CONFIGURE FINALIZERS FOR A SINGLE CURVE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. To edit the curve, do one of the following:

l Double-click on the curve.

l Right-click the curve and select Open for Editing.

l Highlight the curve and selectEdit from theHome tab.The curve definition is displayed in a separate tab, labeled with the curve name.

3. Under Build Settings:a. Enter the required cut-off time.

b. Enter anyoffset to determine the day the cut-off time trigger refers to.

l Offset = 0 is taken as the current day. This is the default.The curve is built for the current day, using the current day's values for the specified source.

l Offset = -1 is taken as the previous quoting day.The curve is built for the current day, using the previous quoting day's values for the specifiedsource.

l Offset = 1 is taken as the next quoting day.The curve is built for the current day, using the following quoting day's values for the specifiedsource.

l Offset = 99 is taken as the last available quoting day.The curve is built for the current day, using the last available value for the specific source.

4. UnderCurve Settings: a. Select the required holiday calendar from the drop-down list.

Note: The quoting days for the specified holiday calendar are taken into accountwhen determining the day specified by the offset.

5. To add a new finalizer profile, click on the drop-down below Select and configure finalizer profileparameters for this curve to display a list of defined finalizer profiles.

Configuring Finalizers for a Curve Page 195

CurveBuilder 6 | User Guide

Page 203: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

a. Select the required finalizer to display it.

b. Enter or amend any finalizer parameter values relevant to this curve.

To remove an existing finalizer profile, select the blank row at the top of the drop-down listing.

6. ClickSave to save the changes to the curve definition and enter a reason for the changes.7. Once you have finished editing the curve, you can click on the to close the tab and selectYes to

confirm saving the changes.

Configuring Finalizers for a Curve Page 196

CurveBuilder 6 | User Guide

Page 204: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Documenting the Curve

Once a curve has been defined, you can edit the curve to add some text information, relating to the curvedefinition and rule package, etc. You can also save this information to file. If preferred, you can create the textcontent outside of GCB and then open the external document in the text editor and save it with the curvedefinition.

Note: If you have applied a standard rule package to the curve, the documentation relating to the rulepackage is automatically linked to the curve.

The separate documentation pane needs to be enabled to display any text related to the curve definition. Bydefault, the pane is displayed to the right of theExplorer tab, but can be dragged to a different position.

TO ENABLE THE DOCUMENTATION PANE

l On theView tab, selectDocumentation to display theDocumentation pane.

Note: Enabled panes are displayed with an orange background.

Documenting the Curve Page 197

CurveBuilder 6 | User Guide

Page 205: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO DOCUMENT CURVE DETAILS

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. To edit the curve, either:

l Double-click on the curve definition.

l Right-click the curve and select Open for Editing.

l Highlight the curve and selectEdit from theHome tab.The curve definition is displayed in a separate tab, labeled with the curve name.

3. In the left hand pane, clickDocumentation to open theRich Text Editor

4. In the editor, you can:

l Enter or edit the curve information.

l Apply any formatting to the text.

l SelectOpen to navigate to and import text from an external file and link it to the curve.You can only open documents in *.rtf or *.txt format.

l SelectSave As to save the curve documentation to file in .txt, .htm or .rtf format.

5. ClickOK to save the text and to exit the window.

Note: If you click Cancel without saving the changes and close the editor, any text you haveentered is not saved.

Documenting the Curve Page 198

CurveBuilder 6 | User Guide

Page 206: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Managing Versions of the Curve Definition

A new version of the curve definition is automatically created whenever youmake a change to the curvedefinition that merits a new version, e.g. a change to the input source or to the currency. A new version is notcreated for someminor changes. For auditing purposes, you are prompted to enter the reason for themodification, which is also useful to identify and track changes between versions. At this point, you can also flagthe amended version of the curve to be the production version.

When viewing the curve's versions, each version is numbered sequentially and displayed with details of whomade themodification, the reason and the date / time on which it was done.Where set, the status of the versionis also displayed.

The latest version of the curve is considered to be the current /active version, unless there is a curve versionthat is set to production.

Important: The curve statusmust be set to Production, as indicated by green square, to build thecurve.Wheremultiple versions of the same curve exist, you need tomake sure that the correct versionis set to Production.

Under Previous Versions, you can view andmanage the available versions of the curve definition and set thecurve status. You can also rollback to a previous version and compare differences between two selectedversions.

Note: The Previous Versions option is enabled when editing a curve definition.

Managing Versions of the Curve Definition Page 199

CurveBuilder 6 | User Guide

Page 207: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO VIEW AND MANAGE CURVE DEFINITION VERSIONS

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. To edit the curve, do one of the following:

l Double-click on the curve.

l Right-click the curve and select Open for Editing.

l Highlight the curve and selectEdit from theHome tab.The curve definition is displayed in a separate tab, labeled with the curve name.

3. SelectPrevious Versions on theHome orRules tab.ThePrevious Versions - <curve name> dialog box is displayed, listing the curve versions.

4. You can:

l Set the status of the curve

l Delete a curve version

l Rollback the curve version

l View the differences between two versions

Note: Rolling back deletes the latest version and reloads the previous version by discardingany unsaved changes in the current session.

5. When finished, click to close the window.

Managing Versions of the Curve Definition Page 200

CurveBuilder 6 | User Guide

Page 208: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Version of the Curve DefinitionYou can delete previous versions of the curve that are no longer required.

Note: The latest (active) version cannot be deleted. To remove it, you can use the rollback option.

TO DELETE A VERSION OF THE CURVE DEFINITION

1. With thePrevious Versions dialog box for the curve displayed, do one of the following:

l Select the version to be deleted and select Delete from the toolbar.

l Right-click the version to be deleted and selectDelete.2. SelectYes to confirm the deletion.

A message is displayed if you attempt to delete the latest version (highest sequential number).

Managing Versions of the Curve Definition Page 201

CurveBuilder 6 | User Guide

Page 209: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Rolling Back to a Previous Version of the Curve DefinitionThe rollback option deletes the latest version of the curve and reloads the previous version, discarding anyunsaved changes that have beenmade in the current session.

You cannot roll back to a previous version if only one version of the curve definition remains. In this case, therollback option is disabled.

Important: If you roll back from a version of the curve that is currently set to Production status, you needtomanually set the status for a different curve version to Production.

TO ROLLBACK TO THE PREVIOUS VERSION

1. With thePrevious Versions dialog box for the curve displayed, do one of the following:

l Select Rollback from the toolbar.

l Right-click on any version row and selectRollback.2. SelectYes to confirm the rollback.

Viewing the Differences between Curve Definition VersionsYou can use this option to compare differences between two versions of the same curve.

TO COMPARE TWO VERSIONS

1. With thePrevious Versions dialog box for the curve displayed, select the two versions that you wantto compare.

2. You can then either:

l Select Differences from the toolbar.

l Right-click on any version row and selectDifferences.

Note: This option is only enabled when two versions of the curve are selected.

Managing Versions of the Curve Definition Page 202

CurveBuilder 6 | User Guide

Page 210: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TheDifferences dialog box is displayed, highlighting the differences between the versions.

3. Close the window when done.

Managing Versions of the Curve Definition Page 203

CurveBuilder 6 | User Guide

Page 211: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Setting the Status for the Curve

When displaying a list of curves in theExplorer tab, the curve's status indicator is displayed visually to the left ofthe curve details.

A status indicator of Testing can be applied while the curve is being tested and then changed toProductionwhen the curve is ready to be built. Wheremultiple versions of the curve exist, you need to selectthe version to which you want to apply the status.

Important: The status of the curvemust be set to Production before it can be built.For curves that are set to auto-build with Production status, the curve is then automatically built whennew data is available.

By default, a status is not assigned to a curve definition when it is first created.When a curve definition isimported, it is automatically set to production.

ThePrevious Versionswindow is used to set the curve status.

Note: A status can only be set for a single version of the curve.

Setting the Status for the Curve Page 204

CurveBuilder 6 | User Guide

Page 212: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When saving the changes to an edited curve, you have the option to set the status toProduction by checkingthe box, as indicated. This sets the latest version of the curve definition.

TO SET THE CURVE STATUS

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. To edit the curve, do one of the following:

l Double-click on the curve.

l Right-click the curve and select Open for Editing.

l Highlight the curve and selectEdit from theHome tab.The curve definition is displayed in a separate tab, labeled with its name.

3. Select Previous Versions on theHome orRules tab to display thePrevious Versionswindow.

4. To set the status, either: l Select the required version, click Set Status on the toolbar and select the appropriate status.

l Right-click on the required version, selectSet Status and then the required status.The selected status is displayed alongside the curve.

Note: Select Reset to remove any status setting.

5. Select to close the window.

Setting the Status for the Curve Page 205

CurveBuilder 6 | User Guide

Page 213: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Adding Curves to a Dashboard Group

You can organize curves into different dashboard groups, adding them to new or existing groups. The samecurve can be added tomultiple groups. You can then run all curves as a group and apply finalizers to the curvegroup, rather than to individual curves.

Note: The status of dashboard groups can bemonitored on the Dashboard.

TO ADD A CURVE TO A DASHBOARD GROUP

1. In the Folders pane, either:

l Display the list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Highlight and right-click on the required curves.

l To add one or more curves to a new group:

i. SelectAdd Curves to > New Dashboard Group to display theDashboardGroup dialog box.

ii. Follow the procedure to create a new dashboard group.

l To add onemore curves to an existing group:

i. SelectAdd Curves to to display theExisting Dashboard Group dialog box.

ii. Select the group to which you want to add the curve and clickOK.

Adding Curves to a Dashboard Group Page 206

CurveBuilder 6 | User Guide

Page 214: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Cloning a Curve Definition

This option enables you to create a copy of an existing curve definition. This is useful if, for example, you want tocreate a new curve with a similar definition to an existing one but use different input data. You can then just editthe curve to change the details, as required.

TO CLONE A CURVE DEFINITION

1. To clone a curve, do one of the following:

l On the Filemenu, selectNew > Curve.l On the Filemenu, selectCurve on the New split-button drop-down.

l Highlight theCurves node in the Folders pane and either: o SelectNew on the .Home tab,o In the Task Manager pane, selectNew Curve Definition.

l On the keyboard, pressCtrl+Shift+C.l Right-click on any existingCurve and selectNew Curve Definition.

Note: You can also right-click the curve you want to clone and select Clone Curve Definitionto take you straight to the Specify Details dialog box.

TheNew Curve Definition Wizard dialog box is displayed.2. SelectClone Curve Definition.3. From the drop-down, select the curve you want to clone.

Cloning a Curve Definition Page 207

CurveBuilder 6 | User Guide

Page 215: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. ClickNext to display theSpecify Details dialog box.

TheCategory field is populated with the category for the curve that you are copying.5. If required, amend the category and enter aCode,Name andDescription for the new curve.

6. ClickFinish.The curve definition for the newly cloned curve is displayed in a separate tab, labeled with the curvename.

7. Edit the curve details, as required.

8. ClickDocumentation to view or edit the curve documentation.

9. Select and amend curve finalizers.

10. Select and amend the curve input sources.

11. To save the changes:

a. Do one of the following: 

l Click Save on theHome orRules tab.

l Click on the to close the tab and selectYes to save the changes.b. In theConfirm Save Changes box, enter the reason for the curvemodification.

c. Tick theSet status to production box if you want thismodified version of the curve definition to beused to build the curve.

Cloning a Curve Definition Page 208

CurveBuilder 6 | User Guide

Page 216: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Curve Definition

You can delete any curve definition that is no longer required. This will remove the curve entry from thedatabase and also delete any curve and group associations.

Important: Remember that the status for the curves ismonitored on the Dashboard. Built curvescontinue to be displayed on the Dashboard for dates up to the date that the curve is deleted.

TO DELETE A CURVE DEFINITION

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. To delete the curve, do one of the following:

l Highlight the curve and select Delete on theHome tab.

l Right-click on the curve and selectDelete.

Note: Multiple curves can be selected for deletion.

3. ClickYes to confirm the deletion and to remove the curve(s) from the listing.

Note: SeeManaging Curve Versions for details on deleting a version of the curve definition.

Deleting a Curve Definition Page 209

CurveBuilder 6 | User Guide

Page 217: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Viewing Curve Relationships

TheView Relationships option provides a visual representation of the links between curves.

In the following example, the link between two curves are shown, detailing the curve type, build type and runtype. The diagram shows:

l Outgoing connections (right-aligned) to the descendants (curves that are invoked by this curve)

l Incoming connections (left-aligned) from the ancestors (curves that invoke this curve)

TO VIEW THE RELATIONSHIPS BETWEEN CURVES

1. In the Folders pane, do one of the following:

l Expand and select the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. To view the relationships, either:

l Right-click the curve and select View Relationships.

l Highlight the curveView Relationships on theHome tab.TheRelationships - Curve namewindow is opened, displaying the curve links.

TO VIEW THE RELATIONSHIPS BETWEEN CURVES FROM THE DASHBOARD

1. In theCurves pane of the dashboard, right-click on the curve and select View Relationships.

Viewing Curve Relationships Page 210

CurveBuilder 6 | User Guide

Page 218: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Formulas

You can use curve formulas to build curves using pre-defined functions and simple formula language with onlya few lines of code, compared to a rule executing the same functions. The formula can be an expression or ascript, utilizing simple structures, such as IF THEN ELSE and FOR NEXT statements and functions.

The result of the formula is a curve variable, called CURVE.

Example: Simple expression

CURVE = PRIMARY - ALTERNATE1

In this example, a spread curve is created by subtracting all thematching tenors for the curve inputfor role ALTERNATE1 from the curve input for role PRIMARY.

Example: Simple script

if Areturn bootstrap(A)elsereturn bootstrap(B)endif

This script checks for the existence of curve input for role A and, if it exists, sets the defaultCURVE variable to the bootstrapped version of A or, if it does not exist, uses the bootstrappedversion of B.

Curve Formulas Page 211

CurveBuilder 6 | User Guide

Page 219: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Formula Dates and Calendars

Typically, curves require inputs andmanipulation of dates and calendars.

In a formula, the onDate is a variable that represents the date for which the curve is going to be built. TheonDate is a TenorDate variable type.

For details on constructing curve formulas, refer to:

l Curve formula language syntax

l Curve formula variables

l Curve formula functions

l Curve formula examples

See also:

l Specifying Curve Formulas in the Curve Definition

l Creating Curve Formula Rule Packages

Curve Formulas Page 212

CurveBuilder 6 | User Guide

Page 220: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Formula Structure

The curve formula structure comprises one or more of these statements:

l If statement

l For-loop

l For-in

l Assignment

l Function

l Method

l Return

l Log

l Comment

If StatementAn if statement is used to test a condition and then run one or more statements based on whether thatcondition is true. An if statement can also include an 'else' section, so you can run an alternate set ofstatements if the condition is false.

Example: 

if 2 > 1log "2 is greater than 1"

elselog "the world is crazy"

endif

The syntax for an if statement is as follows:

'if' (condition|NOTID|ID) NL (statement)* ('else' NL? (statement)*)?'endif'

Note: Click here for IF statement examples

Curve Formula Structure Page 213

CurveBuilder 6 | User Guide

Page 221: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Condition

The condition of an if statementmust resolve to a true or a false. The syntax of the condition is as follows:

expr op=(LT|LTE|GT|GTE|EQUAL|NE) expr

The op token determines the operation to be performed between the expressions. The full list of operations isshown below:

Operator Description Example

< Less than if size(A) < 1

<= Less than or equal to if size(A) <= 10

> Greater than if size(A) > 0

>= Greater than or equal to if size(A) >= 10

== Equal to if size(A) == 10

!= Not equal to if size(A) != 0

<> Not equal to if size(A) <> 0

Curve Formula Structure Page 214

CurveBuilder 6 | User Guide

Page 222: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Expression

The expression (expr) rule is used inmany places and can be any of the rules or tokens in the following table:

Syntax Rule Description Example

ID idVariable name. Can contain upper andlower case letters, numeric values andunderscore.

CURVE

NOTID notid Check for non-existence of a variable if !A

expr '.' ID property A property of a variable CURVE[M01].value

ID '(' expr? (',' expr)* ')' function A function size(CURVE)

expr '.' ID '(' expr? (','expr)* ')' method A method of a variable CURVE.add(tenor)

IID '[' (TENOR|INT|ID) ']' tenorA specific tenor in a list.Can bereferenced by name, index or avariable

CURVE[M01]

ID '{!' (TENOR|FILTER|expr)'}' not filter An inverse filter, i.e. all tenors except CURVE{!M*}

ID '{' (TENOR|FILTER|expr)'}' filter A list of tenors that match the filter CURVE{M*}

expr '^' expr power Returns an expression to the power ofanother expression A^2

expr ('*'|'/') expr MulDiv Multiplies or divides one expressionwith another A*2

expr ('+'|'-') expr AddSub Adds or subtracts one expression withanother A+1.2

expr op=('<'|'<='|'>'|'>='|'=='|'!='|'<>') expr

condition Checks the logical value of a condition if A>1

expr op=('and'|'or') expr AndOr Logical and, or if A and B

'(' expr ')' parens Parenthesis within an expression A+(B*1.2)

'!('expr ')' NotParens Not parenthesis within an expression if !(A == 1)

Curve Formula Structure Page 215

CurveBuilder 6 | User Guide

Page 223: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Syntax Rule Description Example

('+'|'-')? (INT|FLOAT) number A number 123

STRING string A literal string "HelloWorld"

NULL null An undefined variable null

('UNCHECKED'|'VALID'|'PLAUSIBLE'|'FAILED') constant A constant value for tenor status T.status=VALID

For LoopThe for loop is used to iterate through a sequence of numbers and then execute one or more statements thatnumber of times.

The syntax for a for loop is as follows:

'for' ID '=' expr 'to' expr NL (statement NL|NL)* 'next'

Example: 

for i = 1 to 10log "i is now " & i

next

For In LoopThe for in loop is used to iterate through a list of tenors.

Example: 

for T in CURVElog "Tenor is " & T

next

The syntax for a for in loop is as follows:

'for' ID 'in' ID NL (statement NL|NL)* 'next'

Curve Formula Structure Page 216

CurveBuilder 6 | User Guide

Page 224: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

AssignmentAn assignment is used to assign a value to a variable or the property of a variable.

Example: 

CURVE = A{M*}

The syntax for an assignment is as follows:

ID (DOT ID)? '=' expr

OperatorsThe operators used in expressions are: 

^,+, -, *, /, (, ), !

Operator precedence

Curve formulas use a fairly standard precedence for arithmetic operators. Exponentiation bindsmore tightlythanmultiplication and division, which bindsmore tightly than addition and subtraction.

Thus, this expression:

A = 1/2*3 - 4/5^2 + 7

would parse as: A = ((1/2)*3) - (4/(5^2)) + 7

This list shows the binding precedence for operators with the highest precedence operators first. Operators onthe same bullet have the same level of precedence.

1. Parenthesis: (..)

2. Function calls

3. Not operator '!'

4. Variablemethods and properties

5. Filters and array indexes

6. Exponentiation '^'

7. Multiply and divide '*' and '/'

8. Add and subtract '+' and '-'

9. Assignment and comparators '=', '==', '!=', '<>', '<', '<=', '>', '>='

10. Logical 'and' and 'or'

Curve Formula Structure Page 217

CurveBuilder 6 | User Guide

Page 225: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

FunctionThe function statement is used to execute a standalone function to perform something.

Example: sort(CURVE)

The syntax for a function statement is as follows:

ID '(' expr? (',' expr)* ')'

MethodThemethod statement is used to execute amethod on a variable.

Example: CURVE.clear()

The syntax for amethod statement is as follows:

expr DOT ID '(' expr? (',' expr)* ')'

Return statementThe final curve can be returned either using a return statement or updating the variable namedCURVE.

The return statement is used to halt execution of the formula and return the subject of the return statement asthe curve.

Example: 

CA = bootstrap(A)return CA

The syntax of the return statement is as follows:

RETURN expr

Curve Formula Structure Page 218

CurveBuilder 6 | User Guide

Page 226: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Log statementThe log statement is used to output messages to the curve process log which will help you trace whathappened during the building of the curve. The logmessage is a string, but variables can be concatenatedtogether using the ampersand '&' character.

Example: 

log "Adding tenor:" & T & " to the curve"CURVE.add(T)

The syntax for the log statement is as follows:

'log' (STRING|expr) ('&' (STRING|expr))*

CommentA comment in a curve formula is used for information purposeswhen looking at a formula. The comment mustbe on a line of its own and start with two forward slashes '//'. The comment is ignored by the formula executionengine.

Example: // This is a comment

KeywordsifelseendiffortoinnextreturnnulllogUNCHECKEDVALIDPLAUSIBLEFAILED

Curve Formula Structure Page 219

CurveBuilder 6 | User Guide

Page 227: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Tokens

FOR : 'for';

TO : 'to';

NEXT: 'next';

IN : 'in';

IF : 'if';

ELSE: 'else';

ENDIF: 'endif';

AND: 'and';

OR: 'or';

RETURN: 'return';

NULL: null';

CONST: ('UNCHECKED '| 'VALID' |'PLAUSIBLE' | 'FAILED');

ID : '$'?[a-zA-Z_]+ ;

INT : [0-9]+ ;

FLOAT: '-'?[0-9]+ '.' [0-9]+;

STRING:'"' (~[\\"] )*? '"'| '\'' (~[\\'] )*? '\'';

DOT : '.';

NL : '\r'? '\n' ; // return newlines to parser(is end-statement signal)

WS : [ \t]+ -> skip ; // toss out whitespace

MUL : '*' ;

DIV : '/' ;

ADD : '+' ;

SUB : '-' ;

EXP : '^';

GT : '>' ;

Curve Formula Structure Page 220

CurveBuilder 6 | User Guide

Page 228: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

GTE : '>=';

EQUAL: '==';

LT : '<' ;

LTE : '<=';

NE : '!='|'<>';

NOT : '!';

NOTID: NOT+ID;

COMMENT: '//' ~[\r\n]*;

PC:

('QH' | 'HH' | 'H' | 'CDA' | 'DA' |'PROMPT'| 'BOW' |'WW' | 'W' | 'WA' | 'MON' |'WKD' | 'WDNW' | 'DTD' | 'SAT' |'SUN'' |'BOM' | 'HM' | 'LOM' | 'M' | 'EOM'| 'Q' |'EOQ' | 'BOQ'| 'S' | 'SS' | 'SW' | 'SP' | 'SA'| 'HY' | 'Y' | 'GY' | 'EOY' | 'BOY' |'YANN');

TENOR: PC+[0-9]+;

FILTER: PC+'*';

FC: 'FC'

Curve Formula Structure Page 221

CurveBuilder 6 | User Guide

Page 229: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Building Using Formulas

Below is an example of a simple expression-based formula used to build a curve.

Example: 

Simple expression

CURVE = PRIMARY - ALTERNATE1

In this example, a spread curve is created by subtracting all thematching tenors for the curve inputfor role ALTERNATE1 from the curve input for role PRIMARY.

Variables

The following variables are available in the formula:

Variable Name Variable Type Description

CURVE TenorList This is the result of the formula that issaved as the curve.

role TenorListEach input role is created as a variable. Iftwo inputs have the same role, they areconcatenated.

property Scalar Each property on the definition is createdas a scalar variable.

Operators

These operators can be used:

Operator Description

+ Adds two variables.

* Multiplies two variables.

/ Divides one variable by another.

- Subtracts one variable from another.

( ) Used to perform a sub-action within the formula.

!() Reverse the boolean output returned from inner expression

Curve Building Using Formulas Page 222

CurveBuilder 6 | User Guide

Page 230: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Functions

These functions are supported:

Provider Function Description Example

General size Returns the size of theobject. size(PRIMARY) or size(CURVE)

Curve bootstrapConverts all non-monthlytenors in a TenorList toarbitrage-freemonths.

TEMP=bootstrap(PRIMARY)

Curve bootstrapquartersinseasons

Breaks down a TenorListfrom seasons to anarbitrage-free quarterlycurve.

CURVE=bootstrapquartersinseasons(A, 1)

Curve bootstrapquartersinyearsBreaks down a TenorListfrom years to an arbitrage-free quarterly curve.

CURVE=bootstrapquartersinyears(A,1)

Curve bootstrapmonthsinquarters

Breaks down a TenorListfrom quarters to anarbitrage-freemonthlycurve.

CURVE=bootstrapmonthsinquarters(A, 1)

Curve sortSorts the tenors in aTenorList into contractorder.

CURVE=sort(CURVE)

Curve overlay

Returns a TenorList whereTenors from TenorList Atake precedence overTenors from TenorList B.

CURVE=overlay(PRIMARY,ALTERNATE1)

Curve shift

Returns a TenorList wherethe Tenors are shiftedforwards or backwardsaccording to the shift value.

CURVE=shift(PRIMARY,2)

Curve swap

Returns a TenorList wherethe Tenors are recalculatedaccording to the providedrollover calendar and holidaycalendar.

CURVE=swap(A, "REOMHENG","HENG")

Curve Building Using Formulas Page 223

CurveBuilder 6 | User Guide

Page 231: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Provider Function Description Example

Calendar monthsinquarterReturns months from thesupplied TenorList forspecific relative quarter.

CURVE=monthsinquarter(EA,2)

Interpolation extrapolateExtends a TenorList tocover a total number ofyears.

CURVE=extrapolate(A, 3)

Interpolation fill Fills the gaps in a TenorList. CURVE=fill(A,'linear')

Examples

For these examples, the following curve definition is assumed:

l The curve definition has two inputs, A and B.Input A has the following tenors: 2020M01=10, 2020M02=11, 2020M03=12Input B has the following tenors: 2020M01=5, 2020Q01=5.2

l The onDate is sometime in December 2019

l The curve definition has two properties.Factor = 5Premium = 1.2

Formula Description Result

CURVE=A-BThis will create a spread curvebased on the 2 inputs where thetenors match.

M01=5

CURVE=A-factorThis will subtract the factor (5)from every tenor and add to theCURVE.

M01=5M02=6M03=7

CURVE=A-8 This will subtract 8 from everytenor and add to the CURVE.

M01=2M02=3M03=4

CURVE=(A+B)/2 This will average all thematchingtenors and add to the CURVE. M01=7.5

CURVE=bootstrap(B) This will create an arbitrage-freemonthly version of input B.

M01=5M02=5.3M03=5.3

CURVE=bootstrap(B)CURVE=A-TEMP

This will convert curve B tomonths and create a spreadcurve.

M01=5M02=5.7M03=6.7

Curve Building Using Formulas Page 224

CurveBuilder 6 | User Guide

Page 232: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Formula Description Result

CURVE=A*premium This will multiply each tenor in Aby the premium (1.2).

M01=12M02=13.2M03=14.4

CURVE=A[M01]+bootstrap(B) Adds the value of M01 from A tothe bootstrapped version of B

M01=15M02=15.3M03=15.3

CURVE=FCThis will give all the uniquetenors from all available inputroles.

M01=10M02=11M03=12Q01=5.2

CURVE=FC{M*}This will give all the uniquemonthly tenors from all inputroles available

M01=10M02=11M03=12

CURVE=FC[M01]This will giveM01 unique tenorfrom all input roles available (i.e.whichever come first)

M01=10

CURVE=AFC This will give all the tenors fromall input roles available.

M01=10M01=5M02=11M03=12Q01=5.2

CURVE=AFC{M*}This will give all themonthlytenors from all input rolesavailable.

M01=10M01=5M02=11M03=12

CURVE=AFC[M01]This will giveM01 tenor from allinput roles available (i.e.whichever come first).

M01=10M01=5

CURVE=A{M* > 1, Q* != 0}

This will give all the tenors fromA where period of monthly tenorsis greater than 1 and period ofquarterly tenor does not equal tozero.

M02=11M03=12Q01=5.2

CURVE=A{M*[0-2]}This will give all themonthlytenors from A where Period isfrom 0 to 2.

M01=10M02=11

Curve Building Using Formulas Page 225

CurveBuilder 6 | User Guide

Page 233: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Formula Variables

When a curve is run using a formula, various variables are created in the session, as shown below.

Variable Name VariableType Description

<Curve Input Name> TenorList Each curve input is a variable named after the ROLE ofthe input, e.g. PRIMARY.

<$ Property Name> Scalar Each curve property is a scalar prefixed with a '$' sothat the editor can distinguish it from the curve inputs.

CURVE TenorList This is the result of the formula that is saved as thecurve.

ONDATE TenorDate This is the date for which the curve is built.

Variable Types

l Scalar: is a single value, which can either be a number or a string.l Tenor: is a single tenor or maturity in a curve representing a delivery contract.l TenorList: is a list of tenors, usually a curve input role or the curve itself.l TenorListDefinition: represents the definition of the curve.l TenorDate: represents a date.

Curve Formula Variables Page 226

CurveBuilder 6 | User Guide

Page 234: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

ScalarA Scalar is a single value; either a string likeM01 or a number. A scalar has the following properties, which canbe accessed via the "." notation. e.g.A.name.

Property Description Read / Write

name Scalar name Read

value Scalar value Read / Write

Creating new scalars

You can create a new scalar as follows:

Example: 

X = Scalar("HelloWorld")

This creates a scalar variable named X with a value "HelloWorld".

Curve Formula Variables Page 227

CurveBuilder 6 | User Guide

Page 235: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TenorsA Tenor is a singlematurity in the curve which represents a delivery contract. It has the following propertiesandmethods:

Property Description Read / Write Type

name Tenor name. Read String Scalar

relative Relative period code. Read String Scalar

absolute Absolute period code. Read String Scalar

value Tenor value. Read / Write Scalar

source Description of the source ofthe value. Read / Write String Scalar

start Start date for delivery. Read TenorDate

end End date for delivery. Read TenorDate

expiry Expiry or last trading date. Read TenorDate

period Period number of the relativeperiod code. Read Numeric Scalar

status

Quality status of the tenor: UNCHECKED,PLAUSIBLE, VALID,FAILED.

Read / Write String Scalar

role Input role name. Read String Scalar

Method Description Syntax Returns

InterrogationMethods

isFirstMonthInQuarter True if this is the first month inthe quarter. isFirstMonthInQuarter() Boolean Scalar

isSecondMonthInQuarter True if this is the secondmonthin the quarter. isSecondMonthInQuarter() Boolean Scalar

isLastMonthInQuarter True if this is the last month inthe quarter. isLastMonthInQuarter() Boolean Scalar

asForwardContract Converts a Tenor into ForwardContract. asForwardContract() ForwardContract

Curve Formula Variables Page 228

CurveBuilder 6 | User Guide

Page 236: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Method Description Syntax Returns

isImmediatelyAfter True if a tenor is just afteranother tenor. isImmediatelyAfter(T) Boolean Scalar

isContainedInTrue if this tenor is contained in,but not equal to, the suppliedtenor.

isContainedIn(T) Boolean Scalar

isContainsTrue if this contract contains, butis not equal to, the suppliedcontract.

isContains(T) Boolean Scalar

ManipulationMethods

previousTenor Returns a tenor which is the oneprior to this one.

previousTenor() Tenor

nextTenor Returns a tenor which is the oneafter this one. nextTenor() Tenor

Other Methods

asHours Returns a TenorList of this tenor,split into hourly tenors. asHours() TenorList

asDays Returns a TenorList of this Tenorbroken into daily tenors. asDays() TenorList

asMonths Returns a TenorList of this Tenorbroken intomonthly tenors. asMonths() TenorList

Creating new tenors

You can create new tenors that can be added to the curve. For example:

Example: 

T = Tenor("M01", 12.6)T.status = VALIDT.source = "Manual"CURVE.add(T)

Curve Formula Variables Page 229

CurveBuilder 6 | User Guide

Page 237: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TenorListA TenorList is a list of tenors, usually a curve input role or the curve itself.

It has the following properties andmethods:

Property Description Read /Write Type

name Returns the name of the list. Read StringScalar

currency The currency of the curve. Read /Write

StringScalar

units The units of the curve. Read /Write

StringScalar

Method Description Syntax Returns

InterrogationMethods

size Returns the number of tenors in the list. size() NumericScalar

sort Returns the list of sorted tenors. sort() TenorList

contains Returns true if this tenor list contains the specifiedTenor / TenorList.

contains(T)

StringScalar

ManipulationMethods

add Adds a tenor to the list, unless it already exists. add(T) void

addAll Adds a tenor to the list, even though it alreadyexists but it should have a different role name. addAll(T) void

update Updates a tenor in the list, or adds it is doesn'talready exist. update(T) void

clear Removes all tenors from the list. clear() void

Curve Formula Variables Page 230

CurveBuilder 6 | User Guide

Page 238: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TenorList Actions and Filtering

A TenorList object has some additional options for filtering and counting tenors, etc.

Getting Tenors

l RoleName{TenorList-Filter}

e.g. A = PRIMARY to get all the tenors fromPRIMARY or role A = PRIMARY{M*} to get all themonthlytenors fromPRIMARY role.

l FC{TenorList Filter}

e.g. A = FC to get all the unique tenors (i.e. all tenors having unique period code only),A = FC{Y*} to get all the unique yearly relative tenors from all input roles available in a curve definition.

l AFC{TenorList-Filter}

e.g. A = AFC to get all the tenors. A = AFC{Y*} to get all the yearly relative tenors from all input rolesavailable in a curve definition.

Filtering Tenors

You can specify the following filters on a TenorList.

l Filter on tenor type, e.g. PRIMARY{M*} to use onlymonths.

l Filter a specific tenor, e.g. PRIMARY{SPOT}.

l Filter on a negative expression using '!' e.g. PRIMARY{!M*} or PRIMARY{!M01}.

l Filter on an expression, e.g. LAST{LAST > BID and ASK > LAST}.

Extended Filtering Tenors

l Filter on an expression using compare operator(<, <=, >, >=, != or <>)

e.g. PRIMARY{M*>1, Q*>2, QH*>1, M*, M00, M* != 1}

l Filter using range expression

e.g. PRIMARY{M*[1-2],M*[1-4], M01}

Curve Formula Variables Page 231

CurveBuilder 6 | User Guide

Page 239: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Counting Tenors

You can find out the number of tenors in a TenorList with the size() function.

Example: 

log "A has " + size(A) + " tenors"

Getting a specific tenor

You can use square braces to return a Tenor within a TenorList.

Example: 

T = A[0]

T = A[M01]

Creating a new empty TenorList

You can create a new empty TenorList (Curve) using the TenorList function.

Example: 

A = TenorList()

Curve Formula Variables Page 232

CurveBuilder 6 | User Guide

Page 240: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TenorListDefinitionA TenorListDefinition represents the definition of the curve.

It has the following properties andmethods.

Property Description Read /Write Type

name Returns the name of the variable. Read StringScalar

definitionName Returns the day of the definition. Read StringScalar

description Returns the description of the definition. Read StringScalar

category Returns the category of the definition. Read StringScalar

code Returns the code of the definition. Read StringScalar

Method Description Syntax Returns

InterrogationMethods

getUri Returns the curve definition URI getUri() StringScalar

getCurveUri Returns the curve URI getCurveUri() StringScalar

Curve Formula Variables Page 233

CurveBuilder 6 | User Guide

Page 241: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TenorDateA TenorDate represents a date with no time portion.

It has the following properties andmethods.

Property Description Read /Write Type

name Returns the name of the variable. Read StringScalar

day Returns the day of themonth. Read NumericScalar

month Returns themonth of the year. Read NumericScalar

year Returns the year. Read NumericScalar

DOW Returns the ISO day of the week where 1 is Mondayand 7 is Sunday. Read Numeric

Scalar

Method Description Syntax Returns

InterrogationMethods

isWeekday Checks to see if thisdate is weekday. isWeekday() Boolean

Scalar

isWeekend Checks to see if thisdate is weekend. isWeekend() Boolean

Scalar

isHoliday Checks to see if this isa holiday. isHoliday() Boolean

Scalar

isBefore Checks to see if thisdate is before another. isBefore(ONDATE) Boolean

Scalar

isAfter Checks to see if thisdate is after another. isAfter(ONDATE) Boolean

Scalar

isEqualChecks to see if thisdate is the same asanother.

isEqual(ONDATE) BooleanScalar

Curve Formula Variables Page 234

CurveBuilder 6 | User Guide

Page 242: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Method Description Syntax Returns

isLastDayOfWeek True if this is a Sunday. isLastDayOfWeek() BooleanScalar

isLastQuotingDayOfWeek True if this is the lastquoting day of the week. isLastQuotingDayOfWeek() Boolean

Scalar

asLastQuotingDayOfWeek Returns as last quotingday of the week. asLastQuotingDayOfWeek() TenorDate

isLastDayOfMonthTrue if this is the lastcalendar day of themonth.

isLastDayOfMonth() BooleanScalar

isLastQuotingDayOfMonthTrue if this is the lastquoting day of themonth.

isLastQuotingDayOfMonth() BooleanScalar

isLastQuotingDayOfMonth

True if this is the lastquoting day of themonth (Pass CalExternally).

isLastQuotingDayOfMonth(RCal)

BooleanScalar

asLastQuotingDayOfMonth Returns as last quotingday of themonth.

asLastQuotingDayOfMonth() TenorDate

isLastDayOfQuarterTrue if this is the lastcalendar day of thequarter.

isLastDayOfQuarter() BooleanScalar

isLastQuotingDayOfQuarterTrue if this is the lastquoting day of thequarter.

isLastQuotingDayOfQuarter()

BooleanScalar

asLastQuotingDayOfQuarter Returns as last quotingday of quarter.

asLastQuotingDayOfQuarter() TenorDate

isLastDayOfYearTrue if this is the lastcalendar day of theyear.

isLastDayOfYear() BooleanScalar

isLastQuotingDayOfYear True if this is the lastquoting day of the year. isLastQuotingDayOfYear() Boolean

Scalar

asLastQuotingDayOfYear Returns as last quotingday of year. asLastQuotingDayOfYear() TenorDate

nextRoll Returns next rolloverdate. nextRoll() TenorDate

Curve Formula Variables Page 235

CurveBuilder 6 | User Guide

Page 243: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Method Description Syntax Returns

asEndOfMonth

Returns a clonedTenorDatemoved to thelast calendar day of themonth.

asEndOfMonth() TenorDate

ManipulationMethods

addAdds a period to thisdate to return a newdate.

add("1d") TenorDate

addISOAdds a partial (missingtime) ISO8601 period toreturn a new date.

addISO("P1Y4D") TenorDate

subtractSubtracts a period fromthis date to return a newdate.

subtract("3m") TenorDate

subtractISO

Subtracts a partial(missing time) ISO8601period to return a newdate.

subtractISO("P1D") TenorDate

nextDate Move to the next day inthe quoting calendar. nextDate() void

nextQuotingDay Return the next quotingday in the calendar. nextQuotingDay() TenorDate

Other Methods

subtractReturns the number ofcalendar days betweenthis date and another

subtract(ONDATE) NumericScalar

getOffsetDaysFrom

Gets the number ofcalendar days betweenthis OnDate and thesupplied date

getOffsetDaysFrom(ONDATE)

NumericScalar

formatAsDateCreates a string versionof this OnDate using thesupplied format

formatAsDate(Format) StringScalar

formatAsTimeCreates a string versionof this OnDate using thesupplied format

formatAsTime(Format) StringScalar

Curve Formula Variables Page 236

CurveBuilder 6 | User Guide

Page 244: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating Tenor Dates

TenorDates can be created as follows:

TD = TenorDate(year, month, day)e.g.TD = TenorDate (2019, 8, 6)

Curve Formula Variables Page 237

CurveBuilder 6 | User Guide

Page 245: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Formula Functions

Function List

Provider Function Description Example

General size Returns the size of theobject. size(PRIMARY) or size(CURVE)

Curve bootstrapConverts all non-monthlytenors in a TenorList toarbitrage-freemonths.

TEMP=bootstrap(PRIMARY)

Curve bootstrapquartersinseasons

Breaks down a TenorListfrom seasons to anarbitrage-free quarterlycurve.

CURVE=bootstrapquartersinseasons(A, 1)

Curve bootstrapquartersinyearsBreaks down a TenorListfrom years to an arbitrage-free quarterly curve.

CURVE=bootstrapquartersinyears(A,1)

Curve bootstrapmonthsinquarters

Breaks down a TenorListfrom quarters to anarbitrage-freemonthlycurve.

CURVE=bootstrapmonthsinquarters(A, 1)

Curve sortSorts the tenors in aTenorList into contractorder.

CURVE=sort(CURVE)

Curve overlay

Returns a TenorList whereTenors from TenorList Atake precedence overTenors from TenorList B.

CURVE=overlay(PRIMARY,ALTERNATE1)

Curve shift

Returns a TenorList wherethe Tenors are shiftedforwards or backwardsaccording to the shift value.

CURVE=shift(PRIMARY,2)

Curve swap

Returns a TenorList wherethe Tenors are recalculatedaccording to the providedrollover calendar and holidaycalendar.

CURVE=swap(A, "REOMHENG","HENG")

Curve Formula Functions Page 238

CurveBuilder 6 | User Guide

Page 246: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Provider Function Description Example

Calendar monthsinquarterReturns months from thesupplied TenorList forspecific relative quarter.

CURVE=monthsinquarter(EA,2)

Interpolation extrapolateExtends a TenorList tocover a total number ofyears.

CURVE=extrapolate(A, 3)

Interpolation fill Fills the gaps in a TenorList. CURVE=fill(A,'linear')

Curve Formula Functions Page 239

CurveBuilder 6 | User Guide

Page 247: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

General Functions

Size

TheSize function returns the size of a list or returns the value as 1 if the variable is a scalar or tenor.

<Numeric Scalar> = size(<TenorList>|<Tenor>|<Scalar>)

Curve Functions

Bootstrap

TheBootstrap function creates an arbitrage freemonthly curve from a list of tenors.

<TenorList> = bootstrap(<TenorList>)

Overlay

TheOverlay function overlays one TenorList on another. All tenors are added from the first parameter andthen all tenors from the second parameter are added. Therefore, tenors from the first parameter takeprecedence.

<TenorList> = overlay(<TenorList>,<TenorList>)

Curve Formula Functions Page 240

CurveBuilder 6 | User Guide

Page 248: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Shift

TheShift function shifts (lags) all tenors in a TenorList using a shift parameter.

<TenorList> = shift(<TenorList>, <Numeric Scalar>)

If an input had these values

Tenor Value

M01 10

M02 11

Executing the function shift(A, 2) would result in the following TenorList.

Tenor Value

M03 10

M04 11

Sort

TheSort function sorts the tenors in a TenorList into contract order, returning a tenor list with the sort based onthe end of delivery.

<TenorList> = sort(<TenorList>)

Curve Formula Functions Page 241

CurveBuilder 6 | User Guide

Page 249: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Calendar Functions

monthsinquarter

<TenorList> = monthsinquarter(<TenorList>, <Numeric Scalar>)

Themonthsinquarter function extractsmonth tenors from a TenorList that falls within a specific relativequarter.

If you have a TenorList A with the following tenors:

Tenor Value

M01 2020M05

M02 2020M06

M03 2020M07

M04 2020M08

M05 2020M09

M06 2020M10

l monthsinquarter(A, 0)would returnM01 andM02 as they fall withing the current quarter.l monthsinquarter(A, 1)would returnM03, M04 andM05 as they fall in the relative Q01 quarter.l monthsinquarter(A, 2)would returnM06 as this falls in the relative Q02 quarter.l monthsinquarter(A, 3)would return an empty TenorList.

Curve Formula Functions Page 242

CurveBuilder 6 | User Guide

Page 250: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Interpolation Functions

Extrapolate

TheExtrapolate function extends a TenorList to a number of years.

<TenorList> = extrapolate(<TenorList>, <Numeric Scalar>)

Fill

The Fill function fills the gap in a TenorList.

l fill(var)

<TenorList> = fill(<TenorList>)

l fill(var, method)

<TenorList> = fill(<TenorList>, <String Scalar>)

The var variablemust be a TenorList and themethodmust be a scalar string with a value of one of thefollowing:

l forward

l backward

l linear

Curve Formula Functions Page 243

CurveBuilder 6 | User Guide

Page 251: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Formula Custom Functions

You can create custom functions for curve formulas in a rule package, that can then be used in the formulas inthat same rule package. The functions are written using BeanShell JAVA.

Example: 

Function Return Type: double

Function Name: exp(A)

Function Body:

return Math.exp(A.getValue()));

The above function can be used in your curve formula.

Example: 

for T in CURVET.value = T.value * exp(T)

next

Note: You need to pass any variables that you need in the function as parameters as the customfunctions have no access to variables within your formula.

Curve Formula Custom Functions Page 244

CurveBuilder 6 | User Guide

Page 252: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Formula Examples

Simple Expressions

Spread CurvesThis takes two curve inputs, with role A and B and subtractsmatching contracts within the two inputs.

Example: 

curve = A-B

This example uses two curve inputs, with role A and B:

l Bootstraps them to an arbitrage freemonthly version.

l Subtractsmatching contracts in B fromA.

Example: 

curve = bootstrap(A) - bootstrap(B)

Adding a Factor To a CurveThis formula takes an input from role A and adds a fixed scalar factor to each of the tenors of the input.

Example: 

curve = A+0.25

This example takes an input from role A and adds a scalar factor from a property FACTOR which is set on thecurve definition.

Example: 

curve = A+$FACTOR

Curve Formula Examples Page 245

CurveBuilder 6 | User Guide

Page 253: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Discounts and PremiumsThis example discounts input A by a fixed 10%.

Example: 

CURVE = A*0.9

This example discounts input A using a property called DISCOUNTwhich is set on the curve definition.

Example: 

CURVE = A*$DISCOUNT

Dealing with Period Codes

Adding only monthsThis formula filters the tenors from the PRIMARY role, so that onlymonths are added to the curve.

Example: 

CURVE = PRIMARY{M*}

This formula filters the unique tenors from all the roles ( i.e. Starting fromPRIMARY role first ) so that onlymonths are added to the curve.

Example: 

CURVE = FC{M*}

This example filters the tenors from all the roles so that onlymonths are added to the curve.

Example: 

CURVE = AFC{M*}

Curve Formula Examples Page 246

CurveBuilder 6 | User Guide

Page 254: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Lagging and leadingyou can use the shift function to lag or lead a curve. This example returns a curve that shifts all themonthlytenors by onemonth.

Example: 

CURVE = shift(A{M*}, 1)

Dealing with Little or No Data

These examples provides techniques for generating curveswhere there is little or no data available.

Using benchmark curvesThis technique uses a curve from a different market that is highly correlated and uses the spread between theSPOT prices as a factor against that curve.

Example: 

FACTOR = BENCHMARK[SPOT] - PRIMARY[SPOT]

CURVE = BENCHMARK - FACTOR

Using alternate sourcesThis technique uses all data from a primary or main source is used and then adds to it from an alternate source.

Example: 

CURVE = bootstrap(PRIMARY)

BA = bootstrap(ALTERNATE)

for T in BA

CURVE.add(T)

next

Curve Formula Examples Page 247

CurveBuilder 6 | User Guide

Page 255: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Using a pre-defined proportion percentage of a benchmark curveThis example takes a benchmark curve and returns a curve that is a% proportion of that curve.

Example: 

CURVE = PRIMARY * ($PROPORTION/100)

Interpolation and extrapolationThere are some built-in functions to perform interpolation and extrapolation.

In the following example, a backward filling technique is used to fill gaps and then extend the curve out threeyears.

Example: 

// Backfill gapsCURVE=fill(CURVE, 'backward')

// Fill to end of 3 yearsCURVE=extrapolate(CURVE,3)

Curve Formula Examples Page 248

CurveBuilder 6 | User Guide

Page 256: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Validation

Formulas can also be used to validate the curve after construction and set the status of each tenor.

Checking absoluteMIN andMAXThis example checks if two properties are defined on the definitionMIN andMAX and uses them to validate theabsolute values.

Example: 

if $MIN and $MAX

for T in CURVE

if T > $MAX or T < $MIN

T.status = FAILED

else

T.status = VALID

endif

next

endif

Curve Formula Examples Page 249

CurveBuilder 6 | User Guide

Page 257: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

IF Statement Examples

Example: 

if VARIABLElog "True"

elselog "False"

endif

l If VARIABLE is of Scalar type. it returns true if and only if value is either greater than zero (i.e. if it is ofNUMBER type) or "true" (i.e. if it is of STRING / BOOLEAN type).

l If VARIABLE is of Tenor List, It return true if and only if the size of Tenor List is greater than zero.

Example: 

if !VARIABLElog "True"

elselog "False"

endif

l If VARIABLE is of either Scalar or Tenor List type:o It returns false if VARIABLE is present in memory.o It returns true if VARIABLE is not present in memory.

IF Statement Examples Page 250

CurveBuilder 6 | User Guide

Page 258: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Example: 

if !(BOOLEAN_VARIABLE)log "True"

elselog "False"

endif

and

Example: 

if !(BOOLEAN_EXPRESSION)log "True"

elselog "False"

endif

Note: '!' operator when used with '()', always checks for boolean expression.

Example: 

if VARIABLE == nulllog "True"

elselog "False"

endif

Example: 

if VARIABLE != nulllog "True"

elselog "False"

endif

Note: In both of these cases, the comparison only works if VARIABLE is of Scalar type.

IF Statement Examples Page 251

CurveBuilder 6 | User Guide

Page 259: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Formulas in the Curve Definition

Curve Definition Build Types for Curve Formulas

Curve formulas can either be constructed as a formula package or as a direct formula. When defining thecurve, you need to select the appropriate build type and details.

Formula Package

Similar to a rule package, the formula package is a shared package with one or more formulas, customfunctions and java package imports that can be applied tomultiple curves. Formula packages are created andstored under theRules node, with the type specified asFormulaCurveConstruction.

When defining the curve, FormulaPackage is selected as the build type. You can then select the requiredformula package and, wheremultiple formulas have been specified, enter the formula name.

Note: See Creating a Curve Formula Rule Package for details.

Curve Formulas in the Curve Definition Page 252

CurveBuilder 6 | User Guide

Page 260: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Direct Formula Curve

Specified as part of the curve definition, a direct formula can only be applied to the individual curve.Whendefining the curve,DirectFormula is selected as the build type. You can then enter the formula in the editorbelow the input sources. Once the curve has been defined, you can open it in the editor, to amend the details.

Curve Formulas in the Curve Definition Page 253

CurveBuilder 6 | User Guide

Page 261: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating a Curve Formula Rule Package

The procedures for curve formula rule packages are similar to standard rule packages.When creating a curveformula rule package, you need to select FormulaCurveConstruction as the rule type.When the rulepackage is opened to define the rules, the interface relates to the formula definition.

You can add one or more formulas to a curve formula rule package.When adding a new formula, you need toenter the formula name and enter the formula code. You can also copy formulas from another formulapackage.

Once the curve formula rule package has been created, the package status is automatically set toProductionand you can then associate the rule package with a curve definition.

Note: See About Curve Formulas for more information, language syntax and examples.

For curve formulas, you can:

l Copy formulas from another curve formula rule package

l Edit existing curve formulas

l Delete existing curve formulas

Creating a Curve Formula Rule Package Page 254

CurveBuilder 6 | User Guide

Page 262: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO ADD A NEW FORMULA TO THE CURVE FORMULA RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of rule packages in theExplorertab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the rule package, either:

l Double-click on the selected rule package.

l Right-click on the required rule package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing formulas arelisted.

3. Enter the name for the new formula under Formula Name.

4. (Optional) Enter a description for the new formula.

5. Click the Add icon to add the formula.

6. Enter the required formula details.

7. To save the formula package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the formula package change.

b. Check theSet status to production box if you want thismodified version of the formula rulepackage to be used when building a curve and then clickSave.

Creating a Curve Formula Rule Package Page 255

CurveBuilder 6 | User Guide

Page 263: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO COPY FORMULAS FROM ANOTHER CURVE FORMULA RULE PACKAGE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of formula rule packages in theExplorer tab.

l Enter a search criteria in the top navigation bar to quickly locate the required formula rulepackage.

2. To edit the package, either:

l Double-click on the package.

l Right-click on the package and select Open for Editing.

l Highlight the package and selectEdit on theHome tab.The rule package is opened in a new tab, labeled with the package name. Any existing formulas arelisted.

3. Right-click anywhere in the formula pane and selectCopy Formulas.

The Formulas dialog box displays the available formula packages.4. You can expand the formula package to view formulas defined in the package.

5. You can either copy all formulas or select individual formulas from one or more formula packages.

l To copy all formulas in a formula package, check the box next to the formula package name.

l To copy individual formulas, expand the formula package and check the box for the individualformulas.

l To copy all formulas, check the Formula Packages box.

Creating a Curve Formula Rule Package Page 256

CurveBuilder 6 | User Guide

Page 264: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

6. ClickOK to copy the selected formulas into the current formula package.

Note: The copied formulas are not linked to the original formulas. Any changesmade to a formula in oneformula package need to be replicated in other formula packages.

7. To save the formula rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the change in the package.

b. Check theSet status to production box if you want thismodified version of the formula rulepackage to be used when building a curve and clickSave.

Creating a Curve Formula Rule Package Page 257

CurveBuilder 6 | User Guide

Page 265: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO EDIT AN EXISTING FORMULA

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of formula rule packages in theExplorer tab.

l Enter a search criteria in the top navigation bar to quickly locate the required rule package.

2. To edit the formula package, either:

l Double-click on the selected package.

l Right-click on the required package and select Open for Editing.

l Highlight the package and selectEdit on theHome tab.The formula package is opened in a new tab, labeled with the package name. Any existing formulas arelisted.

3. Amend the formulas, as required.

4. To save the formula rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the formula rule package change.

b. Check theSet status to production box if you want thismodified version of the formula rulepackage to be used when building a curve and clickSave.

Creating a Curve Formula Rule Package Page 258

CurveBuilder 6 | User Guide

Page 266: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO DELETE AN EXISTING FORMULA

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of formula rule packages in theExplorer tab.

l Enter a search criteria in the top navigation bar to quickly locate the required package.

2. To edit the formula rule package, either:

l Double-click on the selected package.

l Right-click on the required package and select Open for Editing.

l Highlight the rule package and selectEdit on theHome tab.The formula rule package is opened in a new tab, labeled with the package name. Any existingformulas are listed.

3. To remove a formula, either: 

l Highlight the formula and select click Delete on theHome tab.

l Right-click on the formula and selectDelete.4. To save the formula rule package, do one of the following: 

l Click Save on theHome tab or theRules tab.

l Click on the to close the tab and selectYes to save the changes.a. Enter a reason for the formula rule package change.

b. Check theSet status to production box if you want thismodified version of the formula rulepackage to be used when building a curve and clickSave.

Creating a Curve Formula Rule Package Page 259

CurveBuilder 6 | User Guide

Page 267: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Folders

You can organise your curves underMy Folders andShared Folders, creating sub-folders and adding yourcurves to one or more folders. You can also share curveswith other users under theShared Folders node.

The Folders pane displays the created folders, in tree view. You need to expand each folder to view thecorresponding sub-folders.

Curve folders are separated into:

l My Folders: visible and accessible only by the owner of the folder; folders created within My Folders canbe seen only by you.

l Shared Folders: visible and accessible to everyone who is part of your workgroup.

Note: The Curve Categories folder organizes the curves based on the category specified whendefining the curve.Under Curve Hierarchy, you can view dependent curves, providing details of curves used as input toother curves.

Curve Folders Page 260

CurveBuilder 6 | User Guide

Page 268: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Adding Curves to a Folder

You can organize curves in different folders, adding them to new or existing folders. The same curve can beadded tomultiple folders.

Curve folders are separated into:

l My Folders: visible and accessible only by the owner of the folder; folders created within My Folders canbe seen only by you.

l Shared Folders: visible and accessible to everyone who is part of your workgroup.

TO ADD A CURVE TO A CURVE FOLDER

1. In the Folders pane, either:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Highlight and right-click on the required curves.

l To add one or more curves to a new folder:

i. SelectAdd Curves to > New Curve Folder to display theCurve Folder dialogbox.

ii. Follow the procedure to create a new curve folder.

l To add onemore curves to an existing curve folder:

i. SelectAdd Curves to toExisting Curve Folder to display theCurve Foldersdialog box.

ii. Select the curve folder to which you want to add the curve and clickOK.

Note: You can also drag and drop one or more curves from the Explorer tab to the relevant folder.

Adding Curves to a Folder Page 261

CurveBuilder 6 | User Guide

Page 269: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating a Curve Folder

You can create a new folder underMy Folders or Shared Folders and then add curves to them. To create anew folder, you can either:

l Create a new folder and then add the curves to the folder.

l Pre-select the curves for the folder and then create the folder.

Once a folder has been created, it can be edited, copied, moved to a different location or deleted.

TO CREATE A NEW CURVE FOLDER

1. To create the new folder, do one of the following:

l On the Folders pane, right-click eitherMy Folders or Shared Folders and selectNew CurveFolder.

l Highlight eitherMy Folders or Shared Folders and from the Task Manager pane, selectNewFolder.

TheCurve Folder dialog box is displayed.

2. UnderDetails: l Location: The location is automatically populated, based on where you selected to create the newcurve folder.

l Name: Enter a unique name for the folder.l Description: (Optional) Enter a description for the folder.

3. ClickOK to create the folder in the respective folder list.

Note: The alternative way to add curves to a folder is to highlight and right-click on one or more curvesand select Add Curves To. You can then specify if you want to add the curves to a New Curve Folderor an Existing Curve Folder.

Creating a Curve Folder Page 262

CurveBuilder 6 | User Guide

Page 270: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Editing a Curve Folder

You can change the name and description of any sub-folder underMy Folders andShared Folders.

TO EDIT A CURVE FOLDER

1. In the Folders pane, highlight the folder that you want to edit.

The list of folders are displayed in theExplorer pane.2. Do one of the following:

l Select the folder and then clickHome > Edit orCtrl+Enter on the keyboard.l Right-click on the folder you want to edit and selectOpen for Editing.TheCurve Folder dialog box is displayed.

3. Make the required changes to the name or description.

4. ClickOK to save the changes.

Editing a Curve Folder Page 263

CurveBuilder 6 | User Guide

Page 271: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Copying a Curve Folder

You can duplicate any folder set up underMy Folders or Shared Folders to create a copy containing thesame curves. You can either save it with a new name in the same folder or copy it to a different folder locationwith the same or a new name.

Note: From the Folder pane or Explorer tab, you can also copy the curve folder URI to the clipboard,by right-clicking on the folder name and selecting Copy.

TO COPY A CURVE FOLDER

1. Right-click on the folder you want to copy and selectCopy To. TheCopy To Folder dialog box isdisplayed.

Copying a Curve Folder Page 264

CurveBuilder 6 | User Guide

Page 272: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

2. Select the folder where you want to copy the folder. TheCurve Folder dialog is displayed, with thelocation populated with the selected folder.

3. UnderDetails: l Location: The location is automatically populated, based on where you selected to copy the curvefolder.

l Name: Enter a name for the folder. If you are copying the folder to the same folder location, enter anew name.

l Description: (Optional) Enter a description for the folder.4. ClickOK to copy the folder to the selected folder location.

Copying a Curve Folder Page 265

CurveBuilder 6 | User Guide

Page 273: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Moving a Curve Folder

You canmove an existing sub-folder and the curveswithin it to a different folder location. When youmove afolder that is a parent folder, any sub-folders are alsomoved. You can alsomove a folder to a shared folder thatanother user has created.

TO MOVE A CURVE FOLDER

1. Right-click on the selected folder and selectMove To ... to display theMove To Folder dialog box.

2. Select the folder into which you want to move the selected folder.

3. ClickOK to move the folder to the selected folder location.

Note: You can also simply drag and drop a folder to move it from one folder location to another.

Moving a Curve Folder Page 266

CurveBuilder 6 | User Guide

Page 274: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Curve Folder

You can delete any folders that you have created and are no longer required. However, you cannot deleteshared folders created by another user.

Once you delete a folder, it is permanently removed fromGCB andwould need to be re-created, if required.

Note: Any curves that were held in the deleted folder remain in the system.

TO DELETE A CURVE FOLDER

1. In the Folders pane, either:l Right-click on the folder to be deleted and selectDelete.l Highlight the folder and pressCtrl+Del on the keyboard.A message is displayed prompting for confirmation that the folder should be deleted.

2. ClickYes to confirm.

Deleting a Curve Folder Page 267

CurveBuilder 6 | User Guide

Page 275: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Hierarchy

TheCurve Hierarchy option in the Folders pane provides a hierarchical view of the curve structure. Here,you can easily identify curve parents, dependencies and their relation with one another.

When you select a curve in theCurve Hierarchy folder, the curve and product inputs for the selected curve areshown in hierarchical view in theExplorer tab, together with the full curve display. You can also expand theparent curve in the Folders pane to view the curve hierarchy.

In this example, the Final Curve curve has been defined with two inputs.

Note: The same curve can be viewed under Curve Categories, but the curve hierarchy details are notdisplayed.

When theCurve Hierarchy node is selected, all curves are displayed in theExplorer tab, grouped bycategory. For curveswith dependencies, the curve hierarchy for those curves is also displayed.

Curve Hierarchy Page 268

CurveBuilder 6 | User Guide

Page 276: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Where the same curve is used as an input in multiple curve definitions, it is listed in each curve instance where itis used.

For curveswith dependencies theView Relationships andView Hierarchy options also display circulardependency errors, if any exist.

Curve Hierarchy Page 269

CurveBuilder 6 | User Guide

Page 277: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

ViewHierarchy Option

TheView Hierarchy option details the hierarchy for a particular curve. If the selected curve is a parent curve,you can see all the child curves, used as inputs to the curve. Equally, if you select a child curve, you can see allinstanceswhere the curve is used as an input to other curves.

TO VIEW A CURVE'S HIERARCHY

1. Either:

l Right-click on the curve and selectView Hierarchy.l Highlight the curve and selectView Hierarchy on theHome tab.

TheCurve Hierarchywindow is opened, displaying the curve relationship and links.

Note: You can also view a curve's hierarchy from the Dashboard, by right-clicking on the curve andselecting View Hierarchy.

View Hierarchy Option Page 270

CurveBuilder 6 | User Guide

Page 278: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Building

Once you have created a curve and set a version of the curve toProduction, you can build the curve for therequired date range. Once a curve is built successfully, you can view the curve and process log.

All curves are built in the background and nomessage is displayed on the screen once a curve has been built.You can check the curve build status on the Dashboard and view any related error messages, if generated.You can also run a curve directly from the dashboard.

You can configure finalizer profiles to specify actions to be taken when a curve has been successfully built orhas failed. Additionally, you can set the status for the curve to lock / unlock or approve / unapprove it. Once thecurve status has been set to locked, no further builds for that curve can be executed for that day.

Run Types

Specified in theBuild Settingswhen editing a curve, theRun Type determines how and when a curve is built.

l Auto: The curve is automatically built whenever the required input sources are received.If the inputs are loaded for a single day, the curve is built for single day and if loaded for amonth then themonth's data is used to build the curve. If the input data is loadedmore than once, e.g. with a correction,the curve is re-built.

l Manual: The curve is built on an ad-hoc basis, as and when required. You can build the curve for a singledate or for a specified date range.

l Live: The curve is updated in real-time whenever new data is received.For this option, you need to specify the start and end time to specify the period during which the livecurve is built and a value for the snap minutes.

Curve Building Page 271

CurveBuilder 6 | User Guide

Page 279: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The live curves are retained inmemory and a snapshot of the curve is saved to the database at intervals,as specified by the snapminutes.

l Scheduled: The curve is built at the specified cut-off time, taking into account any offset.l None: You can select this option when configuring the curve definition. to prevent the curve from beingbuilt.

TO CONFIGURE A CURVE TO BE BUILT AUTOMATICALLY

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Open the curve for editing.

3. From theRun Types drop-down underBuild Settings, selectAuto.

Run Types Page 272

CurveBuilder 6 | User Guide

Page 280: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO RUN A CURVE MANUALLY

1. In the Folders pane, select or expand the relevant nodes to display the required list of curves in theExplorer tab.

2. Right-click on the curve definition and selectRun Curve to open theSelect Date Rangewindow. Thedefault date is set as B-1 (the last business day).

3. Select the required date range over which to build the curve. To build the curve for a single date, selectthe same start and end date. The curve build is added to the execution queue.

4. Click the Refresh button after a few moments to view the curve.

Note: You can also right-click on a version of the curve to run it for the selected date.

Run Types Page 273

CurveBuilder 6 | User Guide

Page 281: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO CONFIGURE A LIVE CURVE

1. In the Folders pane, select or expand the relevant nodes to display the required list of curves in theExplorer tab.

2. Optionally, apply filters to locate the required curve.

3. Open the curve for editing.

4. From theRun Types drop-down underBuild Settings, select Live.5. Enter a start and end time during which live curves should be updated.

The default time period is 05:00 - 22:00.

6. Enter a value for the snapminutes, to determine the time interval at which a snapshot of the built livecurve is saved to the database. By default, this is set to 15minutes.

Once a curve is built successfully, you can view the curve and process log.

Run Types Page 274

CurveBuilder 6 | User Guide

Page 282: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO SCHEDULE A CURVE BUILD

When scheduling a curve, you need to specify the cut-off time to set the time at which the curve build isexecuted. After this time, if the curve is not built, the curve status changes fromWaiting to Failed.

1. In the Folders pane, select or expand the relevant nodes to display the required list of curves in theExplorer tab.

2. Optionally, apply filters to locate the required curve.

3. Open the curve for editing.

4. From theRun Types drop-down underBuild Settings, selectScheduled.

5. To specify theCut-off time, enter the time directly or select the icon to display theSelect Timedialog box and enter the required time.

6. Optionally, enter an offset to apply the cut-off time to a different day to the current day.

l Offset = 0 is taken as the current day. This is the default.The curve is built for the current day, using the current day's values for the specified source.

l Offset = -1 is taken as the previous quoting day.The curve is built for the current day, using the previous quoting day's values for the specifiedsource.

l Offset = 1 is taken as the next quoting day.The curve is built for the current day, using the following quoting day's values for the specifiedsource.

l Offset = 99 is taken as the last available quoting day.The curve is built for the current day, using the last available value for the specific source.

Note: This field is displayed once you enter a cut-off time.

7. ClickOK.

Run Types Page 275

CurveBuilder 6 | User Guide

Page 283: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO CONFIGURE A CURVE WITH RUN TYPE SET AS NONE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Open the curve for editing.

3. From theRun Types drop-down underBuild Settings, selectNone.

l When the run type is set toNone and an attempt ismade tomanually build the curve, the following errormessage is displayed: Curve building is deprecated for the curve type RUN_NONE.

l When the run type is set toNone and a user triggers an auto build of the curve by loading the contractdata, the curve will not build.

TO RUN A CURVE FROM THE DASHBOARD

1. In theCurves pane of the dashboard, right-click on the curve and selectRun Curve. A message isdisplayed, advising that the curve build taskwas successfully placed on the execution queue.

2. ClickOK.

Run Types Page 276

CurveBuilder 6 | User Guide

Page 284: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Viewing the Built Curve

The built curve can be selected and viewed in theChart Viewer on theExplorer tab. When you select a curvefrom theExplorer tab listing, details of the built curve versions, including snapshots versions for live curves, aredisplayed below the filter bars.

The built curve data is displayed in the Chart Viewer, in chart and tabular format. Where possible, tenors areconverted and displayed as relative and absolute tenors.

By default, the final version of the built curve for the latest onDate is displayed. Using the filter bars, you canchange the date to view the curves built on a different date.

For curve series data only, you can change the time zone and filter the data displayed. By default, the data isdisplayed in UTC timezone.

Viewing the Built Curve Page 277

CurveBuilder 6 | User Guide

Page 285: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

.You can also view the curve in a separateChart Viewer when the curve is open for editing. To do this, click ontheView Curve button and select the date for which you want to build the curve.

For each curve version, you can toggle the status to approve / unapprove it and to lock / unlock it. You areprompted to enter a reason for the status change, which is recommended for auditing purposes.

Note: Once a curve has been locked, it cannot be run.

Viewing the Built Curve Page 278

CurveBuilder 6 | User Guide

Page 286: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO VIEW THE BUILT CURVE IN THE EXPLORER TAB

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Select the required curve to display the list of build versions.3. If multiple versions of the built curve exist, select the required version. By default, the FINAL version is

selected.

The corresponding data chart and data grid are displayed in theChart Viewer.

Note: Right-click and select Remove All to remove the selected curve and data from theChart Viewer.

4. Use the filter bars to select a different onDate. By default, the data for the latest onDate is displayed.

You can right-click on the chart or data grid for these options:

l Apply conversion

l Change the chart type

l Specify chart settings

l Select the chart options

l Export the data to Excel

l View the process log

l View the curve properties

Note: You can also select a different theme and palette to be applied to the chart display.

5. If required, select a different curve build or use the date selection bars to select a different onDate.The data in theChart Viewer is automatically refreshed to reflect your selection.

6. Right-click on any version of the built curve for these options:

l Run Curve: Runs the curve for a particular date.l Approve / Unapprove: Toggle to change the status of the selected version of the built curve.l Lock / Unlock: Toggle to change the lock status for the selected version of the built curve. Oncea curve is locked, it cannot be altered for that day. Additionally, you cannot build a locked curve.

l Copy: Copies the URI details of the selected curve to clipboard.l Process Log Viewer: Open the process log for the selected version of the built curve.Whenaccessing the process log this way, you cannot save or print it.

l Delete: Deletes the selected version of the built curve.

Viewing the Built Curve Page 279

CurveBuilder 6 | User Guide

Page 287: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Built Curve Data Table

The data for the built curve is displayed in theChart Viewer, in chart and tabular format. You can select thedata to be displayed in the data table, to filter and view only the required information.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

In the following example, the data grid displays the default column details for the built curve.

This option is only available forCurve data displayed in theChart Viewer; a similar option does not exist forProduct data displayed in theChart Viewer.

These data columns can be selected for display:

Column DescriptionDisplayed

byDefault?

Relative Displays relative tenors. e.g: M01 (month 1)

Absolute Displays absolute tenors. e.g. 2017M05 (May 2017)

Expiry Last day of trading for the contract.

Start Start of delivery period.

End End of delivery period.

Value The data value.

Change The difference between current day and previous day's value and thedirection of the change.

Built Curve Data Table Page 280

CurveBuilder 6 | User Guide

Page 288: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Column DescriptionDisplayed

byDefault?

Source Source of the input data, including the period code.

Fair ValueCompliance Regulation on how the forward curves are valued. Fair value rating.

Status Displays the build status of the curve, e.g. success, waiting, failed.

Failed Status Displays validation checks that have been run and failed.

Price Type Indicates price type for curve tenors and forward contracts.The price type can be Real, Implied, Withheld.

Percentagechange

Displays the percentage change between the current day and previous day'svalue.

Note: For more information on viewing the data displayed in chart and grid format, see About Charts.

Built Curve Data Table Page 281

CurveBuilder 6 | User Guide

Page 289: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Versions Data Table

You can select the built curve version details to be displayed in theExplorer tab, to filter and view only therequired information in the data table.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

In the following example, all columns other thanQuality Status are included in the curve versions data table.

These data columns can be selected for display:

Column DescriptionDisplayed

byDefault?

Modified By User or method by which the curve version was last modified.

Modified Date Date when the curve version was last modified.

ModifiedReason Reason for the curve versionmodification.

Build Status Displays build status for the curve version.

Quality Status Displays quality check status for the curve version.

Curve Versions Data Table Page 282

CurveBuilder 6 | User Guide

Page 290: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Process Log for Built Curves

A process log is generated whenever a curve is successfully built. You can view the log for the latest buildversion or for a specific onDate. The log includes the following details:

l Curve build type

l Number of valid input contracts

l Version of the built curve

l Version of the rules

l Contract details and processing actions, including: o Data validationo Contract removalo Calculations performedo Errors

l Total number of log entries

You can access the built curve's process log on the Dashboard. Alternatively, you can select the curve andbuild version on theExplorer tab and view the log in the Process Log Viewer.

Note: When viewing the log in the Process Log Viewer, you can filter the entries to search for specifickeywords.

Dashboard Process LogIn this example, the latest process log entries for the selected curve are displayed in the lower pane of theDashboard The total number of messages is shown, together with a scrolling list for the entries.

Process Log for Built Curves Page 283

CurveBuilder 6 | User Guide

Page 291: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Process Log ViewerIn this example, the curve is selected in theExplorer tab and the process log for the FINAL version of the curveis displayed in the separateProcess Logwindow.

Here, you can apply filters to display errors, debug, warning or informationmessages, as available.

Process Log for Built Curves Page 284

CurveBuilder 6 | User Guide

Page 292: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Viewing the Curve Process Log

TheProcess Log Viewer is used to view the process log for a selected version of a built curve.

For extensive logs, you have the option to filter the entries to only display results that match the searchexpression.

Note: You can also view process logs for successfully built curves on the Dashboard.

TO VIEW THE PROCESS LOG FOR A CURVE VERSION IN THE PROCESS LOG VIEWER

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly filter and locate the required curve.

2. To display the list of curves in theExplorer tab, do one of the following:l Select theCurves node in the Folders tree to display all curves.l Select theGroups node and then the requiredCurve Group to display only the curves for theselected group.

3. Select the required version of the curve.

Note: The latest version of the curve, named FINAL, is selected by default.

Viewing the Curve Process Log Page 285

CurveBuilder 6 | User Guide

Page 293: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. Select the version of the curve for which you want to view the process log.

The corresponding chart and data values are displayed in theChart Viewer.5. To view the process log, do one of the following:

l Right-click on the row and selectProcess Log Viewer.l Right-click anywhere on the chart or data grid and selectProcess Log.

The process log for that date is displayed in a separateProcess Log Viewer window.6. You can: 

l Enter a search expression to filter the data and only display results that match.

l Click on the Copy icon to copy highlighted curve entries to the clipboard.

Viewing the Curve Process Log Page 286

CurveBuilder 6 | User Guide

Page 294: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Viewing the Curve Properties

With the curve displayed in theChart Viewer, theProperties option can be selected to display the curveproperty information.

Viewing the Curve Properties Page 287

CurveBuilder 6 | User Guide

Page 295: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO VIEW THE CURVE'S PROPERTIES

l Right-click on the chart or grid in theChart Viewer and selectProperties.These details are displayed on theGeneral tab.

Name Description

General

Uri The uri of the curve.

Status Build status for the curve.

Quality Quality status for the curve

Permission User permission set for the curve.

CurveName Name of the curve.

Description Description for the curve.

Profile

Name Name of the profile.

Date Date when the curve was built.

Currency Currency associated with the profile.

Unit Unit for the profile.

Rollover Calendar Rollover calendar associated with the profile.

Depending on the curve, the displayed profile details may vary.

Version

Modified by Method by which or user whomodified the version.

Modified on Date / time when the version was last modified.

Modified reason Reason for modification.

Viewing the Curve Properties Page 288

CurveBuilder 6 | User Guide

Page 296: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO ADD A CURVE PROPERTY

1. When editing a curve definition, select the icon in theBuild Settings > Properties field.The Properties dialog box is displayed.

2. ClickNew.3. In theName field, enter a name for the new property.

4. Select the required Type from the drop-down list,

5. Select aValue from the drop-down list or enter it manually.

6. ClickAdd to add the new property to the list.

7. ClickNew to add additional properties.

TO EDIT AN EXISTING CURVE PROPERTY

1. When editing a curve definition, select the icon in theBuild Settings > Properties field.The Properties dialog box is displayed.

2. Double-click on the property that you want to amend. The existing property details are displayed in theproperty fields.

3. Make any changes and clickUpdate to save the changes.

Note: Whenmodifying a property, the Add button is replaced by the Update button.

TO DELETE A CURVE PROPERTY

1. When editing a curve definition, select the icon in theBuild Settings > Properties field.The Properties dialog box is displayed.

2. Highlight the property and clickRemove to delete it from the list.

Viewing the Curve Properties Page 289

CurveBuilder 6 | User Guide

Page 297: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Locking and Unlocking a Curve

A Lock status can be applied to a curve onDate to prevent any further versions of the curve for the selectedonDate from being built. The lock / unlock status is applied to the FINAL version. Once a curve is locked, anychanges to input prices are not applied to the locked FINAL curve for the day.

You can toggle the status to lock or unlock it. Whenever you change the lock status, you are prompted to entera reason for the status change, which is recommended for auditing purposes.

By default, the status isUnlocked.

When a curve is locked, the status indicator is displayed against the FINAL version of the curve for the day.

The locked status indicator for a curve is also displayed on the Dashboard. When using theCompact orStandard filter options, theData Status drop-down can be used to filter the displayed curves by lockedstatus.

TO LOCK THE CURVE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Select the required curve to display the list of build versions. By default, FINAL (latest) is selected.

3. Right-click on a build version and select Lock.4. Enter a reason for the change in theChange Status dialog box and clickLock.

TO UNLOCK THE CURVE

1. Right-click on the FINAL / any dated build version and selectUnlock.

2. Enter a reason for the change in theChange Status dialog box, if displayed, and clickUnlock.

Locking and Unlocking a Curve Page 290

CurveBuilder 6 | User Guide

Page 298: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Approving and Unapproving Curves

An approved status can be set for a single version of the curve, to flag it as being approved as the official curvefor the day. This flag is available in the API for downstream systems to read it. You can toggle the status toapprove or unapprove it. Whenever you change the approval status, you are prompted to enter a reason for thestatus change, which is recommended for auditing purposes.

The FINAL version of the build curve is typically the last version of the curve that has been built. However, if adifferent version of the curve is approved, the approved version is switched to be the FINAL version.

Note: You can still build a curve that has been flagged as approved; the approved version remains theofficial version.

When a curve is approved, the indicator is displayed against the FINAL version of the curve for the day.

The approved status indicator for a curve is also displayed on the Dashboard. When using theCompact orStandard filter options, theData Status drop-down can be used to filter the displayed curves by approvedstatus.

Approving and Unapproving Curves Page 291

CurveBuilder 6 | User Guide

Page 299: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO APPROVE A VERSION OF THE BUILT CURVE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Select the required curve to display the list of build versions.

3. Right-click on the build version that you want to approve and selectApprove to display theChangeStatus dialog box.

4. Enter a reason for the change and clickApprove.

TO UNAPPROVE A VERSION OF THE BUILT CURVE

1. Right-click on the build version that you want to unapprove and select Unapprove.

2. Enter a reason for the change in theChange Status dialog box and clickUnapprove.

Approving and Unapproving Curves Page 292

CurveBuilder 6 | User Guide

Page 300: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting Built Curve Versions

Youmaywant to delete one or more versions of the build curve for a particular day.

Note: When testing live curves, youmaywant to do this to clean the curve.

TO DELETE ONE OR MORE VERSIONS OF THE CURVE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Select the required curve to display the list of build versions.

3. Select one or more build versions that you want to delete.

4. Right click and selectDelete.

5. SelectYes to confirm deletion of the built curve versions.

Deleting Built Curve Versions Page 293

CurveBuilder 6 | User Guide

Page 301: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Shaping

You can shape forward curves tomodel the shape of the curve in future years. For example, youmaywant touse the shape of a curve for the last five years to shape the curve for the next five years.

The shape of a forward curve is based on the script details associated with the shape definition.

A sample shape, displayed in the Chart Viewer, is shown below.

Once you have defined the required shape, you can build the curve using the shape definition, by referencingthe shape name in the build settings for a curve definition, as shown.

Curve Shaping Page 294

CurveBuilder 6 | User Guide

Page 302: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When creating a new shape definition, you need to specify the shape details and settings, together with anyshape properties.

Shape definitions are organized in different categories, displayed under theShapes node in the Folders tree.

When you expand theShapes node and select a category, the list of shapes in that category is then displayedin theExplorer tab.

For shapes, you can: 

l Create a new shape definition

l Build a shape definition

l Edit an existing shape definition

l Delete a shape definition

l View the shape properties

Curve Shaping Page 295

CurveBuilder 6 | User Guide

Page 303: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating a NewShape Definition

When creating a new shape definition, you need to specify the build type, run type and the schedule details.You can also select a script, based on which the shape of the curve is constructed.

To apply a script to a shape definition, you need to set theBuild type asScript. With theBuild type asManual, the script drop-down is disabled.

In the following example, a shape definition has been created to configure the shape for a Spanish Powercurve.

Creating a New Shape Definition Page 296

CurveBuilder 6 | User Guide

Page 304: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO CREATE A NEW SHAPE DEFINITION

1. To create the new shape, do one of the following:

l On the Filemenu, selectNew > Shape.l On the Filemenu, select Shape on theNew split-button drop-down.

l Highlight theShapes node in the Folders pane and either:o SelectNew on theHome tab.o In the Task Manager pane, selectNew Shape Definition.

l On the keyboard, pressCtrl+Shift+H.l Right-click on any existing shape and selectNew Shape Definition.

TheShape Definition dialog box is displayed.

Note: The default Build type of Script and Run type as Scheduled options are selected.

2. On theDetails tab, enter the following information to create the new shape definition.

Creating a New Shape Definition Page 297

CurveBuilder 6 | User Guide

Page 305: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Shape Definition Details Description

Category

The shape category for the new shape.

Select an existing category from the drop-down list or enter a category

name to create a new one.

Name Short name for the shape definition.

Description (Optional) Brief description of the shape definition.

Shape Settings Description

Build Type

Build type to create the shape definition.

Script: Select to use a script to build the curve shape.

Manual:  Select to build the shapemanually, on an ad-hoc basis.

Note: By default, Script is selected.

ScriptFrom the drop-down, select the script to be applied to create the shape.

Enabled only if Script is selected as the build type.

Run Type

Select method for building the shape.

Manual: Builds the shape on an ad-hoc basis.

TheManual run type option is not operational.

Scheduled: Builds the shape according to the defined cron expression.

ScheduleThe cron expression to schedule the shape to be built.

Enabled only if Scheduled is selected as theRun Type.

3. Click on theProperties tab if you want to specify any shape properties.4. ClickOK to save the shape definition in the specified shape category.

The newly created shape definition is added to theShapes node and can be selected when creating acurve definition.

Once you have created your new shape definition, you can:

l Edit the shape definition

l Build the shape

l Set the shape properties

Creating a New Shape Definition Page 298

CurveBuilder 6 | User Guide

Page 306: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Editing a Shape Definition

Once you have created a new shape, you can open it for editing to add or amend the shape definition details.

TO EDIT SHAPE DEFINITION

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of shapes in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required shape.

2. To edit a shape, do one of the following:

l Double-click on the shape definition.

l Right-click the shape definition and selectOpen for Editing.l Highlight the shape definition and select Edit from theHome tab.

TheShape Definition dialog box is displayed.3. Edit the shape details, as required.

4. (Optional) Click on theProperties tab to add or remove properties defined for the shape.

Editing a Shape Definition Page 299

CurveBuilder 6 | User Guide

Page 307: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Shape Properties

Shape properties specify the parameters to be used to shape the curve, such as the input price and the holidaycalendar. Any properties to be used to shape the curve are added to the shape definition.

Shape properties are referenced in the script code and are executed when a shape is built. In the followingexample, three shape properties have been defined.

TO ADD A SHAPE PROPERTY

1. When editing a shape definition, click on the Properties tab.

2. ClickNew.3. In theName field, enter a name for the new property.

4. Select the required Type from the drop-down list.

5. Select aValue from the drop-down list or enter it manually.

6. ClickAdd to add the new property to the list.

You can repeat this procedure to add additional properties.

Shape Properties Page 300

CurveBuilder 6 | User Guide

Page 308: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO EDIT AN EXISTING SHAPE PROPERTY

1. When editing a shape definition, click on theProperties tab.

2. Double-click on the property that you want to amend.

The existing property details are displayed in the property fields.

3. Make any changes and clickUpdate to save the changes.

Note: Whenmodifying a property, the Add button is replaced by the Update button.

TO DELETE A SHAPE PROPERTY

1. When editing a shape definition, click on theProperties tab.

2. Highlight the property and clickRemove to delete it from the list.

Shape Properties Page 301

CurveBuilder 6 | User Guide

Page 309: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Building the Shape

Once you have created a shape definition, you can build the shape using the configured script, where specified.Once a shape has been successfully run, you can view the shape and the associated process log.

Each time a shape is built, a version of the shape is created.

By default, shape definitions are configured with theRun type set as scheduled and are built according to thedefined cron expression. Scheduled shapes are built in the background and nomessage is displayed on thescreen once a shape has been built.

Alternatively, you can run a shapemanually, on an ad-hoc basis, for a particular date. Additionally, you can alsodelete one or more versions of the built shape.

Building the Shape Page 302

CurveBuilder 6 | User Guide

Page 310: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When you select a shape in theExplorer tab, all built versions of the shape are displayed below the filter barand the built shape and associated data table are displayed in theChart Viewer.

TO VIEW THE BUILT SHAPE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of shapes in theExplorer tab.l Enter search criteria in the top navigation bar to filter and quickly locate the required shape.

2. Select the required shape to display the list of build versions.

If multiple versions of the built shape version exist, select the required version.The built shape for the selected version and associated values are displayed in theChart Viewer.You can right-click on the chart or data grid for these options:

l Apply chart settings

l Change the chart type

l Select the chart options

l Export the data to Excel

3. If required, select a different shape version or use the date selection bars to select a different date.

The data in theChart Viewer is automatically refreshed to reflect your selection.

Building the Shape Page 303

CurveBuilder 6 | User Guide

Page 311: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO RUN A SHAPE MANUALLY

1. In the Folders pane, select or expand the relevant nodes to display the required list of shapes in theExplorer tab.

2. Either:

l Right-click on the shape definition and selectRun Shapel SelectRun on theHome orRules tab.

TheSelect Datewindow is displayed.

3. Select the required date for which to build the shape.

The shape build is added to the execution queue.

4. Click theRefresh button after a few moments to view the shape.

You can right-click on a version of the shape to re-run it for the selected date.

Building the Shape Page 304

CurveBuilder 6 | User Guide

Page 312: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO VIEW THE PROCESS LOG FOR A VERSION OF THE SHAPE

1. With the list of shapes displayed in theExplorer tab, select the required shape.

2. Right-click on the selected version and selectProcess Log Viewer.The process log for that date is displayed in a separateProcess Log Viewer window.

3. You can:

l Enter a search expression to filter the data and only display results that match.

l Click on the Copy icon to copy highlighted log entries to the clipboard.

TO DELETE ONE OR MORE VERSIONS OF THE BUILT SHAPE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of shapes in theExplorer tab.l Enter the search criteria in the top navigation bar to locate the required shape definition.

2. Select the required shape definition to display the list of built versions.

3. Select one or more versions of the shape that you want to delete.

4. Right-click and selectDelete.5. SelectYes to confirm deletion of the built shape versions.

Building the Shape Page 305

CurveBuilder 6 | User Guide

Page 313: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Shape Definition

You can delete any shape that is no longer required. If a shape is associated with a curve definition, it isremoved from the curve definition.

TO DELETE A SHAPE DEFINITION

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of shapes in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required shape.

2. To delete a shape, do one of the following:

l Highlight a shape and select Delete on theHome tab,

l Right-click on the shape and selectDelete.3. ClickYes to confirm the deletion and to remove the shape from the listing.

Deleting a Shape Definition Page 306

CurveBuilder 6 | User Guide

Page 314: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Scripts

Scripts are used to define the logic to be applied to shape a curve.

Once a script has been created, you can then select the required script when creating a shape definition. Thesame script can be associated with multiple shapes. Additionally, you can use them as input parameters inOutput Services and Fail Handlers finalizers.

Note: You can define andmaintain finalizer profiles under Tools > Types Manager.

When creating a script, it must be set up with the type asShapeConstruction.

Scripts are displayed under theScripts node in the Folders tree. With theScripts node selected, theavailable scripts are displayed in theExplorer tab.

Scripts are organized in different categories, displayed under theScripts node in the Folders tree. When youexpand theScripts node and select a category, the list of scripts in that category is then displayed in theExplorer tab.

When displaying a list of scripts in theExplorer tab, the script's status indicator is displayed alongside the scriptname.

For Scripts, you can:

l Create a new script

l Edit an existing script

l Manage the script versions

l Set the status of the script

l Delete a script

Curve Scripts Page 307

CurveBuilder 6 | User Guide

Page 315: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating a NewScript

When creating a new script, you need to provide a name, category and a brief description for the new script andset the type asShapeConstruction.

Shape properties are referenced in the script code and are executed when a shape is built. In the followingexample, three shape properties have been defined.

Creating a New Script Page 308

CurveBuilder 6 | User Guide

Page 316: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO CREATE A NEW SCRIPT

1. To create a script, do one of the following:

l On the Filemenu, selectNew > Script.l On the Filemenu, selectScript from theNew split-button drop-down.

l Highlight theScripts node in the Folders pane and either:o SelectNew on theHome tab,.o In the Task Manager pane, selectNew Script.

l On the keyboard, pressCtrl+Shift+S.l Right-click on any existingScript and selectNew Script.

TheNew Script dialog box is displayed.

2. Under details:

a. Name: Enter a name for the new script.

b. Type: From the drop-down list, selectShapeConstruction, if not already selected.

Note: The other options listed in the Types drop-down list relate to rule types, usedwhen creating a rule package.

c. Category: Select an existing category from the drop-down list or enter a new name to create it.

d. Description: (Optional) Enter a description for the script.

3. ClickOK. The new script is opened in a separate tab, labeled with the script name.

4. Enter the required code for the script.

Creating a New Script Page 309

CurveBuilder 6 | User Guide

Page 317: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

5. To save the script details:

a. Either:

l Click Save on theHome or theRules tab .

l Click on the to close the tab and selectYes to save the changes.b. Enter a reason for the actions.

c. (Optional) Check theSet status to production box.

d. ClickSave.

The newly created script is added to theScripts node and can be selected when defining a shape.

Creating a New Script Page 310

CurveBuilder 6 | User Guide

Page 318: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Editing a Script

Once you have created a new script, you can open it for editing, to add or amend the script name, category,description and the script logic. When saving changes, you are prompted to detail the reason for themodification, for auditing purposes.

Editing a Script Page 311

CurveBuilder 6 | User Guide

Page 319: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO EDIT A SCRIPT

1. In the Folders pane, either:

l Select or expand the relevant nodes to display the required list of script in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required script.

2. To edit the script, do one of the following:

l Double-click on the script.

l Right-click the script and selectOpen for Editing.l Highlight the script and select Edit from theHome tab.

The script details are displayed in a separate tab, labeled with the script name.

3. Edit the script details, as required and click to save themodified details.

4. To save the changes to the script:

a. Either:

l Click Save on theHome tab.

l Click on the to close the tab and selectYes to save the changes.b. In theConfirm Save Changes box, enter the reason for the change.

c. (Optional) Check theSet status to production, if required and clickSave.

Editing a Script Page 312

CurveBuilder 6 | User Guide

Page 320: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Script

You can delete any script that is no longer required. If the script is associated with a shape, it is removed fromthe shape definition.

TO DELETE A SCRIPT

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of scripts in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required script.

2. To delete the script, do one of the following:

l Highlight the script and select Delete on theHome tab.

l Right-click on the script and selectDelete.3. ClickYes to confirm the deletion and to remove the script from the listing.

Deleting a Script Page 313

CurveBuilder 6 | User Guide

Page 321: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Managing Script Versions

Whenever youmake a change to the script details, a new version of the script is saved. For auditing purposes,you are prompted to enter the reason for themodification, which is also useful to identify and track changesbetween versions.

When viewing the script versions, each version is numbered sequentially and displayed with details of whomade themodification, the reason and the date / time on which it was done.Where set, the status of the versionis also displayed. The latest version of the script is considered to be the current / active version.

Important: The script statusmust be set to Production, as indicated by , to enable the script to beselected when defining the shape.Wheremultiple versions of the same scripts exist, you need tomakesure the correct version is set to Production.

Under Previous Versions, you can view andmanage the available versions of the scripts and set the status.You can also rollback to a previous version and compare differences between two selected versions.

ThePrevious Versions option is enabled when editing a script.

Managing Script Versions Page 314

CurveBuilder 6 | User Guide

Page 322: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO VIEW AND MANAGE SCRIPT VERSIONS

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of scripts in theExplorer tab.l Select theScripts node and enter the search criteria in the top navigation bar to quickly locatethe required script.

2. To edit the script, do one of the following:

l Double-click on the script.

l Right-click the script and select Open for Editing.

l Highlight the script and selectEdit on theHome tab.The script details are displayed in a separate tab, labeled with the script name.

3. To displayPrevious Versionswindow, selectPrevious Versions on theHome tab.4. ThePrevious Versions - <script name> dialog box is displayed, listing the versions of the selected

script. Any existing scripts are listed.

5. You can:

l Set the status of the script

l Revert the script to a selected version

l Rollback the script version

l Delete a version

l View the differences between two versions

6. When finished click on to close the window.

Managing Script Versions Page 315

CurveBuilder 6 | User Guide

Page 323: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Reverting to a Previous Version of the ScriptOther than the latest version of the script, you can select a different version of the script to which to revert, asthe latest (active) version.

Important: A new version of the script for the version to which you are reverting is created.When reverting to a different version, the status of the selected version is set to Production.

TO REVERT TO A SELECTED VERSION OF THE SCRIPT

1. With thePrevious Versions dialog box for the script displayed, do one of the following:

l Select the version that you want to revert to and select Revert on the toolbar.l Right-click the version to which you are reverting and selectRevert.

2. SelectYes to confirm.3. Click to close the window.

The script details are refreshed, reverting to the details for the selected script version.

Managing Script Versions Page 316

CurveBuilder 6 | User Guide

Page 324: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Rolling Back to a Previous Version of the ScriptThe rollback option deletes the latest version of the script and reloads the previous version, discarding anyunsaved changes that have beenmade in the current session.

You cannot roll back to a previous version if only one version of the script remains. In this case, the rollbackoption is disabled.

If you rollback from a script that is currently set toProduction status, you need tomanually set the status for adifferent script toProduction.

Note: You cannot rollback to a previous version, if there is only one version of the script. In this case, therollback option is disabled.

TO ROLLBACK TO THE PREVIOUS VERSION

1. With thePrevious Versions dialog box for the scripts displayed, do one of the following:

l Select Rollback from the toolbar.

l Right-click on any version row and selectRollback.2. SelectYes to confirm the rollback.

Deleting a Version of the ScriptOther than the latest version of the script, you can delete previous versions that are no longer required.

Note: The latest (active) version cannot be deleted. To remove it, you can use the rollback option.

TO DELETE A VERSION OF THE SCRIPT

1. With thePrevious Versions dialog box for the script displayed, do one of the following:

l Select the version to be deleted and select Delete from the toolbar.

l Right-click the version to be deleted and selectDelete.2. SelectYes to confirm the deletion.

Managing Script Versions Page 317

CurveBuilder 6 | User Guide

Page 325: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Viewing the Differences between Script VersionsYou can use this option to compare differences between two versions of the same script.

TO COMPARE TWO SCRIPT VERSIONS

1. With thePrevious Versions dialog box for the script displayed, select the two versions that you wantto compare.

2. You can then either:

l Select Differences from the toolbar.

l Right-click on any version row and selectDifferences.

Note: This option is only enabled when two versions of the script are selected.

Managing Script Versions Page 318

CurveBuilder 6 | User Guide

Page 326: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Setting the Script Status

When displaying a list of scripts in theExplorer tab, the script's status indicator is displayed alongside the scriptname.

A status indicator of Testing or Production can be assigned to a script. Wheremultiple versions of thescript exist, you can select the version to which you want to assign the status. The status of the script must beset toProduction before it can be associated with the shape definition.

Whilst being tested or if you do not want it to be used, set the script status to Testing.

Note: By default, the status of a script is not set to Production when it is first created.

ThePrevious Versionswindow is used to set the script status. Wheremultiple versions of the script exist, youneed to select the version to which you want to apply the status.

Note: A status can only be set for a single version of the script.

When saving the changes to an edited script, you have the option toSet the status to production bychecking the box, as indicated. This sets the latest version of the script to production.

Setting the Script Status Page 319

CurveBuilder 6 | User Guide

Page 327: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO SET THE SCRIPT STATUS

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of scripts in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required script.

2. To edit the script, do one of the following:

l Double-click on the script.

l Right-click the script and select Open for Editing.

l Highlight the script and selectEdit from theHome tab.3. The script is displayed in a separate tab, labeled with its name.

4. Select Previous Versions on theHome tab to display thePrevious Versionswindow.

5. To set the status, either:

l Select the version to which you want to assign a status, click Set Status on the toolbar andselect the required status.

l Right-click on the required version, selectSet Status and then the required status.The selected status is displayed alongside the version.

Note: Select Reset to remove any status setting.

6. Select to close the window.

Setting the Script Status Page 320

CurveBuilder 6 | User Guide

Page 328: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Live Curves

All live curves are stateful, whichmeans they reside in thememory of the live build server along with the rulesto build them and the facts that have not been retracted.When new data arrives, it is pushed into the session,the rules are fired and the live curve is updated.

The curve run type is specified as part of the curve definition.

You can clean the live curve state simply by deleting the LIVE curve version. This will:

l Delete the live curve state from the database.

l Reload the curve, with the latest snapshot if available or empty, following the live curve initialization toinitialize a new live curve.

l Save the new curve state to the database.

If you want to completely clean the live curve, you will also need to delete all the snapshots for the day.

If you want to reset the curve back to a specific snapshot, leave this snapshot as the latest available and deletethe LIVE version.

Note: See Cleaning the Live Curves for details.

Live Curves Page 321

CurveBuilder 6 | User Guide

Page 329: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Key Concepts for Live Curves

Live Curve StateThe live curve state is the in-memory state of a curve and the forward contract facts that havenot been retracted. It is stored in the database after every build, such that if a server isterminated, it can reload the state at the last known point.

Live Curve EventLive curve events are events that happen to curves such as initialization, building andsnapshot. The events are stored for a short period of time in the database, as a log of whathappened.

Live Curve InitializationWhen a server starts up, it checks to see if there is some live curve state available. If no stateis available, it checks to see if there is a snapshot available, which it can use as an initialcurve. If neither state nor snapshots are available, an empty curve is created.

SnapshotA snapshot is a stored version of a curve 'snapped' at a point in time. When configuring thecurve definition, you can specify how often a curve is snapped to the database. The lastsnapshot is always called FINAL.

VersionOnly live curves with the status set to Production are loaded into the session.Consequently, you can use the version status to move live curves into or out of the sessions.If you change the version state of a live curve from Production to Testing, it is removed frommemory and the session is deleted.

Recursion Detection and Timeouts

It is possible to create a recursion loop with rules which causes the server to enter into an endless loop. Anumber of detectors have been added tominimize the risk of this happening, as described below.

Recursion Detection and TimeoutsIt is possible to create a recursion loop with rules which causes the server to enter into anendless loop. A number of detectors have been added to minimize the risk of thishappening, as described below.

Key Concepts for Live Curves Page 322

CurveBuilder 6 | User Guide

Page 330: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Self-loop RecursionThis can happen if a change to the session causes the same rule to be triggeredcontinuously. This is detected and the session aborted with an exception message. To solvethis type of recursion, check the No Loop option on the rule.

Complex-loop RecursionThis can happen if a change to the session causes another rule to fire, which in turn makesa change which causes the other rule to fire. This is detected by looking for repeating ruleexecution patterns with the same input facts. To solve this, you need to close the loop byadding better conditional filters to the two or three rules that create this recursion.

TimeoutBy default, a 10 second timeout is set on the entire rule execution. If the rules have notcompleted by this time, the curve will be marked as timed out. This timeout setting can beadjusted for each rule package.

Key Concepts for Live Curves Page 323

CurveBuilder 6 | User Guide

Page 331: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Taking a Snapshot of a Live Curve

A snapshot is a stored version of a live curve, 'snapped' at a point in time. You can either take a snapshot of anindividual live curve or all live curveswithin a group.

When configuring the curve definition and setting the run type to Live, you can specify the time period duringwhich snapshots should be taken and the interval (snapminutes) between snaps. Live curves are still builtoutside of the time range, but snapshots are just not taken.

Note: See Curve Details - Build Settings for configuration information for live curves.

In addition to automating live curve snapshots, you can alsomanually take a snapshot of a single curve or agroup of curves at any time.

The LIVE curve version holds the latest live curve price data. The built curve versions for a particular dayincludes LIVE, FINAL and snapshots. At the cut off time, the data in the live version is copied and labelled asthe FINAL version. The dated copies are created, based on the snapshot interval time set.

Taking a Snapshot of a Live Curve Page 324

CurveBuilder 6 | User Guide

Page 332: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO MANUALLY TAKE A SNAPSHOT OF A LIVE CURVE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Select a version of the live curve, right-click on it and selectSnapshots.

Note: This option is greyed out for non-live curves.

TheSnapshots dialog box is displayed.

Note: The Delete Snapshots option is only enabled for curve groups.To delete unwanted snapshot versions, you need to include the live curve in a group.For more information, see Cleaning the Live Curves.

3. ClickTake Snapshot.A message is displayed, confirming that the snapshot has been taken and the list of built curve versionsis updated to include the new snapshot.

Note: You can also access this option on the Dashboard, by right-clicking on a live curve and selectingTake Live Snapshot.

Taking a Snapshot of a Live Curve Page 325

CurveBuilder 6 | User Guide

Page 333: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO TAKE A SNAPSHOT OF A LIVE CURVE GROUP

1. Select the required group in the Folders pane or Explorer tab.

2. Right-click on the group and selectSnapshots to display theSnapshots dialog box.

3. ClickTake Snapshot. A message is displayed confirming that a snapshot for all curves in the grouphas been taken.

A message is displayed confirming that a snapshot for all curves in the group has been taken.

Taking a Snapshot of a Live Curve Page 326

CurveBuilder 6 | User Guide

Page 334: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Cleaning the Live Curves

For testing purposes, youmaywant to clean the live curve to reset it, without having to re-start the server. Youcan clean the live curve state simply by deleting the LIVE curve version. This will:

l Delete the live curve session of facts and the curve.

l Reload the curve, which follows the live curve initialization to initialize a new live curve.

l Save the new curve state to the database.

You can either delete snapshots from a single curve or from all curves in the group.

If you want to reset the curve back to a specific snapshot, leave this snapshot as the latest available and deletethe LIVE version.

If you want to completely clean the live curve, you will also need to delete all the snapshots for the day.

Note: You can also clean the live data from the Dashboard.

TO DELETE ONE OR MORE SNAPSHOT VERSIONS OF THE CURVE

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Select the required curve to display the list of build versions.

3. Select one or more snapshots that you want to delete.

4. Right click and selectDelete.5. SelectYes to confirm deletion of the built curve versions.

Cleaning the Live Curves Page 327

CurveBuilder 6 | User Guide

Page 335: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO DELETE SNAPSHOT VERSIONS OF LIVE CURVES WITHIN A GROUP

1. Select the required group in the Folders pane or Explorer tab.

2. Right-click on the group and selectSnapshots.TheSnapshots dialog box is displayed.

3. In theSnapshots to delete field, enter the number of snapshots to be deleted.Enter a value of -1 to delete all snapshot versions.

Alternatively, check the Include live curves box to reset the LIVE version to the latest snapshot that isretained. If no snapshots are available, it resets to an empty curve.

4. Optionally, enter a reason for the deletion.

5. ClickDelete Snapshots.6. ClickYes to confirm the deletion and to remove the snapshots from the listing.

TO CLEAN THE LIVE DATA FROM THE DASHBOARD

1. In theCurves pane of the dashboard, right-click on the curve and select Clean Live Data.

2. SelectYes to confirm.

Cleaning the Live Curves Page 328

CurveBuilder 6 | User Guide

Page 336: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

AgendaGroups for Live Curves

Agenda groups are used to control the execution order of the rules, by grouping rules together within a rulepackage intomultiple separate groups, so they fire independently of rules in other agenda groups. Typically,they are used with live curves but can be used with other curves.

For a live curve, there aremultiple distinct phases: INIT, PREVAL, POSTVAL and CLEANUP. The agendaflow for live curves is:

l INIT

l MAIN

l PREVAL

l MAIN

l POSTVAL

l MAIN

l CLEANUP

l MAIN

Note: TheMAIN (default) agenda group is fired after every phase.

The other four phases can be used as preferred, but it is recommended that they are used as described below:

AgendaGroup Description

INIT Can be used to detect and retract any invalid data.

PREVAL Can be used to perform quality checks on the input data and to set the status ofthe tenor.

POSTVAL Can be used to perform quality checks on the output data before updating thecurve.

CLEANUP Can be used to update the curve and clean up the session.

MAIN

As this group is called after every other agenda group, it should be used forvalidating the actions of the other agenda groups.

If nothing has changed in the session (insert, update or retract), since theMAINagenda group ran previously, then the rules will not fire.

AgendaGroups for Live Curves Page 329

CurveBuilder 6 | User Guide

Page 337: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Examples of Applying AgendaGroups

Calculating theMID value using BID and ASK and adding it to the curve.

You can apply the following three agenda groups:

l INIT to remove duplicates from the session.

l PREVAL to remove any facts that result in negative spreads (BID > ASK) and that have amissing side.

l CLEANUP to calculate theMID using BID and ASK and add the value to the curve.

Bootstrapping

To apply bootstrapping, you can apply the following three agenda groups:

l PREVAL to remove any redundant facts from the session and add facts that are "bootstrapped" to thesession.

l POSTVAL to add facts to the curve.

l CLEANUP to cleanup the session by retracting all used facts.

Live inputs are validated by certain quality checks and added to the curve if the check is either plausible or valid

You can apply the following four agenda groups:

l INIT to cleanup the curve.

l PREVAL to cleanup the session and retract all facts that are not required (any duplicates, any facts thatfailed the quality check, etc.) and determine any data suspects of the fact (within certain threshold, etc.).

l MAIN to calculate data spreads and adding them to the curve.

l CLEANUP to cleanup the session by retracting all "used" facts.

Final curve hasmultiple optional input sources that are added to the curve in a certain order

You can apply the following two agenda groups:

l INIT to cleanup the session and retract all facts that are not required (any duplicates, any facts that failedthe quality check, etc.).

l MAIN to work with the facts in focus to apply them to the curve based on the specified logic.

AgendaGroups for Live Curves Page 330

CurveBuilder 6 | User Guide

Page 338: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

MemoryManagement for Rule-Based Live Curves

As all live curves are "stateful", it means that the facts that are loaded into the session remain there, unless theyare retracted by the rules. This obviously has implications as far asmemorymanagement is concerned.Withregards tomemorymanagement, there are two types of live curves:

l Live Data Curves: curves that have real-time data from a source as the direct input.

l Other Live Curves: curves that have only live curves and / or non-live data as an input.

Live Data CurvesFor curves that have real-time data as an input, any tenor point can be added at any time. Most of the time, youonly want to have one instance of that tenor for each input role. This can be achieved with a rule that checks forduplicate tenors and retracts the oldest one as shown below:

Example: when[{$FCOld : ForwardContract();

$FCNew : ForwardContract(isEquals($FCOld),role == $FCOld.getRole(),updateTime.getMillis() > $FCOld.getUpdateTime().getMillis());

}]then[{

// Remove duplicate contractsLOGGER.logDebugMessage(msg);retract($FCOld);

}]

The isEqualsmethod on the ForwardContract object checks the two contracts are for the same deliveryperiod.

Other Live CurvesCurves that do not have real-time data as a direct input will receive the entire single input at a time.

For example, if the live curve has two curves as inputs, it will get one curve loaded and the rules fired. If thecurve has non-live curve data, this will be loaded when the curve is initialized and when new data arrives.

The same check for duplicate tenors can be used to retract old values, but as you always get an entire set ofdata for a single input, youmaywant to use other techniques for retracting like data. For example, it could bethat a tenor from the input data / curve was removed and you, therefore, want to remove that tenor from thecurve or maybe change the status of the tenor.

Memory Management for Rule-Based Live Curves Page 331

CurveBuilder 6 | User Guide

Page 339: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Validation

You can configure validation rule packages to run validation checks on curves. For example, youmaywant tocheck for values outside a specified range, gaps in the data, percentage changes outside the expected range,etc.

The validation results determine the curve quality status and whether a curve should be flagged as failed, if theissue is significant or whether a warningmessage is sufficient. The curve status and curve quality status detailsare displayed in the Dashboard.

When configuring the curve definition and selecting the rules, you can then specify the validation rules that youwant to run as the final action after the curve has been built and before it is saved. You can also configure avalidation report finalizer based on the results obtained from the validation checks.

Alternatively, you canmanually run validation checks using configured validation parameters and run thevalidation against these parameters to check the data quality.

Note: As a useful reference, a statistical report on the curve data for a specified number of days can begenerated.

Curve Validation Page 332

Chapter 8

Page 340: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curve Validation Rule Details

Validation rules include global variables, rule inputs and quality status.

Global VariablesThe rule has the following global variables:

l ONDATE: The curve build ondate

l LOGGER: The process log

l CURVE: The CurveBuild classwith the built curve

Rule InputsFollowing are the rule fact inputs:

l All user settings from the curve definition

l TheCurveBuild object

l All the tenors of the CurveBuild object

Note: Facts are the data items available in the session that are used to check the rules conditions.

Quality StatusThe quality status for a curve can be:

l Unchecked

l Valid

l Plausible

l Failed

The quality status contains a helper method setStatus that applies the correct status to an individual tenor asfollows:

setStatus(ForwardContract fc, String message, QualityStatus status);

Thismethod will update the status on the ForwardContract, ensuring that the worst status is retained. In otherwords, if a tenor ismarked as Failed by one rule but Valid by another rule, then the status will be Failed, as thisis the worst status. It will also concatenate the string statusmessages so that no information is lost regardingwhat has been checked on a tenor.

Note: See Validation Rule Examples for sample validation rules.

Curve Validation Rule Details Page 333

CurveBuilder 6 | User Guide

Page 341: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Manual Curve Validation

For one or more selected curves, you can define and test parameters against which to run the curve validation,to check the curve data quality. Once you are happywith the parameters, you can save theValidationConfiguration and run the curve validation to set the data quality status for the selected curve.

Important: The test runs for the validation rule parameters do not set the quality status on the data. TheRun optionmust be used to do this.

Note: Prior to running the validation tests, you can run an analysis on the curve data to provide anindication of the threshold parameters to be set when running the validation rules.

TO CONFIGURE THE CURVE VALIDATION PARAMETERS

1. Select and expand theCurves node.

2. Select one or more curves on which you want to run a validation rule package.

3. Do one of the following:

l ClickConfigure on theHome tab.l Right-click on the curve definition and selectValidations > Configure.TheValidation Configuration dialog box is displayed, listing the selected curves.

4. For each curve:

a. Select the required validation rule package from the drop-down list.

Based on the selected rule package, theParameters that have been configured for the selectedrule package are displayed.

b. To select the tenors for which the validation criteria are to be applied, specify the pattern to match.The pattern ".*" is all tenors.

c. Enter the required validation details in one or more of theParameters fields.

Manual Curve Validation Page 334

CurveBuilder 6 | User Guide

Page 342: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

5. Select a curve for which you want to run the validation rule and clickTest.TheValidations dialog box is displayed.

6. UnderOptions, use the slider bar to specify the number of days' history to be validated and clickRun.Once the validation test has been run, the summary results are displayed in theStatus pane.

7. To view the results, detailing the failures, you can either:

l Click onReport to view the results in a separate window.

l Click onExport to save the results in Excel format and to open a spreadsheet with the details.8. Once you have closed theValidationswindow, you can clickSave to save theValidation

Configuration.9. To run the settings that have been saved to the curve and set the curve quality status, either:

l ClickRun on theHome tab.l Right-click on the curve definition and selectValidations > Run.

Note: You can also access these options on the Dashboard, by right-clicking on a curve and selectingValidations > Run or Configure.

Manual Curve Validation Page 335

CurveBuilder 6 | User Guide

Page 343: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Validation Rule Examples

When creating or editing a curve definition, validation parameters and values that are referenced in the rulesneed to be set as properties in the curve definition.

Validation Rule Examples Page 336

CurveBuilder 6 | User Guide

Page 344: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Examples of tenor-level rules

Zero: Check for values that are 0This rule will be run if a user propertyVAL.Zero_Check is added to the curve definition. It fails the curve if anytenor has a zero value.

Example: when[{

//Condition$FC : ForwardContract();$ZC : DataProperty(name == "VAL.Zero_Check");

}]then[{

//Consequenceif ($FC.getValue() == 0) {

setStatus($FC, "Zero", QualityStatus.Failed);} else {

setStatus($FC, "Zero", QualityStatus.Valid);}

Validation Rule Examples Page 337

CurveBuilder 6 | User Guide

Page 345: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Negative: Check for values that are negativeThis rule will be run if a user propertyVAL.Negative_Check is added to the curve definition. It fails the curve ifany tenor has a negative value.

Example: when[{

//Condition$FC : ForwardContract();$NC : DataProperty(name == "VAL.Negative_Check");

}]then[{

//Consequenceif ($FC.getValue() < 0) {

setStatus($FC, "Negative", QualityStatus.Failed);} else {

setStatus($FC, "Negative", QualityStatus.Valid);}

}]

Validation Rule Examples Page 338

CurveBuilder 6 | User Guide

Page 346: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Positive: Check for values that are positiveThis rule will be run if a user propertyVAL.Positive_Check is added to the curve definition. It fails the curve ifany tenor has a positive value.

Example: when[{

//Condition$FC : ForwardContract();$NC : DataProperty(name == "VAL.Positive_Check");

}]then[{

//Consequenceif ($FC.getValue() > 0) {

setStatus($FC, "Positive", QualityStatus.Failed);} else {

setStatus($FC, "Positive", QualityStatus.Valid);}

}]

Validation Rule Examples Page 339

CurveBuilder 6 | User Guide

Page 347: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Absolute: Check that values are within an absolute rangeThis rule will be run if the user propertiesVAL.Absolute_Minimum andVAL.Absolute_Maximum areadded to the curve definition with theminimumandmaximumallowable values for tenors on this curve. It failsthe curve if any tenor is outside the range of the properties set.

Example: when[{

//Condition$FC : ForwardContract();$AMIN : DataProperty(name == "VAL.Absolute_Minimum");$AMAX : DataProperty(name == "VAL.Absolute_Maximum");

}]then[{

//Consequencedouble min = Double.valueOf($AMIN.getValue());double max = Double.valueOf($AMAX.getValue());

if ($FC.getValue() < min) {setStatus($FC, "AbsoluteMin(" + min + ")",QualityStatus.Failed);

} else if ($FC.getValue() > max) {setStatus($FC, "AbsoluteMax(" + max + ")",QualityStatus.Failed);

} else {setStatus($FC, "AbsoluteMin(" + min + "),AbsoluteMax(" + max +")", QualityStatus.Valid);

}}]

Validation Rule Examples Page 340

CurveBuilder 6 | User Guide

Page 348: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Examples of curve-level rules

No gaps: Checks there are no gaps in the curveThis rule will be run if a user propertyVAL.Gap_Check is added to the curve definition. It fails the curve if thereare any gaps detected, which are identified by checking the delivery periods of the tenors.

Example: when[{

//Condition$NC : DataProperty(name == "VAL.Gap_Check");

}]then[{

//Consequenceif (CURVE.hasMissing()) {

CURVE.setQualityStatus(QualityStatus.Failed);CURVE.setMessage("Curve has missing tenors");

}}]

Validation Rule Examples Page 341

CurveBuilder 6 | User Guide

Page 349: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Generating a Statistic Report of the Curve Data

TheAnalyze option provides statistical details on the curve data for the selected number of days, providing atenor count, histogram for each tenor showing the distribution of the prices every 10th percentile, together withminimum, maximum, mean, median, standard deviation and variance values by tenor.

Note: The results of this analysis can be used as guidance when configuring the validation parametersto be used when running curve validations.

TO GENERATE THE STATISTICAL ANALYSIS REPORT

1. In the Folders pane, do one of the following:

l Select or expand the relevant nodes to display the required list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Select the curve to be analyzed.

3. Do one of the following:

l ClickAnalyze on theHome tab.l Right-click on the curve and selectAnalyze.

Generating a Statistic Report of the Curve Data Page 342

CurveBuilder 6 | User Guide

Page 350: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TheValidations dialog box is displayed.

4. UnderOptions, move the slider bar to adjust the number of days' history that you want to analyze.5. ClickAnalyze. Summary details are displayed in theStatus pane.

6. To view the results in Excel, clickExport to save the file and to launch Excel, displaying the dataanalysis.

TO GENERATE THE STATISTICAL ANALYSIS REPORT FROM THE DASHBOARD1. In theCurves pane of the dashboard, right-click on the curve and selectAnalyze.

Generating a Statistic Report of the Curve Data Page 343

CurveBuilder 6 | User Guide

Page 351: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Dashboard

Using theDashboard, you can quicklymonitor the status of the dashboard groups and individual curves. TheDashboard tab is automatically opened when theGCB client is launched. If it is not displayed, selectView> Dashboard to open it.

Note: You can click on the Dock icon to change the Dashboard tab to a floating window.

Color coded build and quality status information is displayed for all curves for which the status is set toProduction. The curve quality results are determined by any data validation rule checks that have been run onthe curve or curve group.

Dashboard Page 344

Chapter 9

Page 352: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The dashboard is divided into these different panes:

l CurveGroups: Summary status information for all curves and by curve group.

l Curves: Summary status information by curve.

l Build Logs: Tabs for process log, finalizer log and curve input summary details.

Provided theWebSocket connection is shown as online, the data in the dashboard is refreshed automaticallywhen new data is received. Otherwise, you canmanually refresh the dashboard to view the latest data.

By default, status information for the current day is shown, but you can select a different date.

Dashboard Page 345

CurveBuilder 6 | User Guide

Page 353: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

DashBoard User Interface

TheGCB Dashboard tab provides a clear visual display of the curve build status, enabling you tomonitor thestatus, at a glance.

Provided theWebSocket connection is shown as online, the data in the dashboard is refreshed automaticallywhen new data is received. Otherwise, you canmanually refresh the dashboard to view the latest data.

CurveGroups PaneThisGroups status grid displays a summary count, together with the build and quality status for the overall setof curves and for each curve group.

The icon next to the curve group either indicates that no finalizers have been configured for the group or thatany configured finalizers have not been triggered for the selected date.

Note: Groups are only listed if they contain one or more Production curves.

Important: If a curve is deleted from a group, the built curve remains displayed in the group on theDashboard for dates up to the date when the curve was removed from the group. Once a curve isdeleted from a group and then built, it is no longer displayed on the Dashboard, from that date onwards.

DashBoard User Interface Page 346

CurveBuilder 6 | User Guide

Page 354: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Youmaywant to review the headings that are selected, to ensure that the data is displayed for all statuses. Todo this, right-click on theHeading row to check the required columns.

In the following example, theWarning status column is added to theGroups status grid.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

In addition to the status grid data, the donut charts provide a summary comparison for each build and qualitystatus for the curveswithin the selected group. The donut chart is displayed alongside the curve group and, forthe selected group, reproduced below the status grid with summary counts. The figure in the center is the totalnumber of curves.

DashBoard User Interface Page 347

CurveBuilder 6 | User Guide

Page 355: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Curves PaneThis pane displays the individual curves for a selected group and snapshots of live curves. TheCurves statusgrid provides a summary of the curve build and quality status, together with relevant status information.

Where set, the lock and approve status indicators are displayed alongside the curve name.When using theCompact or Standard filter options, theData Status drop-down can be used to filter the displayed curves bythe locked status indicator.

You can use the drop-downs to select a saved view or to select a saved view or to filter the curve listing.

DashBoard User Interface Page 348

CurveBuilder 6 | User Guide

Page 356: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Youmaywant to review the headings that are selected, to ensure that the required curve information isdisplayed. To do this, right-click on the heading row and check the required columns.

In the following example, the URI column has been added to the Curves status grid.

Note: If you want to add an individual curve into a group, you can drag it from the Curves pane to therelevant group in the Folders pane. To addmultiple curves, hold down the Shift key to highlight themandwhilst dragging and dropping them on the required group.

You can right-click on a curve to access various options, e.g. to run the curve, run curve validations, edit thecurve, copy the URI for the curve definition, etc.

DashBoard User Interface Page 349

CurveBuilder 6 | User Guide

Page 357: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Build Log PaneThis pane includes three tabs:

Process LogProvides details on the curve build. The information is categorised intomessages, warnings, debug. The totalnumber of messages for each type is displayed at the top of the log.

You can click on themessage box to filter the log bymessage type, to show or hide that message type. Theblue border indicates that messages for that message type are included in the log.

Finalizer LogDetails the finalizers run on the built curve group, enabling you tomonitor whether they have run successfully orhave failed. You can add the columns to view the time the finalizer started and the user.

Curve Input SummaryDetails the curve input data availability

This feature will be implemented in a future release.

DashBoard User Interface Page 350

CurveBuilder 6 | User Guide

Page 358: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Dashboard CurveGroups Status Data Table

The curve groups status data table is displayed in the left pane of the Dashboard.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

These data columns can be selected for display:

Column DescriptionDisplayed

byDefault?

Group Curve group name

Build Status

Ready Count of curves that have been built.

Waiting Count of curves that are waiting to be built.

Holiday For non-quoting days.Count of curves with build disabled on non-quoting days.

Stale Count of curves for which there has been no change, compared to theprevious build.

Warning Count of curves that are pending to be built due to insufficient input.

Failed Count of curves that have failed to be built.

Quality Status

Quality Horizontal bar, providing comparison for quality status data.

Q; Valid Count of curves for which the data quality is valid.

Q; Plausible Count of curves for which the data quality is acceptable.

Q; Failed Count of curves for which the data validation has failed.

Q; Unchecked Count of curves for which the data quality is unchecked.

Total Total count of curves in the selected group.

Dashboard Curve Groups Status Data Table Page 351

CurveBuilder 6 | User Guide

Page 359: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Dashboard Curve Status Data Table

You can select the curve details to be displayed in theDashboard curve data table, to filter and view only therequired information.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

These data columns can be selected for display:

Column DescriptionDisplayed

byDefault?

Name Curve name

Category Curve category.

Commodity Commodity grouping for the curve.

Product Product for the curve.

Market Basis Market basis or location for the curve.

Uri Uri of the curve definition.

Status Curve build status.

Quality Curve quality status, based on validation rule checks.

Modified By Details curve update detail, whether manually built by a user or automaticallybuilt.

Message Provides reason for the quality status, as specified in the validation rulepackage for the quality check.

Dashboard Curve Status Data Table Page 352

CurveBuilder 6 | User Guide

Page 360: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Monitoring the Curve Status on the Dashboard

With separate panes for curve groups and for curves, you can quickly assess the overall status, group statusand individual curve status.

TheCurve Groups pane details: 

Column StatusIndicator

Color /Indicator Description Column shown

by default?

Group Curve group names.Overall row details totals for all curves.

Curve Status

Ready Curves that have been built.

Waiting Curves that are waiting to be built.

Holiday Curves with build disabled on non-quoting days.

Stale Curves for which there has been no change,compared to the previous build.

Warning Curves that are pending to be built, due toinsufficient input.

Failed Curves that have failed to be built.

Curve Quality

Quality Horizontal bar, providing comparison for qualitystatus data.

Q.Valid Curves for which the data quality is valid.

Q.Plausible Curves for which the data quality is acceptable.

Q.Failed Curves for which the data validation has failed.

Q.Unchecked Curves for which the data quality is unchecked.

Total Total number of curves in the group.

Monitoring the Curve Status on the Dashboard Page 353

CurveBuilder 6 | User Guide

Page 361: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TheCurves pane details: 

Column StatusIndicator

ColorIndicator Description Column shown

by default?

Curve Curve name

Curve Status

Success Curve is successfully built.

Waiting The curve is waiting to receive the requiredinputs to be built.

Stale Curves that has no change when compared toprevious build.

Warning Curves that are pending to be built due toinsufficient input.

Holiday The curve is built based on the holidaycalendar chosen.

Failed The curve has failed to build, as all the inputswere not received.

Curve Quality

Valid The curves for which the data checks havepassed.

Plausible The curves for which the data quality isacceptable.

Failed The curves for which the data validation hasfailed.

Unchecked The curves for which the data quality isunchecked.

Message

Displays the curve status message.Wheremultiple inputs are awaited, the"Waiting for data" message is displayed.Where a single input is awaited, the inputsource is detailed.

Monitoring the Curve Status on the Dashboard Page 354

CurveBuilder 6 | User Guide

Page 362: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO MONITOR THE GROUP AND CURVE STATUS

1. Click on theDashboard tab to display the curve build status information for the current day. By default,the status information for all curve groups and all curves, set to Production, are displayed.

2. (Optional) Select a curve group in theGroups pane to display the curves for that group.

3. (Optional) You can filter the curve data table to display the required curves in theCurves pane.4. By default, the curve status information for the current day is displayed.

To change the date, enter the required date or select it from the calendar and click the Go icon toupdate the dashboard display.

To revert to the current day's dashboard, click the Today icon.

The green progress indicator (top right of the Curve pane) indicates that the Dashboard is beingupdated.

Once complete, the summary group and curve count is shown and the curve status information for theselected date is displayed.

Note: Once the curve status is shown as Success, you can select it to view the process log and finalizerlog.

5. For curves that are not built during non-quoting days, the Dashboard displays the status asHoliday.

Monitoring the Curve Status on the Dashboard Page 355

CurveBuilder 6 | User Guide

Page 363: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Monitoring the Curve Status on the Dashboard Page 356

CurveBuilder 6 | User Guide

Page 364: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Filtering the Dashboard

On the Dashboard, theCurves pane displays details of all the individual built curves to which you have access.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

Filtering the Dashboard Page 357

CurveBuilder 6 | User Guide

Page 365: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Filtering the Curve ListingYou can apply filters to quickly narrow down the list and display a subset of the curves. For theCompactand Standard filter options, you can save the filtered results as aSaved View.

TO APPLY SIMPLE FILTERING

1. In the Dashboard, click on the icon on the far right, above theCurves pane.

2. SelectSimple. The Filter By field is displayed.

3. Enter the search expression to filter the curve listing and display only those curves that include theentered text.

4. To filter the curves, either:

l Click the icon.

l Hit Enter.The curvesmatching the search expression are displayed in theCurves pane.

Filtering the Dashboard Page 358

CurveBuilder 6 | User Guide

Page 366: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO APPLY COMPACT FILTERING

1. In the Dashboard, click on the icon on the far right, above theCurves pane and selectCompact.

Multiple curve filter options are displayed.

2. For one or more of the categories, select the item onwhich you want to filter and displaymatchingproducts. You can only select one item from each of the drop-down lists.

Note: Click in the box and type the first character for the required selection to go to the firstinstance that starts with the entered character.

l To remove all selected filters, selectReset from the filter selection drop-down.

l To remove a single selection, select the * for the category.

Note: You also have the option to select a Saved View.

As youmake your selections to filter the curve listing, the filtered results are displayed in theCurvespane.

Filtering the Dashboard Page 359

CurveBuilder 6 | User Guide

Page 367: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO APPLY STANDARD FILTERING

1. In the Dashboard, click on the icon on the far right, above theCurves pane and selectStandard.

Multiple filter options are displayed, together with the values.

2. For one or more of the product categories, highlight the items on which you want to filter and displaymatching curves.

l Multiple itemsmay be selected:o To select multiple items in a range, hold down theShift key.o To select multiple, non-consecutive items, hold down theCtrl key.

l To remove all selected filters, selectReset from the filter selection drop-down.

l To remove an individual filter, select the * for the category.

Note: You also have the option to select a Saved View.

As youmake your selections, the filtered results are displayed in theCurves pane.

Filtering the Dashboard Page 360

CurveBuilder 6 | User Guide

Page 368: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Saved ViewsFor theCompact and Standard filter options, you can save the filtered results as aSaved View.

TO CREATE A SAVED VIEW

1. With the filtered results displayed in theCurves pane, click to theSaved Views heading.

2. To save the results, do one of the following:

l Right-click onSaved Views heading and select Save View.

l Click on theSaved View down arrow and select Save View.

TheSave dialog box is displayed.

3. Enter aName andDescription to save this view.

Filtering the Dashboard Page 361

CurveBuilder 6 | User Guide

Page 369: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

4. ClickOK.

The view is saved under theSaved Views listing.

TO DISPLAY A SAVED VIEW

1. Select the saved view from the drop-down list.

The Curve listing is refreshed to reflect the filtered view.

TO DELETE THE SAVED VIEW

1. With the saved view that you want to delete applied, do one of the following:

l Right-click onSaved Views heading and select Delete View.

l Click on theSaved View down arrow and selectDelete View.2. ClickYes to confirm the deletion and to remove the saved view from the listing.

Filtering the Dashboard Page 362

CurveBuilder 6 | User Guide

Page 370: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Viewing the Dashboard Process Log

You can view the process log for any successfully built curve on theDashboard. When you select a curve withthe status shown asSuccess, time-stamped log entries are displayed in the lower pane, together with a totalmessage count.

Note: You can also view the process log for successfully built versions of a selected curve in the ProcessLog Viewer.

A sample process log, displayed on the dashboard, is shown below.

To separate the log information intoDebug, Error,Messages andWarning tabs, these lines can be added toany associated rule package:

LOGGER.logDebugMessage("*** Show up debug");LOGGER.logError("*** Show up error");LOGGER.logMessage("*** Show up message");LOGGER.logWarning("*** Show up warning");

Viewing the Dashboard Process Log Page 363

CurveBuilder 6 | User Guide

Page 371: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO VIEW THE PROCESS LOG IN THE DASHBOARD

1. Click on theDashboard tab, to display the curve status information for the current day.

2. If necessary, change the date for which you want to view the built curve's process log.In the date field (top left), enter the required date or select it from the drop-down calendar and then clickthe Go icon to update the dashboard display. To revert to the current day's dashboard, click theToday icon.

3. Select the required curve, with status shown asSuccess.The entries are displayed in theProcessLog pane at the bottom of the dashboard.

4. You can: 

l Click on the Copy icon to copy the selectedmessage to the clipboard.

l Click on the Clear All icon to remove all the displayedmessages.

l Click on theAll Categories drop-down to filter messages byCategory, if applicable.

Viewing the Dashboard Process Log Page 364

CurveBuilder 6 | User Guide

Page 372: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Dashboard Groups

Dashboard Groups are used to organize andmanage sets of curves as a single object, enabling you to run allcurves in the group and specify finalizers for the dashboard group. These groups are also used on theDashboard, to view andmonitor the curve status.

The curve groups are displayed as folders under theDashboard Groups node in the Folders pane.With thecurves listed in theExplorer tab, you can drag and drop the curves into the relevant groups folder.

Note: The same curve can be included inmultiple groups.

With theDashboard Groups node selected, the groups listing is also displayed in theExplorer tab.

Dashboard Groups Page 365

Chapter 10

Page 373: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When you expand theDashboard Groups node and select a group, the list of curves in the highlighted groupis displayed in theExplorer tab.

For dashboard groups, you can:

l Create a new dashboard group

l Edit an existing dashboard group

l Delete a dashboard group

l Delete a curve from the dashboard group

l Run the dashboard group curves

l Run the dashboard group finalizers

l Approve / Unapprove the dashboard group

l Lock / Unlock the dashboard group

For live curve dashboard groups, you can also:

l Take a snapshot of all curves in the group

Dashboard Groups Page 366

CurveBuilder 6 | User Guide

Page 374: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Creating a New Dashboard Group

You can create a new dashboard group to includemultiple curves that you want to work with, as a single entity.

When defining a new dashboard group, you can configure the finalizer profiles to be run for the group andspecify other group options, including the cut-off time and the appropriate calendar. Additionally, you can enteraddresses for email notifications in the event that all the curves in the group are not built.

Note: New groups can also be created on-the-fly.

In the following example, a dashboard group for ICE curves has been created.

Creating a New Dashboard Group Page 367

CurveBuilder 6 | User Guide

Page 375: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO CREATE A NEW DASHBOARD GROUP

1. To create a new group, do one of the following:

l Highlight theDashboard Groups node and select New on theHome tab.

l Right-click on theDashboard Groups node and selectNew Dashboard Group.l Right-click on an existing Dashboard group name and selectNew Dashboard Group.TheDashboard Group dialog box is displayed.

Creating a New Dashboard Group Page 368

CurveBuilder 6 | User Guide

Page 376: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

2. UnderDetails, enter the following:l Code: Unique identifier for the group.l Name: Group name.l Description: Detailed description for the group.

3. Under Finalizer configuration, select the required finalizer profile from the list.

4. The default parameter values specified for the finalizers for the profile are applied but can be amendedby clicking onConfigure Parameters.

Note: You can define andmaintain finalizer profiles under Tools > Types Manager.

5. Check the Trigger finalizers when ready box, if you want the finalizers to be automatically executedwhen all inputs are provided and the curve build status is success, regardless of whether the cut-offtime has been reached.

6. Check theAlways trigger finalizers output even if the curves are not built box to run anyconfigured finalizer actions once the cut-off time has been reached, regardless of whether some curveshave not been successfully built.

7. UnderOptions, specify:l Cut-off time:  time at which a check ismade to see whether the group of curves has been built,determining the finalizer actions to be taken.

l Offset: determines the day the cut-off time trigger refers to, using a -ve offset for a previous dayand a + ve offset for a future day).

l Offset = 0 is taken as the current day. This is the default.The curve is built for the current day, using the current day's values for the specifiedsource.

l Offset = -1 is taken as the previous quoting day.The curve is built for the current day, using the previous quoting day's values for thespecified source.

l Offset = 1 is taken as the next quoting day.The curve is built for the current day, using the following quoting day's values for thespecified source.

l Offset = 99 is taken as the last available quoting day.The curve is built for the current day, using the last available value for the specificsource.

l Calendar: indicates the holiday or business calendar that is used when applying the offset.l (Optional) You can enter one or more email addresses to whom emails should be sent in theevent that all curves in the group are not built by the cut-off time. Multiple email addresses shouldbe comma-separated.

8. ClickOK to create the group and to add it to theDashboard Groups listing,Once the dashboard group has been created, you can add the required curves.

Creating a New Dashboard Group Page 369

CurveBuilder 6 | User Guide

Page 377: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Editing a Dashboard Group

Once you have created a new dashboard group, you can edit it to configure the finalizers, cut-off time and offsetdetails. When editing a group, you can amend any details, other than the code.

TO EDIT A DASHBOARD GROUP

1. In the Folders pane, navigate to and select the requiredDashboard Group.

2. To edit the group, do one of the following:

l Right-click on the dashboard group and select Open for Editing.

l Double-click on the dashboard group in theExplorer tab.l Highlight the dashboard group in theExplorer tab and selectEdit from theHome tab.

The details of the selected group are re-displayed in theDashboard Groupwindow.3. Amend any group details, as required.

4. Click on Configure Parameters to amend or configure the finalizers for the group.

Note: To remove an existing finalizer profile, select the blank row at the top of the FinalizerProfile drop-down listing.

5. UnderOptions, amend:l Cut-off time:  time at which a check ismade to see whether the group of curves has been built,determining the finalizer actions to be taken.

l Offset: determines the day the cut-off time trigger refers to, using a -ve offset for a previous dayand a + ve offset for a future day).

l Offset = 0 is taken as the current day. This is the default.The curve is built for the current day, using the current day's values for the specifiedsource.

l Offset = -1 is taken as the previous quoting day.The curve is built for the current day, using the previous quoting day's values for thespecified source.

l Offset = 1 is taken as the next quoting day.The curve is built for the current day, using the following quoting day's values for thespecified source.

l Offset = 99 is taken as the last available quoting day.The curve is built for the current day, using the last available value for the specificsource.

Editing a Dashboard Group Page 370

CurveBuilder 6 | User Guide

Page 378: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

l Calendar: indicates the holiday or business calendar that is used when applying the offset.l (Optional) You can enter one or more email addresses to whom emails should be sent in theevent that all curves in the group are not built by the cut-off time. Multiple email addresses shouldbe comma-separated.

6. ClickOK to save the changes and to close the window.

Editing a Dashboard Group Page 371

CurveBuilder 6 | User Guide

Page 379: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Configuring Finalizers for a CurveGroup

When creating or editing a dashboard group, you can select and configure one or more finalizers for the group.

You need to create the finalizer profile, under Types Manager before you can configure it for the curve group.

When creating the finalizer profile, you can specify the default parameter settings for the finalizer parameters.These can then be amended when selecting and configuring the finalizer for a specific curve group.

Note: You canmonitor the status of finalizers that have been run on the Finalizer Log tab on theDashboard.

Group Finalizers

A group finalizer works in the sameway as a single curve finalizer, except that it is triggered when all curves inthe group are built or the cut-off time specified for the group is reached. Group finalizers can only be triggeredonce per onDate. If required, the group finalizers can be re-triggeredmanually.

The following process is applied for curve groups:

l If all curves are successfully built and the Trigger finalizers when ready option is enabled, theconfigured output services are executed, regardless of the cut-off time.

l At the cut-off time, if one or more curves have failed or do not contain data:

a. The fail handler for the failed curve is triggered, if configured.

b. If this action does not resolve the issue, any configured group fail handlers are triggered.

l If all the curves are then built, the configured output services are executed.

Otherwise, the fail handler is triggered for the group.

a. If theAlways trigger output finalizers, even if curves are not built option is enabled, theoutput services are triggered at the cut-off time, regardless of whether some curves are notready.

b. An email is sent to the email addresses that have been set up, in the event of a failure that cannotbe resolved by the fail handlers.

If all curves in the group have not been built, the group status is changed fromWaiting to Failed.

Note: You can also configure finalizers for an individual curve.

Configuring Finalizers for a Curve Group Page 372

CurveBuilder 6 | User Guide

Page 380: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO SELECT AND CONFIGURE FINALIZERS FOR A CURVE GROUP

1. When creating or editing a curve group in theDashboard Group dialog box, under Finalizerconfiguration, select the required finalizer profile from the drop-down list.

Configuring Finalizers for a Curve Group Page 373

CurveBuilder 6 | User Guide

Page 381: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

2. Click onConfigure Parameters to add or amend any default values specified for the finalizers withinthe profile.

3. Check the Trigger finalizers when ready box, if you want the finalizers to be automatically executedwhen all inputs are provided and the curve build status is success, regardless of whether the cut-offtime has been reached.

4. Check theAlways trigger finalizers output even if the curves are not built box to run anyconfigured finalizer actions once the cut-off time has been reached, regardless of whether some curveshave not been successfully built.

Note: Whilst creating or editing the group, make sure you select the required cut-off time, calendar andenter any email addresses. under Group > Options.

Configuring Finalizers for a Curve Group Page 374

CurveBuilder 6 | User Guide

Page 382: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Adding Curves to a Dashboard Group

You can organize curves into different dashboard groups, adding them to new or existing groups. The samecurve can be added tomultiple groups. You can then run all curves as a group and apply finalizers to the curvegroup, rather than to individual curves.

Note: The status of dashboard groups can bemonitored on the Dashboard.

TO ADD A CURVE TO A DASHBOARD GROUP

1. In the Folders pane, either:

l Display the list of curves in theExplorer tab.l Enter search criteria in the top navigation bar to quickly locate the required curve.

2. Highlight and right-click on the required curves.

l To add one or more curves to a new group:

i. SelectAdd Curves to > New Dashboard Group to display theDashboardGroup dialog box.

ii. Follow the procedure to create a new dashboard group.

l To add onemore curves to an existing group:

i. SelectAdd Curves to to display theExisting Dashboard Group dialog box.

ii. Select the group to which you want to add the curve and clickOK.

Adding Curves to a Dashboard Group Page 375

CurveBuilder 6 | User Guide

Page 383: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting Curves from aDashboard Group

You can remove one or more curves from a dashboard group.

Important: If a curve is deleted from a group, the built curve remains displayed in the group on theDashboard for dates up to the date when the curve was removed from the group. Once a curve isdeleted from a group and then built, it is no longer displayed on the Dashboard, from that date onwards.

TO REMOVE A CURVE FROM A DASHBOARD GROUP

1. In the Folders pane, navigate to and select theDashboard Group fromwhich you want to remove thecurves.

2. To delete the highlighted curve(s), either:

l Right-click on the curves and select Delete.

l SelectDelete on theHome tab.3. ClickOK to confirm the deletion.

Deleting Curves from aDashboard Group Page 376

CurveBuilder 6 | User Guide

Page 384: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Running the Dashboard Group Curves

TheRun Dashboard Group Curves option enables you tomanually build all curveswithin a selected group,as a single process. Youmaywant to do this if, for some reason, the group curves have not been built or to re-build them.

This option allows you to run all the curves in the selected group when the curves receive the required inputs forcompleting the build process.

Important: The status of each curvemust be set to Production to build the group curves and to run anygroup finalizer services.

TO RUN THE DASHBOARD GROUP CURVES

1. Expand theDashboard Groups node in the Folders pane.

2. Select the requiredDashboard Group so that the group's curves are listed in theExplorer tab.3. Check that the status of all the curves is set toProduction, indicated by a to the left of the curve

name.

4. Right-click on theDashboard Group for which you want to build the curves and selectRunDashboard Group Curves. TheSelect Date Range dialog box is displayed.

5. Set the range by selecting theStart andEnd dates over which you want to build the curves in thegroup, using the arrows or click on the Calendar icon to select the date.

6. ClickOK to build all the curves in the selected group.

Note: The build status can be viewed andmonitored on the Dashboard.

Running the Dashboard Group Curves Page 377

CurveBuilder 6 | User Guide

Page 385: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Running the Dashboard Group Finalizers

TheRun Group Finalizers option enables you tomanually run the finalizers that have been applied to agroup, as a single process.

Note: You can define andmaintain finalizer profiles under Tools > Types Manager.

Youmaywant to run the group finalizers if, for some reason, they have not been triggered automatically or tore-run them.

Important: The status of each curvemust be set to Production to build the group curves and to run anygroup finalizer services.

TO RUN THE DASHBOARD GROUP FINALIZERS

1. Expand theDashboard Groups node in the Folders pane.

2. Select the requiredDashboard Group, so that the group's curves are displayed in theExplorer tab.3. Check that the status of all the curves is set toProduction, indicated by a to the left of the curve

name.

4. Right-click on theGroup for which you want to run the finalizers and selectRun Group Finalizers.TheSelect Date dialog box is displayed.

5. Enter the onDate for which you want to run the finalizers.6. ClickOK to run the finalizers for the selected group.

Note: The curve build status can be viewed andmonitored on the Dashboard.

Running the Dashboard Group Finalizers Page 378

CurveBuilder 6 | User Guide

Page 386: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Approving and Unapproving Dashboard Groups

You can use theApprove option to change the selected Dashboard group's status to confirm that the group isset up correctly. Equally, the status can be set toUnapprove, if there are any issueswith the curveswithin thegroup.

You can change the status to approve or unapprove the group for an individual onDate. Whenever you changethe approval status, you are prompted to enter a reason for the status change, which is recommended forauditing purposes.

TO APPROVE A DASHBOARD GROUP

1. Expand theDashboard Groups node in the Folders pane.

The list of available dashboard groups is displayed in theExplorer tab.

2. Right-click on the selected group and selectApprove / Unapprove to display theSelect Date dialogbox.

3. Use the arrows or click on the Calendar icon to select the required date and clickOK.

4. TheChange Status dialog box is displayed prompting you to enter the reason for modification.5. Enter a reason for the status change and clickApprove.

TO UNAPPROVE A DASHBOARD GROUP

1. Right-click on theDashboard Group that you want to unapprove and selectApprove / Unapprove.

2. Select the required date in theSelect Date dialog box and clickOK.3. Enter a reason for the change in theChange Status dialog box and clickUnapprove.

Approving and Unapproving Dashboard Groups Page 379

CurveBuilder 6 | User Guide

Page 387: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Locking and Unlocking Dashboard Groups

You can use the Lock option to change the selected dashboard group's status to prevent any changes beingmade to it. Equally, the status can be set toUnlock, if there are any issueswith the results and furtherconfiguration is required.

You can change the status to lock or unlock the group for an individual onDate. Whenever you change the lockstatus, you are prompted to enter a reason for the status change, which is recommended for auditing purposes.

TO LOCK A DASHBOARD GROUP

1. Expand theDashboard Groups node in the Folders pane. The list of dashboard groups is displayedin theExplorer tab.

2. Right-click on the selected group and select Lock / Unlock to display theSelect Date dialog box .

3. Use the arrows or click on the Calendar icon to select the required date and clickOK.

4. TheChange Status dialog box is displayed, prompting you to enter the reason for modification.5. Enter a reason for locking the curve and clickLock to apply the status change.

TO UNLOCK A DASHBOARD GROUP

1. Right-click on theDashboard Group that you want to unlock and select Lock / Unlock.

2. Set a date in theSelect Date dialog box and clickOK.3. Enter a reason for the change in theChange Status dialog box and clickUnlock.

Locking and Unlocking Dashboard Groups Page 380

CurveBuilder 6 | User Guide

Page 388: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Deleting a Dashboard Group

You can delete a dashboard group that is no longer required.

Note: Deleting a group does not delete the actual curves.

TO DELETE A DASHBOARD GROUP

1. To display the existing groups, either:

l Expand theDashboard Groups node in the Folders pane to display the groups in the Folderstree.

l Click on theDashboard Groups node to view the list in theExplorer tab.2. To delete, do one of the following:

l Highlight one or moreDashboard Group that you want to delete and click Delete on theHome tab.

l Right-click on the highlighted groups and selectDelete.3. ClickYes to confirm the deletion and to remove the group from the listing.

Deleting a Dashboard Group Page 381

CurveBuilder 6 | User Guide

Page 389: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Charts

You can use theCharts functionality to view the chart for a selected product or curve, together with the valuesin the data grid.

TheCharts toolbar is used to access the chart functionality.

Note: Under Options, you can specify various default chart settings and preferences.

For more information on theChartsmenu items, seeMenuOptions.

UsingCharts, you can:

l Select the chart type

l Select the curve chart options

l Specify chart settings

l Export curve data into Excel

Charts Page 382

Chapter 11

Page 390: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Selecting the Chart Type

By default, chart data is displayed as the Fast Lines chart type, used for quickly displaying a very large numberof data points. Once the chart is displayed, you can select a different chart type.

These chart types are available:

Icon Chart Type Description

Fast Line Similar to a line chart; suited fordisplaying large numbers of data points.

Line Displays a set of data points connectedby straight lines.

Area Displays a line chart, with a shadedareas between the line and the axis.

BarDisplays grouped data with rectangularbars with lengths proportional to thevalues.

BeizerDisplays the data by interpolating datapoints, through which curved linespass.

Histogram Similar to Bar chart, with numbersgrouped into ranges.

Vertical Bar Displays values vertically against thehorizontal time axis.

Horizontal Bar Displays values horizontally against thevertical time axis.

Scatter Also known as XY charts, plots thedata as a set of points.

Arrow Displays the information in a tabularform.

Pyramid Displays vertical bars in a pyramidshape.

Volume Displays the conversion value requiredfor one unit.

Donut Displays a pie chart with the centerremoved.

Pie Displays a circular chart, divided intosections.

Selecting the Chart Type Page 383

CurveBuilder 6 | User Guide

Page 391: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Icon Chart Type Description

Radar

Also known as spider charts, plots thevalues along a separate axis, starting atthe central point and ending on the outerring.

PolarDisplays a series as a set of points thatare grouped by category on a 360-degree circle.

SmithIn a Smith chart a circles radius isconsidered as one, with center of thechart as the origin.

TO CHANGE THE CHART TYPE

1. With the chart displayed in theChart Viewer, do one of the following:

l Right-click on the selected chart and select Type.

l On theCharts tab, select theChart drop-down.The available chart types for the data are displayed.

2. Select the required Type to re-display the chart.

Selecting the Chart Type Page 384

CurveBuilder 6 | User Guide

Page 392: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Selecting Chart Options

With the curve / product data displayed as a chart and in the data grid, you can set various display preferences.

Data Chart and Grid Display

Various options can be accessed on the context menu by right clicking on the chart or grid. Alternatively, youcan select various options on theCharts toolbar.

Note: Where relevant, an icon's coloured background indicates that the option is enabled.

Icon Option DescriptionData Chartcontextmenu

Data Gridcontextmenu

ChartsToolbar

Apply Conversion Displays the Conversions window to specifyand apply unit and / or currency conversion.

Settings Applies various display settings to a singleseries or to the entire chart

Type Select the chart type for display. (Chart drop-downmenu)

Theme Select a pre-defined theme to set the chartbackground and axis colors.

Palette Select a pre-defined palette that can be appliedto the chart data.

ChartToggles the display of the chart window.

On the toolbar, the chart type can be selectedfrom the drop-down list.

Viewsub-menu

Grid

Toggles the display of the data grid and toselect position of the data grid above, below orto the right or left of the data chart.

On the toolbar, the grid position can be selectedfrom the drop-down listing.

View sub-menu

Legends Toggles the display of legends on the chart. View sub-menu

Labels Toggles the display of labels for the data pointvalues. View sub-

menu

Selecting Chart Options Page 385

CurveBuilder 6 | User Guide

Page 393: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Icon Option DescriptionData Chartcontextmenu

Data Gridcontextmenu

ChartsToolbar

Columns

Customize the columns to change the way theinformation is displayed.

Available only for curve data displayed in theChart Viewer.

View sub-menu

3D View Displays a 3D view of the chart, if applicable tothe chart type and display. View sub-

menu

Free Rotate To rotate the chart, by holding down the leftmouse button andmoving it. View sub-

menu

Copy URI To copy the selectedmodel's URI to theclipboard.

Paste URI To paste the selectedmodel's URI from theclipboard.

Zoom In To zoom in on the data in both the data chartand data grid.

ZoomOut To zoom out on the data in both the data chartand data grid.

Zoom 100% To reset the zoom back to 100%.

Copy as Picture To copy the chart as picture.

Copy Table To copy the values from the data grid table.

Export to Excel Allows you to export and save themodel detailsin Excel.

Refresh To refresh the contents of the data chartwindow to display the latest data values.

Remove All Removes all curve details from the active datachart and grid.

Process Log Displays the entire curve information, togetherwith the built curves.

Properties Displays curve and property details.

Selecting Chart Options Page 386

CurveBuilder 6 | User Guide

Page 394: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Chart Settings

TheChart Settings options is used to apply various display settings to a single series or to the entire chart.You can save the applied data chart or series settings as a template, which can then be selected and applied toother charts or individual series, as applicable.

Settings toolbarThe following table displays theSettings toolbar. From the drop-down list, you can select the option to beconfigured to either the DataChart or individual Series.

Menu Description

To scroll back through the list, displaying the parameters for the option.

To scroll forwards through the list, displaying the parameters for the option.

To save the settings as a template.

To save template with a different name.

To delete the currently applied template.

To reset the settings to their default value.

To refresh the display.

To include additional advanced settings in the listing.

Chart Settings Page 387

CurveBuilder 6 | User Guide

Page 395: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Data Chart SettingsThe following table provides the options that can be applied to the entire data chart.

Option Description

TemplateClick on the drop-down to select and apply a saved curve URI to the datachart.

Ensure that DataChart is displayed in the field above.

Aspect To set the chart view properties, such as elevation, rotation, perspective.

AxesTo specify options for the chart axes, including label display andminor tickcount.You can also select the axes position: bottom, left, right or top.

Footer To enter the footer text and specify the footer properties, e.g. alignment, font.

Header To enter the header text and specify the header properties, e.g. alignment,font.

Legends To set the legend properties for the chart, such as the alignment, legendstyle, font, etc.

Walls To set the wall properties for the chart, such as the wall position: left, right,back, bottom, etc.

Chart Settings Page 388

CurveBuilder 6 | User Guide

Page 396: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Series SettingsThe following table details the options that can be applied to an individual series.

Option Description

TemplateClick on the drop-down to select and apply a saved curve URI to the datachart.

Ensure that Series is displayed in the field above.

Color To set the color of the chart.

ColorEach To set color for each point in the series.

HorizAxis To set the horizontal axis specific to the selected series.

InvertedStairs With the option to display lines as Stairs selected, (see below), select toinvert the stairs.

Labels To set the label properties for the chosen series, such as number of labels todisplay, font, shape style, transparency, etc.

Stairs To display the chart lines as steps.

Transparency To set the transparency level for the chosen series.

FillStyle To set the fill style.

VertAxis To set the vertical axis associated with the chosen series.

Visible To show or hide the chosen series.

Chart Settings Page 389

CurveBuilder 6 | User Guide

Page 397: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO APPLY DISPLAY SETTINGS TO THE CHART OR SERIES

1. With the chart displayed, do one of the following:

l On theChartsmenu, selectChart Settings.l Double-click on the chart to display theSettings dialog box, with options relating to the datachart.

l Double-click on an individual series to display theSettings dialog box, with options relating to theseries.

Chart Settings Page 390

CurveBuilder 6 | User Guide

Page 398: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

2. Select the to includeAdvanced settings in the list.

3. Specify the settings by expanding the relevant option, if necessary and entering the information for theproperty or selecting it from the drop-down.

For example, if you have theShow Labels default option enabled, but want to reduce the number oflabels displayed, change the value of theDrawEvery option under Labels.

4. You can also select an individual data chart category from the drop-down list.

Chart Settings Page 391

CurveBuilder 6 | User Guide

Page 399: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

5. Once you have set the parameters for the data chart or series, you can save the changes as a templateand apply it to another chart or series. To save the settings to a template:

a. Click the Save icon to display the Template dialog box.

b. Enter aName for the template and clickOK.

Saved templates can be selected from the Template drop-down list and applied to other datachartsor series, as required.

Note: The template drop-down only lists saved templates of the appropriate type. You needto ensure that DataChart is selected to access saved datachart templates.Similarly, select and display a Series to access and select a saved template.

Note: To remove a saved template, select it and then click the Delete button.To save an existing template with a new name, select it and click the Save as button.

Chart Settings Page 392

CurveBuilder 6 | User Guide

Page 400: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Built Curve Data Table

The data for the built curve is displayed in theChart Viewer, in chart and tabular format. You can select thedata to be displayed in the data table, to filter and view only the required information.

Note: Refer toWorking with Data Tables for information on customizing the display and other data tableoptions.

In the following example, the data grid displays the default column details for the built curve.

This option is only available forCurve data displayed in theChart Viewer; a similar option does not exist forProduct data displayed in theChart Viewer.

These data columns can be selected for display:

Column DescriptionDisplayed

byDefault?

Relative Displays relative tenors. e.g: M01 (month 1)

Absolute Displays absolute tenors. e.g. 2017M05 (May 2017)

Expiry Last day of trading for the contract.

Start Start of delivery period.

End End of delivery period.

Value The data value.

Change The difference between current day and previous day's value and thedirection of the change.

Built Curve Data Table Page 393

CurveBuilder 6 | User Guide

Page 401: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Column DescriptionDisplayed

byDefault?

Source Source of the input data, including the period code.

Fair ValueCompliance Regulation on how the forward curves are valued. Fair value rating.

Status Displays the build status of the curve, e.g. success, waiting, failed.

Failed Status Displays validation checks that have been run and failed.

Price Type Indicates price type for curve tenors and forward contracts.The price type can be Real, Implied, Withheld.

Percentagechange

Displays the percentage change between the current day and previous day'svalue.

Note: For more information on viewing the data displayed in chart and grid format, see About Charts.

Built Curve Data Table Page 394

CurveBuilder 6 | User Guide

Page 402: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Exporting Data to Excel

With the chart displayed in theChart Viewer, you can output the data to file and view it in Microsoft Excel.

You can then use the extensive functionality of Excel, together with the Curve Builder ExcelAdd-InCurveBuilder tools (if installed), to work with your data.

TO EXPORT THE DATA INTO EXCEL

1. With the chart displayed in theChart Viewer, do one of the following:

l Right-click anywhere on the data chart or data grid and select Export to Excel.

l SelectExport to Excel on theCharts tab.TheExport As dialog box is displayed.

2. Choose a location to save the file and enter a File name.3. By default, the search results are saved in .xlsx format.

If required, click on theSave as type drop-down to change this format to .XLS, .CSV or .ODS.

4. Type the File name and select a file type to save.The selected curve values are exported and displayed in theMicrosoft Excel worksheet.

Exporting Data to Excel Page 395

CurveBuilder 6 | User Guide

Page 403: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Filtering Data in the Chart Viewer

When product or curve data is displayed in the Chart Viewer, the filter bar above theChart Viewer can beused to quickly specify the data values that are displayed in the data chart and grid. . The green square in thecell indicates that the item is selected.

In this example, filters for the selected exchange rate product are displayed, enabling you to change the productprofile and the date index.

Filtering Data in the Chart Viewer Page 396

CurveBuilder 6 | User Guide

Page 404: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

When displaying curve data, the filters are used to specify the onDate for which the curvemust be displayed.

Filtering Data in the Chart Viewer Page 397

CurveBuilder 6 | User Guide

Page 405: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Data Conversion

You can convert curve data values to a different currency and, if the data is associated with a unit, you can alsoapply unit conversion.When converting the data, youmaywant to specify the decimal precision and roundingmethod to be applied to the converted data.

When applying data conversion in the GCB client, the converted data is displayed in a separate column in thedata grid.

Note: You can apply conversion only to curve data.

Note: When configuring the curve definition, you need to specify the currency and units for the curveunder Curve Settings to enable conversion.

Data Conversion Page 398

CurveBuilder 6 | User Guide

Page 406: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

TO APPLY CONVERSION

1. With the curve displayed in theChart Viewer, right-click on the data grid and selectApplyConversion to display theConversions dialog box.

2. Check the relevant boxes and enter the required details to:

l Apply currency conversion

l Apply unit conversion

l Set the precision and rounding options

3. ClickOK to display the applied conversion.

Data Conversion Page 399

CurveBuilder 6 | User Guide

Page 407: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Applying Currency Conversion

Currency conversion is done using a set of exchange rates, categorized by the vendor code.

You can apply currency conversion to view the curve data in a different currency.

Note: The default exchange rates are from the European Central Bank, defined by the vendor code'ECB_FX'. Other currency sources are provided, where available.

TO APPLY CURRENCY CONVERSION

1. With the curve displayed in theChart Viewer, right-click on the data grid and selectApplyConversion to display theConversions dialog box.

The default currency / units are shown in the left hand fields.

2. To specify the decimal precision and rounding, check theOptions box.3. ClickOK to re-display the applied conversion.

Applying Currency Conversion Page 400

CurveBuilder 6 | User Guide

Page 408: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Applying Unit Conversion

You can apply unit conversion to view the data in a different unit. Data can be converted from one unit toanother unit in the same dimension using the unit factor and also between dimensions, using the appropriateparameters for conversion.

Note: Unit factors and other unit type attributes are pre-defined in GCB under Tools > TypesManager >Units.

TO APPLY UNIT CONVERSION

1. With the curve displayed in theChart Viewer, right-click on the data grid and selectApplyConversion to display theConversions dialog box.

The default currency / units are shown in the left hand fields.

2. Check theUnit conversion box to enable the unit conversion fields.3. Select the requiredDimension andUnit from the respective drop-down lists. If converting between

dimensions, enter the required parameters for the selected conversion.

4. (optional) Check theOptions box to specify the decimal precision and rounding.5. ClickOK to re-display the data with the applied conversions.

Applying Unit Conversion Page 401

CurveBuilder 6 | User Guide

Page 409: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Supported Units

Dimension Units

Angle Degree (DEGREE), Radians (RADIAN)

Energy British Thermal Unit (BTU), Calorie (cal), Joule (j), Million BritishThermal Unit (MMBtu), Therm (THERM), Watt-Hour (WH)

Frequency Hertz (Hz)

Length Foot (ft), Furlong (fur), Inch (in), Meter (m), Mile (mi), One thousandboard feet (MBF), Yard (yd)

Mass

Dry metric tonne (DMT), Gram (G), HundredWeight (CWT), Kilogram(KG), Kilo Tonne (KT), Long tonne (LT), Metric tonne (MT), Ounce(OZ), Pound (LB), Short tonne (ST), Thousand Tonnes C02 (TCO2th),Tonne (TONNE), Tonnes CO2 (TCO2), Tonnes CO2 Emitted(TCO2E), Troy Ounce (OZT), Wet metric tonne (WMT)

Other Carbon Intensity (CI), Index Point (INDXP), Oxtas (OXTAS), PointValue (Point)

Power Joule (J), Joules per cm2 (J_CM2), Watt (W)

Pressure Atmosphere (ATM), BAR (bar), Pascal (PA), Pound-force per squareinch (PSI), Technical atmosphere (AT), Torr (TORR)

Speed Foot (ft), Furlong (fur), Inch (in), Meter (m), Mile (mi), Yard (yd)

Temperature Degree Celsius (C), Degree Fahrenheit (F), Degree Kelvin (K)

Volume

Barrel-petroleum (BBL), Bushel (BU), Cubic meter (m3), DieselGasoline Equivalent (DGE), Gallon (GAL), Hundred Litres (LtrC), Litre(Ltr), Million Barrels (MMBBL), Million cubic meter (MCM), Pint (Pt),Thousand barrel (MBBL), Thousand Cubic metres (m3th)

Note: Conversion cannot be applied to units for which the dimension is specified asOther.

Supported Units Page 402

CurveBuilder 6 | User Guide

Page 410: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Unit Conversion between Dimensions

Units can be converted to units of another dimension using standard conversion factors and the appropriateparameter, as detailed in the table below.

From / to From / to Parameter

Mass Volume Density (Kg/m3)

Mass Power Power toWeight ratio (W/Kg)

Energy Power Time Period (seconds)

Mass Energy Density (Kg/m3) and Energy Content (MJ/m3)

Speed Length Time period (seconds)

Volume Energy Energy Content (MJ/m3)

Where possible, vendor-supplied values for their standardmeasure of Density or EnergyContent are used.Otherwise, internet research and scientific papers are used to create an average of themost realistic values.

Unit Conversion between Dimensions Page 403

CurveBuilder 6 | User Guide

Page 411: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The following examples illustrate conversion between different unit dimensions.

Mass to Volume

MASS TOVOLUME

Price Series Numeric Series

Initial Data Value 381.431 14

From Unit (MT) 1000000

To Unit (BBL) 0.158987295

Density 508.843198*10^3

Output 30.8576 173.054

Formula UsedResult (In Volume) = input Value(in Mass) *{ 1/ [ConversionFactor / Density]}

Result (In Volume) = input Value(in Mass) * [Conversion Factor /Density]

Output using formula 30.85761671 173.0539999

Unit Conversion between Dimensions Page 404

CurveBuilder 6 | User Guide

Page 412: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Mass to Energy

MASS TOENERGY

Price Series Numeric Series

Initial Data Value 16.361 5

From Unit (MT) 1000000

To Unit (MWH) 3600000000

Density 508.843198*10^3

Energy Content 42236.68312*10^6

Output 0.709588 115.285141

Formula Used

Result (In Energy) = input Value(in Mass) * {1/[(ConversionFactor / Density)* EnergyContent]}

Result (In Energy) = input Value(in Mass) * {(Conversion Factor /Density) * Energy Content}

Output using formula 0.70958841 115.2851411

Unit Conversion between Dimensions Page 405

CurveBuilder 6 | User Guide

Page 413: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Mass to Power

MASS TOPOWER

Price Series Numeric Series

Initial Data Value 35.533 5

From Unit (MT) 1000000

To Unit (MW) 1000000

Power toWeight Ratio (83005301.61)/(10^3)

Output 0.000428081 415026.5081

Formula UsedResult (In Power) = input Value(in Mass) *( 1/ [ConversionFactor * Power toWeight Ratio] )

Result (In Power) = input Value(in Mass) * Conversion Factor *Power toWeight Ratio

Output using formula 0.000428081 415026.5081

Energy to Volume

ENERGY TO VOLUME

Price Series Numeric Series

Initial Data Value 19.8 7

From Unit (MWH) 3600000000

To Unit (BBL) 0.158987295

Energy Content 35.17*10^6

Output 0.030753707 4506.773709

Formula UsedResult (In Volume) = input Value(in Energy) *(1/[ConversionFactor / Energy Content])

Result (In Volume) = input Value(in Energy) *( Conversion Factor /Energy Content)

Output using formula 0.030753707 4506.773709

Unit Conversion between Dimensions Page 406

CurveBuilder 6 | User Guide

Page 414: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Energy to Power

ENERGY TOPOWER

Price Series Numeric Series

Initial Data Value 19.8 7

From Unit MWH=3600000000 MWH=3600000000

To Unit MW=1000000 KW=1000

To Unit Time Factor 1 1

Time Period (24*3600)

Output 475.2 291.6666667

Formula Used

Result (In Power) = input Value(in Energy) *(1/[ ConversionFactor / (Time period / TOUnitTime Factor)])

Result (In Power) = input Value(in Energy) *{Conversion Factor /(Time period / TOUnit TimeFactor)}

Output using formula 475.2 291.6666667

Unit Conversion between Dimensions Page 407

CurveBuilder 6 | User Guide

Page 415: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Power to Energy

POWER TO ENERGY

Price Series Numeric Series

Initial Data Value 21.3 7

From Unit MW=1000000 MW=1000000

To Unit MMBTU= 1055055853 THERM= 105505585

From Unit Time Factor 1 1

Time Period (24*3600)

Output 0.260100575 5732.397958

Formula Used

Result (In Energy) = input Value(in Power) * {1/[ConversionFactor * (Time period / FROMUnit Time Factor)]}

Result (In Energy) = input Value(in Power) * {Conversion Factor *(Time period / FROMUnit TimeFactor)}

Output using formula 0.260100575 5732.397958

Unit Conversion between Dimensions Page 408

CurveBuilder 6 | User Guide

Page 416: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Power to Volume

POWER TO VOLUME

Price Series Numeric Series

Initial Data Value 106.6 12

From Unit (MW) 1000000

To Unit (BBL) 0.158987295

Density 830*10^3

Power toWeight Ratio 83005301.61/(10^3)

Output 0.00016947 7548255.034

Formula Used

Result (In Volume) = input Value(in Power) * {1/[ (ConversionFactor * Power toWeight Ratio)/Density] }

Result (In Volume) = input Value(in Power) * {[ (Conversion Factor* Power toWeight Ratio)/Density] }

Output using formula 0.00016947 7548255.034

Unit Conversion between Dimensions Page 409

CurveBuilder 6 | User Guide

Page 417: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Power toMass

POWER TO MASS

Price Series Numeric Series

Initial Data Value 70.51 5

From Unit (MW) 1000000

To Unit (MT) 1000000

Power toWeight Ratio (83005301.61)/(10^3)

Output 0.000849464 415026.5081

Formula UsedResult (In Mass) = input Value(in Power) *{ 1/(ConversionFactor * Power toWeight Ratio )}

Result (In Mass) = input Value (inPower) * { Conversion Factor *Power toWeight Ratio }

Output using formula 0.000849464 415026.5081

Volume to Power

VOLUME TOPOWER

Price Series Numeric Series

Initial Data Value 105.6 5

From Unit (BBL) 0.158987295

To Unit (MW) 1000000

Density 830*10^3

Power toWeight Ratio (83005301.61)/(10^3)

Output 0.0096409 54766.67175

Formula Used

Result (In Power) = input Value(in Volume) * {1/[ (ConversionFactor * Density) * Power toWeight Ratio ] }

Result (In Power) = input Value(in Volume) * {(Conversion Factor* Density) * Power toWeightRatio}

Output using formula 0.0096409 54766.67175

Unit Conversion between Dimensions Page 410

CurveBuilder 6 | User Guide

Page 418: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Volume to Energy

VOLUME TO ENERGY

Price Series Numeric Series

Initial Data Value 68.73 180

From Unit (M3) 1

To Unit (MWH) 3600000000

Energy Content 38500*10^6

Output 6.426701299 1925

Formula UsedResult (In Energy) = input Value(in Volume) *{1 / ( ConversionFactor * Energy Content)}

Result (In Energy) = input Value(in Volume) *( Conversion Factor* Energy Content)

Output using formula 6.426701299 1925

Volume toMass

VOLUME TO MASS

Price Series Numeric Series

Initial Data Value 70.51 250

From Unit BBL) 0.158987295

To Unit (MT) 1000000

Density 830*10^3

Output 534.3307918 32.98986371

Formula UsedResult (In Mass) = input Value(in Volume) *{1 / ( ConversionFactor * Density)}

Result (In Mass) = input Value (inVolume) *{ Conversion Factor *Density }

Output using formula 534.3307918 32.98986371

Unit Conversion between Dimensions Page 411

CurveBuilder 6 | User Guide

Page 419: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Speed to Length

SPEED TO LENGTH

Price Series Numeric Series

Initial Data Value 47.52 70

From Unit Ft/h= 0.3048 km/h = 1000

To Unit hm = 100 mi= 1609.344

From Unit Time Factor 3600 3600

Time Period (24*3600)

Output 649.6062992 1043.903603

Formula Used

Result (In Length) = input Value(in Speed) *{1/ [ConversionFactor * (Time period / From UnitTime Factor)]}

Result (In Length) = input Value(in Speed) * {Conversion Factor *(Time period / From Unit TimeFactor)}

Output using formula 649.6062992 1043.903603

Unit Conversion between Dimensions Page 412

CurveBuilder 6 | User Guide

Page 420: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Length to Speed

LENGTH TO SPEED

Price Series Numeric Series

Initial Data Value 49.7 700

From Unit mi= 1609.344 Ft= 0.3048

To Unit m/h= 1 In/m= 0.0254

To Unit Time Factor 3600 60

Time Period (24*3600)

Output 0.741171558 5.833333333

Formula Used

Result (In Speed) = input Value(in Length) *{1/ [ ConversionFactor / (Time period / To UnitTime Factor)]}

Result (In Speed) = input Value(in Length) *{Conversion Factor /(Time period / To Unit TimeFactor)}

Output using formula 0.741171558 5.833333333

Unit Conversion between Dimensions Page 413

CurveBuilder 6 | User Guide

Page 421: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Unit Conversion within the Same Dimension

For each dimension, these examples show conversion from one unit to another within the same dimension.

The formula to calculate the conversion factor is:

Conversion Factor = From Unit Factor / To Unit Factor

Angle to Angle

ANGLE TO ANGLE

Price Series Numeric Series

Initial Data Value 84.84 180

From Unit (Radian) 57.29578

To Unit (DEGREE) 1

Output 1.480737325 10313.2404

Formula UsedResult (In DEGREE) = inputValue (in RADIAN) *{1 / ( Conversion Factor )}

Result (In DEGREE) = inputValue (in RADIAN) * { Conversion Factor}

Output using formula 1.480737325 10313.2404

Unit Conversion within the SameDimension Page 414

CurveBuilder 6 | User Guide

Page 422: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Frequency to Frequency

FREQUENCY TO FREQUENCY

Price Series Numeric Series

Initial Data Value 70.51 180

From Unit (Hz) 1

To Unit (KHz) 1000

Output 70510 0.18

Formula Used Result (In KHz) = input Value (inHz) *{1 / ( Conversion Factor )}

Result (In KHz) = input Value (inHz) * { Conversion Factor}

Output using formula 70510 0.18

Pressure to Pressure

PRESSURE TO PRESSURE

Price Series Numeric Series

Initial Data Value 68.49 200

From Unit (BAR) 100000

To Unit (ATM) 101325.01

Output 69.39749935 197.3846339

Formula Used Result (In BAR) = input Value (inATM) *{1 / ( Conversion Factor )}

Result (In BAR) = input Value (inATM) * { Conversion Factor}

Output using formula 69.39749935 197.3846339

Unit Conversion within the SameDimension Page 415

CurveBuilder 6 | User Guide

Page 423: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Volume to Volume

VOLUME TOVOLUME

Price Series Numeric Series

Initial Data Value 84.84 84.84

From Unit (bbl) 0.158987295

To Unit (m3) 1

Output 533.627546 13.48849

Formula UsedResult (In cubic meter) = inputValue (in BBL) *{ 1/ [ConversionFactor]}

Result (In cubic meter) = inputValue (in BBL) *{ConversionFactor}

Output using formula 533.6275455 13.48848211

Temperature to Temperature

TEMPERATURE TO TEMPERATURE

From Unit To Unit Formula

Degree Celsius (C) Degree Fahrenheit (F) (Initial Data Value * 1.8) + 32

Degree Celsius (C) Degree Kelvin (K) (Initial Data Value + 273.15)

Degree Kelvin (K) Degree Fahrenheit (F) {[1.8 * (Initial Data Value -273.15)]+32}

Degree Kelvin (K) Degree Celsius (C) (Initial Data Value - 273.15)

Degree Fahrenheit (F) Degree Celsius (C) [(Initial Data Value - 32)/1.8]

Degree Fahrenheit (F) Degree Kelvin (K) {[(Initial Data Value -32)/1.8]+273.15}

For both price time series and numeric time series, the conversion formula is the same and the reciprocal is notapplicable.

Unit Conversion within the SameDimension Page 416

CurveBuilder 6 | User Guide

Page 424: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Vendor and Custom Conversion

You can enter values for custom and vendor units when specifying the unit conversion.

If specified, the custom or vendor unit value is used as the From unit when applying the unit conversion. If botha Custom unit and Vendor unit are specified, the Custom unit takes precedence over the Vendor unit.

Custom and Vendor units and factors are displayed under Parameters in theConversions dialog box.

In this example:

l From unit isBBLl To unit isMWl Custom Unit isMTl Custom Factor is 100.

Vendor and Custom Conversion Page 417

CurveBuilder 6 | User Guide

Page 425: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

The conversion is from theCustom unit (MT) to the ToUnit (MW), bymultiplying theCustom Factor with theconversion factor as shown: 

MT TOMW

Initial Data Value 180

Custom Unit (MT) 1000000

To Unit (MW) 1000000

Power toWeight Ratio (83005301.61)/(10^3)

Custom Factor 100

Output 1494095428.9799998

Conversion Factor Custom unit (MT) / To Unit (MW)

Formula UsedInitial Data Value * (ConversionFactor * Power toWeight Ratio) *(Custom Factor)

Output using formula 1494095428.98

The following should be noted:

l TheCustomUnit/Vendor Unit, CustomFactor/Vendor Factor and the parameter required for theconversion can be set as profile properties with corresponding values or can be entered in theConversions dialog boxwhile applying conversion in the Client, as shown above.

l Specification of a CustomUnit/Vendor Unit is always associated with the specification of a CustomFactor/Vendor Factor, respectively.

The CustomFactor/Vendor factor is alwaysmultiplied with the calculated Conversion factor forconversion.

l Where the From unit and the To unit are the same, conversion will not be applied even if a Custom unit orVendor unit is provided.

l Where the From unit and the To unit are of the same dimension, the Custom unit or Vendor unit is notconsidered and conversion is applied from the FromUnit to the To Unit.

The Custom unit / Vendor unit are considered only when the From unit and the To unit are from differentdimensions.

l When the Vendor unit or Custom unit is given, the same value is given for both price and numerictimeseries. The reciprocal is considered only when there is no Custom or Vendor unit.

Vendor and Custom Conversion Page 418

CurveBuilder 6 | User Guide

Page 426: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Setting Conversion Options

In theOptions pane on theConversions dialog box, you can specify the number of decimal places and theroundingmethod to be applied to the converted data.

Note: The default roundingmethod is HalfUp .

TO SET THE DECIMAL PRECISION AND ROUNDING

1. Apply the required unit and / or currency conversion.

2. To set the precision, select the number of decimal places to be applied.3. Optionally, select the required rounding from the drop-down list.

4. ClickOK.

Setting Conversion Options Page 419

CurveBuilder 6 | User Guide

Page 427: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Rounding Options

When applying unit and currency conversion, you can select any of the following rounding options to be appliedto the converted data. The default rounding option is Half Up.

Half Up

With this method, rounding towards the "nearest neighbor" isapplied, unless both neighbors are equidistant, in which case thevalue is rounded up if the discarded fraction is >= 0.5. Otherwise,rounding down is applied.

This is the default roundingmethod.

Input number Rounding to 1 digit

5.5 6

2.5 3

1.6 2

1.1 1

1.0 1

-1.0 -1

-1.1 -1

-1.6 -2

-2.5 -3

-5.5 -6

Rounding Options Page 420

CurveBuilder 6 | User Guide

Page 428: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Up

With this method, rounding away from zero is applied. Thisroundingmethod never decreases themagnitude of the calculatedvalue.

Input number Rounding to 1 digit

5.5 6

2.5 3

1.6 2

1.1 2

1.0 1

-1.0 -1

-1.1 -2

-1.6 -2

-2.5 -3

5.5 -6

Half Down

With this method, rounding towards the "nearest neighbor" isapplied, unless both neighbors are equidistant, in which case thevalue is rounded down. If the discarded fraction is > 0.5, roundingUp is applied, otherwise rounded down.

Input number Rounding to 1 digit

5.5 5

2.5 2

1.6 2

1.1 1

1.0 1

-1.0 -1

-1.1 -1

-1.6 -2

-2.5 -2

-5.5 -5

Rounding Options Page 421

CurveBuilder 6 | User Guide

Page 429: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Down

With this method, rounding towards zero is applied; themagnitudeof the calculated value never increases.

Input number Rounding to 1 digit

5.5 5

2.5 2

1.6 1

1.1 1

1.0 1

-1.0 -1

-1.1 -1

-1.6 -1

-2.5 -2

-5.5 -5

Rounding Options Page 422

CurveBuilder 6 | User Guide

Page 430: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Half Even

With this method, rounding to the nearest even neighbour isapplied, where both neighbor are equidistant.

l If both neighbors are not equidistant, Half Up rounding isapplied if the digit to the left of the discarded fraction is odd.

l If both neighbors are not equidistant, Half Down roundingis applied if the digit to the left of the discarded fraction iseven.

Input number Rounding to 1 digit

5.5 6

2.5 2

1.6 2

1.1 1

1.0 1

-1.0 -1

-1.1 -1

-1.6 -2

-2.5 -2

-5.5 -6

Ceiling

With this method, rounding towards positive infinity is applied.

l If the result is positive, the roundingUpmethod is applied.

l If the result is negative, the roundingDownmethod isapplied.

Input number Rounding to 1 digit

5.5 6

2.5 3

1.6 2

1.1 2

1.0 1

-1.0 -1

-1.1 -1

-1.6 -1

-2.5 -2

-5.5 -5

Note: This roundingmethod never decreases the calculated value.

Rounding Options Page 423

CurveBuilder 6 | User Guide

Page 431: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Floor

Using this method, rounding towards negative infinity is applied.

l If the values are positive, the roundingDownmethod isapplied.

l If the values are negative, the roundingUpmethod isapplied.

Input number Rounding to 1 digit

5.5 5

2.5 2

1.6 1

1.1 1

1.0 1

-1.0 -1

-1.1 -2

-1.6 -2

-2.5 -3

-5.5 -6

Note: This roundingmethod never increases the calculated value.

Halves

Using this method, the values are rounded up to the nearest half. Input number Rounding to 1 digit

5.5 5.5

2.5 3.5

1.6 1.5

1.1 0.5

1.0 1.0

-1.0 0.0

-1.1 -1.0

-1.6 -1.0

-2.5 -3.0

-5.5 -5.0

Rounding Options Page 424

CurveBuilder 6 | User Guide

Page 432: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Quarters

Using this method, the values are rounded up to the nearestquarter.

Input number Rounding to 1 digit

5.5 5.25

2.5 3.5

1.6 1.25

1.1 0.75

1.0 1.0

-1.0 0

-1.1 -1.0

-1.6 -1.25

-2.5 -3.25

-5.5 -5.75

Rounding Options Page 425

CurveBuilder 6 | User Guide

Page 433: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Getting Help

Help Resources

If you need additional information or help with a particular task or feature, these resources are available:

l Product Documentation

Documentation for Trading & Risk products is available here.

l Customer Support

You can contact the support team for assistance with any technical, product or data-related queries.

Getting Help Page 426

Chapter 12

Page 434: GCB 6 User Guide - datagenic.net RT 6/User... · ShapeProperties 300 BuildingtheShape 302 DeletingaShapeDefinition 306 CurveScripts 307 CreatingaNewScript 308 EditingaScript 311 DeletingaScript

Contacting Support

To report product issues, request enhancements or to obtain technical assistance, please contactthe Enverus Trading & Risk Support team.

By email

l Send an email to [email protected].

By phone

l Call +44 203 814 8500 and select option 2.

Documentation Feedback

Enverus aims to provide accurate and comprehensive documentation. Your comments, views and suggestionsare important to us.

Wewould be pleased to know about any specific documentation requests or issues that youmay have or anyinaccuracies that you have found in our product documentation.

Please let us have your feedback so we can continue to improve our user resources.

Thank you.

Contacting Support Page 427

CurveBuilder 6 | User Guide