KONDOR + TOPOFFICE INTEGRATION - Index of - 32Bit
KONDOR + TOPOFFICE INTEGRATION - Index of - 32Bit
KONDOR + TOPOFFICE INTEGRATION - Index of - 32Bit
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