Introduction

BondManager is a set of tools built on a common database that allows you to manage your bond holdings, analyze bond issues, and compare how interest rate changes affect bond issues and your portfolio of bond positions.  Following is a brief introduction to the capabilities of this Pocket-PC application software, starting with an overview of the main menus.

 

BondManager is not a document-centric application, which means upon invocation all you’ll see is the menu and a blank screen.  Switcher and similar utilities typically only include applications with open document windows in their list of running applications - the blank window gives Switcher something to find.  If you don’t have Switcher or it’s equivalent, a tray icon will be available whenever BondManager is not the front most application.

The Menus

When you first open BondManager, you’ll see the menu at right. 

File Menu

BondManager uses a database to store bond definitions and portfolio positions that you create while using it.  All bond definitions and portfolio positions created are immediately committed to the database, so there’s no need to save at the end of a session.  Just quit.

Open Database

Given the personal nature of Pocket-PCs, BondManager assumes that there is only one user and one database - it opens a database in a default directory upon invocation so you can get right to work. The only time you’ll need to use Open Database is after you have previously closed the database.  This menu item is only enabled when the database is currently closed.

Close Database

If you can’t choose database directories, you might ask why include Open Database and Close Database at all?  The answer is that ActiveSync won’t sync open files and an open database will probably have several files open.  Therefore, if you ever want your database backed up, you can use Close Database to close it manually and then reopen it after ActiveSync has finished.  This menu item is only enabled when the database is currently open.

Edit Menu

The Edit menu is the entry point for creating and subsequently modifying bond definitions and positions based on those definitions.  Bonds are the only asset type supported.  It also provides the entry point to the BondManager’s two preferences dialogs.  All Edit menu items are always enabled.

Bonds

The Bond Definition Dialog is a structured view of the data that defines a stock to the tools in BondManager, including its market price, par value, inception date, maturity date, annual coupon rate, number of coupons per year, and which day counting method to use.

Positions

The Positions dialog is your entry point for creating a position in a option or stock issue.  It captures the purchase date, number of units in the position, and the cost of the position.  It also captures a ‘Note’ field, allowing you to annotate a transaction number or a source of cash for the transaction, etc.

 

It also displays any positions previously created for the specified option or stock issue, including purchase date, number of shares or options, the original cost of the position, its current market value, the capital gain (loss), any coupon income that would have been generated since the purchase date, the net gain (capital gain plus income), the annualized yield that the net gain represents, and any note you may have entered when you created the position.

Position List Options

If you read the previous section on the Positions dialog, you can see that there are quite a few columns of data computed for each position.  To manage that complexity within the confines of a small screen, each of the columns in the Positions dialog’s list of defined positions can be made invisible by un-checking the associated check box in the Position List Options dialog.  The left column of preferences affects the display of columns in the Positions dialog while the right column of preferences affects the display of columns in the Portfolio Navigator.

Confirmation Options

The Confirmation Options Dialog controls behaviors spanning various dialogs.  Two preferences affect behavior within the bond definition dialog, two affect behaviors within the Bond Analyzer dialog, two affect behaviors within the Positions dialog.

 

 

Tools Menu

The Tools menu assembles a variety of tools in one place to accomplish a variety of tasks.  One is analytical, one is graphical, and two report the current state of your portfolio – one hierarchically, the other as a plain text transcript.  Following is a brief introduction to each.

Bond Analyzer

The primary purpose of the Bond Analyzer is to report current yield, yield to maturity, Macaulay duration, modified duration, convexity, and imputed market value under various market yield conditions (which you control by setting DeltaYTM).  Bond Analyzer also separates the contribution of coupons and par, allowing you to window into each contribution to value under the What-if conditions defined by your DeltaYTM setting.  The Bond Analyzer menu item will be disabled if there are no bonds are defined in the database.

Rate Sensitivity Explorer

The Rate Sensitivity Explorer provides a graphical view of how the value of bonds and your portfolio of bonds are affected by interest rate changes.  This menu item is disabled when there are no bonds defined in the database.

Portfolio Navigator

The Portfolio Navigator presents your current portfolio positions in a hierarchical explorer-like navigator, allowing you to drill down to the positions level within a particular bond, or abstract upwards in the tree until all you can see are column totals for the entire portfolio.  Subtotals are provided at each level in the tree, i.e. the instrument level (all bonds in your portfolio), the issue level (particular bond issues), and the position level (issues you have a stake in).  Background colors distinguish between row types to manage display complexity.[1]  This menu item is disabled when there are no positions in the database.

Positions Transcripts

The Positions Transcripts dialog produces a detailed text transcript of all positions closed in a given year or currently open.  It’s the textual equivalent of a position level Portfolio Navigator display.  It allows you to save the contents of the transcript to a file, thus providing convenient tax time documentation.  This menu item is only enabled when there are positions in the database.

 

Help Menu

The Help Menu currently contains only ‘About box’ information about BondManager.

 

Common Behaviors

This section covers various considerations common across tools in BondManager, including the precision with which numbers are stored, slight variations from the Windows’ standard behavior for combo-boxes, and an overview of database behavior, and of the bond definition dialog.

Floating Point Precision in the Database

Many of the edit boxes you’ll encounter in BondManager dialogs await and/or display a numerical value.  Most of these values are stored with floating point precision (23 magnitude bits in the mantissa and 7 magnitude bits in the exponent), producing the equivalent of 6.9 significant decimal digits.  Examples of this level of floating point precision include interest rates, coupon amounts, and market prices.

 

Number of bonds in a position and the total cost of a position are all stored with double precision (52 magnitude bits in the mantissa and 10 magnitude bits in the exponent), producing the equivalent of 15.6 significant decimal digits.  When either of these floating point representations is retrieved from the database and presented in a dialog control, it may be formatted with a fixed number of fractional digits, potentially truncating presentation of some of the significant digits.  Be assured that the originally entered precision has not been truncated in the database, they’re just not being displayed.

Combo-box variations

In the interest of minimizing pen taps, BondManager combo-boxes operate slightly differently from the Windows standard.  Suppose you’re using the drop-down portion of the combo-box and something in it is currently selected.  If you tap somewhere in the dialog outside the drop-down box in a standard Windows application, it cancels the selection.  By contrast, BondManager accepts the selection.

Bond Definitions

It is useful to note that once saved, a bond definition will be retained in the database forever, so it behooves you to limit the number of definitions you create to those that are actually meaningful.  The storage occupied by a bond definition is quite small, but BondManager thinks that each definition is equally significant, so the identifiers for any junk definitions that may creep in will take up rows in the drop-down box when you’re trying to locate a definition later.

 

The bond definition dialog has an edit box for the bond’s unique identifier, its current market price, one labeled ‘Description’ whose contents serve no other purpose than confirming that you’ve recalled the definition you thought the identifier represented. 

Identifier

Any string of characters will suffice as the identifier - however, using the generally accepted identifier can eliminate confusion later when you can’t remember what you meant by ‘Ford’, which could represent hundreds of distinct ‘Ford’ bond issues.

 

The database locates bond definitions using the identifier you provide in the control located in the top left area of the dialog.  This control is a combo-box, which means it has both edit and drop-down capabilities.  You can recall instrument definitions by selecting an identifier from the drop-down box, or by a combination of ‘typing’ and scrolling.  It supports auto-completion, so the ‘typing’ required on recall is minimal.  Whatever capitalization is used when the instrument definition is first saved, defines the identifier’s capitalization forever more, but when you look up an identifier later, capitalization is ignored – it’s used for presentation only.

Using the commonly accepted bond identifier

You can use any arbitrary identifier in a bond definition, but it’s wise to use the commonly accepted identifier, if for no other reason than it helps minimize ambiguity later.

Saving an Instrument Definition

Suppose that you haven’t modified the default values of the confirmation options and have just defined an instrument with the identifier ‘Ford Mtr Co Del’.   When you click the OK button in the upper right hand corner of the dialog, a confirmation dialog like the one at left will be displayed.  Screen space on the PocketPC is precious and many of the dialogs are packed with controls, so bond definition dialog posts a small confirmation dialog, asking you to confirm or cancel saving the changes you’ve made to the definition as a substitute for explicitly including a Cancel button.  When you initially define a bond, it may seem superfluous to ask if you really meant to save the definition, but later when you’re editing a preexisting definition, the opportunity to cancel the save will prove more useful.

Confirmation Options

If you’d rather opt out of confirmations like these, you can use the Confirmation Options dialog to uncheck the preference labeled ‘Definition dialogs – close’.  When this preference is unchecked, subsequent close events in any of the three instrument definition dialogs will simply update the database without asking permission.

 

If you’ve already detoured through the Confirmation Options, you may have noticed a preference labeled ‘Definition dialogs – change symbol’.  This preference operates similar to ‘Definition dialogs – close’, but is triggered by changing the value of the bond identifier (symbol) while one or more of the remaining dialog controls contains a value different from the associated value in the database.  Naturally, if confirmation is enabled and you’ve never saved a bond definition with that identifier before, then a confirmation dialog will post no matter what state the controls are in.

 



[1] Options for column display in the Portfolio Navigator are set in the right hand column of Portfolio Navigator preferences in the Positions List Options dialog.