1 Inputs

1.1 Bonds

The bond information table contains general information about each issue.

1.2 Yields

Information about current bond yields. This information attempts to facilitate how the bond is priced compared to the current market yield curve by extrapolation. LY Premium1, for example, is calculated by comparing the yield on the bond with the yield returned by plugging the bond’s maturity into the market yield curve entered in the yield curve table.

1.3 Maturities

Desired portfolio percentage for various timeframes. The time brackets (tenors) are user customizable.

1.4 Bond Types

Desired portfolio percentage for each bond type.

1.5 Quality

Desired portfolio percentage for each credit tier2:

2 Output

2.1 Calculations

The bonds.port.calculations.f function possesses an extremely comprehensive and dynamic algorithm to assist its user in fixed income portfolio management. The function produces a wide selection of outputs and provides information on both the individual bonds in the portfolio, and the overall portfolio. The function allows users to perform sensitivity analysis on the portfolio by adding and taking away bonds from the portfolio to analyze the overall effect. The function is dynamic and allows the option to input more variables above what is required to further enhance the analysis generated with just the required inputs. The function will also automatically adjust its output matrix to any changes made, whether it be by adding more bonds to the portfolio or adding an optional input.

2.1.1 Purchase Information

This section contains the purchase information for the issue.

2.1.2 Current Valuation

This section contains several computed columns that contain information about the various financial properties of the bond and the portfolio. There is some magic in the computation of the “Fair YTM”. This column attempts to indicate how the bond is priced compared to the current market yield curve by extrapolation. We need the current market yield curve data for this field to be meaningful.

2.1.3 Bond Risk Analysis

This section contains a few risk analytics that show modified duration, bond risk, and bond sensitivity. Together, these metrics can be used to gauge the portfolio’s sensitivity to changes in interest rates. In particular, the bond risk field attempts to estimate the change in market value in each bond and the portfolio overall that would likely result from a \(100\) basis point (\(1\%\)) change in interest rates.

Interest rate sensitivity (bond risk) is determined by \(dP=(MDuration)\times(dy)-0.5\times convexity \times (dy)^2\). This takes into account the overstatement of sensitivity in modified duration (straight line estimate of relationship) by removing the excess in duration that is caused by the convexity of a best fit parabola fitted to the bond’s yield curve.

Finally, the Modified Duration and Bond Sensitivity fields are used to give an indication of what might happen to the value of each holding and the portfolio overall as interest rates change.

2.2 Cash Flows

This table shows the monthly and quarterly cash flows that the portfolio will provide. After tax cash flows from each bond are reduced based on the tax rate that applies to the bond’s type. Tax rates are taken from the types table.

2.3 Bond Types

This table displays the amount of the portfolio that’s in each type of Bond and also shows the current portfolio yield by bond type. Average yield, duration, and credit quality per bond type are also displayed.

2.4 Credit Quality

Breaks down portfolio value by credit quality and shows yields for each credit tier. Cumulative percent in the percent of the portfolio that has a credit rating as good or better than the rating for the given row.

2.5 Maturities

This table displays the amount of the portfolio that will be maturing in various timeframes. Also, for all the bonds maturing within a given time bracket, average yield and credit quality are computed.


  1. The yield premium that this bond offers compared to similar maturity bond based on market yield curve↩︎

  2. index moody sp tier description
    1 FDIC FDIC 1 FDIC Insured Issue
    2 Aaa AAA 1 Prime. Maximum Safety
    3 Aa1 AA+ 2 High Grade. High Quality
    4 Aa2 AA 2 High Grade. High Quality
    5 Aa3 AA- 2 High Grade. High Quality
    6 A1 A+ 3 Upper Medium Grade
    7 A2 A 3 Upper Medium Grade
    8 A3 A- 3 Upper Medium Grade
    9 Baa1 BBB+ 4 Lower Medium Grade
    10 Baa2 BBB 4 Lower Medium Grade
    11 Baa3 BBB- 4 Lower Medium Grade
    12 Ba1 BB+ 5 Non Investment Grade
    13 Ba2 BB 5 Speculative
    14 Ba3 BB- 5 Speculative
    15 B1 B+ 6 Highly Speculative
    16 B2 B 6 Highly Speculative
    17 B3 B- 6 Highly Speculative
    18 Caa CCC+ 7 Substantial Risk
    19 Caa1 CCC 7 In Poor Standing
    20 Caa2 CCC- 7 In Poor Standing
    21 Ca CC 7 Extremely Speculative
    22 C C 7 May be in Default
    23 NR NR 8 Unknown rating or unrated bond
    ↩︎