07.02.2013 Views

KONDOR + TOPOFFICE INTEGRATION - Index of - 32Bit

KONDOR + TOPOFFICE INTEGRATION - Index of - 32Bit

KONDOR + TOPOFFICE INTEGRATION - Index of - 32Bit

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>KONDOR</strong> + <strong>TOPOFFICE</strong> <strong>INTEGRATION</strong><br />

K+ TO integration


REVISION HISTORY<br />

Cemil Camoglu 2011-05-06 V1<br />

Cemil Camoglu<br />

Aykut Say<br />

K+ TO integration<br />

Revision History<br />

2011-05-24 V2 � Zero Curves , Ratings , ALM Scenario, Ftp Curves<br />

mappings are added<br />

� Okapi support is provided<br />

Cemil Camoglu 2011-06-03 V3 � Risk Sector<br />

Unal Gultekin 2011-06-21 V4<br />

Unal Gultekin 2011-06-28 V5<br />

Unal Gultekin 2011-07-27 2.1.0006 � KBroker database user creation<br />

� Setting persistence mode for first time upload<br />

� Creating index on ALM database for import performance<br />

� Known issues in Kondor customer needs to address<br />

� New first time upload parameters<br />

� Known mapping issues in this version<br />

� Populating TopOffice before staring the uploads<br />

REVIEW HISTORY<br />

Reviewer Name Doc Version<br />

Reviewed<br />

Date Sent<br />

for review<br />

Date<br />

Review<br />

Filed<br />

Approved/Rejected<br />

)<br />

Note It is the author‟s responsibility to send this document out for review, making entries into columns 1-3<br />

Note It is the reviewers‟ responsibility to complete columns 4-5 and return the reviewed document to the author<br />

2


Contents<br />

About this document 5<br />

Intended readership 5<br />

In this document 5<br />

Chapter 1 MAPPINGS 6<br />

1.1. Overview 6<br />

1.2. Coverage 6<br />

1.3. Data Enrichment 8<br />

1.4. Data Filtering 8<br />

1.5. Synchronous versus Asynchronous Modes 9<br />

1.6. First Time Upload 10<br />

1.6.1. Overview 10<br />

1.6.2. Views 10<br />

1.6.3. Synchronization Order 10<br />

1.6.4. Persistence Mode 10<br />

1.7. First Time Upload Tunıng Parameters 10<br />

1.8. KIRL Banking Book Deals 11<br />

1.8.1. Overview 11<br />

1.8.2. Views 11<br />

1.8.3. Remote Shell and Folders 11<br />

1.9. KIRL Benchmark Scenarios 11<br />

1.10. KIRL FTP Curves 12<br />

1.11. Mapping 12<br />

1.11.1. General Rules 12<br />

1.11.2. Special Conditions 13<br />

1.11.3. Constants 14<br />

1.11.4. Rate Mapping 16<br />

Chapter 2 PRE-INSTALLATION 19<br />

2.1. Preparation <strong>of</strong> TopOffice 19<br />

2.1.1. Enable the TopOffice Integration Listener 19<br />

2.1.2. Run PopulateDB to insert prerequisite TopOffice Data 19<br />

2.2. Compatibility <strong>of</strong> Applications 19<br />

2.3. KBroker Schema Creation 19<br />

2.4. Kondor Settings 20<br />

2.4.1. Tradekast Server Installation and Settings 20<br />

2.4.2. Codifiers 21<br />

2.4.3. TradeKast Client Settings 22


2.5. KBroker Server Requirements 22<br />

2.5.1. Hardware Requirements 22<br />

2.5.2. S<strong>of</strong>tware Requirements 23<br />

2.5.2.1. Configure Java on Windows 23<br />

2.5.2.2. Configure Tibco on Windows 23<br />

Chapter 3 INSTALLATION 25<br />

3.1. Internal Web Service Settings 25<br />

3.2. Kondor+ Database Settings 26<br />

3.3. TopOffice JMS Settings 26<br />

3.4. Tradekast Adaptor Settings 27<br />

3.5. Banking Book Adaptor settings 27<br />

3.6. Processing 28<br />

Chapter 4 POST-INSTALLATION 29<br />

4.1. Installation Controls 29<br />

4.1.1. Procedures 29<br />

4.1.2. Views 30<br />

4.2. Tradekast Client Criteria and Procedures Settings 33<br />

4.3. Known Issues in Kondor 34<br />

4.4. Known Mapping Issues andWaiting Tasks 35<br />

4.5. KIRL Environment 35<br />

4.6. Data Excluding 36<br />

4.7. Mapping Curves 36<br />

4.8. Customization 36<br />

4.8.1. Views 36<br />

4.8.2. TradeKast Procedures 36<br />

4.8.3. XSL Updating 36<br />

4.8.4. Constants 37<br />

Chapter 5 STARTING KBROKER SERVER 39


ABOUT THIS DOCUMENT<br />

INTENDED READERSHIP<br />

This document is for the users <strong>of</strong> both Kondor and Top Office.<br />

IN THIS DOCUMENT<br />

K+ TO integration<br />

About this document<br />

This Document describes the functional and technical aspects <strong>of</strong> Kondor Top Office integration project for phase 1.<br />

5


CHAPTER 1 MAPPINGS<br />

1.1. OVERVIEW<br />

The data mapped from K+ to TopOffice consists <strong>of</strong> five main groups:<br />

• Reference Data<br />

• Static Data<br />

• Deals/Positions Data<br />

• Market Data (real time rates, historical rates )<br />

• KIRL Data<br />

1.2. COVERAGE<br />

Reference Data<br />

Static Data<br />

Deal/Position Data<br />

K+ TO integration<br />

Name in Kondor Name in TO Deal by deal / Position<br />

VariableHolidays HOLIDAYS<br />

FixedHolidays HOLIDAYS<br />

WeekHolidays HOLIDAYS<br />

Currencies CURRENCY<br />

Pairs CURRENCYPAIR<br />

Countries COUNTRY<br />

Markets EXCHANGE<br />

RatingAgencies RATINGAGENCYTYPE<br />

Ratings RATINGTYPEVALUE<br />

Risk Sector -<br />

Cpty COUNTERPARTY<br />

CptyRatings ISSUERRATING<br />

FloatingRates MKT_INDEX<br />

Basket<strong>Index</strong>es EQUITYINDEX<br />

Curves MKT_INDEX<br />

Equities EQUITYSECURITY<br />

Bonds SECURITY<br />

Futures ETPCONTRACTSPEC<br />

FuturesMaturities ETPCONTRACT<br />

Options ETPCONTRACTSPEC<br />

OptionsMaturities ETPCONTRACT<br />

SpotDeals FXDEAL Deal by Deal<br />

ForwardDeals FXDEAL Deal by Deal<br />

IamDeals IAMDEAL Deal by Deal<br />

RepoDeals OPENREPO , TERMREPO Deal by Deal<br />

FxOptionsDeals OTCFXOPTION Deal by Deal<br />

BondsOtcOptDeals OTCBONDOPTION Deal by Deal<br />

CapFloorDeals VANILLAIRCAP Deal by Deal<br />

Page6


Market Data<br />

KIRL Data<br />

K+ TO integration<br />

SwaptionDeals IRSWAPTION Deal by Deal<br />

CreditSwapDeals SINGLENAMECDS Deal by Deal<br />

FxSwapDeals FXSWAP Deal by Deal<br />

SwapDeals FIXEDFIXEDIRSWAP<br />

FLOATFLOATIRSWAP<br />

FIXEDFLOATIRSWAP<br />

Deal by Deal<br />

FraDeals FRA Deal by Deal<br />

LoansDepositDeals FIXEDRETAILANNUITY<br />

FIXEDRETAILREPMTLOAN<br />

FLOATRETAILANNUITY<br />

FLOATRETAILREPMTLOAN<br />

Deal by Deal<br />

EquitiesDeals EQUITYPOSITION Position<br />

FuturesDeals FXFUTUREPOSITION<br />

BONDFUTUREPOSITION<br />

IRFUTUREPOSITION<br />

EQUITYINDEXFUTUREPOSIT<br />

ION<br />

Position<br />

OptionsDeals EQUITYOPTIONPOSITION<br />

EQUITYFUTUREOPTIONPOS<br />

ITION<br />

IRFUTUREOPTIONPOSITION<br />

BONDFUTUREOPTIONPOSIT<br />

ION<br />

Position<br />

BondsDeals BOND Position<br />

CallAccountsDeals FIXEDRETAILBULLETLOAN<br />

FLOATRETAILBULLETLOAN<br />

Position<br />

BondsRT MARKETDATA<br />

BondsQuotes MARKETDATA<br />

Equities MARKETDATA<br />

EquitiesQuotes MARKETDATA<br />

Basket<strong>Index</strong>es MARKETDATA<br />

Basket<strong>Index</strong>esQuo<br />

tes<br />

MARKETDATA<br />

FuturesMaturities MARKETDATA<br />

FuturesQuotes MARKETDATA<br />

OptionsValue MARKETDATA<br />

OptionsQuotes MARKETDATA<br />

Pairs MARKETDATA<br />

SpotQuotes MARKETDATA<br />

FloatingRatesValue<br />

s<br />

MARKETDATA<br />

CurvesRates MARKETDATA<br />

CurvesRatesHist MARKETDATA<br />

ALM Bank Deals FIXEDRETAILANNUITY<br />

FIXEDRETAILREPMTLOAN<br />

FLOATRETAILANNUITY<br />

FLOATRETAILREPMTLOAN<br />

Page7


For phase 1, below general data filtering rules apply:<br />

K+ TO integration<br />

ALMScenario<br />

FIXEDRETAILBULLETLOAN<br />

FLOATRETAILBULLETLOAN<br />

SCENARIO DEFINITION<br />

ALMBenchmarks SCENARIO DEFINITION<br />

ALMScenario<br />

Benchmark<br />

SCENARIO DEFINITION<br />

ALMProducts SCENARIO DEFINITION<br />

ALMCurveAssoc FTP CURVE<br />

ALMCurvesRates FTP CURVE<br />

ALMCurvesRates<br />

Hist<br />

FTP CURVE<br />

1) Neither OTC deals nor exchange traded contracts having past maturities is mapped.<br />

2) All Captured and Imported Deals are mapped.<br />

3) Among Generated deals below events are mapped:<br />

� Mirror events for all deals<br />

� Liquidation events for FX Forward, Swaption, CapFloor deals<br />

� Liquidation and Assignment events for IRS deals<br />

1.3. DATA ENRICHMENT<br />

In cases where the data published by Kondor+ TradeKast does not contain some <strong>of</strong> the data required by TopOffice or<br />

the data needs to be manipulated, stored procedures have been developed to fulfil these needs. Those procedures<br />

are created in Kondor+ Kustom database and collect relevant data from necessary K+ tables.<br />

As an example;<br />

For FraDeals, below data has been enriched by the associated procedure.<br />

<br />

<br />

<br />

EUR<br />

C<br />

EURSWAP5Y<br />

<br />

<br />

<br />

1.4. DATA FILTERING<br />

Some data in K+ might not be needed to flow to TopOffice. The solution provides following mechanism to exclude this<br />

data. Please note that standard TradeKast Client Criteria setup <strong>of</strong> K+ provides certain filtering capabilities as well.<br />

Those are limited to certain main characteristics <strong>of</strong> the data, such as type <strong>of</strong> events, deal status etc. Also this filter<br />

criteria is only valid for real-time mode and are not handled by K+ when external applications ask directly from K+<br />

which is the case for “First Time Upload” functionality <strong>of</strong> KBroker.<br />

Page8


Here are the extra filtering capabilities available for KBroker:<br />

1) To filter out deals and positions in Kondor, the user has to define a folder group “KB_EXCLUDE” and include<br />

all folders/portfolios/branches to be excluded in that.<br />

2) To filter out static data in Kondor, the user has to attach “KB_EXCLUDE” codifier to the required records<br />

(using More-->Codes menu in the K+ screen). Please note that deals referencing those static data will also be<br />

excluded automatically.<br />

3) Stored procedures (Tradekast Procedures) mentioned in section 1.4 can also be used for customized filtering.<br />

(See Section 4.5)<br />

4) The Zero curves which will be used in calculations need to be mapped into the Top Office. The user needs to<br />

insert the curve‟s shortname in to the TO_CurvesInclude table in Kustom database to map these curves.<br />

1.5. SYNCHRONOUS VERSUS ASYNCHRONOUS MODES<br />

After the first time upload, KBroker TradeKast adaptor can be configured in 2 modes: synchronous or asynchronous.<br />

Synchronous means that KBroker would not receive any new trade / static data from Kondor+ until the previous<br />

trade/static data is successfully transferred to TopOffice. As synchronous behaviour <strong>of</strong> K+ is per data type, TradeKast<br />

adaptor can be set as synchronous but alternatively some data types can be defined as asynchronous.<br />

Asynchronous means that KBroker would continue to receive new trades/static data regardless <strong>of</strong> the status <strong>of</strong> the<br />

previous ones.<br />

Due to TopOffice behaviour, TradeKast adaptor should be configured in synchronous mode. Only position based<br />

trades can be defined as asynchronous.<br />

When the system is configured to behave in synchronous mode, a close watch is needed for the system as the flow<br />

will be interrupted when a record fails to be transferred to TopOffice.<br />

KBroker logger contains a mail sender which will warn certain responsible by e-mail. Whenever the responsible<br />

receives an error message from the system, s/he should log in to KBroker web GUI, investigate and solve the issue.<br />

Manual intervention is explained in KBroker Infocentre.<br />

K+ TO integration<br />

Page9


1.6. FIRST TIME UPLOAD<br />

1.6.1. Overview<br />

In order to send historical deals to TopOffice, the user has to make a first time upload. The reference and the static<br />

data defined earlier, the deals done in the past but not matured will be transferred to TopOffice by running this first<br />

time upload.<br />

1.6.2. Views<br />

For each K+ data type handled by the solution, there is a database view created on Kustom database.<br />

Those views returns the list <strong>of</strong> deal/static data ids in K+ database meeting certain criteria (Non matured, not in<br />

KB_EXCLUDE folder group, KB_EXCLUDE codifier is not attached, included in TO_CurvesInclude table).<br />

1.6.3. Synchronization Order<br />

There is a synchronization order which needs to be followed for a proper first time upload. The reference data is the<br />

first data type to be synchronized, followed by static data, then deals and positions are mapped from Kondor to<br />

TopOffice. Historical market rates have to be transferred with the associated batch schedules.<br />

The order which needs to be followed is as follows:<br />

Holidays,Currencies,Countries,Pairs,Markets,RatingAgencies,RiskSector,FloatingRates,Cpty,Basket<strong>Index</strong>es,Curves,<br />

Bonds,Equities,Futures,FuturesMaturities,Options,OptionsMaturities,SpotDeals,ForwardDeals,CapFloorDeals,FxOpti<br />

onsDeals,FraDeals,IamDeals,LoansDepositDeals,RepoDeals,FxSwapDeals,SwapDeals,BondsOtcOptDeals,Swaptio<br />

nDeals,CreditSwapDeals,CallAccountsDeals,BondsDeals,EquitiesDeals,FuturesDeals,OptionsDeals,EqOtcOptDeals,<br />

SecurLoansDeals<br />

1.6.4. Persistence Mode<br />

Before starting first time upload, it should be verified that persistence mode parameter in the properties file is set to<br />

„All‟ which is the default value:<br />

persistence.mode=All<br />

1.7. FIRST TIME UPLOAD TUNING PARAMETERS<br />

� synchronize.request.batch.size: KBroker requests data from K+ during the first time upload in batches. This<br />

parameter denotes the batch size. The default value is 100. This parameter has been introduced to disallow<br />

potential hangs <strong>of</strong> Tradekast server, thus might be increased / decreased based on K+ Tradekast<br />

performance and stability.<br />

� synchronize.request.batch.wait: Waiting time (milliseconds) between 2 batches as mentioned above. The<br />

default value is 5000 (5 seconds).<br />

� synchronize.refresh.wait: Time (milliseconds) between each refresh <strong>of</strong> the statistics displayed on the<br />

Synchronization page. The default value is 3000.<br />

� synchronize.retry.wait: During the synchronization process KBroker requests and waits data from K+<br />

Tradekast server. This parameter is the maximum allowed duration (in milliseconds) between 2 responses<br />

from TradeKast. If KBroker does not receive any message within this duration, it assumes that Tradekast<br />

forgot the requests and resends request messages for non-answered requests. This process repeated 2<br />

times and if no change occurs in the situation, the synchronization status <strong>of</strong> the data type is set to “completed<br />

K+ TO integration<br />

Page10


with errors” and synchronization process is interrupted for user action. If mail appender settings are done<br />

properly, the administrator will receive a fatal error message via e-mail. The default value is 120000 (2<br />

minutes).<br />

� synchronize.nonstop.mode: If set true, KBroker starts synchronization and ignores a data type if it is<br />

completed with errors and passes to the next datatype automatically. Default is False for this parameter,<br />

which means manual operation is required for both starting synchronization and taking action upon a datatype<br />

which has completed with errors status.<br />

� adaptor.2.synchronize.cut<strong>of</strong>f.date: Used to filter out all data which have maturity date earlier than cut<strong>of</strong>f date<br />

specified. Default is current date. Especially working with dump data in test environment it is advised to set<br />

this parameter to the date where the dump has been taken.<br />

� polling.count: Maximum number <strong>of</strong> messages in processing status at a time during export process. If for<br />

example it is set to 100 and there are already 20 messages in process, KBroker sends up to 80 messages to<br />

TopOffice no matter how many messages are in pending status. The default value is 100.<br />

1.8. KIRL BANKING BOOK DEALS<br />

1.8.1. Overview<br />

Banking book deals which are mapped by CDM into ALM database are also transferred to TopOffice.<br />

The transfer process is in “snapshot” methodology meaning the whole data has to be transferred each day. Specific<br />

scheduler is available for this need.<br />

1.8.2. Views<br />

ALM Bank deals are mapped using database views created on ALM database.<br />

The views are designed in such a way that they return the data in a format which is %100 matching the TopOffice<br />

needs. In other words views contain the mapping logic itself.<br />

There are 7 views each mapping to a different TopOffice trade type.<br />

1.8.3. Remote Shell and Folders<br />

As the amount <strong>of</strong> data to be transferred from ALM database is huge, a different approach has been implemented.<br />

KBroker executes the views using Sybase BCP tool. KBroker makes a remote shell connection to Sybase server and<br />

executes the BCP command for each view. The result is stored in CSV format on the server side which than copied to<br />

the KBroker server. KBroker than cuts those files in to pieces to optimize the best performance on TopOffice side and<br />

send them to TopOffice.<br />

1.9. KIRL BENCHMARK SCENARIOS<br />

An adapter has been developed to map KIRL scenario data to TOP Office. This scenario adaptor is used to retrieve<br />

the necessary data from “ALMBenchmarks”, “ALMScenarioBenchmark”, “ALMScenarioProduct” and “ALMProduct”<br />

tables. All the products are grouped in events and are imported to Top Office.<br />

K+ TO integration<br />

Scenario Adapter Views:<br />

1.ALMScenario_V<br />

2.ALMScenarioBenchMark_V (Benchmarks is ordered by combining Bench and BenchConv.)<br />

3.ALMScenarioProducts_V<br />

Page11


1.10. KIRL FTP CURVES<br />

Using 2 new scheduled adaptors (Real time and historical), Ftp curves are mapped to Top Office FTP liquidity and<br />

FTP market curves based on their Book Type in ALMCurveAssoc table.<br />

1.11. MAPPING<br />

1.11.1. General Rules<br />

� Reference Data Mapping<br />

1) The phone, fax and address details <strong>of</strong> the Counterparties are not mapped.<br />

2) In Basket <strong>Index</strong>es, the markets id is mandatory, for basket indexes where Markets Id were 0, the Market<br />

“VIENNA STOCK EXCHANGE” is assigned.(Market id =4090).<br />

� Static Data Mapping<br />

� In Bonds Static Data mapping, only the bonds without the feature <strong>of</strong> Cap-Floor, Callable-Putable and Reset<br />

in Arrears are mapped ( IsCapFloor=N , IsCallablePutable=N and ResetinArrears=N ).<br />

� In Options Static Data mapping, only the European options with underlying different than Currency are<br />

mapped (ExerciseType=E and Underlying!=C).<br />

� In Options Static Data mapping, the Market id is mandatory. The market “VIENNA STOCK EXCHANGE” is<br />

assigned where the option static data is missing this information.<br />

� In Bond Futures and Bond Future Maturities Static Data mapping, cf-calculator field in Top Office is<br />

mapped as follows:<br />

The market to which the future belongs is checked;<br />

i. If it is „EUREX_F‟, cf-calculator value is „Eurex‟<br />

ii. If it is „LIFFE_F‟, cf-calculator value is „LIFFE‟<br />

iii. If it is „CBT_F‟, first the underlying bond maturity is checked,<br />

If the maturity is less than 1 year, cf-calculator value is „CBOT T-Bond‟<br />

If the maturity is between 1 year and 2 years, cf-calculator value is „CBOT 2 yr T-Note‟<br />

If the maturity is between 2 years and 5 years, cf-calculator value is „CBOT 5 yr T-Note‟<br />

If the maturity is more than 5 years, cf-calculator value is „CBOT 10 yr T-Note‟<br />

� In Equity and <strong>Index</strong> Future contracts as it is not possible to define tick size in Kondor, the tick size is set to<br />

0.01 although this value changes from market to market.<br />

� In the Equities Static Data mapping, the Counterparty “DEFAULT” is assigned to equities where issuer was<br />

not defined, as issuer cpty. ( Cpty_id = 2875)<br />

� In the Equities Static Data mapping, the market “VIENNA STOCK EXCHANGE” is assigned for the equities<br />

where the market id was not defined.<br />

� Coupon payments in Bonds Static Data mapping are based on a constant principal which is the principal <strong>of</strong><br />

the bond itself as TopOffice does not handle coupon payments having different principals.<br />

� Deal/Position Data Mapping<br />

1) Deleted or terminated deals (received after first time upload) are mapped to TopOffice with status “Deleted”<br />

and “Terminated”. In other words no trade data will be deleted from TopOffice, they will be only marked as<br />

“Deleted” or “Terminated”.<br />

2) The complete cash flow schedules <strong>of</strong> below deals are mapped if at least one cash flow is modified by the<br />

user(UserModified=Y)<br />

� Repo Deals<br />

K+ TO integration<br />

Page12


K+ TO integration<br />

� Cap Floor Deals<br />

� Swaption Deals<br />

� Credit Swap Deals<br />

� Swap Deals<br />

� Loans Deposit Deals<br />

3) Call Accounts DealsIn all deals mappings, the fields related to Termination are mapped only all <strong>of</strong> the<br />

mandatory ones are filled. In case one <strong>of</strong> these mandatory fields is empty, none <strong>of</strong> them are mapped.<br />

4) In deal types where business day convention information does not exist on the deal capture screen, the deal<br />

currency business day convention is used.<br />

5) In deal types where stubs information does not exist on the deal capture screen, „Short First Short Last‟ stub<br />

type is used.<br />

6) In Spot and Forward Deals, the fields related to Brokerage are mapped only all <strong>of</strong> the mandatory ones are<br />

filled. In case one <strong>of</strong> these mandatory fields is empty, none <strong>of</strong> them are mapped.<br />

7) In Forward Deals mapping, only deliverable forward deals are mapped (Forward Type!=N ).<br />

8) In Fx Options Deals mapping , only the European Fx Option deals where the pricing type is either Plain ,<br />

Down&In , Down&Out and Up&In are mapped (PricingType=P,O,U,I and ExerciseType=E).<br />

9) In Repo Deals mapping , only single repo deals are mapped(Deal Type!=M)<br />

10) In Cap Floor Deals and Loans&Deposit Deals mapping , only the deals where Reset in Arrears= No , are<br />

mapped<br />

11) In Swaption Deals mapping , the Fixed-Fixed Swaption Deals are not mapped<br />

12) In Swap Deals mapping, the Asset swaps and the swap deals with Reset in Arrears = Yes are not mapped.<br />

� Market Data Mapping<br />

1) In Equity and <strong>Index</strong> Dividend yield mappings;<br />

i. as Equity yields are not available from Kondor, they are not mapped<br />

ii. Equity <strong>Index</strong> Yields are not maintained in Kondor as rates (revaluation or real-time), but are an<br />

attribute <strong>of</strong> the index which is defined as a Financial Instrument in the Datamanager. The price is<br />

given as Basket<strong>Index</strong>es.DividendYield<br />

2) As Top Office requests an index name in Curves definition mapping and as in K+, one Curve has several<br />

indexes attached to it, Curves‟ definitions are mapped as they are index names using DiscreteMM<strong>Index</strong>Type<br />

format <strong>of</strong> Top Office.<br />

3) There are 4 types <strong>of</strong> interpolation methods in Top Office: Step, Linear, Linear Exponential and LogLinear.<br />

The Curve interpolation methodology is as follows:<br />

i. “Flat” interpolation is mapped to “Step”<br />

ii. “Cubic” , “Cubic Spline ” , “Quadratic” and “Geometric” interpolation methods are mapped to “Linear”<br />

iii. “Logarithmic” and “Exponential” interpolation methods are mapped to “Linear Exponential”<br />

iv. “Linear Log Discount Factor” and “Linear Discount Factor” interpolation methods are mapped to “Log<br />

Linear”<br />

The “Linear Total Variance” is not mapped for zero curves as it is mainly used in volatilities.<br />

1.11.2. Special Conditions<br />

Below conversions from German characters to English characters are implemented:<br />

ä = ae<br />

ö = oe<br />

ü = ue<br />

ß = ss<br />

Other conversions implemented are:<br />

Page13


è = e<br />

é = e<br />

ê = e<br />

ë = e<br />

1.11.3. Constants<br />

The constants used during mapping are as follows:<br />

Common Constants:<br />

Top Office Field Constant Value<br />

Reset Vendor Kondor In all deals using floating rates<br />

Product Group Trade In all deals except the ones sent<br />

as positions<br />

Product Group Position In all deals sent as positions<br />

Product Group Banking Book In all KIRL deals<br />

Status Valid In all deals sent as positions<br />

Compounding Straight* If there is interest compounding<br />

*Straight: The interest for a compounding period is calculated based on the rate plus the spread, and added to the<br />

notional for the next period.<br />

Specific Constants:<br />

Kondor<br />

Reference<br />

Top Office Field Constant Value<br />

Cpty COUNTERPARTY Type Issuer<br />

Basket<strong>Index</strong>es EQUITYINDEX Divisor 1<br />

Markets EXCHANGE Roll MF<br />

FloatingRates MKT_INDEX Roll MF<br />

FloatingRates MKT_INDEX End <strong>of</strong> Month Flag False<br />

FloatingRates MKT_INDEX Date Generator Default<br />

Ratings RATINGAGENCY Type Name Any Term<br />

Ratings RATINGTYPEVALUE Fsa 1<br />

Risk Sector Hierarcy id K+<br />

Risk Sector Hierarchy Schema id K+Sector<br />

Risk Sector Agency Kondor<br />

Risk Sector<br />

Static<br />

Node type K+Sector<br />

Equities EQUITYSECURITY Issue Date 01/01/1900<br />

Equities EQUITYSECURITY Payment Form Cash<br />

Equities EQUITYSECURITY Announcement Date 01/01/1900<br />

Equities EQUITYSECURITY Record date 01/01/1900<br />

Equities EQUITYSECURITY Type Cash Dividend<br />

Bonds SECURITY Status Issued<br />

Bonds SECURITY Even coupons False<br />

Bonds SECURITY End <strong>of</strong> Month False<br />

Futures ETPCONTRACTSPE<br />

C<br />

Date Generator Default<br />

Futures ETPCONTRACTSPE Strip Periodicity 3-month<br />

K+ TO integration<br />

Page14


Deal/Position<br />

K+ TO integration<br />

C<br />

Futures ETPCONTRACTSPE<br />

C<br />

Options ETPCONTRACTSPE<br />

C<br />

Tick Size 0.01<br />

Tick Size 0.01<br />

RepoDeals OPENREPO,TERMRE<br />

PO<br />

RoundingConvention Nearest_Down<br />

SwaptionDeals IRSWAPTION CashSettlementMeth<br />

od<br />

ParYieldCurve<br />

SwaptionDeals IRSWAPTION Bermudan Exercise Periodic<br />

LoansDepositDeals FIXED/FLOAT<br />

RETAILANNUITY<br />

FIXED/FLOAT<br />

RETAILREPMTLOAN<br />

Schedule Type<br />

Risk Type Merged<br />

LoansDepositDeals FIXED/FLOAT<br />

RETAILANNUITY<br />

FIXED/FLOAT<br />

RETAILREPMTLOAN<br />

CMS False<br />

LoansDepositDeals FIXED/FLOAT<br />

RETAILANNUITY<br />

FIXED/FLOAT<br />

RETAILREPMTLOAN<br />

Pct to Secure 0<br />

LoansDepositDeals FIXED/FLOAT<br />

RETAILREPMTLOAN<br />

Amortization Amount 0<br />

LoansDepositDeals FIXED/FLOAT<br />

RETAILREPMTLOAN<br />

Amortization Type None<br />

FxSwapDeals FXSWAP Settlement Type Cash<br />

SwapDeals FIXEDFIXEDIRSWAP<br />

FLOATFLOATIRSWA<br />

P<br />

FIXEDFLOATIRSWAP<br />

First Leg Payer False<br />

SwapDeals FIXEDFIXEDIRSWAP<br />

FLOATFLOATIRSWA<br />

P<br />

FIXEDFLOATIRSWAP<br />

Principal Exchange None<br />

SwapDeals FLOATFLOATIRSWA<br />

P<br />

Basis Swap False<br />

CreditSwapDeals SINGLENAMECDS TPlusOne False<br />

IamDeals IAMDEAL Payment Lag 0<br />

CallAccountsDeals FIXED/FLOAT<br />

RETAILBULLETLOAN<br />

Risk Type Merged<br />

CallAccountsDeals FIXED/FLOAT<br />

RETAILBULLETLOAN<br />

CMS False<br />

CallAccountsDeals FIXED/FLOAT<br />

RETAILBULLETLOAN<br />

Pct to Secure 0<br />

CallAccountsDeals FIXED/FLOAT<br />

RETAILBULLETLOAN<br />

Payment Anchor End <strong>of</strong> Period<br />

Page15


Market<br />

KIRL<br />

K+ TO integration<br />

BondsOtcOptDeals OTCBONDOPTION Notice Period 0<br />

CurvesRates ZERO CURVE Unit Day<br />

CurvesRatesHist ZERO CURVE Unit Day<br />

ALMBankDeals FIXED/FLOAT<br />

RETAILBULLETLOAN<br />

FIXED/FLOAT<br />

RETAILANNUITY<br />

FIXED/FLOAT<br />

RETAILREPMTLOAN<br />

ALMBankDeals FIXED/FLOAT<br />

RETAILBULLETLOAN<br />

FIXED/FLOAT<br />

RETAILANNUITY<br />

FIXED/FLOAT<br />

RETAILREPMTLOAN<br />

ALMBankDeals FIXED/FLOAT<br />

RETAILBULLETLOAN<br />

FIXED/FLOAT<br />

RETAILANNUITY<br />

FIXED/FLOAT<br />

RETAILREPMTLOAN<br />

ALMBankDeals FIXED<br />

RETAILBULLETLOAN<br />

FIXED<br />

RETAILANNUITY<br />

FIXED<br />

RETAILREPMTLOAN<br />

ALMCurvesRatesHi<br />

st<br />

The user can change the constants (see 4.5.4 Constants)<br />

1.11.4. Rate Mapping<br />

Compound Type None<br />

Payment Lag 0<br />

Prepayment Lag<br />

Bank<br />

Prepayment Lag<br />

Customer<br />

FTP CURVE Unit Day<br />

Exchange Traded contract prices, floating rates, fx quotations and curves rates are exported from Kondor using<br />

views. There are 2 types <strong>of</strong> rates; RT (real time) and RV (revaluation rates). The tables in Kondor used in mapping are<br />

as follows:<br />

Rate Type Kondor Table<br />

Real time Revaluation<br />

Future Prices FuturesMaturities FuturesQuotes<br />

Option Prices OptionValues OptionQuotes<br />

Bond Prices BondsRT BondsQuotes<br />

Equity Prices Equities Equities Quotes<br />

0<br />

Page16


Fx Quotations Pairs Spot Quotes<br />

Basket <strong>Index</strong>es Prices Basket<strong>Index</strong>es Basket<strong>Index</strong>esQuotes<br />

Floating Rates FloatingRatesValues FloatingRatesValues<br />

Curves Rates CurvesRates CurvesRatesHist<br />

FTP Curves CurvesRates ALMCurvesRatesHist<br />

Views are used to export these prices. Each type has RT prices (real time prices) and almost each type has RV prices<br />

(historical prices). List <strong>of</strong> prices according to its type is given below.<br />

There are 4 types <strong>of</strong> adapter in KBroker for rate mapping:<br />

• Kplus Revaluation Rate Load Adaptor (will be called as “RV Adapter” in this section)<br />

• Kplus Real Time Rate Load Adaptor (will be called as “RT Adapter” in this section)<br />

• Ftp Curves Revaluation Rate Load Adaptor (will be called as “ Ftp RV Adapter” in this section)<br />

• Ftp Curves Real Time Rate Load Adaptor (will be called as “Ftp RT Adapter” in this section)<br />

Kplus Revaluation Rate Load Adaptor (RV Adapter)<br />

This adapter fetches the historical rates for a given type <strong>of</strong> static data from K+ database and can be executed<br />

immediately from Batch Scheduling screen from web site.<br />

Kplus Real Time Rate Load Adaptor (RT Adapter)<br />

This adapter fetches the real time rates for a given type <strong>of</strong> static data and can scheduled to run in specified time in<br />

future.<br />

Ftp Curves Revaluation Rate Load Adaptor (Ftp RV Adapter)<br />

This adapter fetches the historical rates for Ftp curves and can be executed immediately from Batch Scheduling<br />

screen from web site.<br />

Ftp Curves Real Time Rate Load Adaptor (Ftp RT Adapter)<br />

This adapter fetches the real time rates for Ftp curves and can scheduled to run in specified time in future.<br />

K+ TO integration<br />

Price Name View RV Adapter RT adapter<br />

Bond Future Contract Prices TO_BondFutureContractPrice.sql<br />

Bond Future Option Prices TO_BondFutureOptionPrice.sql<br />

Bond Prices TO_BondPrice.sql<br />

Dividend Yield Prices TO_DividendYield.sql<br />

Equity Future Contract Prices TO_EquityFutureContractPrice.sql<br />

Equity Future Option Prices TO_EquityFutureOptionPrice.sql<br />

Page17


Equity <strong>Index</strong> Future Contract TO_Equity<strong>Index</strong>FutureContractPrice.sql<br />

Prices<br />

Equity <strong>Index</strong> Future Option TO_Equity<strong>Index</strong>FutureOptionPrice.sql<br />

Prices<br />

Equity <strong>Index</strong> Option Prices TO_Equity<strong>Index</strong>OptionPrice.sql<br />

Equity <strong>Index</strong> Prices TO_Equity<strong>Index</strong>Price.sql<br />

Equity Option Prices TO_EquityOptionPrice.sql<br />

Equity Stock Prices TO_EquityStockPrice.sql<br />

FX Future Contract Prices TO_FXFutureContractPrice.sql<br />

Fx Pair Prices TO_FxPairPrice.sql<br />

Interest Future Contract Prices TO_InterestFutureContractPrice.sql<br />

IR Future Option Prices TO_IRFutureOptionPrice.sql<br />

IR Reset Quotes Prices TO_IRResetQuotes.sql<br />

Zero Curves TO_ZeroCurves.sql<br />

Ftp Curves TO_FtpCurvesRate.sql<br />

Naming views:<br />

RV and RT prices uses views and these views named as its type like TO_BondPrice_rt ot TO_BondPrice_rv. RV<br />

adapter needs to know the static data short names. That's why, for each RV adapter's views have one more view<br />

named like TO_BondShortNames. These all views DMLs exist in one file which is TO_BondPrice.sql .<br />

In some <strong>of</strong> views, abbreviation is used because longer name is not accepted by sybase server. For example;<br />

When Equity Future Contract Price's views will be created, the name <strong>of</strong> the views will be<br />

K+ TO integration<br />

TO_EquityFutContPrice_rv<br />

TO_EquityFutContPrice_rt<br />

TO_EquityFutContShortNames<br />

and these view are in the TO_EquityFutureContractPrice.sql<br />

Exporting the prices can be performed from Batch Scheduling page from website and you can find the detail<br />

information about how to schedule batches in http://infocenter.32bit.com.tr<br />

Page18


CHAPTER 2 PRE-INSTALLATION<br />

2.1. PREPARATION OF <strong>TOPOFFICE</strong><br />

There are two things that must be done before KBroker can be used with TopOffice to synchronize data from Kondor.<br />

2.1.1. Enable the TopOffice Integration Listener<br />

Please refer to relevant section in the TopOffice System Guide for guidance on how to enable this.<br />

2.1.2. Run PopulateDB to insert prerequisite TopOffice Data<br />

KBroker requires certain TopOffice centric data (users, partitions, market data owners) to be present before the<br />

application can synchronize data from Kondor to Top<strong>of</strong>fice. PopulateDB is an internal data import tool used to<br />

populate TopOffice with data and can be used to conduct this task. Please refer to the PopulateDB User Guide for full<br />

details on this tool.<br />

To import the TopOffice data necessary for KBroker to run successfully please complete the following steps after<br />

TopOffice has been installed and configured (including the creation <strong>of</strong> the database schema):<br />

1. Open a command prompt and browse to: /binxx/<br />

2. Enter the following command: perl runPopulateDb.pl -p administrator -file "data\kbroker.xml"<br />

3. Monitor the process (which should no longer than 5 minutes) and ensure it completes successfully.<br />

2.2. COMPATIBILITY OF APPLICATIONS<br />

Compatible versions can be found in table below:<br />

KBroker Version TopOffice Version<br />

2.1.0006 3.1 SP2<br />

2.3. KBROKER SCHEMA CREATION<br />

After starting the database server (Oracle), you can use the below scripts to create user for KBroker. It is very<br />

important to create a user for KBroker schema different than user for TopOffice schema. Two points to emphasize<br />

are:<br />

� If there is no tablespace defined other than SYSTEM tablespace and if you don't want to use SYSTEM<br />

tablespace, use CREATE TABLESPACE script.<br />

� If you already have a tablespace and want to use it, replace TABLESPACE_NAME with the name <strong>of</strong> existing<br />

tablespace and don't execute the CREATE TABLESPACE script.<br />

Bold areas can be replaced with user's choice:<br />

K+ TO integration<br />

Page19


CREATE TABLESPACE TABLESPACE_NAME<br />

LOGGING<br />

DATAFILE 'TABLESPACE_NAME_01.DBF' SIZE 2 G REUSE<br />

EXTENT MANAGEMENT LOCAL<br />

SEGMENT SPACE MANAGEMENT AUTO;<br />

CREATE USER USER_NAME PROFILE DEFAULT<br />

IDENTIFIED BY USER_PASSWORD DEFAULT TABLESPACE TABLESPACE_NAME<br />

TEMPORARY TABLESPACE TEMP<br />

QUOTA UNLIMITED<br />

ON TABLESPACE_NAME<br />

ACCOUNT UNLOCK;<br />

GRANT CREATE SESSION TO USER_NAME;<br />

GRANT CREATE TABLE TO USER_NAME;<br />

GRANT CREATE VIEW TO USER_NAME;<br />

GRANT CREATE TRIGGER TO USER_NAME;<br />

GRANT CREATE PROCEDURE TO USER_NAME;<br />

GRANT CREATE SEQUENCE TO USER_NAME;<br />

GRANT CREATE SYNONYM TO USER_NAME;<br />

GRANT CREATE TYPE TO USER_NAME;<br />

GRANT UNLIMITED TABLESPACE TO USER_NAME;<br />

USER_NAME is being used as schema name too. When you will install the KBroker, please enter this user name for<br />

both schema name and user name.<br />

2.4. <strong>KONDOR</strong> SETTINGS<br />

2.4.1. Tradekast Server Installation and Settings<br />

The solution needs a Tradekast server instance to be up and running on K+ server.<br />

Therefore Tradekast must be configured and launched before starting the implementation.<br />

KBroker connects to Tradekast using Tibco Rendezvous layer and native OKAPI library. These two technique have<br />

their communication mode separately and this mode can be selected from tradekast.params file with COMM_MODE<br />

parameter. COMM_MODE can take two value.<br />

RENDEZVOUS_MODE : This mode is used when client will use the Tibco Rendezvous to connect Tradekast<br />

TCP_IP_MODE: When the client will use the native OKAPI library (OKAPI32bit.dll), this mode must be selected.<br />

K+ TO integration<br />

Page20


Native OKAPI has 3 library (dll) dependencies. These libraries for K+ 3.0 L5 are given in [installation_path]\lib<br />

directory and these libraries are being loaded when KBroker TopOffice is launched.<br />

Therefore if there is no Tradekast server enabled with RENDEZVOUS_MODE or TCP_IP_MODE available, a new<br />

one has to be configured.See K+ Import & Export guide for more details<br />

Below parameters <strong>of</strong> the Tradekast server will be needed for KBroker installation:<br />

Parameter Name Default Value Description<br />

TRADEKAST_PORT Tradekast The Tradekast port is the name <strong>of</strong> the service (declared in the<br />

services list). Tradekast is using to watch for connections.<br />

Example: Tradekast 8117/tcp<br />

COMM_MODE RENDEZVOUS_MODE<br />

K+ TO integration<br />

TCP_IP_MODE<br />

Allows TradeKast to communicate with clients either by means <strong>of</strong> TCP/IP or<br />

by means <strong>of</strong> Tib/Rendezvous<br />

default: COMM_MODE TCP_IP_MODE<br />

RV_PORT 8888 Port number used for inter-daemon communication<br />

RV_NETWORK - TIB/Rendezvous Network: Specifies the network interface and the<br />

multicast groups used to send and receive messages.<br />

Important : Not required<br />

Examples: lan0;224.1.1.1,224.1.1.2;224.1.1.1<br />

RV_DAEMON tcp:7500 Service, host name, and port number used to connect to the daemon.<br />

Examples: tcp:1234 or tcp:hostname:1234<br />

While KBroker installation, these parameters will be asked by the installer and set in to KBroker configuration.<br />

Parameter mapping between K+ naming and KBroker naming is given below :<br />

2.4.2. Codifiers<br />

KBroker Tradekast Adapter Properties Tradekast Parameters<br />

adaptor.[adapter_number].server.port TRADEKAST_PORT<br />

# rendezvous or okapi<br />

adaptor.[adapter_number].connection.mode=rendezvous<br />

COMM_MODE<br />

adaptor.[adapter_number].trv.service RV_PORT<br />

adaptor.[adapter_number].trv.network RV_NETWORK<br />

adaptor.[adapter_number].trv.daemon RV_DAEMON<br />

2 Codifiers should be available in K+, one for the Tradekast Client Setup and second for excluding static data<br />

Page21


(KB_EXCLUDE). During the installation KBroker will ask for the codifier short name used for Tradekast Client Setup.<br />

2.4.3. TradeKast Client Settings<br />

Created codifier must be defined as Tradekast Client. This can be done from Kondor+ Communications ➤<br />

Configuration ➤ Tradekast Client Setup ➤ Tradekast Clients<br />

2.5. KBROKER SERVER REQUIREMENTS<br />

2.5.1. Hardware Requirements<br />

K+ TO integration<br />

Operating System Windows 2000/XP/Vista/7<br />

Memory Minimum 1GB<br />

Page22


2.5.2. S<strong>of</strong>tware Requirements<br />

K+ TO integration<br />

Product Version<br />

JAVA 6<br />

TIBCO 7.2<br />

2.5.2.1. Configure Java on Windows<br />

If Java is not installed, you must first install Java. You can get help from “Java Help Center” for installation <strong>of</strong> Java.<br />

http://www.java.com/en/download/help/index.xml<br />

After you have installed the Java in Windows, you must set the JAVA_HOME environment variable to the Java<br />

installation directory (e.g., C:\Program Files\Java\jre6)<br />

1. Right-click the My Computer icon on your desktop and select 'Properties'.<br />

2. Click the 'Advanced' tab.<br />

3. Click the 'Environment Variables' button.<br />

4. Under 'System Variables', click 'New'.<br />

5. Enter the variable name as JAVA_HOME.<br />

6. Enter the variable value as the installation path for the Java.<br />

7. Click 'OK'.<br />

8. Click 'Apply Changes'.<br />

9. Restart Windows. (This is not always necessary, but it <strong>of</strong>ten prevents problems.)<br />

2.5.2.2. Configure Tibco on Windows<br />

You must install Tibco. After you have installed the Tibco in Windows, you must set the CLASSPATH environment<br />

variable to the “tibrvj.jar” path. (e.g., C:\TIBCO\TIBRV\lib\tibrvj.jar)<br />

1. Right-click the My Computer icon on your desktop and select 'Properties'.<br />

2. Click the 'Advanced' tab.<br />

3. Click the 'Environment Variables' button.<br />

4. Under 'System Variables', click 'New'.<br />

5. Enter the variable name as CLASSPATH.<br />

6. Enter the variable value as the path for the “tibrvj.jar”.<br />

7. Click 'OK'.<br />

8. Click 'Apply Changes'.<br />

Page23


9. Restart Windows. (This is not always necessary, but it <strong>of</strong>ten prevents problems.)<br />

K+ TO integration<br />

Page24


CHAPTER 3 INSTALLATION<br />

KBroker for TopOffice has a special installer application.<br />

Some <strong>of</strong> the steps <strong>of</strong> the installer are generic and explanation about those steps can be found in standard KBroker<br />

infocenter.<br />

If the user wants to use one <strong>of</strong> the older versions, s/he needs to install it over the new one; however the XSL files will<br />

not be changed. To use the older xsl files, the user chooses a date and the versions <strong>of</strong> xsl files loaded prior to this<br />

date will be uploaded. (The xsl upload process is in development)<br />

In this chapter we will be focusing to the TopOffice specific steps <strong>of</strong> the installer.<br />

3.1. INTERNAL WEB SERVICE SETTINGS<br />

Standard KBroker comes with 2 authentication options, LDAP or file based.<br />

For TopOffice there is a 3 rd alternative which is JMS.<br />

This options enables authenticating users from TopOffice user base.<br />

K+ TO integration<br />

Page25


3.2. <strong>KONDOR</strong>+ DATABASE SETTINGS<br />

Solution needs a connection to the Kondor+ database.<br />

Related parameters should be provided.<br />

3.3. <strong>TOPOFFICE</strong> JMS SETTINGS<br />

KBroker communicates with TopOffice using TopOffice JMS server (Tibco EMS). Apart from host and port other<br />

parameters can be left as default, unless TopOffice has been configured in a non standard way.<br />

K+ TO integration<br />

Page26


3.4. TRADEKAST ADAPTOR SETTINGS<br />

As mentioned in Section 2, TradeKast server parameters have to be provided.<br />

3.5. BANKING BOOK ADAPTOR SETTINGS<br />

K+ TO integration<br />

Page27


Server host name is the host name <strong>of</strong> the Sybase server where BCP command will be executed.<br />

Server user name and password should be valid operating system users on that server to execute BCP command.<br />

DS Query is the database server name as recorded in Sybase interfaces file.<br />

The path for BCP script should be edited and shell script which comes with the installation should be copied there as<br />

explained on the following section.<br />

Sybase path is the path <strong>of</strong> Sybase home on that server.<br />

Sybase Bin Path is the path for Sybase client libraries (OCS)<br />

Local path should be a valid path on KBroker server where the BCP results will be copied into.<br />

3.6. PROCESSING<br />

On the processing page, installer creates views and procedures on Kondor+ and ALM databases.<br />

K+ TO integration<br />

Page28


CHAPTER 4 POST-INSTALLATION<br />

4.1. INSTALLATION CONTROLS<br />

4.1.1. Procedures<br />

During the installation, KBroker Top Office stored procedures are created under K+ Kustom database by the installer.<br />

Naming procedures:<br />

All stored procedures have a prefix 'TO_' and suffix “More” and K+ data type in between.<br />

List <strong>of</strong> procedures:<br />

K+ TO integration<br />

Procedure Default Database<br />

TO_Basket<strong>Index</strong>esMore Kustom<br />

TO_BondsDealsMore Kustom<br />

TO_BondsMore Kustom<br />

TO_BondsOtcOptDealsMore Kustom<br />

TO_CallAccountsDealsMorel Kustom<br />

TO_CapFloorDealsMore Kustom<br />

TO_CountriesMore Kustom<br />

TO_CptyMore Kustom<br />

TO_CptyRatingsMore Kustom<br />

TO_CreditSwapDealsMore Kustom<br />

TO_CurrenciesMore Kustom<br />

TO_CurvesMore Kustom<br />

TO_EqOtcOptDealsMore Kustom<br />

TO_EquitiesDealsMore Kustom<br />

TO_EquitiesMore Kustom<br />

TO_FloatingRatesMore Kustom<br />

TO_ForwardDealsMore Kustom<br />

TO_FraDealsMore Kustom<br />

TO_FuturesDealsMore Kustom<br />

TO_FuturesMaturitiesMore Kustom<br />

Page29


K+ TO integration<br />

TO_FuturesMore Kustom<br />

TO_FxOptionsDealsMore Kustom<br />

TO_FxSwapDealsMore. Kustom<br />

TO_HolidaysMore Kustom<br />

TO_IamDealsMore Kustom<br />

TO_LoansDepositDealsMore Kustom<br />

TO_MarketsMore Kustom<br />

TO_OptionsDealsMore Kustom<br />

TO_OptionsMaturitiesMore Kustom<br />

TO_OptionsMore Kustom<br />

TO_PairsMore Kustom<br />

TO_RatingAgenciesMore Kustom<br />

TO_RepoDealsMore Kustom<br />

TO_RiskSectorMore Kustom<br />

TO_SecurLoansDealsMore Kustom<br />

TO_SpotDealsMore Kustom<br />

TO_SwapDealsMore Kustom<br />

TO_SwaptionDealsMore Kustom<br />

If case <strong>of</strong> a failure, procedure scripts can be found under [KBroker Install Path]/sql folder.<br />

4.1.2. Views<br />

Views are being created like procedures during installation.<br />

There are 3 kinds <strong>of</strong> views:<br />

a. A view per K+ deal and static data<br />

b. 2 views for each rate class<br />

c. 10 views for ALM mappings<br />

Naming views:<br />

All views have “TO_” prefix (except the ALM mapping views) followed by the K+ data type / rate class name.<br />

List <strong>of</strong> views:<br />

Page30


K+ TO integration<br />

View Default Database<br />

ALMMAProduct_V ALM<br />

FixedAnnuity ALM<br />

FixedBullet ALM<br />

FixedBulletMA ALM<br />

FixedRepayment ALM<br />

FloatAnnuity ALM<br />

FloatBullet ALM<br />

FloatRepayment ALM<br />

ALMScenario_V ALM<br />

ALMScenarioProducts_V<br />

ALMScenarioBenchMark_V<br />

ALM<br />

ALM<br />

TO_Basket<strong>Index</strong>es Kustom<br />

TO_BondFutureContractPrice Kustom<br />

TO_BondFutureOptionPrice Kustom<br />

TO_BondPrice Kustom<br />

TO_Bonds Kustom<br />

TO_BondsDeals Kustom<br />

TO_BondsOtcOptDeals Kustom<br />

TO_CallAccountsDeals Kustom<br />

TO_CapFloorDeals Kustom<br />

TO_Countries Kustom<br />

TO_Cpty Kustom<br />

TO_CptyRatings Kustom<br />

TO_Currencies Kustom<br />

TO_CurrencyShortNames Kustom<br />

TO_Curves Kustom<br />

Page31


K+ TO integration<br />

TO_DividendYield Kustom<br />

TO_Equities Kustom<br />

TO_EquitiesDeals Kustom<br />

TO_EquityFutureContractPrice Kustom<br />

TO_EquityFutureOptionPrice Kustom<br />

TO_Equity<strong>Index</strong>FutureContractPrice Kustom<br />

TO_Equity<strong>Index</strong>FutureOptionPrice Kustom<br />

TO_Equity<strong>Index</strong>OptionPrice Kustom<br />

TO_Equity<strong>Index</strong>Price Kustom<br />

TO_EquityOptionPrice Kustom<br />

TO_EquityStockPrice Kustom<br />

TO_ExcludeFolders Kustom<br />

TO_FloatingRates Kustom<br />

TO_ForwardDeals Kustom<br />

TO_FraDeals Kustom<br />

TO_Futures Kustom<br />

TO_FuturesDeals Kustom<br />

TO_FuturesMaturities Kustom<br />

TO_FXFutureContractPrice Kustom<br />

TO_FxOptionsDeals Kustom<br />

TO_FxPairPrice Kustom<br />

TO_FxSwapDeals Kustom<br />

TO_Holidays Kustom<br />

TO_IamDealsMore Kustom<br />

TO_InterestFutureContractPrice Kustom<br />

TO_IRFutureOptionPrice Kustom<br />

TO_IRResetQuotes Kustom<br />

Page32


K+ TO integration<br />

TO_LoansDepositDeals Kustom<br />

TO_Markets Kustom<br />

TO_Options Kustom<br />

TO_OptionsDeals Kustom<br />

TO_OptionsMaturities Kustom<br />

TO_Pairs Kustom<br />

TO_RepoDeals Kustom<br />

TO_SpotDeals Kustom<br />

TO_SwapDeals Kustom<br />

TO_SwaptionDeals Kustom<br />

TO_ZeroCurves Kustom<br />

TO_SecurLoansDeals Kustom<br />

TO_EqOtcOptDeals Kustom<br />

TO_RatingAgencies Kustom<br />

TO_RiskSector Kustom<br />

4.2. TRADEKAST CLIENT CRITERIA AND PROCEDURES SETTINGS<br />

Tradekast Client Criteria setup (see K+ kplus_import_export.pdf- page 179) has to be done for each data type<br />

mapped to TopOffice.<br />

“Execute SQL procedure” option has to be selected and associated stored procedure name has to be given<br />

(TO_[DataType]More)<br />

IMPORTANT: “Delete due to Update” should be unchecked for all deal types. “Insert”, “Update” (for static data),<br />

“Delete”, “Insert due to Update” and “Schedule Mvt” are mandatory.<br />

IMPORTANT: “Check for Counterparty Code” and “Check for folder code” must be unchecked for all deal types.<br />

Page33


Tradekast Client Criteria settings for each type are given in KBrokerTopOffice_TK_Client_Criteria.pdf<br />

4.3. KNOWN ISSUES IN <strong>KONDOR</strong><br />

� When defining ratings, user needs to give a unique number (NumOrder) for each rating <strong>of</strong> a rating agency in<br />

increasing order starting from 1. Otherwise TO will not accept counterparties.<br />

� In Options and Futures Maturities, for each maturity its RIC needs to be defined in real time setup. Otherwise<br />

TO will not accept the future or the option without an assigned RIC to it.<br />

� In the Equities Static Data, RIC information should be provided.<br />

� In Bond Futures and Bond Future Maturities Static Data mapping, the user has to define the cheapest to<br />

deliver bond in Kondor, in cases the cheapest to deliver is not defined, the logic to find the underlying bond is<br />

as follows:<br />

i. All <strong>of</strong> the future maturities related to a future are checked, if all <strong>of</strong> them have the same cheapest to<br />

deliver bond, that bond is the underlying. If different maturities have different cheapest to deliver<br />

bond, the bond with maximum maturity date is the underlying<br />

ii. If any <strong>of</strong> the future maturities related to a future do not have a cheapest to deliver bond, the future<br />

deliverable bonds table is checked. If all <strong>of</strong> the maturities related to a future have the same<br />

deliverable bond, that bond is the underlying. If different maturities have different deliverable bonds,<br />

the one, the bond with maximum maturity date is the underlying<br />

iii. If any <strong>of</strong> the future maturities related to a future do not have neither a cheapest to deliver bond nor a<br />

deliverable bond, that future is not mapped.<br />

� In Interest Rate Futures Static Data mapping, the UnderlyingName should be defined exactly as the index<br />

name in CurRef<strong>Index</strong> table for importing data into TO. For example, to define a Liffe 3-month sterling contract,<br />

it is mandatory to set the UnderlyingName as GBP-LIBOR. The exact usage <strong>of</strong> the index name is required for<br />

TO risk calculations. The index name “MONEY” is assigned to the IR futures where index data is missing.<br />

K+ TO integration<br />

Page34


4.4. KNOWN MAPPING ISSUES ANDWAITING TASKS<br />

� Credit Spread curves are not mapped yet.<br />

� Volatility Curves and Volatility Surfaces are not mapped yet.<br />

� Options Maturities static data mappings are only mapping single strike per maturity. This causes rejection <strong>of</strong><br />

market data for several strikes. The mapping will be revised.<br />

� Equities and EquitiesDeals data cannot be gathered from K+ during synchronization due to the Tradekast bug<br />

which will be patched with an hot fix at September 2011.<br />

� Amortization Type for ALM Bank Deals are wrongly mapped for Repayment Loans. TopOffice accepts the<br />

trades but generates an error during valuation. The mapping will be revised.<br />

4.5. KIRL ENVIRONMENT<br />

KIRL Adaptor fetching data directly from ALM database with using BCP command. There are 8 view being created on<br />

ALM database which are listed in 4.1.2 View topic and BCP command uses these 7 views and ALMMAProduct_V<br />

view is required for run FixedRetailBulletMA view. You should check these views if they all created successfully or<br />

not.<br />

KIRL Adaptor reads adaptor.[adaptor_number].dbviews property from kbroker.properties file. This property should be<br />

set with the same names <strong>of</strong> views. For example:<br />

adaptor.3.dbviews=FixedRetailAnnuity,FixedRetailBullet,FixedRetailBulletMA,FixedRetailRepayment,FloatRetailBullet,<br />

FloatRetailAnnuity,FloatRetailRepayment<br />

KIRL runs bcp.sh script on remote host. That's why, before starting KBroker server, bcp.sh should be copied from<br />

[KBroker_install_path]/script/bcp.sh to location on remote host which location specified to “Server Host Name”<br />

property under Banking Book Adapter Settings section during KBroker installation. Also KIRL Adaptor needs server<br />

host's connection information to connect and run the script. For detailed information about Banking Book Adapter<br />

Setting in installation see the Installation topic.<br />

When KIRL adaptor start to run the bcp.sh, firstly it passes the parameters to this script like view name,ALM database<br />

name, Sybase server connection parameters to connect ALM database, remote folder path which BCP results will be<br />

saved in CSV format.<br />

CSV files are created with the same name <strong>of</strong> related view. For example, if view FixedRetailBullet called from BCP,<br />

the result will be saved with FixedRetailBullet.csv file under given remote file path. After creating the CSV files, these<br />

files copied from remote host to KBroker host file path which must be specified during installation too.<br />

The adaptor.[adapter_number].max.file.line.count property defines to maximum number <strong>of</strong> banking book trades which<br />

will be sent to TopOffice in a single message. Default value is 10000. According to this value CSV is being divided to<br />

files if line count bigger than property's value. After these operation files sending to Top Office in file message format.<br />

Creating <strong>Index</strong> on ALM Database:<br />

In order to increase performance <strong>of</strong> ftp curves mapping, indexes should be created on ALMCurvesRatesHist table in<br />

ALM database:<br />

USE alm<br />

GO<br />

K+ TO integration<br />

Page35


K+ TO integration<br />

CREATE INDEX HistDateALMCurvesRatesHistIndx1<br />

GO<br />

ON ALMCurvesRatesHist(Curves_Id,HistDate,NoDays)<br />

4.6. DATA EXCLUDING<br />

KBroker supports excluding deals and static data according to their folder groups and codifiers.<br />

If deals folder or portfolio or branch is defined under KB_EXCLUDE folder group, this deal will not be requested from<br />

Kondor+.<br />

Static data can be excluded with defining codifier. If a static data has “KB_EXCLUDE” codifier attached, this static data<br />

will not be requested from Kondor+ and its market data will not be requested from Kondor+ neither.<br />

4.7. MAPPING CURVES<br />

To define a curve into TopOffice, user has to add the curve‟s shortname to TO_CurvesInclude table in Kustom<br />

Database.<br />

4.8. CUSTOMIZATION<br />

4.8.1. Views<br />

KBroker installation creates views under Kustom and ALM databases. Those views are used for first time upload<br />

operation, market data and banking books exporting. User can customize these views for customer specific needs.<br />

See the 4.1.2 View section to get all view lists.<br />

4.8.2. TradeKast Procedures<br />

KBroker installation creates procedures under Kustom database. These procedures are used for enrichment <strong>of</strong> the<br />

Tradekast messages in first time upload process and real time processing. See the 4.1.1. Procedures section to get<br />

all procedures list.<br />

All procedures expect two parameters, Transaction_Id and deal or static data id. When first time upload process<br />

executes the procedures, Transaction_Id is always 0 and the second parameter is set as related data id. This id<br />

comes from related data type's view. For example, If Bonds will be requested from Kondor+ in first time upload,<br />

TO_BondsMore will be used for getting custom data from database and TO_Bonds view will be used to collect the list<br />

<strong>of</strong> ids in the system.<br />

But in real time exporting process, views are not used. The Transaction_Id passed to the procedure by Tradekast<br />

server. This transaction id is gathered from movement tables.<br />

4.8.3. XSL Updating<br />

KBroker XSL files located in [installation_path]/script/xsl. When KBroker server is initiated, XSL files are inserted<br />

into the database and removed from installation directory. If any <strong>of</strong> XSL files is needed at any time, it can be<br />

downloaded from Search XSL File page in web site.<br />

Page36


Also KBroker XSL files can be updated same page.When a type <strong>of</strong> XSL is selected (like TopOffice_Equities), all<br />

versions <strong>of</strong> this file will be listed and by selecting the link in each row, content will be shown in page. XSL file content<br />

can be updated from the same page and saved into database with using Update button. Each update operation<br />

creates a new version <strong>of</strong> selected XSL file and this new version <strong>of</strong> XSL file will be used by KBroker when needed.<br />

If XSL version is 2.1.1.0 after updating XSL file, version number will become 2.1.1.1 and old version <strong>of</strong> XSL file will be<br />

stored in system too but will not used.<br />

If you create a new XSL file and want to use it in KBroker, the XSL file can be uploaded from XSL File Upload page in<br />

KBroker web site. When you upload a XSL, you should you should select the type <strong>of</strong> XSL from combo box. (like<br />

TopOffice_Equities) The name <strong>of</strong> the actual file is not important. Because, XSL file will be stored in database with<br />

selected type name. If there is already a XSL file with same name, the new version will be given. For example, if there<br />

is an TopOffice_Equities XSL file with 2.1.1.0 version number, the new version will be 2.1.1.1.<br />

After uploading the XSL file, it can be used immediately. KBroker recognize the new XSL file and cached it.<br />

4.8.4. Constants<br />

KBroker uses below constant to use in XSL files. This constants is defined in TopOffice_Constant XSL file. User can<br />

add or update the constant values.<br />

K+ TO integration<br />

Constant Name Value<br />

kondorVer L5<br />

topOfficeVer 2.0<br />

Organisation1 (in ALM deals) <strong>TOPOFFICE</strong>2<br />

Page37


K+ TO integration<br />

TransSpotDeals SP<br />

TransLoandsDeposit LD<br />

SecurLoanDeals SL<br />

CreditSwapDeals CSW<br />

EquitySwapDeals EQSW<br />

BondDeals BD<br />

SwaptionsDeals SWO<br />

IamDeals IAM<br />

EqOtcOptDeals EQO<br />

CallAccountsDeals CA<br />

SpotDeals SP<br />

RepoDeals RP<br />

FxOptionsDeals FXO<br />

LoansDepositDeals LD<br />

FxSwapDeals FXSW<br />

CapFloorDeals CF<br />

FraDeals FRA<br />

ForwardDeals FWD<br />

SwapDeals SW<br />

BondsOtcOptDeals BDO<br />

Page38


CHAPTER 5 STARTING KBROKER SERVER<br />

KBroker installation creates a service for Windows OS. After all steps has been done for post installation , KBroker<br />

can be started from Services window (Control Panel ➤ Administrative Tools ➤ Services)<br />

Choose the KBroker Service the click the Start from left side <strong>of</strong> window. KBroker will start and will be started to write<br />

logs under installation_path/log directory by default. And log level is INFO by default.<br />

Once the KBroker will be launched it will automatically initiate the first time upload process.<br />

But there is a need for a user intervention at this point.<br />

Actual import process from K+ will not start until a user selects “Start” button from Synchronization window.<br />

To reach this window launch a web browser and go to “http://[serverhostname]:[serverport]/KBrokerWeb”<br />

Server host and port are parameters asked during the installation.<br />

For further information on the first time upload please refer to KBroker online documentation available at<br />

http://infocenter.32bit.com.tr<br />

K+ TO integration<br />

Page39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!