Fixed Income Reference Guide
Fixed Income Calculations
Calculated vs. Stored Information
Fields on reports and data queries in Orion can be either a straightforward listing of a stored value or a value calculated for the report at the time of generation. Some examples of stored values are NAV price, units, and cost (basis) of a position. Examples of values calculated at the time of report generation would include yield, yield to maturity (including YTM- cost, worst, etc), position value, duration, and various weighted averages. It is important to understand which values are generated at the time of report creation and which are pulled directly from your database so that, if changes are needed, you can understand which data-point is impacting your numbers.
Stored Stats on Reports
As mentioned above, if there are issues with the following numbers on reports, they can usually be affected directly by editing the assets or transactions in the Portfolio Audit app, or by editing features of the products, such as the pricing or asset class, in the Products and Prices app.
- Price (or "NAV Price")- This column is pulled from the pricing hierarchy of the asset. Depending on which price source is being used, it can either be updated directly by the advisor in the Products and Prices app, or it will need to be updated by a member of the Products and Prices team if the asset uses global or default pricing. More information about Price Hierarchy can be found here.
- Units (or "quantity")- This column pulls directly from the number of units found in the asset. This can be viewed and affected in the Portfolio Audit app, looking directly at the asset in question. Usually, changes to units will come in the form of transactions that change the total units in the asset.
Cost ( or "Cost Basis")- This column is pulled directly from the cost basis tables for the asset in question. This may be custodian stored cost basis, received in a feed from a custodian, or Orion stored or calculated cost basis. We have a dedicated Cost Basis team that can help directly with more questions on that front.
Calculated Stats on Reports
Any issues found with the following list of numbers, stats or values may take a bit more understanding to correct, as they are derived at the time that the report is run via calculations happening in the background. To correct issues, it may be necessary to update the stats from which the values are derived indirectly and this list is designed to help identify that. Another possibility is that the data is correct, but that there are settings on the report which are not set correctly for your needs. Orion Connect is a complicated system designed to facilitate reporting and reconciling many different styles of firms and clients, so the report defaults are often not exactly the way you might want at first. I will address this later in the article.
- Accrued Interest- Accrued interest is expressed in our system as Principal * Coupon-Rate * Day-factor. Day-factor is heavily dependent on the day-count method (which is dealt with more below), but, essentially, our system will figure out how many days are in a year for the given asset, divide the interest accrual into single days, then report the single day accrual multiplied by the number of days since the last payment before the "as of" date of the report. An example: If the day count method of a bond is 30/360, this means that there are only 360 days in the year, as far as this bond is concerned. If the coupon on the bond is 5% and there are 100,000 shares of the bond, then the annual income of the bond is $5,000. If we divide that by 360 ("30/360" means 360 days in the year, right?) we get $13.888 repeating for the daily interest accrual. If the bond pays monthly on the 5th and we are running the report for the 10th, we have 5 days of accrual or $69.44 of accrued interest. Obviously, the system doesn't walk through these steps manually, but this gets at the gist of the calculation that the day-factor is achieving.
- Yield to Maturity- The Yield to Maturity (or "YTM") calculation that we use by default is expressed in the next (Behind the Scenes Data Considerations) section. Variations of this formula are affected using different values for these factors. For example:
- Yield to Maturity Market- is generated using the market price on the as of date of the report (or end date of the reporting period) for the "p" value in the formula. It also uses the maturity date of the bond to figure out the number of periods ("n"). This is the default calculation referred to when discussing "YTM" or "Yield to Maturity".
- YTM-Cost- is generated using the position's cost price (see below) instead for "p".
- Pre-refunded- is generated using the pre-refunded date of the bond, if there is one, to calculate the number of periods ("n"). Otherwise, it defaults to the maturity date.
- Next Call- like the pre-refunded option, this option allows the usage of the call dates to determine the number of periods ("n") if applicable.
- Worst- YTM-worst reports the worst (or lowest) of all of the possible YTM's above. So, if a bond has a pre-refunded date, cost basis information, and bond calls loaded into the system, "YTM-Worst" will return the worst of these and the basic YTM calculation.
- Duration- for duration, we use the Macaulay Duration formula. If there are no payments until maturity, we use the Modified Macaulay Duration formula.
- Annual Income Rate- For dividend producing securities, Orion Connect will use the dividend rate information attached at the global product level according to your report settings to generate an annual, per-share income amount. This number is then multiplied by units to arrive at the estimated annual income or used in conjunction with the current price to arrive at the current yield. For bonds, the annual income rate is usually the coupon.
- Current Yield- Current yield is a very simple calculation in the Orion system in most circumstances and is calculated as follows: Estimated Annual Income / Ending Market Value
- Estimated Income- Estimated income is the annual income rate multiplied by the units in the account.
- Yield on Cost- Is the same as current yield, except that it uses the cost price instead of the as of price of the security for the day for which the report was run
Cost Price- Is calculated by taking the cost basis value of the position, divided by the number of units at the inception of the position.
Behind the Scenes Data Considerations-
- Day Count Method- this information is stored at the product level as part of the bond rate information, along with the issuing date, maturity date, coupon rate, and so on. We support a variety of day-count methods, including 30/360, actual/ actual, and actual/365.
- Yield to Maturity Formula- 0= p - c*(1- (1+ y * f/12)^-n) / y - m / (1 + y *f/12)^n , where:
- p= price
- c= coupon rate
- y=YTM. This is the value that you are solving for, in most situations.
- n=number of periods
- m=Maturity price
f=payment frequency
Report Settings which Impact Fixed Income-
Report sections, sub-reports (in Report Builder 2), and tags (in Report Builder 3) come with report parameters "baked in." For example, if you include a sub-report in your report for Yield to Maturity, the report knows that Bonds are involved and will include options in the parameters section of the report for managing bonds. This section will list out the parameters sections that are relevant to this article and provide a brief explanation for each associated report setting.
"Additional Options" Parameters
- Annual Dividend Rate Method- this setting determines how Orion arrives at the Annual Income Rate*, a value crucial for calculating yield and estimated income. The options allow you to total the last twelve months' dividend rates, take the last one times the yearly frequency or use the IDSI reported number.
- Break Out Accrued Interest- Determines whether the report shows accrued interest as a separate column or as part of the value of the position
"Bonds" Parameters
- Expected Income Years into the Future- For how many years should the report predict estimated income?
- Include Accrued Interest- determines whether accrued interest should be included when displaying the value of a position
- Yield Calc Method (1 and 2)- allows columns to be set to display whichever YTM calculations you wish in these two columns
- Zero Yield on Zero-Coupon Bonds- Overrides the yield values for 0.00% coupon bonds with a 0.00 value
- Modified Duration Market Date- determines the date used for the modified duration calculation
- Use Maturity Date- allows an override to use maturity dates for bond calculations
- Include Amortization for Bonds- determines which cost basis table (amortized or un-amortized) is used for the cost value of a bond in situations where we are receiving multiple tables from the Custodian
- Prorate Income to Maturity- determines whether Orion should show (and use for calculations) the income of a bond that matures in the coming year as prorated according to its maturity or not
"Fixed Income Summary" Parameters
Show Average Moody's (or S&P) Rating- toggles this column on or off
Additional Resources
- If you have questions about these settings and calculations, contact a member of the SME Products and Prices team via the Contact Us link at the top of any Orion Connect page or submit a case via the Support app.