Académique Documents
Professionnel Documents
Culture Documents
SalomonAnalyticsInc
These materials and the information and methodologies described and incorporated herein are proprietary and condential to Salomon Analytics Inc. and may not be disclosed to third parties, or duplicated, or used for any purpose not expressly authorized by Salomon Analytics Inc. Any unauthorized use, duplication, or disclosure of these materials, information, or methodologies is prohibited by law and will result in prosecution. Salomon Analytics Inc. 388 Greenwich Street New York, NY 10013 (212)816-BOOK (2665) The Yield Book is a registered service mark of Salomon Analytics Inc. Throughout this documentation, Yield Book refers to The Yield Book analytical software.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 by Salomon Analytics Inc. All rights reserved. 99-0719
Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
What is YbPort? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 How YbPort Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 YbPort Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 New YbPort Features for Version 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Portfolio Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Creating a Portfolio File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Portfolio Header Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Portfolio Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Available Salomon Databases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Default Pricing Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Book Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Composite YbPort Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Composite Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Uploading a Portfolio File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copy & Paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Processing a Portfolio File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26 28 30 32
Types of Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Output File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Portfolio Reject File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Contents
5 Using BATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Automate YbPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 BATCH Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Upload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 DelayUpload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 YBPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
vi
Introduction
What is YbPort? How YbPort Works YbPort and User Bonds New YbPort Features for Version 20
Introduction
What is YbPort?
What is YbPort?
YbPort is a Yield Book feature used to upload user bonds and portfolios into the Yield Book personal database from your desktop. The issues and bonds dened in uploaded les will automatically be priced in the Yield Book. YbPort les are plain text les that contain portfolio data or user bond (synthetic security) data. You can upload and process YbPort les in one of two ways:
Manual
Upload les from Chapter 1, Page 2 of the Yield Book, then process the issues or user bonds in Chapter 3, Page 5. You can also cut & paste data from a desktop window into the Yield Book.
Automated Upload and process les using BATCH commands to automate the
le.
Automate time-consuming or repetitive tasks by loading and processing
Introduction
Client Desktop
transfer le
YbPort File
Spreadsheet
Introduction
YbPort Files
YbPort Files
YbPort les are plain text les containing portfolio or user bond (synthetic security) data. To upload these text les into the Yield Book, the les must be formatted according to detailed guidelines discussed later in this guide. You can use any desktop program to create a YbPort le, so long as the program can save a le in plain text format. You can create YbPort les in one of two ways:
On the desktop in a spreadsheet or other program, saving the
There are three types of YbPort les that can be uploaded into the Yield Book:
Portfolio Files
Each line of a portfolio le denes a specic issue in the portfolio. Multiple portfolios may be dened in a single portfolio le. Denes modications to existing portfolio issues and/or transaction updates. Processing these les is equivalent to adding or subtracting bonds to/from a portfolio in Ch. 3.2 and clicking [Update Holdings].
Update Files
User Bond Files Each line of a user bond le denes a specic keyword of a
user bond (a synthetic security that you create). Pre-dened keywords are used to dene the characteristics of each user bond. Multiple user bonds may be dened in a single user bond le. The specic formats of these les are dened in subsequent chapters of this reference guide. The format is different for each type of le. Illustrations of each le are shown on the following two pages.
10
YbPort Files
Introduction
In the portfolio le below, issues are dened for two portfolios: custprt1 and custprt2. Note that the ~ character is used to separate different portfolios in a single le. Portfolio File
custprt1 210306aa 912827vk 19419wac 362320ar 047990wa 912827b9 999987jk 999998lm 31348hs9 31364hbb 313615yn 313612sd n102904 n112008 fnma92.78 a 29583049 ~ custprt2 31361scq 313610pb 31364hbx 31361wa6 313613yg 31361yp6 31361xx7 31361ywu 313611sc 999997en 912810eb 313602b5 31288usy 31347adx 36202kzv 373298bd 19980319 s s s s s s s s _smith s s s p s s s 19960131 s s s s s s s s s s s s s s s s YbPort Portfolio #1 688 98b 6789 108.109 300 97.5use_salomon 700 10324 106 11878 5619 106.25 3134 100.906o 30000 4.266 278 3.99 15750 101.13 25050 101.34 1050 99 180 use_asis 19000 102.43 200 98 YBTest Portfolio #2 15000 101.46o 27500 100.74 245 18.75d 30550 101 25500 101.5 22000 101.45 16850 100.76o 35000 100.27 25000 8.192 8870 8.652 8948 26000 6.901 17775 5.691 10000 4.734 3500 103.464 250
11
Introduction
YbPort Files
In the example below, two user bonds, usrbnd1 and usrbnd2, are dened in a single user bond le:
NOTE: The CUSIP keyword must appear in the rst line of the user bond denition. Since many user bonds can be dened in a single YbPort le, the CUSIP keyword is used to ag the Yield Book to the start of a new user bond.
12
Introduction
The _out le format has been revised. The new format organizes portfolio processing results in a summary table and provides immediate descriptions of errors (no need to look up codes at the end of the le).
CMO OAS Options
New options in the YbPort page (Ch. 3.5) provide default prepay specication and the ability to calculate OAS and Effective Durations on the CMOs, ARMs and ABS in your portfolio les during processing.
New User Bond Types
Dene composite portfolios in a YbPort le, then import and process the composite on the YbPort page (Ch. 3.5).
New Keyword
Enter transactions to add or subtract to your portfolio using a YbPort Update File. Create these les if you plan to calculate return attribution on your portfolio and want to account for transactions that occurred. New Ticker Now there is a simpler notation for use in YbPort portfolio les for the 30yr, the old30yr and the 3mo bonds.
13
Introduction
14
Portfolio Files
15
Portfolio Files
Required Separator
You may dene more than one portfolio in a single le, using the ~ separator between each portfolio denition, as shown. Each section of the le is described briey below and in greater detail on subsequent pages:
Portfolio File Section Portfolio Header Line Description The header line identies the portfolio. Each eld in the header must be separated by one or more spaces. Each line of the Portfolio le represents a single issue which you dene. At least one space must separate each of the columns.
Portfolio Issues
16
Portfolio Files
Required Separator
A Portfolio File can dene one or more portfolios. Each portfolio must be separated by a tilde symbol, ~. Comments are optional. The comment text must be surrounded by the character /* and */, as shown. Comments can be added anywhere in your portfolio le except in the Portfolio Header Line.
The header line species the portfolio ID, As of date and description. Each eld in the header must be separated by at least one space (if you are creating the le in a spreadsheet, put each eld in a separate column). The format is:
custport 19980319 Customer Portfolio #1
1 No 1
3 Format Must begin with a letter and may contain a total of 8 letters or numbers. Embedded spaces, -, % and _ are not allowed. YYYYMMDD (required format) Can contain up to 29 characters. Embedded spaces are allowed. The characters: -, %, _, and , are not allowed.
2 3
17
Portfolio Files
Portfolio Issues
Each line in the YbPort portfolio le denes a single portfolio issue. At least one space must separate each of the elds in a single line (if you are using a spreadsheet, put each eld in a separate column). The format is:
31365cbz 1 No 1 Field Identifier Identier Cusip Common Code ISIN Sedol: WKN pool ID CMO tckr special ticker generic ticker 2 Description Enter one of the following: Description 8- or 9-character identier 9 character identier 12 digit identier 6- or 7-digit identier 6 digit identier Mortgage pool identier Cmo Abbrev and class ticker abbreviations (see Note 3 below) (see Note 2 below) n250906 (see Note 5 below) fnma93.158 b (see Note 4) 2yr, old10yr, 3mo FNMA7.5-PROD-1997 or FNMA7.5-TBA Example 912827vk (see Note 1 below) p 200 9.5 3 4
NOTES: 1. Since all 9 digit identiers are assumed to be cusips, CC must follow all common codes to distinguish them from cusips (see above example). 2. Since all 6-digit identiers are assumed to be sedols, the letter W must follow all WKNs to distinguish them from sedols. 3. Now, 7-digit sedols can be entered provided that the sed database code appears after the cusip (see 2 , next page). 4. A space must separate the CMO abbrev from the class. When specifying CMOs using ticker/class, the DB source code must be s (see 2 , next page). 5. Works only with source code p (see pools database will be searched. 2 , next page), indicating that only the
18
Portfolio Files
Database Source Indicates which database to search for a specic issue. If no source is indicated, the s database code is assumed. The following options are used to indicate database source:
Code s
Source Database Description Salomon Database: This is the default code. It means search
every database. The Yield Book will search the Central (including FIDB and CMO/ABS db) database rst, then the Personal and nally the Pools db.
_source
Searches the Personal Database for user bonds with the specied indicative source. Example: _smithco will search for the bond with indicative source SMITHCO. If the bond is not found, it looks for other user bonds with the same cusip and most recent pricing date.
sed
Searches the Salomon databases for matching sedols ONLY. If none are found an error message, NOT FOUND, is
returned. When entering a 7-digit sedol, you must use the sed DB code. The seventh digit is assumed to be the check digit of the sedol and is ignored.
19
Portfolio Files
CC
Searches the Salomon databases for bonds with matching common code. This code must be entered with all
common codes or the Yield Book will assume the 8- or 9-digit identier is a cusip.
When using the Yield Book the user has access to the Personal, Central, and Pools databases. The table below gives a brief description of each database as well as the approximate number of bonds each contains. Database Personal DB No. of Securities
20,000
Description
Local database containing user bonds. Also accesses the subset of Salomon securities found in the Fixed Income database. Salomon bonds include treasuries, agencies, corporates, generic mortgage pass-thrus, brady bonds, treasury futures, and eurodollar futures. All Salomon source bonds are priced nightly. Includes Fixed Income database and CMO/ABS database.
Central DB
--Fixed Income 40,000
Corporate bonds and MTNs, treasuries, agencies, foreign corporates, foreign governments, preferreds. Modelled agency, non-agency, and asset backed deals Contains Mortgage pools.
--CMO/ABS
40,000
Pools DB
800,000
20
Portfolio Files
No 3
Description Par amount owned in thousands. Negative amounts may be used to reect short positions. Decimal places are permitted. For Pools and CMOs, append the letter o for original face. The Yield Book will calculate the current par amount by multiplying the original face by the current factor.
4 Pricing Level
Providing pricing levels and speeds for securities is optional. The Yield Book will rst check for a price and speed in the YbPort le. If none is provided, the Yield Book will search for these values in the following order: First searches local memory for a price and speed. If none in local memory, uses the default pricing assumption (seeDefault Pricing Assumptions on page 22) and the street median PSA for speed. If the street median PSA does not exist, a default value of 100 is used.
Auto P/Y Notation Bonds can be priced in YbPort using the same Auto P/Y logic found in the Yield Book. Use the table below to make pricing entries.
AUTO P/Y FORMAT EXAMPLE Values >25. To enter a price less than 25, append a d 90 or 12d Separate price and # of 32nds by a dash. To add one 64th to this, add a + 90-20, 90-20+ Values <=25. To enter a yield greater than 25, append a y 10 or 27y Yield value followed by a ds 7ds Yield value followed by a cd 5cd Append a c or p to a yield 8c or 8p Yield value followed by a w 8w Value followed by sy 4sy Spread in bps followed by / & benchmark year (or ifor interpolated 120/30, 120/i point) Spread to Call Spread in bps followed by c, / and benchmark year 120c/10 Spread to Put Spread in bps followed by p, / and benchmark year 120p/10 Spread to Actual Treasury Spread in basis points followed by / and act or / and a specic 50/act or /us7.625,25 treasury. Discount Margin Discount margin followed by m 154m Effective Reset Effective reset followed by er 150er OAS OAS in basis points followed by o 55o Prepays: Model,PSA, CPR, Price, yld or spread followed by @ number % and m, p, c, h, 98@100m, MHP, ABS, HEP, or PPV a , e, or v 50/i@250p VALUE Price 32nd Price Yield Discount Yld - Bills CD Yield Yield to First Call or Put Yield to Worst Call Simple Yield Spread to Maturity
21
Portfolio Files
AUTO P/Y FORMAT Value followed by v Pricing level followed by @number vol
If no price exists in the local database for a bond, then the bond will be priced with the following assumptions:
Coupon bonds Zero coupon bonds CMOs Mortgage Pools Home Equity Loans Manufactured Housing Auto Loans Cards Book Levels 100 10% yield 100 10% yield 10% yield 10% yield 100 @ ABS
To enter a book price instead of a market price, append a b to the price. To enter a book yield append the letters by to the yield.
22
Portfolio Files
Examples
Mkt Price of 100.906 100.906 5.47 102 97b Yield of 5.47 Use current price in local database Mkt price of 102, book price of 97 Use default Yield of 10% at 100 PSA
Notes
You can enter a pricing level followed by use_salomon to tell YbPort to use the Salomonprovided price, if such price exists; otherwise, use the price provided before the use_salomon tag. NOTE: There should be no space between the price level and use_salomon. Example: 100.906use_salomon. Entering use_asis instead of a price indicates to YbPort that the security should not be repriced. Instead, any existing information including price, pricing date, duration, etc. from the local database will be used. This is a useful feature if you are working with more than one portfolio le, each containing the same security. You can process the rst le and price the security, then enter use_asis in place of the price in subsequent portfolio les to use the previously calculated pricing information. To specify a settlement date in a portfolio le, append the letters sd to the date entry. For example, the entry: 5yr 1000 97 19990701sd indicates that the date is a settlement date.
23
Portfolio Files
Examples
This sample portfolio le contains two portfolios: custprt1 and custprt2. Note that the two portfolios are separated by the tilde character ~. custprt1 19980319 YbPort Portfolio #1 210306aa s 688 98b 912827vk s 6789 108.109 19419wac s 300 97.5use_salomon 362320ar s 700 047990wa s 10324 106 912827b9 s 11878 999987jk s 5619 106.25 999998lm s 3134 100.906o 31348hs9 _smith 30000 4.266 31364hbb s 278 3.99 313615yn s 15750 101.13 313612sd s 25050 101.34 n102904 p 1050 99 n112008 s 180 use_asis fnma92.78 a s 19000 102.43 29583049 s 200 98 ~ custprt2 19960131 YBTest Portfolio #2 31361scq s 15000 101.46o 313610pb s 27500 100.74 31364hbx s 245 18.75d 31361wa6 s 30550 101 313613yg s 25500 101.5 31361yp6 s 22000 101.45 31361xx7 s 16850 100.76o 31361ywu s 35000 100.27 313611sc s 25000 8.192 999997en s 8870 8.652 912810eb s 8948 313602b5 s 26000 6.901 31288usy s 17775 5.691 31347adx s 10000 4.734 36202kzv s 3500 103.464 373298bd s 250
24
Portfolio Files
Version 20 of the Yield Book, adds the Composite le to YbPort. A sample of a YbPort composite le is shown below. Composite File Example
Required label
19980101 70 100 80
Value indicates the percentage of Par Amt of every issue in portfolio to be included in Composite. Blank value means 100 percent.
Composite Rules
Two rules apply to all composite les: 1. The portfolios in the composite le must exist prior to creation of the composite. 2. Composites that are also components of another parent composite, cannot themselves reference their parent. For example, if composite Corp is a component of MixPort, then Mixport cannot be a component of Corp. If this error is made in a composite le, YbPort will terminate processing and write an error message to the output le.
25
Portfolio Files
5 1 2 4 3
STEP 1 Click on the <Upload from Desktop> toggle to select Communication Type. STEP 2 Click on the [YbPort] button to select the le type. STEP 3 Enter Desktop information as described below:
Hostname: Default name of desktop machine (name or IP address format). Login & Password: Refers to your local machine (this may, or may not, be the same as the Yield Book login ID or password). Directory Path: The location of the le on your local machine (e.g. C:\yb) Desktop Filename: Name of the le to be uploaded (will also be the lename entered for YbPort input). Be sure to include any extension in the lename as it appears on your desktop).
26
Portfolio Files
File Format:
If the YbPort le was created on a PC desktop, select the <DOS> toggle; if a UNIX workstation, select the <UNIX> toggle.
STEP 4 Click on [Save Desktop Info] to save your desktop settings from Step 3, so that you can retrieve them later. STEP 5 Click [Upload to YB] to transfer the YbPort le from your desktop to the Yield Book server. A message will conrm that the le has been uploaded to the Yield Book Server. Now you must process the issues and create the portfolio on your personal database. The procedure is described in the next section.
NOTE: The maximum lename length is eight characters, excluding the extension.
27
Portfolio Files
1 5
6 3
desktop
STEP 1 Turn to Ch. 3.5 in the Yield Book, and click [Edit]. STEP 2 Bring the application that you will copy data from to the foreground of your screen. STEP 3 Use the Select and Copy functions on the Edit menu of the spreadsheet program to copy selected data.
28
Portfolio Files
STEP 4 Bring the Yield Book to the foreground of your screen and click inside the yellow input area in Ch. 3.5. STEP 5 Hold down the [CTRL] key on your keyboard and press the [V] key. STEP 6 The copied data will be pasted into the Yield Book entry eld. STEP 7 When all of the required data is pasted into the Yield Book, enter a name in the File: entry box in the Yield Book, then click [Save]. STEP 8 Click [Edit] to view the right page YbPort les. The YbPort le can now be processed in the Yield Book under the name you entered in Step 6. Notes Whether you used the FTP upload method or the Copy & Paste method, the le is now in your YbPort directory on the Yield Book server. To create the portfolio from this le of data, the le must be processed, which includes pricing, as shown on the following page.
29
Portfolio Files
1 4 2 5
STEP 1 Turn to Chapter 3, Page 5 of the Yield Book and select the <Portfolio Import> toggle. STEP 2 Click on a portfolio from the right page listbox to automatically ll in the Portfolio Filename entry box. This lename will correspond to the name of the le you uploaded into the Yield Book. STEP 3 If the le you are loading into the Yield Book should automatically replace (overwrite) an existing portfolio and output les with the same ID and lename, select the [Overwrite Existing Output Files and Portfolio] setting. Additional Options are:
30
Portfolio Files
[Use Global Settlement Dates] This option is on by default, which means that the bonds will
be priced using the global settlement dates dened in Pricing Setup. [Update Existing Composite Portfolios] If this option is on, any composite containing this portfolio ID will be updated (will not verify the as of date before updating). [Map Pools to Generics] For each xed rate pool, YbPort will retrieve a generic mortgage based on the pools agency type (FHLMC, FNMA, GNMA), coupon and weighted average loan age. [CMO OAS/EDUR] [CMO OAS to Call] [ARM OAS] Select to calculate OAS and Effective Durations on CMOs, ARMs and ABS during processing.
STEP 4 Click on the [Process] button. YbPort will display the portfolio number it is currently processing. Bonds that have matured or mortgages with zero factors will not be added to your portfolio. Output les are generated with the results of YbPort processing. STEP 5 To print output les, select lenames from the right page listbox that start with the current portfolio lename and end with _out or _rej. Then click the [Print] button. See the next section of this chapter for more information. STEP 6 To view the output les, select the Copy toggle in the bottom-right control panel of the Yield Book, select a le name, then click on [Copy] at the top of the right hand page. The le now appears in the Copy Display, which you can view by clicking the [Copy Display] button on the top right of the Yield Book.
31
Portfolio Files
Output Files
Output Files
When you process a portfolio le in Chapter 3, Page 5 of the Yield Book or from within a BATCH script, the Yield Book performs the following actions:
Search database to match all issues dened in the portfolio le Price all issues Generate output les with results of processing
YbPort generates two types of output les which provide detailed information and summary statistics for YbPort les. These output les help you determine the success of your le import and processing.
Types of Output Files
filename_out Summarizes the results of processing the portfolio and reports the number of issues processed, the number of issues not processed and warnings or error codes returned for specic issues. filename_rej Lists only the unsuccessful securities in the original input le. After correcting the errors in the _rej le, the securities can easily be reloaded. You can download these output les to your desktop or analyze them in The Yield Book on the YbPort page. Examples of output les for portfolios follow.
32
Output Files
Portfolio Files
This is an example of an _out output le. In Version 20 of the Yield Book, the output le format was revised for better readibility. The top of the le is a summary of all processing, followed by sections, describing any specic problems encountered. Sections following the summary are separated by lines of asterisks..
33
Portfolio Files
Output Files
Reject les will not change in Version 20 of the Yield Book. An example of a reject le is shown below.
34
Maintaining Portfolios Update Files - Modications - Transactions Examples Updating Multiple Portfolios
35
Maintaining Portfolios
Maintaining Portfolios
Once a portfolio le is imported into the Yield Book, processed and priced, you can maintain that portfolio in several ways:
1
Replace the entire portfolio with the current holdings on a daily basis. This means uploading and processing the portfolio anew each day. OR
Upload and process the portfolio once, then update manually by adding or deleting bonds using Chapter 3, Page 2 of the Yield Book, Chapter 3, Page 6, or a YbPort update le. This method can also be automated using BATCH commands.
36
Update Files
Update Files
An update le looks a lot like a portfolio le. It is used to modify an existing portfolio without having to re-load the entire portfolio and process all listed issues. Instead, the update le includes only those issues and par amounts that must be changed in, or added to the existing portfolio. Other types of updates include transaction entries, which specify trade dates, trade prices and settlement dates for historical reference in Return Attribution. Transaction entries will be described in more detail later in this section.
Update File Format
The update le format is identical to the portfolio le format, except that a + must precede the portfolio name. For example, if a portfolio dened in a YbPort portfolio le is called ABCPORT, then the portfolio ID in the update le appears as +ABCPORT. YbPort reject les can be recycled as update les to insert a bond into a portfolio if the bond fails to process successfully. ABCPORT Reject File ABCPORT Update File
37
Update Files
An update le can contain two types of entries after the (+)portfolio name: Modications These entries are used to add or subtract issues to or from the portfolio, or to change the par amount of an existing issue. Making a modication entry is equivalent to retrieving the portfolio in Chapter 3, Page 2 of the Yield Book, adding or subtracting issues, or modifying the par amount, then clicking on [Save] to save the modications. Transactions Like modication entries, transactions also identify issues that have been bought or sold. The difference is that these entries must include a trade date, a settlement date and a trade price. Transaction entries are required if you plan to calculate return attribution on your portfolio and want to account for transactions that occurred. Making a transaction entry is equivalent to retrieving the portfolio in Chapter 3, Page 2 of the Yield Book, adding or subtracting issues, modifying the par amount, clicking [Enter Transaction], entering a new trade price, trade date and settlement date, then clicking [Save] to save your transactions.
38
Examples
Examples
To create an update le, you can modify the portfolio reject le, then submit the modied le for processing in Ch. 3, Pg. 5 of the Yield Book. Alternatively, you could create the update le from scratch in the Yield Book editor or on your desktop, then upload the desktop le into the Yield Book. The portfolio ID, preceded by a + sign, must be the rst line of each portfolio denition in the update le. Note that you can include updates to multiple portfolios in a single update le. Examples
1) UPDATE FILE: In this update file example, assume that a portfolio abcport was uploaded into the Yield Book and processed, and that one bond was rejected during processing. Additionally, the PM forgot to add cash to the portfolio and would like to add it now without re-loading the whole portfolio.In this case, a new bond (CASHUSD) and the rejected bond will be added to the reject file and the file will be used to update abcport. Illustrations show how the update file and portfolio appear in the Yield Book.
STEP 1 After processing the portfolio le, click on the reject le name (abcport_rej) in Chapter 3, Page 5 of the Yield Book.
39
Examples
STEP 2 On the left page, click on the Edit box to enter the Yield Book Editor. The rejected bond is the only one listed under the portfolio header line (as shown in the picture on the previous page. STEP 3 Add a + to the beginning of the portfolio name (+abcport). The + identies the le to the Yield Book as an update le. The portfolio will be modied by the contents of this le. Remember that the original version of the portfolio will no longer exist in the database once you complete the update. STEP 4 Delete the lines above the portfolio name and the lines below the rejected bond issue, as shown in the illustration below. STEP 5 Correct the rejected bond entry. In the example shown, the rejected bond has an invalid cusip -- it had only seven characters instead of the required eight. To correct this, add the missing character to the end of the cusip. STEP 6 Next add the cash bond, by making the following entry in the reject le: 999991AY8 +500 This entry contains the cusip for CASHUSD and the par amount of cash. Note that the par amount does not require a + to indicate addition, since + is the default.
7 3,4,5,6
40
Examples
STEP 7 Enter a new name in the File: entry box, then click [Save]. In the illustration on the previous page, the le is saved under the name abc_updt. This is the update le for the abcport portfolio, containing two modication entries. STEP 8 Click [Edit] to exit the Edit mode and to transfer abc_updt to the right page listbox. Now click on abc_updt in the listbox to select it for processing. STEP 9 Click [Process] to add the new entries to the portfolio.
NOTE: This step will update the portfolio in the database with your modications. The previous version of the portfolio (before the update) in the database will no longer exist when this step is completed.
9 8
41
Examples
The resulting updated portfolio can be retrieved into Chapter 4, Page 2 of the Yield Book, as shown below:
updated bonds
2) UPDATE WITH TRANSACTION ENTRY In this example, assume that the World Com bond (cusip: 98155kae) was recently sold for the total par amount listed in the ABCPORT portfolio. Also assume that we want to track the trade history for performance attribution (so include the date in the transaction entry). The bond must now be subtracted from the portfolio using a transaction entry in the update file. Since we already have the update file from the last example, well select this file and modify it in the Yield Book editor (see STEP 3). Alternatively, we could have created the update file from scratch in the Yield Book editor.
STEP 1 In Ch. 3, Pg. 5, click on the abc_updt lename in the listbox on the right page. STEP 2 Click on the Edit box to enter the Yield Book editor.
42
Examples
STEP 3 Modify the rst entry as shown below: 98155kae -1000 99.480
19990708td
19990712sd
This is a transaction entry since it includes the trade date, trade price and settlement date for historical reference in future return attribution calculations. Note that you must append the letters td to the date to indicate trade date and the letters sd to indicate settle date in a transaction entry, as shown.
2 3
td = trade date sd = settlement date
1
STEP 4 Save the le. The Yield Book will prompt you to conrm that abc_updt will be overwritten. Click [YES]. STEP 5 Click [Process] to enter the transaction. You can see the results of the update by turning to Ch. 3, Pg. 2 and retrieving the abcport portfolio, as shown below. Click on [Enter Transaction] to see transaction data on the portfolio, as shown in the illustration on the next page. Note also that par amounts are not consolidated automatically after a transaction update. Instead, a bond is added with a negative par amount. To consolidate these values, click on [Operations], then click on [Consolidate Lots]. In this case, the result will be a sin-
43
Examples
gle WCOM issue with a par amount of zero. NOTE: Consolidated portfolios involving transactions cannot be saved. Transaction data is not available for a consolidated portfolio.
WCOM bond with negative par amount added to portfolio. Note that par amounts are not consolidated in an update.
44
In this example, we will search for portfolios containing a specic bond, exclude some of the portfolios from the update, then subtract the bond from each portfolio by changing the par amounts. Assume that there are six portfolios containing the corporate bond CWE 7.75,23 at differing par amounts. STEP 1 Turn to Ch. 3.6 and click on [Issue Select] on the left page. The right page displays the Issue Selection Page. STEP 2 On the right page, enter CWE7.75,23 in the Ticker/Query eld, then click on [Search]. The bond is displayed at the top of the left page. STEP 3 On the left page, click on [Search in Portfolio]. The IDs of all portfolios containing the bond will appear in the left page list box.
2 3
45
STEP 4 To exclude any of the listed portfolios from the update, click on [Exclude Portfolio], then click on the portfolio IDs to be excluded, then click [Exclude Portfolio] again. STEP 5 Click on [Operations], then click [Copy Par Amount to Edit Column]. The current par amounts for the bond in each portfolio will be copied to the entry elds in the listbox. Since we want to remove the bond entirely from the remaining portfolios, we will subtract the entire par amount. Note that this is different from entering a transaction, which will be discussed in a later example.
5 4
46
STEP 6 Click on the <Multiply by:> toggle, then enter -1 in the yellow entry eld on the right, and click [Apply Changes]. STEP 7 Click [Save] to update all listed portfolios. The bond is now subtracted from all selected portfolios. Note that the Par Amt column is blank.
6
Results
47
In this example, we will add the CWE7.75,23 to the three portfolios the bond was subtracted from in the previous example. STEP 1 In Ch. 3.6, click [Issue Select]. STEP 2 On the right page, enter CWE7.75,23 in the Ticker/Query eld, then click [Search] to retrieve the bond to be added. Bond displays at top left of the left page of Ch. 3.6. STEP 3 Click [Portfolio Select]. STEP 4 In the right page listbox, click on the portfolio IDs to which you will add the bond. The portfolio ID is copied to the left page listbox.
48
STEP 5 On the left page, enter a par amount for the bond in the yellow entry elds in of the portfolio ID listbox. STEP 6 Click [Save]. The portfolios are now updated to contain the new bond at the entered par amount. Note that the par amount now appears in the listbox under the Par Amt column.
49
Assume that several month-end portfolios contain a common bond. At mid-month, 5000 par of that bond (CWE7.75,23) was sold. Rather than updating every bond in the portfolio, we want to update each portfolio with only the CWE transaction. STEP 1 In Ch. 3.6, click [Issue Select], then in the right page, enter CWE7.75,23 in the Ticker/Query eld and click [Search]. STEP 2 On the left page, click on [Search in Portfolio]. Portfolios containing this bond will be listed in the listbox. STEP 3 Click in the white box labeled Trade Price Trade Date Settle Date and enter the transaction data, then click [Done]. The entered transaction data now appears in the white box.
2 3 3
50
STEP 4 Click on the Use Transaction option box above the transaction data box. This option box MUST be selected when entering a transaction. Selecting this box indicates that updates to all listed portfolios are transactions. Note that transaction updates to portfolios must be made separately from par amount updates that are not transactions. STEP 5 Enter the (signed) par amount change of the transaction, then click [Save]. Note that a T appears beside each updated portfolio in the listbox. This indicates that the current par amount for this bond is a result of a transaction.
5 4 5
51
52
Creating User Bond Files Uploading Processing User Bond Output Files
53
There are ve required keywords to dene user bonds of any security type, described below. Additional keywords may be required depending upon the specic security types (corporate, treasury, mortgage, etc.). Keywords can be entered in upper case or lower case letters, with the exception of the MOODY keyword, which must appear in all capital letters. The ve required keywords for all security types are:
CUSIP Must appear in the rst line of the user bond. This unique identier can be a maximum of eight characters long and may include any of the 26 letters, digits 0-9, trailing blank spaces, and certain punctuation marks including: (-), (.), (:), (&), (*), (#), (@). Pricing level (note: this is not required for caps, oors, and swap securities). Coupon value Security type Maturity date (except mortgages, see next) Maturity date for mortgages
54
In addition to the required SECTYPE keyword, there are secondary keywords used to further specify a type of security. These keywords are: SECSUBTYPE and SECSUBTYP2. To see how these keywords are used, look at the two user bond denitions below: usrbnd1 and usrbnd2. Usrbnd1 is a Corporate Medium Term Note and usrbnd2 is a Step-Up Coupon bond. Note the differences in the two denitions: they both have the same SECTYPE code (BOND) but different SECSUBTYPE codes (usrbnd1: SHLF and usrbnd2: STEP). Usrbnd1 further species the bond using the SECSUBTYP2 keyword.
usrbnd1 Corporate Medium Term Note (see note below) SECTYPE BOND SECSUBTYPE SHLF SECSUBTYP2 CMTN COUP 8.75 MATDATE 19991231 PYVALUE 100 DTDATE 19940930 FCPDATE 19941231 CUSIP DESCRIPT CUSIP DESCRIPT SECTYPE SECSUBTYPE COUP MATDATE PYVALUE DTDATE FCPDATE COUPSCH usrbnd2 Step-Up Coupon BOND STEP 7.75 19991231 100 19940930 19941231 19951231 11 FIX
Note: If you are using the description keyword, make sure to enclose it in single quotes as shown above. The table on the next page lists all of the security type keywords.
55
56
DESCRIPTION Ginnie Mae FHA/VA SF Ginnie Mae GPM Interest Only Italian Govt Bonds Japanese Govt Bonds Jr-Sr ARM Netherlands Govt Bonds Non US Dollar Bonds Obligations Assimilables du Tresor Option Pay In Kind Principal Only Spanish Govt Bonds Step-Up Coupon Structured Note Swap Swedish Govt Bonds Swiss Govt Bonds UK Treasury Stock US Treasury Bill US Treasury Bond, Note, or Strip Whole Loan Zero To Full
SECTYPE MORT MORT MSTRIP BOND BOND ARM BOND BOND BOND BONDOPT BOND MSTRIP BOND BOND STRNOTE SWAP BOND BOND BOND BOND BOND MORT BOND
SECSUBTYPE GNMA GPM IO ITLGOV JPNGOV ARM NDLGOV BOND FRGOV BONDOPT PIK PO SPNGOV STEP STRNOTE SWAP SWDGOV SWIGOV GILT TBILL GOVT WHLN ZTF
SECSUBTYP2 MPGNMA MPGPM IO ITLGOV JPNGOV ARMJRSR NDLGOV BONDND OAT BONDOPT PIK PO SPNGOV STEP STRNOTE SWAP SWDGOV SWIGOV GILT TBILL TBOND MPWHLN ZTF
usrbnd35a, p.71
usrbnd17b, p.65 usrbnd35, p.71 usrbnd6, p.61 usrbnd36, p.72 usrbnd40, p.78
57
Below are guidelines for creating a user bond le. Some will make more sense as you read through the examples that follow. Note that, unlike the portfolio le, there is no header required for the user bond le. The cusip of the rst user bond is the rst line of the le. Each new user bond denition begins with the user bonds CUSIP.
Dates Ticker symbol All dates are in YYYYMMDD format If a ticker (TCKR) symbol is not specied in the user bond le, YbPort will use the rst eight characters of the description (keyword DESCRIPT). If no description is supplied, the ticker will be left blank. All amounts are expressed in millions of the local currency. Unlike the format for creating a portfolio le, a separator character is not required between each user bond. Remember that the CUSIP keyword must appear in the rst line of each new user bond denition. CMOs cannot be created in YbPort. An alternate method for creating CMOs is to create a prorata bond and provide a xed series of cash ows.
CMOs/ABS
58
CUSIP DESCRIPT SECTYPE SECSUBTYP2 COUP MATDATE ISSAMT OUTAMT PYVALUE INDUSTRY REDMP CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP MATDATE PYVALUE DTDATE
YbPort Reference Guide
usrbnd1 Corporate Bond BOND CBOND 6.125 19991231 100 100 NOTE: the INDUSTRY keyword can also be used with 100 CBRSECTOR, INDUSUB and INDUSTRY codes. U 100 usrbnd2 Corporate Medium Term Note BOND SHLF CMTN 8.75 19991231 100 19940930 59
FCPTDATE CUSIP DESCRIPT SECTYPE SECSUBTYP2 COUP MATDATE CALLSCH CALLSCH PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYP2 COUP MATDATE SINKSCH SINKSCH SINKSCH SINKSCH ISSAMT OUTAMT PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYP2 COUP MATDATE PUTSCH PYVALUE
19941231 usrbnd3 Corporate with Call BOND CBOND 7 19981231 19961231 101 19971231 100 10C usrbnd4 Corporate with Sink BOND CBOND 8 20001231 19971231 25 19981231 25 19991231 25 20001231 25 100 100 9 usrbnd5 Corporate with Put BOND CBOND 8 20001231 19971231 100 8P
60
CUSIP DESCRIPT SECTYP SECSUBTYPE COUP MATDATE PYVALUE DTDATE FCPDATE COUPSCH CUSIP DESCRIPT SECTYPE COUP MATDATE PYVALUE FLTINDEX CUSIP DESCRIPT SECTYPE COUP MATDATE PYVALUE FLTINDEXT FLOATCAP FLOATFLOOR RSTMRGN PAYFREQ REDMP
usrbnd6 Step-Up Coupon BOND STEP 7.75 19991231 100 19940930 19941231 19951231 11 usrbnd7 Corporate Floater CFLOAT 8.375 19991231 100 TB6
FIX
usrbnd8 CFLOAT with CAP and FLOOR CFLOAT 6.375 19991231 100 B6 15 1 0.5 4 90
61
CUSIP DESCRIPT SECTYPE SECSUBTYPE COUP MATDATE PYVALUE ISSAMT PDSCH CUSIP DESCRIPT SECTYPE SECSUBTYPE COUP MATDATE PYVALUE ISSAMT PDSCH CUSIP DESCRIPT SECTYPE SECSUBTYPE COUP MATDATE PYVALUE ISSAMT PDSCH
usrbnd9 Credit Card Backed Security FIXPAY CARDS 7.75 19991231 100 90 19941231 50 usrbnd10 Auto-Loan Backed Security FIXPAY FPCARS 7.50 19991231 100 90 19941231 50 usrbnd11 Corp/Agency Prorata Bond FIXPAY PRORATA 8.625 19991231 100 90 19941231 50
62
CUSIP DESCRIPT SECTYPE COUP MATDATE PYVALUE FACTORDT FACTOR DTDATE FCPDATE ORGTRM CUSIP DESCRIPT SECTYPE COUP MATDATE PYVALUE FACTORDT FACTOR DTDATE FCPDATE ORGTRM CLUPCALPCT GROSSCOUP
usrbnd12 Automobile Loan Pass-through CARS 6.25 19991231 100 19941016 0.5 19931231 19940630 72 usrbnd13 Automobile Loan Pass-through with Clean-up Call CARS 7.50 19991231 100@1.5ABS 19941016 0.5 19931231 19940630 72 10 10.5
TREASURY/AGENCY BONDS
CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP MATDATE PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP MATDATE PYVALUE DTDATE FCPDATE CUSIP DESCRIPT SECTYPE SECSUBTYP2 COUP MATDATE PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 FUTURE_MO_YR LAST_TRADING_DAY 64
usrbnd15 US Treasury Bond, Note, or Strip BOND GOVT TBOND 7.75 19991231 100 usrbnd16 Agency Medium Term Note BOND SHLF AMTN 6.875 19991231 100 19940930 19941231 usrbnd17 Agency Bond BOND ABOND 8.50 19991231 100 usrbnd17a Sep98 20yr T-Bond Future FUTURE NFUT 10YRNFUT 09/98 19980901
PYVALUE ISSAMT COUNTRY CURRENCY PAYFREQ CUSIP DESCRIPT SECTYPE OPTIONTYPE OPTAMEURO MATDATE UNDLSEC VOLT STRIKE
INTERNATIONAL
121.5 0 US USD 2 usrbnd17b Bond Option for YbPort BONDOPT Call Am 19990426 912827W4 17.3 99
CUSIP DESCRIPT SECTYPE SECSUBTYPE COUP MATDATE PYVALUE CURRENCY COUNTRY CUSIP DESCRIPT SECTYPE SECSUBTYPE COUP MATDATE PYVALUE CURRENCY
usrbnd18 UK Treasury Stock BOND GILT 7 19991231 100 GBP UK usrbnd19 GILT with Partial Pay Schedule BOND GILT 6 19991231 100 GBP 65
COUNTRY DTDATE PPSCH PPSCH PPSCH TNDRPRC CUSIP DESCRIPT SECTYPE SECSUBTYP2 COUP MATDATE PYVALUE CURRENCY COUNTRY CUSIP DESCRIPT SECTYPE COUP MATDATE PYVALUE
MORTGAGE BONDS
UK 19940103 19940103 19940201 19940301 96 usrbnd20 Eurobond BOND EURO 7.625 19991231 100 GBP CDA usrbnd21 Brady Bond BRADY 8 19991231 100
25 25 46
CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE REMTRMYRS REMTRMMOS PYVALUE 66
usrbnd22 Freddie Mac Conventional PC MORT FHLMC MPFHLMC 6.25 0.5 20 1 10@100m
CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE REMTRMYRS REMTRMMOS PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE REMTRMYRS REMTRMMOS PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE REMTRMYRS REMTRMMOS PYVALUE CUSIP DESCRIPT
YbPort Reference Guide
usrbnd23 Fannie Mae Conventional SF MORT FNMA MPFNMA 8.125 0.5 20 1 98.75@100m usrbnd24 Ginnie Mae FHA/VA SF MORT GNMA MPGNMA 7.375 0.5 20 1 97.875@100m usrbnd25 Freddie Mac Gold PC MORT GOLD MPGOLD 8 0.5 20 1 101.5@125m usrbnd26 Ginnie Mae GPM 67
SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE REMTRMYRS REMTRMMOS PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE REMTRMYRS REMTRMMOS PYVALUE BALLNYRS CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE ORGTRM REMTRMYRS REMTRMMOS PYVALUE CUSIP DESCRIPT
MORT GPM MPGPM 7 0.5 20 1 102@100m usrbnd27 Balloon FHLMC MORT FHLMC MPFHLMC 6.375 0.5 20 1 98@200p 5 usrbnd28 FHA Project Pool MORT PROJ MPPROJ 6.125 0.5 40 20 1 10@100p usrbnd29 Whole Loan
68
SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE REMTRMYRS REMTRMMOS PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP SERVFEE REMTRMYRS REMTRMMOS PYVALUE DAYSTOFP LOANAGEMOS LOANAGEYRS CUSIP DESCRIPT SECTYPE COUP PYVALUE REMTRMYRS MONSTOROLL ARMINDEX COLLTYPE CUSIP DESCRIPT
MORT WHLN MPWHLN 6.50 0.5 20 1 10@100m usrbnd30 WHLN using Loan Age MORT WHLN MPWHLN 8.625 0.5 13 1 10@100m 50 11 1 usrbnd31 Adjustable-Rate Mortgages ARM 7.875 100@20c 29 12 LIB3 GNMA usrbnd32 ARM with CAPs and FLOORs
69
SECTYPE COUP PYVALUE REMTRMYRS MONSTOROLL ARMINDEX COLLTYPE INTRMCAP LIFECAP LIFEFLR LOOKBACK NETMARGIN PAYMTCAP POOLID RRSTFREQ CUSIP DESCRIPT SECTYPE SECSUBTYPE COLLTYPE COUP REMTRMYRS REMTRMMOS PYVALUE CUSIP DESCRIPT SECTYPE SECSUBTYPE COLLTYPE COUP REMTRMYRS REMTRMMOS PYVALUE
ARM 7 100@20c 29 12 LIB3 GNMA 2 10 2 45 50 7.5 xdmo 4 usrbnd33 Interest Only MSTRIP IO FNMA 6.25 20 1 10@6c usrbnd34 IO with a Percentage of Principal MSTRIP IO FNMA 8.75 20 1 10@6c
70
COLLNET PCTPRINC CUSIP DESCRIPT SECTYPE SECSUBTYPE COUP REMTRMYRS REMTRMMOS PYVALUE CUSIP DESCRIPT TCKR COUP REMTRMYRS REMTRMMOS LOANAGEMOS LOANAGEYRS SECTYPE SECSUBTYPE SECSUBTYP2 CLASS ORIGAMTA FACTORA ORIGAMTB FACTORB FACTORDT PRIORITYTYPE ARMINDEX MONSTOROLL COLLTYPE CONVERT JRSRSCHED
9.5 1.5 usrbnd35 Principal Only MSTRIP PO 7.75 20 1 82@100m usrbnd35a Jr-Sr ARM ARMJRSR 7.24 29 11 1 0 ARM ARM ARMJRSR B 100 0.57 20 0.29 19980715 principal TSY1 1 FNMA YES 19980701 100
71
80 70 60 40 30 0
CUSIP DESCRIPT COUP TCKR MATDATE SECTYPE STRNTYPE STRNSPRD STRNINDX STRNCAP STRNFLOR STRNPCAP STRNPFLR PYVALUE RDMTYPE PDSCH PDSCH PDSCH PDSCH PDSCH CUSIP DESCRIPT COUP 72
usrbnd36 Structured Note 8 STRN 20000715 STRNOTE FLOATING 50 LIB1 10 6 7 4 9 Scheduled 20000315 0.1 20000415 0.1 20000515 0.1 20000615 0.1 20000715 0.6 usrbnd36 Amortizing Structured Note 8
YbPort Reference Guide
TCKR MATDATE SECTYPE STRNTYPE STRNSPRD STRNINDX STRNCAP STRNFLOR STRNPCAP STRNPFLR PYVALUE RDMINDEX AMORTSCH AMORTSCH AMORTSCH AMORTSCH BASERATE LOCKOUT CLEANUPCALL STRNLEVR STRNPMNT PCTORIGBAL CUSIP TCKR DESCRIPT SECTYPE MATDATE PAYCRNCY RCVCRNCY STRIKE
STRN 20000715 STRNOTE FLOATING 50 LIB1 10 6 7 4 9 LIB3 100 200 300 400 4.062 19951112 5.0 1 ARR 95
73
For Structured Note user bonds, you can choose one of several available codes for certain keywords. For example, you can choose a oater index for your structured note using the STRNINDX keyword with one of the codes listed below.
STRNTYP Interest Type for Structured Notes FIXED FLOATING ANNUITY VARANNU STRNINDX Fixed Interest Type Floating Interest Type Annuity Interest Type Variable Annuity Interest Type
Floater Index for Structured Notes LIB1 LIB3 LIB6 CMS1 CMS2 CMS3 CMS5 CMS7 CMS10 CMT1 CMT2 CMT3 CMT5 CMT7 CMT10 LIBOR 1-month LIBOR 3-month LIBOR 6-month 1 Year Swap Rate 2 Year Swap Rate 3 Year Swap Rate 5 Year Swap Rate 7 Year Swap Rate 10 Year Swap Rate 1 Year Government 2 Year Government 3 Year Government 5 Year Government 7 Year Government 10 Year Government
STRNCAP STRNFLOR
Cap (%) for Structured Notes Floor (%) for Structured Notes
74
Period Cap (%) for Structured Notes Period Floor (%) for Structured Notes Spread (in basis points) for Structured Notes Leverage for Structured Notes Index Reset Timing for Structured Notes ARR ADV Set in Arrears Set in Advance
CUSIP DESCRIPT COUP TCKR MATDATE SECTYPE DTDATE CFINDEX CFCAP CFPRDCAP PAYFREQ DAYTPE
CFRESET
usrbnd38 Cap7 on LIB3 7.05 CAP7 20020929 CAPFLR 20001229 LIB3 7 0.25 4 ACT/360
ADV
CUSIP DESCRIPT COUP TCKRFLR MATDATE SECTYPE DTDATE CFINDEX CFFLOOR CFPRDFLR PAYFREQ
YbPort Reference Guide
DAYTYPE CFRESET
ACT/360 ADV
Definitions of codes shown in the examples above and additional keyword options for CAP/ FLOOR securities appear below.
CFINDEX Floater Index for Caps/Floors LIB1 LIB3 LIB6 CMS1 CMS2 CMS3 CMS5 CMS7 CMS10 CMT1 CMT2 CMT3 CMT5 CMT7 CMT10 CFCAP CFFLOOR CFPRDCAP CFPRDFLR CFRESET Cap (%) Floor (%) Period Cap (%) Period Floor (%) Payment Reset Type for Caps/Floors ARR Set in Arrears ADV Set in Advance LIBOR 1-month LIBOR 3-month LIBOR 6-month 1 Year Swap Rate 2 Year Swap Rate 3 Year Swap Rate 5 Year Swap Rate 7 Year Swap Rate 10 Year Swap Rate 1 Year Government 2 Year Government 3 Year Government 5 Year Government 7 Year Government 10 Year Government
76
DAYTYPE
The convention for counting the number of days between two dates; used for computations including accrued interest and irregular coupon payments. The syntax is (days in a month)/(days in a year), as described by the options below. 30/360 Act/Act 30 days for each month, 360 days for each year. Count calendar days between dates; accrues interest daily based on the number of calendar days in each interest period. Does not use end-of-month convention if maturity is on the last day of the month for interest payment dates. Count calendar days between dates and accrue interest daily at the annual rate divided by 360. Same as Act/360 except interest is accrued daily at the annual rate divided by 365. If the current year is a leap year, divide the annual rate by 366 (to account for Feb. 29). 30 days for each month. If maturity falls on the last day of the month, us the end-of-month convention for interest payment dates, making each interest payment on the last day of the month.
30/360 e eom Considers 31st day the nal day of the month, by Eurobond convention (for appropriate months). Act/Act eom Same as Act/Act except uses the end-of-month convention if maturity is on the last day of the month. Act/360 eom Same as Act/360 except uses the end-of-month convention if maturity is on the last day of the month so each interest payment is also on the last day of the month. Act/365 eom Counts calendar days betweeen dates and accrues interest daily at the annual rate divided by 365. Uses end-of-month convention for interest payment dates if maturity is on the last day of the month. Act/365 ly eom If the current year is a leap year, divide the annual rate by 366
77
Fix/Float
For Brady Bonds only. Uses the 30/360 convention for xed coupon bonds and the ACT/360 conventi
SWAPS
CUSIP DESCRIPT TCKR MATDATE SECTYPE PAYTYPE PAYINDEX PAYSPRD PAYCOUPON PAYFREQ PAYDAYCOUNT PAYCRNCY PAYRESET PAYISSDATE PAYCAP PAYPRDCAP PAYFLOOR PAYPRDFLR PAYFIRSTCPN RCVTYPE RCVCOUPON RCVFRQ RCVISSDATE RCVDAYCOUNT RCVCRNCY CUSIP DESCRIPT TCKR MATDATE SECTYPE 78
usrbnd40 Swap Pay Floating SWAP 20050930 SWAP FLOATING LIB3 25 7.05 4 ACT/360 USD ADV 20000930 7.25 0.25 6.5 0.25 20001230 FIXED 7 2 20000930 30/360 USD usrbnd41 SWPN 1 YR INTO 5 YR SWPN 20061103 SWAPTION
YbPort Reference Guide
OPTAMEURO OPTIONTYPE SWPNFSEXDT SWTNFINALDT SWPNNOTIFDAY NOTIFTYPE SWPNEXFREQ PAYFREQ EXERPRICE FLOATSPRD FLTINDEX COUP DAYTYPE CURRENCY CUSIP DESCRIPT TCKR MATDATE SECTYPE OPTAMEURO OPTIONTYPE SWPNFSEXDT SWTNFINALDT SWPNNOTIFDAY NOTIFTYPE SWPNEXFREQ PAYFREQ EXERPRICE FLOATSPRD FLTINDEX COUP DAYTYPE
EUR REC FIXED 20011103 20011103 2 BUSINESS 1 2 100 25 LIB3 6.5 30/360 USD usrbnd42 Bermuda Swaption SWPN 20051102 SWAPTION AM PAY FIXED 20001102 20051102 2 Actual 2 2 100 25 LIB3 6.5 30/360
79
CURRENCY CALLSCH CALLSCH CALLSCH CALLSCH CALLSCH COUPSCH COUPSCH COUPSCH COUPSCH COUPSCH
USD /* OPTION SCHEDULES FOR SWAPTIONS */ 20000929 99.75 /* STRIKE SCHEDULE */ 20010329 99.5 20010929 99.25 20020329 99 20020929 98.75 20000929 6.5 FIX /* Coup. Sched. for xed side*/ 20010329 6.5 FIX 20010929 7 FIX 20020329 7 FIX 20020929 7.5 FIX
NOTE1: A Bermuda swaption can be exercised only on coupon dates and is specied in The Yield Book by choosing AM for OPTAMEURO and setting PAYFREQ equal to the number of coupon dates per year. NOTE2: An American swaption is callable anytime, in The Yield Book the maximum exercise frequency is 12 times per year. NOTE3: Swaptions are priced in YbPort using the single volatility dened in the global swaptions matrix in pricing setup. Any PYValue is ignored if specied.
Swaps: Keyword Options
PAYCRNCY PAYTYPE
Currency for pay side Swap Leg Type for pay side FIXED FLOATING ANNUITY VARANNU Fixed Floating Fixed (Notional) Floating (Notional)
80
PAYCOUPON PAYINDEX
Coupon for pay side Index for pay side (Same values as STRNINDX) LIB1 LIB3 LIB6 CMS1 CMS2 CMS3 CMS5 CMS7 CMS10 CMT1 CMT2 CMT3 CMT5 CMT7 CMT10 LIBOR 1-month LIBOR 3-month LIBOR 6-month 1 Year Swap Rate 2 Year Swap Rate 3 Year Swap Rate 5 Year Swap Rate 7 Year Swap Rate 10 Year Swap Rate 1 Year Government 2 Year Government 3 Year Government 5 Year Government 7 Year Government 10 Year Government
PAYFREQ PAYSPRD PAYLEVERAGE PAYCAP PAYFLOOR PAYFIRSTCPN PAYISSDATE PAYPRDCAP PAYPRDFLR PAYRESET
Pay Frequency for pay side Spread (basis points) for pay side Leverage for pay side Cap (%) for pay side Floor (%) for pay side First Coupon Date for pay side Issue Date for pay side Period Cap (%) for pay side Period Floor (%) for pay side Index Reset Timing for pay side (Same as STRNPMNT) ARR ADV Set in Arrears Set in Advance
81
PAYDAYCOUNT RCVCRNCY RCVTYPE RCVCOUPON RCVINDEX RCVFRQ RCVSPRD RCVLEVERAGE RCVCAP RCVFLOOR RCVFIRSTCPN RCVISSDATE RCVPRDCAP RCVPRDFLR RCVRESET RCVDAYCOUNT RDMTYPE
Daycount for pay side (Same values as DAYTYPE on page 77) Currency for receive side Swap Leg Type for receive side (Same values as PAYTYPE) Coupon for receive side Index for receive side (Same values as PAYINDEX) Pay frequency for receive side Spread (basis points) for receive side Leverage for receive side Cap (%) for receive side Floor (%) for receive side First Coupon Date for receive side Issue Date for receive side Period Cap (%) for receive side Period Floor (%) for receive side Index Reset Timing for receive side (Same as STRNPMNT) Daycount for receive side (Same values as DAYTYPE on page 77) Redemption Type for Swaps: STANDARD SCHEDULED Standard Redemption Type for Swaps Scheduled Redemption Type for Swaps
AMORTIZING Amortizing Redemption Type for Swaps (must also specify index with RDMINDEX) INDEXED Indexed Redemption Type for Swaps (must also specify index with RDMINDEX)
PDSCH RDMINDEX
Paydown schedule for Scheduled Redemption Type (date and amount, date in YYYYMMDD) Redemption Index for Swaps. Used with RDMTYPE set to AMORTIZING or INDEXED Redemption Type. Leverage (use with RDMTYPE set to INDEXED Redemption Type)
RDMLEVERAGE
82
Spread in basis points (use with INDEXED Redemption Type) Cap (%) (use with INDEXED Redemption Type) Floor (%) (use with INDEXED Redemption Type) Amortization Schedule (Use with AMORTIZING Redemption Type) Format: Rate Change Percent (or WAL) Example 1: -200 10p Example 2: -50 3w
Base Rate (%) (AMORTIZING Redemption Type) Lock Out Date (YYYYMMDD) (AMORTIZING Redemption Type) Clean-up Call (%) (AMORTIZING Redemption Type) Percent of Original balance Factor (100% is the default)
CUSIP TCKR DESCRIPT SECTYPE SECSUBTYPE SECSUBTYP2 COUP MATDATE PYVALUE FCPDATE COUPSCH COUPSCH
PREFERRED
stream01 STREAM Cash Flows BOND STEP STEP 0 20020501 100 19970501 20000501 50 PRI 20020501 50 PRI
84
STEP 4 Click on the [Save Desktop Info] to save your selections. STEP 5 Click the [Upload] button to transfer the YbPort le from your desktop to the Yield Book server. A message will conrm that the le has been uploaded to the Yield Book Server.
NOTE: The lename entry can be no more than eight characters in length, excluding the extension. For example, the name testport.txt is a valid lename with the maximum number of allowable characters.
85
STEP 1 From Chapter3, page 5, select the <User Bond Import> toggle. STEP 2 Click on a user bond le from the right page listbox to automatically ll in the User Bond Filename entry box. STEP 3 If the le you are loading into the Yield Book should automatically replace (overwrite) output les with the same ID and lename, select the [Overwrite Existing Output Files] setting. STEP 4 Select between the <Create User Bond> and the <Do Not Create User Bond> toggles in the event that a user bond cusip matches an existing Salomon bond. STEP 5 Select between the <Update Existing User Bond> and the <Do Not Update or Create User Bond> toggles in the event that a user bond cusip matches an existing user bond. NOTE: It is recommended that you update rather than add user bonds whenever possible to conserve database space. 86
YbPort Reference Guide
STEP 6 Click on the [Process] button to process the user bond le. YbPort will display the total number of user bonds in the le as well as the number of user bonds that were successfully added. STEP 7 To print output les, select lenames from the right page listbox that start with the current user bond le name and end with _out or _rej. Then click the [Print] button. STEP 8 To simply view these les, click on the lename in the right page listbox, then on the left page, click [Edit]. See the Output Files section of this chapter for more information. STEP 9 To retrieve the newly uploaded user bonds, go to Ch. 2.2, Individual Securities; Ch. 3.2, Portfolio Denition; Ch. 3.6, Multiple Portfolio Update, or Ch. 4.2, Multiple Security Analysis in the Yield Book, enter any of the search criteria, then click [Search].
87
Output Files
When you import a le into the Yield Book using the YbPort page or a BATCH script, the Yield Book performs the following processing on the le data:
Tries to create the user bond in the database Price all user bonds Generate output les with results of processing
YbPort generates several types of output les which provide detailed information and summary statistics for portfolio and user bond les. The output les help you determine the success of your le import.
Types of Output Files
filename_out Shows the assumptions made by the Yield Book based on the entered bond denitions (Click [Print] in Ch3Pg5 to view). filename_rej Contains only the unsuccessful securities in the original input le format. After correcting the errors in this le, it can easily be reloaded. (Click [Print] in Ch3Pg5 to view.) You can download these output les to your desktop from Ch. 1.2 or analyze and modify them in The Yield Book on the YbPort page, using the [Edit] option box. An example of a portfolio output le is shown on the next page.
88
User Bond Output File Example /* File name: /home4/laurie/sbyb/data/ybport/userbnds_out */ /* ybport run initiated on Thu Mar 2 15:47:05 1995 */ ****************************************************************************** ****************************************************************************** Cusip UB16A: ASSUMING SECSUBTYP2 GILT padded with 3 trailing blanks. CUSIP UB16A updated successfully. Cusip UB35A: unknown keyword ISSDATE CUSIP UB35A cannot be processed. Cusip UB36A: ASSUMING SECSUBTYPE CFLOAT ASSUMING SECSUBTYP2 CFLOAT padded with 3 trailing blanks. CUSIP UB36A updated successfully. Cusip UB42A: ASSUMING SECSUBTYP2 PRORATA padded with 3 trailing blanks. CUSIP UB42A updated successfully. Cusip UB55A: padded with 3 trailing blanks. CUSIP UB55A updated successfully. Cusip UB6A: ASSUMING SECSUBTYPE BOND padded with 4 trailing blanks. ISSAMT set to total SINKSCH amount CUSIP UB6A updated successfully.
89
Cusip UB9A: ASSUMING SECSUBTYPE BOND ASSUMING SECSUBTYP2 BOND padded with 4 trailing blanks. CUSIP UB9A updated successfully. ****************************************************************************** ****************************************************************************** Out of 7 bonds, 6 processed successfully. /* ybport run finished on Thu Mar 2 15:47:16 1995 */ ******************************************************************************
90
Using BATCH
91
Using BATCH
Automate YbPort
Automate YbPort
You can automate the upload and processing operations of the Yield Books YbPort pages using a BATCH script. This is especially useful when you have large portfolios that take a long time to price and process. By scheduling the BATCH script to run overnight, the portfolio can be uploaded and processed during off-hours. There is also a BATCH command to schedule the actual execution time of your script. This feature helps you synchronize the uploading of your portfolio le with some other process running on your desktop that creates the le. This will be further described in subsequent pages of this chapter.
92
BATCH Commands
Using BATCH
BATCH Commands
There are three BATCH commands you can use to automate uploading and processing of YbPort les, dened briey below: UPLOAD Performs the FTP transfer of your YbPort le from the desktop to the Yield Book. Parameters of this command determine the location of the le and the IP address of your local desktop. This command must precede the YBPORT command.
DELAYUPLOAD The parameter to this command is a time delay, enabling you to determine when the le upload takes place. Use this command in place of the UPLOAD command when you want to synchronize an upload with another program on your desktop. If this command is used instead of UPLOAD, this command must precede the YBPORT command. YBPORT Moves an uploaded le from temporary memory into the database. This command will also perform all pricing and processing on the YbPort le and will generate output les reporting the results. This command must follow either the UPLOAD or DELAYUPLOAD commands.
More complete descriptions of these three commands and examples of how to use them appear on following pages.
93
Using BATCH
Upload
Upload
Description
Transfers a YBPort le, user variable le or scenario le from the desktop to the Yield Book. After uploading the le, additional commands (e.g. YBPort) must be used to process or use the data in the le.
Syntax
Upload YBPORT|UVAR|SCENARIO hostname login_id password path filename
Parameters
YBPORT|UVAR|SCENARIO Species the type of le to upload: YBPORT = Upload a YBPort le UVAR = Upload a user variable le SCENARIO = Upload a scenario le hostname login_id password path filename The name of the source machine where the le currently resides The FTP login ID for the source machine The FTP password for the source machine The path on the source machine to where the le resides The name of the le to be uploaded
Notes
If the Upload command is unsuccessful for any reason (for example, if the password is invalid or if FTP fails), the BATCH script will continue execution of subsequent commands. This differs from the operation of the DelayUpload command, which, if unsuccessful, will cause the BATCH script to fail immediately. The YBPort command should be used after the Upload command to process the uploaded le.
94
DelayUpload
Using BATCH
DelayUpload
Description
Schedules an upload to take place at a specied number of minutes past midnight. This command should be used for overnight BATCH processing when the data to be used by the BATCH script will not be available until a certain time after midnight (for example, if portfolio data is generated by another program, delay the upload until that time using this command). Use DelayUpload instead of the Upload command under these conditions. The Yield Book shuts down at 10 p.m. each night to start overnight pricing. When pricing completes (around 2 a.m.), the Yield Book starts up again and begins overnight BATCH processing. The parameter n, which species the delay in minutes, should be greater than 120.
Syntax
DelayUpload YBPORT|UVAR hostname login_id password path filename n
Parameters
YBPORT|UVAR Species the type of upload: YBPORT = Upload a YBPort le. Use this parameter to upload portfolio and user bond les. UVAR = Upload a user variable le hostname login_id password path filename The name of the source machine where the le currently resides The FTP login ID for the source machine THe FTP password for the source machine The path on the source machine to where the le resides The name of the le to be uploaded Species the number of minutes past midnight to delay the upload (should be greater than 120, see Notes).
Notes
If the DelayUpload command is unsuccessful (for example, if the ID or password is invalid), the BATCH script will fail immediately and no additional commands will be executed.
95
Using BATCH
DelayUpload
Since BATCH processing is not started until around 2 a.m., the parameter n should be greater than 120 minutes. A maximum of one BATCH script per license may be scheduled for overnight processing on any night.
96
YBPort
Using BATCH
YBPort
Description
Processes a previously uploaded le. The le may be a portfolio or user bond ([USER] parameter) le. In the case of a portfolio le, YBPort will create and automatically price the portfolio. As a result, two les are created to log success or failure in matching the portfolio issues with database issues and to report the results of pricing. See Notes for more information on these les. In the case of a user bond le, YBPort will create or update user bonds from a previously uploaded le. This command should be preceded by the Upload command, which transfers a le from the desktop to the Yield Book. See Notes for more information about le processing. The YBPort command must be preceded in the BATCH script by the Upload command. The Upload command transfers les from the desktop into the Yield Book.
Syntax
YBPort name [USER] [UPDATEUSER] [OLDASOFDT] [MRASOFDT] [UPDATE] [GLOBAL] [MAP]
Parameters
name [USER] [UPDATEUSER] [OLDASOFDT] [MRASOFDT] [UPDATE] [GLOBAL] [MAP] Specify the name of a YBPort le or a User bond le. Indicates that the le name is a user bond le. If a User Bond cusip matches an existing User Bond, update the existing bond. This parameter is used only with the [USER] parameter. Delete existing portfolio with the oldest As Of date. Delete existing portfolio with the most recent As Of date. Update composites. Use Global settlement dates. Use a generic mortgage to price mortgage pools.
97
Using BATCH
YBPort
Notes
When the YBPort command is executed for portfolio les, all issues in the le specied by the name parameter are automatically priced and two les are created in addition to the actual portfolio. The rst le (filename_rej) contains issues in the portfolio name with cusips that could not be added to the portfolio (due either to a pricing problems or the bond not being found in the database). The second le (filename_out) lists all cusips with any corresponding per-issue error codes encountered during pricing. The [CREATEUSER] and [UPDATEUSER] parameters are used only with the [USER] parameter. They refer only to user bond les and are not valid parameters for portfolio les.
98
Examples
Using BATCH
Examples
1) In this example, we will update a portfolio using an update file with a BATCH script. The original portfolio and the updated portfolio will also be compared in a report generated by the script. If you use the update file from example 2) UPDATE WITH TRANSACTION ENTRY on page 42, the BATCH script will have the same result as shown in the illustration on page 43. You can see these results in a comparison report, generated by the script. The script is illustrated below (from Ch.4, Pg.5 of the Yield Book).
99
Using BATCH
Examples
2)In this example, a user bond file called MyUser is uploaded, then processed by the YBPort command. Then a report package is generated using the updated user bonds and downloaded to the desktop. Upload YBPort RptPkg YBPORT MyHost Login_id passwd ~ MyUser MyUser USER UPDATEUSER MyIndex MyHost Login_id passwd ~ NewUser ! PRES DOS YIELDCURVE
3)This example uploads a YBPort portfolio file from the desktop into the Yield Book, then processes the file using the YBPort command. The YBPort command will try to match all cusips in the portfolio file against the database cusips and will try to price each corresponding issue. Cusips of non-matching issues or of issues which failed to price will be recorded in a file named with the extension _rej (in this example, ybports_rej). The error codes generated per-issue during pricing are saved to a file named with the extension _out (in this example ybports_out). After the YBPort command completes all processing, the DownloadFile command is used to transfer the _out and _rej files for the ybport file to the desktop. Upload YBPort DownloadFile DownloadFile YBPORT MyHost login passwd ~ ybports.dat ybports.dat OLDASOFDT UPDATE GLOBAL ybports_out MyHost login passwd ~ ybport_out ybports_rej MyHost login passwd ~ ybport_rej
4)Here, the DelayUpload command is used to upload a YBPort file from the desktop into the Yield Book four hours after midnight, then processes the file and retrieves the portfolio Price. A pricing is then performed calculating OAS on the CMOs and the ARMs using 100 percent of the prepay MODEL. Results are then saved in a price file and a report package is generated and downloaded to the desktop. DelayUpload YBPort GetPort YBPORT MyHost login passwd ~ ybport.dat 240 ybport.dat GLOBAL MyPrc
100
Examples
Using BATCH
PRICE CMOOAS UPDATEINDIC GLOBALSETTLE PREPAY MODEL 100 daily PRIORDAY daily pricing ovnite MyHost login passwd ~ PrcRpt DRAFT DOS
101
Using BATCH
Examples
102
Index
A Automate YbPort 92 automobile loan pass-through user bonds 63 available database choices 20 B batch DelayUpload command 95 script examples 99 Upload 94 YBPort command 97 BATCH, using with YbPort 92 C cap/oor bonds 75 cap/oor user bonds 75 corporate user bonds 59 CUSIP keyword 54 D database source identier 19 DelayUpload, BATCH command 95 E examples, using BATCH 99 F xed principal paydown user bonds 62 I international user bonds 65 Intro how YbPort works 9 what is YbPort 8 K keywords CUSIP 54 required 54 M Maintaining Portfolios 36 mortgage user bonds 66 O output les 32 P portfolio le, user comments 17 portfolio les creating 16 dening issues 18 header format 16, 17 output les 32 separator 17 uploading 26 pricing assumptions, issue defaults 22 R Required Keywords 54 S stream user bonds 83 STRNPMNT 75 structured note user bonds 72 swap bonds 78 swap user bonds 78 T treasury/agency user bonds 63 U Update Files 37 update les creating 39 examples 39 format 37 modications 38 transactions 38 Upload, BATCH command 94 uploading portfolio les 26 user bond examples 59 user bond les creating 54 guidelines 58 output les 88 processing 86 required keywords 54 uploading 85 user bonds 75, 78, 83 automobile loan pass-through 63 corporate 59 xed principal paydown 62 international 65 mortgage bonds 66
Index
104