---
title: "ACCT 101, Session 8: Long Term Liabilities"
author: 
  - name: Dr. Richard M. Crowley
    email: rcrowley@smu.edu.sg
    affiliation: https://rmc.link/
title-slide-attributes:
  data-background-video: "../Backgrounds/title.mp4"
  data-background-video-loop: "true"
  data-background-size: stretch
format:
  revealjs:
    theme: default
    css: quarto_white.css
    navigation-mode: vertical
    controls: true
    transition: slide
    background-transition: fade
    transition-speed: default
    width: 1536
    height: 864
    logo: ../Logos/logo2.png
    code-link: true
    code-line-numbers: false
    chalkboard:
      theme: whiteboard
    auto-stretch: false
revealjs-plugins:
  - attribution
execute:
  echo: true
  warning: false
  message: false
editor: source
---

# Front matter {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}


<!--# Note that the downlit and xml2 pacakges are required to compile -->
<!--# Installed extensions include `attribution`, `qrcode`, and `material-icons` -->

```{r helpers, echo=FALSE, warning=FALSE, message=F}
library(knitr)
library(kableExtra)

#' Pretty formatted HTML tables
#' 
#' @param df The dataframe to format as a table
#' @param names Names to use for columns if not using the df column names. Vector
#' @param highlight_cols Columns to highlight. Default is c(1) for highlighting the first row. Use c() to remove.
#' @param highlight_rows Rows to highlight. Default is c() to not highlight any rows.
#' @param color_rows Rows to highlight in color. Default is c() to not highlight any rows.
#' @param highlight_end_rows Rows to highlight. Uses a reverse indexing where 1 is the last row, 2 is second to last, etc.
#' @param full Use to span the full width of a slide. FALSE by default.
#' @param fixed_header Whether the first row should be treated as a header row. TRUE by default.
html_df <- function(df, names=NULL, highlight_cols=c(1), highlight_rows=c(), color_rows=c(), highlight_end_rows=c(), full=F, fixed_header=T) {
  if(!length(names)) {
    names=colnames(df)
  }
  kbl(df,"html", col.names = names, align = c("l",rep('c',length(cols)-1))) %>%
    kable_paper(c("striped","hover"), full_width=full, fixed_thead=F, html_font = "\"Source Sans Pro\", Helvetica, sans-serif") %>%
    {if(length(highlight_cols)) column_spec(., highlight_cols,bold=T, background = "#ffffff99") else .} %>%
    {if(length(highlight_rows)) row_spec(., highlight_rows,bold=T, background = "#ffffff99") else .} %>%
    {if(length(color_rows)) row_spec(., color_rows,bold=T, background = "#aaaaff99") else .} %>%
    {if(length(highlight_end_rows)) row_spec(., nrow(df) + 1 - highlight_end_rows,bold=T, background = "#ffffff99") else .}
}

library(tidyverse)
```

<!--# List packages here that are not being correctly highlighted -->
<!--# The usual cause is calling the library from a echo=FALSE cell -->

```{r}
#| include: false
options(downlit.attached = c("knitr", "kableExtra", "tidyverse"))
```

<!-- "reveal_plugins:..." and "chalkboard:" are handled by prep.py -->
```{r setup, include=FALSE}
library(reticulate)  # To use python in R Markdown
# Python to use is specified in the .Renviron file
```

## Quiz 2 {data-background="../Backgrounds/studying.jpg"}

- Covers everything since Quiz 1
    - Inventory
    - PP&E
    - Intangibles
    - Liabilities
    - Bonds
- For calculations, the level of rounding will be specified
- Same format as Quiz 1
    - Practice quiz and additional practice are on eLearn


## Learning objectives {data-background="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}
![](../Course_Diagrams/ACCT_101_course_map_8.png){width="480px" fig-align="center"}
:::

::: {.column width="50%"}

Liabilities (Chapter 9)

1. Account for bonds at par
2. Account for bonds not at par
3. Account for bond buybacks


:::

::::










# Bonds {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## What is a bond? {data-background="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

- An interest bearing note payable
- Issued by a company in a manner similar to stock
    - Often to investors (like stock)
    - Trades on an exchange daily (like stock)
    - Does not offer ownership
        - For the simpler bonds we'll cover in this course
- Usually due in 5 or 10 years, frequently longer
- Interest is usually paid every 6 months

:::

::: {.column width="50%"}

![](../Figures/Bond.jpg){width="600px" fig-align="center"}

:::

::::


## Types of bonds {data-background="../Backgrounds/default.jpg"}
- Backing
    - Secured bonds: Backed by assets such as real estate (mortgage bonds) or other assets (collateral trust bonds)
    - *Unsecured bonds*: No asset backing; also called debentures
- Principal Payments
    - *Term Bonds*: Mature on a single date
    - Serial bonds: Pay off principal in installments
- Other features
    - Convertible bonds can be converted into common stock at the creditor's request
    - Callable bonds can be paid early at a stated amount prior to maturity at the debtor's request

> You only need to price **unsecured term bonds** in this course

## Bond characteristics {data-background="../Backgrounds/default.jpg"}
- From the bond holder's perspective
    - Higher precedence than stock during bankruptcy
    - No voting rights
    - No ownership
- From the bond issuer's perspective
    - Interest payments are tax deductible
    - Guaranteed cash outflows
    - Raises funds without giving up ownership
    
## Life of a bond {data-background="../Backgrounds/reference.jpg"}

![](../Diagrams/Bond.png){width="800px" fig-align="center"}

## Bond terms {data-background="../Backgrounds/reference.jpg"}

- Term: length of time of the bond
- Maturity date: when the bond is due
- Par value: The amount the bond will pay at maturity
    - Aka: principal amount, maturity value, face value
- Coupon rate: Yearly % of interest paid
    - Aka: Stated interest rate, nominal rate
- Yield: Yearly percent return if you purchase the bond today
    - This was our discount rate last week
    - Aka: Market interest rate, effective interest rate
- Price: % of par value you need to pay to purchase
    - $100 \Rightarrow$ Full price, "At par"
    - $<100 \Rightarrow$ Discount
    - $>100 \Rightarrow$ Premium

## Bond quote terms {data-background="../Backgrounds/reference.jpg"}

- CUSIP: Unique identifier given to the bond
    - Ex.: <a href="https://www.finra.org/finra-data/fixed-income/bond?symbol=F.GD&bondType=CORP">345277AE7</a>, <a href="https://www.finra.org/finra-data/fixed-income/bond?cusip=345370CA6&bondType=CA">345370CA6</a>, <a href="https://www.finra.org/finra-data/fixed-income/bond?cusip=345370BH2&bondType=CA">345370BH2</a>
- Name: Name given to the bond
    - Usually the debtor's ticker symbol followed by a bond-specific portion
        - <a href="https://www.finra.org/finra-data/fixed-income/bond?symbol=F.GD&bondType=CORP">F.GD</a>, <a href="https://www.finra.org/finra-data/fixed-income/bond?cusip=345370CA6&bondType=CA">F.GY</a>, <a href="https://www.finra.org/finra-data/fixed-income/bond?cusip=345370BH2&bondType=CA">F.GI</a>
- Day count: 30/360 or actual
    - *30/360*: Assumes 30 days per month, 360 days per year
        - Most common day count for bonds
        - Easier to calculate
    - Actual: Count the number of days

::: {.callout-tip}
## Where to get bond data

Bond quotes available at [Finra.org](https://www.finra.org/finra-data/fixed-income), but certain details require subscriptions (the LKS Library has)


:::

## How to do day counts {data-background="../Backgrounds/default.jpg"}

- Actual/Actual day count:
    - Use the actual number of days divided by the number of days in the year (365 or 366)
- 30/360 day count:
    - Full months have 30 days each
    - Full years have 360 days
    - If the starting date is the last day of the month, call it the 30th
    - If the adjusted starting date is the 30th, then if the ending date is the last day of a month, call it the 30th as well
        - If not, the 31st becomes the 1st of the next month
        - If not, the 28th or 29th (February) stays where it is


> Example: Between June 20th and August 25th, there are actually 66 days.  Using 30/360, we say there are 65 days

## How to do day counts {data-background="../Backgrounds/reference.jpg"}

![](../Diagrams/30_360.png){width="400px" fig-align="center" .lightbox}

## Day counts, 30/360 {data-background="../Backgrounds/question1.jpg"}

<ol>
<li style="margin-bottom:3em"> How many days are there between August 13th and December 20th?
<li style="margin-bottom:3em"> How many days are there between August 13th and December 10th?
<li style="margin-bottom:3em"> How many days are there between December 30th and March 31st?
<li style="margin-bottom:3em"> How many days are there between December 20th and March 31st?
</ol>

## Day counts, 30/360 {data-background="../Backgrounds/answer.jpg" class="default exclude"}

![](../Diagrams/Calendars_30_360_soln.png){width="1200px" fig-align="center" .lightbox}

# Valuing bonds {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Recap of NPV {data-background="../Backgrounds/default.jpg"}

- We had 2 formulas last week that will help us calculate bond values
    - Single cash flow in the future: $NPV = \frac{CF}{(1+r)^T}$
    - Repeated cash flow (annuity): $NPV = \frac{CF}{r} \cdot \left[1-\frac{1}{(1+r)^T}\right]$
- From an investor's perspective, a bond is:
    - An initial payment (outflow)
    - An annuity received every 6 months (inflow)
        - Annuity: Receiving the same cash flow every period for a set number of periods
    - A final cash flow (inflow)
- Investors pay the NPV of a bond when discounting by the *yield*

## Let's value a bond! {data-background="../Backgrounds/default.jpg"}

- The bond: <a href="https://www.finra.org/finra-data/fixed-income/bond?cusip=594918AH7&bondType=CA">MSFT.GG</a>
    - Microsoft issued on September 27, 2010
    - 10 year bond
    - $3.10\%$ yield when it was issued
    - $3.00\%$ coupon rate
    - Semiannual coupon payments (interest payments)
    - 30/360
    - \$1B par value, in total

- One trick needed:
    - Since this (and most other) bonds pay their interest *semiannually*, we need to calculate using half-years

## Using our NPV formulas {data-background="../Backgrounds/default.jpg"}

> How much would investors pay for the bond?

- Principal, $P$, is $1B
- Annuity cash flow = $3.00\%$ of principal per year, paid in 2 payments
    - $3\% \times \$1B = \$30M$ per year, so $CF=\$15M$ semiannually
- Discount rate = yield = $3.10\%$, $r=\frac{3.10\%}{2}=1.55\%$ semiannually
- Number of *semiannual periods*, $T=20$

## Using our NPV formulas: Annuity {data-background="../Backgrounds/default.jpg"}

- $P=\$1B$, $CF=\$15M$, $r=1.55\%$, $T=20$

> Annuity portion

$$\begin{align*}
Annuity\ NPV&=\frac{CF}{r} \cdot \left[1-\frac{1}{(1+r)^{T}}\right] \\
&=\frac{15M}{0.0155} \cdot \left[1-\frac{1}{(1+0.0155)^{20}}\right] \\
&\approx \$256M
\end{align*}$$

## Using our NPV formulas: Principal {data-background="../Backgrounds/default.jpg"}

- $P=\$1B$, $CF=\$15M$, $r=1.55\%$, $T=20$

> Final cash flow (principal)

$$\begin{align*}
Principal\ NPV&=\frac{P}{(1+r)^T} \\
&= \frac{\$1B}{(1+0.0155)^{20}} \\
&\approx \$735M
\end{align*}$$

## Using our NPV formulas: Principal {data-background="../Backgrounds/default.jpg"}

- $P=\$1B$, $CF=\$15M$, $r=1.55\%$, $T=20$

> Bond price, i.e., bond NPV

$$\begin{align*}
NPV&= Annuity\ NPV + Principal\ NPV \\
&= \$256M + \$735M \\
&= \$991M 
\end{align*}$$

- This means that investors paid \$991M for the bond issue when it was issued.

::: {.callout-tip}
## Technical note

If you solve this more precisely, you will get an answer \$.01M off from the original issue price, as the bond was actually a 10 year and 3 day issue.  We will ignore those 3 days.  We won't deal with these fractional years for bond pricing.

:::

## Simplifying our equation {data-background="../Backgrounds/reference.jpg"}

- We can bring everything together into 1 equation:

$$\begin{equation*}
Price = \frac{CF}{r} \cdot \left[1-\frac{1}{(1+r)^T}\right] + \frac{P}{(1+r)^T}
\end{equation*}$$

- Variables:
    - $P$: Principal amount, aka the par value
    - $i$: Coupon rate
    - $y$: Yield
    - $Y$: Length of bond, in years
    - $n$: Number of payments per year
- Then:
    - $CF=\frac{P\times i}{n}$: Cash flow per coupon
    - $T=Y\times n$: Number of payments
    - $r=y/n$: Discount rate

## Applying the equation to our bond {data-background="../Backgrounds/default.jpg"}

$$\begin{equation*}
Price = \frac{CF}{r} \cdot \left[1-\frac{1}{(1+r)^T}\right] + \frac{P}{(1+r)^T}
\end{equation*}$$

- Given:
    - $P=\$1B,\quad i=3\%,\quad y=3.10\%,\quad Y=10,\quad n=2$
- Calculate:
    - $CF=\frac{p\times i}{n} = \frac{\$1B \times 3\%}{2}=\$15M$
    - $T=Y\times n=10\times 2 = 20$
    - $r=y/n = 3.10\%/2 = 1.55\%$

$$\begin{align*}
Price &= \frac{\$15M}{0.0155} \cdot \left[1-\frac{1}{(1+0.0155)^{20}}\right] + \frac{\$1B}{(1+0.0155)^{20}} \\
&\approx \$991M
\end{align*}$$

## What about the table method? {data-background="../Backgrounds/aside.jpg"}

- The table method is allowed on the final exam, and annuity and NPV tables will be provided
- Table equation: $Price=CF \times Annuity\_factor + P\times NPV\_factor$
    - $Annuity\_factor$ comes from the cell in the annuity table corresponding to $T$ periods and $r$ discount rate
    - $NPV\_factor$ comes from the cell in the NPV table corresponding to $T$ periods and $r$ discount rate

> The *equation method* is more accurate, works for any $r$ and $T$, and can also be used in your other classes

## Practice {data-background="../Backgrounds/question1.jpg"}

- Bond: McDonald's <a href="https://www.finra.org/finra-data/fixed-income/bond?cusip=58013MEU4&bondType=CA">MCD4248394</a>
    - Principal of \$700M
    - Coupon rate of 3.375\%
    - Yield of 3.39\%
    - 5 year bond
    - Semiannual coupon payments

> What is the price?

<p style="margin-bottom:10em"></p>

## Solution {data-background="../Backgrounds/answer.jpg" class="default exclude"}

- $P = \$700M$
- $CF = \$700M \times 3.375\%/2\ per\ year=\$11.8125M$
- $T = 5\ years \times 2\ per\ year = 10\text{ half-years}$
- $r = 3.39\%/2\ per\ year = 1.695\%$

$$
\begin{align*}
  Price &= \frac{CF}{r} \cdot \left[1-\frac{1}{(1+r)^T}\right] + \frac{P}{(1+r)^T} \\
  &= \frac{\$11.8125M}{0.01695} \cdot \left[1-\frac{1}{(1+0.01695)^{10}}\right] + \frac{\$700M}{(1+0.01695)^{10}} \\
  &\approx \$699.52M
\end{align*}
$$

# Accounting for bonds: Par {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Accounting for bonds {data-background="../Backgrounds/default.jpg" .small}

:::: {.columns}

::: {.column width="50%"}

**What we need to know**

- Principal
- Price (we can solve for this if not given)
- Yield
- Coupon amount (or rate)
- Coupon payments per year
- Count basis (30/360 usually)

:::

::: {.column width="50%"}

**Steps to account for**

1. Account for bond issuance
2. Account for coupon payments
3. Account for accrued interest expense at year end
4. In the final period, pay back the principal

:::

::::

::: {.callout-note}
## Types of bonds

- Bond *at par*: Coupon rate = yield $\Leftrightarrow$ price = par value
- *Discount* bond: Coupon rate < yield $\Leftrightarrow$ price < par value
- *Premium* bond: Coupon rate > yield $\Leftrightarrow$ price > par value

:::




## Bonds at par {data-background="../Backgrounds/default.jpg"}

- Example bond for these slides:
    - Principal = \$100M
    - Price = \$100M
    - Yield = 5%
    - Coupon rate = 5%
    - Semiannual coupon payments (every 6 months)
    - Count basis: 30/360
- Assume it's a 10 year bond issued on March 10th, 2018
- Assume the firm issuing the bond uses a Dec 31 year end

> We will treat this very similarly to a note payable, except there are interim interest payments

## Bonds at par: Issuance {data-background="../Backgrounds/default.jpg"}

- Step 1: Account for bond issuance

![](../Diagrams/JE_9-1.png){width="800px" fig-align="center" .lightbox}

## Bonds at par: Coupon payment {data-background="../Backgrounds/default.jpg"}

- Step 2: Account for coupon payments
    - Interest expense
    - Cash payment is the coupon

![](../Diagrams/JE_9-2.png){width="800px" fig-align="center" .lightbox}

## Bonds at par: Adjusting entry {data-background="../Backgrounds/default.jpg"}

- Step 3: Account for accrued interest expense at year end
    - The accrued interest is based on the number of *days*
        - We'll use 30/360 day counts unless otherwise stated
        - Interest owed will be $CF \times \frac{days}{180}$

![](../Diagrams/JE_9-3.png){width="800px" fig-align="center" .lightbox}

## Bonds at par: Coupon after adjusting {data-background="../Backgrounds/default.jpg"}

- Step 2 revisited: Account for coupon payments

![](../Diagrams/JE_9-4.png){width="800px" fig-align="center" .lightbox}

## Bonds at par: Final payment {data-background="../Backgrounds/default.jpg"}

- Step 4: In the final period, pay back the principal (and a coupon)
- Since interest expense is the same every period for bonds at par, we can figure this out

![](../Diagrams/JE_9-5.png){width="800px" fig-align="center" .lightbox}

## Practice: Bonds at par {data-background="../Backgrounds/group.jpg"}

- Bond: Ford's <a href="https://www.finra.org/finra-data/fixed-income/bond?symbol=F.GD&bondType=CORP">F.GD</a>
    - Principal: $366.53M
    - Yield: 9.3%
    - Coupon rate: 9.3%
    - Semiannual coupons
    - 30/360
    - Issued on March 1, 1998
    - 32 year bond
    - Note: Ford's fiscal year ends on December 31

> Determine Ford's journal entries for the bond for issuance, the first coupon, the adjusting entry, and the second coupon

## {data-background="../Backgrounds/graph_paper.png" class="print-only"}


# Accounting for bonds: Discount {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Discount bonds {data-background="../Backgrounds/default.jpg"}

- Trading at a price *below* par!
    - Equivalent to having a coupon rate *lower than* yield
- Example bond for these slides:
    - Principal = \$100M
    - *Price = \$92.56M*
    - *Yield = 6%*
    - Coupon rate = 5%
    - Semiannual coupon payments (every 6 months)
    - Count basis: 30/360
- Assume it's a 10 year bond issued on March 10th, 2018
- Assume the firm issuing the bond uses a Dec 31 year end

## Effective interest method {data-background="../Backgrounds/reference.jpg"}

- Recall:
    - Bond payable amount is the par value
    - Cash amount is the price
- Since these aren't equal, our very first entry won't balance!

> We'll use the *Effective Interest Method* to fix this

- Record a *contra-liability* to our bond payable to reflect the difference
    - Account name is *Discount on bonds payable*
- Over time, we remove the discount by recording extra interest expense each period
- Define *Carrying value* to be $Payable-Discount$

> Interest expense will be $Carrying\ value\times yield/n$

## Calculations for discount bonds {data-background="../Backgrounds/default.jpg" .small}

**Interest and carrying values**

```{r}
#| eval: true
#| echo: false

df <- data.frame(Period=c("0","1","2","3","4","..."),
                 `IntExp_Calc`=c("", "92.56M x 6% / 2 =", "92.84M x 6% / 2 =", "93.12M x 6% / 2 =", "93.42M x 6% / 2 =", "..."),
                 `Interest_Expense`=c("", "2.78M", "2.79M", "2.79M", "2.80M", "..."),
                 `Coupon`=c("","2.5M","2.5M","2.5M","2.5M","..."),
                 Carry_Calc=c("", "92.56M + 2.78M - 2.5M =", "92.84M + 2.79M - 2.5M =", "93.12M + 2.79M - 2.5M =", "93.42M + 2.80M - 2.5M =", ""),
                 `Carrying_Value`=c("92.56M","92.84M","93.12M","93.42M","93.72M","..."))

html_df(df)
```

**Initial price**

:::: {.columns}

::: {.column width="50%"}

- $P = \$100M$
- $CF = \$100M \times 5\%/2\ per\ year=\$2.5M$
- $T = 10\ years \times 2\ per\ year = 20\text{ half-years}$
- $r = 6\%/2\ per\ year = 3\%$

:::

::: {.column width="50%"}

$$
\begin{align*}
  &Price = \frac{CF}{r} \cdot \left[1-\frac{1}{(1+r)^T}\right] + \frac{P}{(1+r)^T} \\
  &= \frac{\$2.5M}{0.03} \cdot \left[1-\frac{1}{(1+0.03)^{20}}\right] + \frac{\$100M}{(1+0.03)^{20}} \\
  &\approx \$92.56M
\end{align*}
$$

:::

::::




## Bonds at discount: Issuance {data-background="../Backgrounds/default.jpg"}

- Step 1: Account for bond issuance

![](../Diagrams/JE_9-6.png){width="800px" fig-align="center" .lightbox}

## Bonds at discount: Coupon payment {data-background="../Backgrounds/default.jpg"}

- Step 2: Account for coupon payments
    - Need to use the effective interest method!

![](../Diagrams/JE_9-7.png){width="800px" fig-align="center" .lightbox}

## Bonds at discount: Adjusting entry {data-background="../Backgrounds/default.jpg"}

- Step 3: Account for accrued interest expense at year end
    - Interest owed and interest expense will be multiplied by $\frac{days}{180}$


![](../Diagrams/JE_9-8.png){width="800px" fig-align="center" .lightbox}

## Bonds at discount: Coupon after adjusting {data-background="../Backgrounds/default.jpg"}

- Step 2 revisited: Account for coupon payments

![](../Diagrams/JE_9-9.png){width="800px" fig-align="center" .lightbox}

## Bonds at discount: Final payment {data-background="../Backgrounds/default.jpg"}

- Step 4: In the final period, pay back the principal (and a coupon)
- You won't be asked to figure this out without extra information

![](../Diagrams/JE_9-10.png){width="750px" fig-align="center" .lightbox}

# Accounting for bonds: Premium {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Premium bonds {data-background="../Backgrounds/default.jpg"}

- Trading at a price *above* par!
    - Equivalent to having a coupon rate *higher than* yield
- Example bond for these slides:
    - Principal = \$100M
    - *Price = \$108.18M*
    - *Yield = 4%*
    - Coupon rate = 5%
    - Semiannual coupon payments (every 6 months)
    - Count basis: 30/360
- Assume it's a 10 year bond issued on March 10th, 2018
- Assume the firm issuing the bond uses a Dec 31 year end

## Effective interest method {data-background="../Backgrounds/reference.jpg"}

- Recall:
    - Bond payable amount is the par value
    - Cash amount is the price
- Since these aren't equal, our very first entry won't balance!

> We'll use the *Effective Interest Method* to fix this

- Record a *liability* along with our bond payable to reflect the difference
    - Account name is *Premium on bonds payable*
- Over time, we remove the premium by recording lower interest expense each period
- Define *Carrying value* to be $Payable+Premium$

> Interest expense will be $Carrying\ value\times yield/n$

## Calculations for premium bonds {data-background="../Backgrounds/default.jpg" .small}

**Interest and carrying values**

```{r}
#| eval: true
#| echo: false

df <- data.frame(Period=c("0","1","2","3","4","..."),
                 `IntExp_Calc`=c("", "108.18M x 4% / 2 =", "107.84M x 4% / 2 =", "107.50M x 4% / 2 =", "107.15M x 4% / 2 =", "..."),
                 `Interest_Expense`=c("", "2.16M", "2.16M", "2.15M", "2.14M", "..."),
                 `Coupon`=c("","2.5M","2.5M","2.5M","2.5M","..."),
                 Carry_Calc=c("", "108.18M + 2.16M - 2.5M =", "107.84M + 2.16M - 2.5M =", "107.50M + 2.15M - 2.5M =", "107.15M + 2.14M - 2.5M =", ""),
                 `Carrying_Value`=c("108.18M","107.84M","107.50M","107.15M","106.79M","..."))

html_df(df)
```

**Initial price**

:::: {.columns}

::: {.column width="50%"}

- $P = \$100M$
- $CF = \$100M \times 5\%/2\ per\ year=\$2.5M$
- $T = 10\ years \times 2\ per\ year = 20\text{ half-years}$
- $r = 4\%/2\ per\ year = 2\%$

:::

::: {.column width="50%"}

$$
\begin{align*}
  &Price = \frac{CF}{r} \cdot \left[1-\frac{1}{(1+r)^T}\right] + \frac{P}{(1+r)^T} \\
  &= \frac{\$2.5M}{0.02} \cdot \left[1-\frac{1}{(1+0.02)^{20}}\right] + \frac{\$100M}{(1+0.02)^{20}} \\
  &\approx \$108.18M
\end{align*}
$$

:::

::::

## Bonds at premium: Issuance {data-background="../Backgrounds/default.jpg"}

- Step 1: Account for bond issuance

![](../Diagrams/JE_9-11.png){width="800px" fig-align="center" .lightbox}

## Bonds at premium: Coupon payment {data-background="../Backgrounds/default.jpg"}

- Step 2: Account for coupon payments
    - Need to use the effective interest method!

![](../Diagrams/JE_9-12.png){width="800px" fig-align="center" .lightbox}

## Bonds at premium: Adjusting entry {data-background="../Backgrounds/default.jpg"}

- Step 3: Account for accrued interest expense at year end
    - Interest owed and interest expense will be multiplied by $\frac{days}{180}$

![](../Diagrams/JE_9-13.png){width="800px" fig-align="center" .lightbox}

## Bonds at premium: Coupon after adjusting {data-background="../Backgrounds/default.jpg"}

- Step 2 revisited: Account for coupon payments

![](../Diagrams/JE_9-14.png){width="800px" fig-align="center" .lightbox}

## Bonds at premium: Final payment {data-background="../Backgrounds/default.jpg"}

- Step 4: In the final period, pay back the principal (and a coupon)
- You won't be asked to figure this out without extra information

![](../Diagrams/JE_9-15.png){width="750px" fig-align="center" .lightbox}

# Bonds not at par {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## What's actually going on here? {data-background="../Backgrounds/default.jpg"}

- The effective interest method distributes the discount or premium over the life of the bond
    - The discount or premium hits 0 just as the last coupon is paid
- Discounts lead to higher expenses each year
    - We treat the shortfall in cash for a discount bond as a large amount of interest expense, and amortize it over the life of the bond
- Premiums lead to lower expenses each year
    - We treat the excess cash for a premium bond as free money that will cancel out some of our interest payments, and thus we amortize it over the life of the bond

## Visualizing Carrying value {data-background="../Backgrounds/default.jpg"}

```{r bondtable_par, echo=FALSE, warning = FALSE, fig.width=8}

#Semiannual 5% coupon bonds
suppressPackageStartupMessages(library(plotly))
m <- list(
  l = 60,
  r = 50,
  b = 60,
  t = 100,
  pad = 4
)
period <- 0:20
r1 <- 0.06
r2 <- 0.05
r3 <- 0.04
carry1 <- as.vector(rep(0,21))
carry2 <- as.vector(rep(0,21))
carry3 <- as.vector(rep(0,21))
interest <- as.vector(rep(2500000,21))
interest[[1]] <- 0
iexp1 <- as.vector(rep(0,21))
iexp2 <- as.vector(rep(0,21))
iexp3 <- as.vector(rep(0,21))
carry1[[1]] <- 2500000/0.03*(1-1/1.03^20) + 100000000/1.03^20
carry2[[1]] <- 2500000/0.025*(1-1/1.025^20) + 100000000/1.025^20
carry3[[1]] <- 2500000/0.02*(1-1/1.02^20) + 100000000/1.02^20
for (x in 2:21) {
  iexp1[[x]] <- carry1[[x-1]] * r1/2
  carry1[[x]] <- carry1[[x-1]] + iexp1[[x]] - interest[[x]]
  iexp2[[x]] <- interest[[x]]
  carry2[[x]] <- carry2[[x-1]]
  iexp3[[x]] <- carry3[[x-1]] * r3/2
  carry3[[x]] <- carry3[[x-1]] + iexp3[[x]] - interest[[x]]
}
df <- data.frame(period,carry1,carry2,carry3,iexp1,iexp2,iexp3,interest)

plot_ly(df,x=~period,y=~carry1, name='Discount', type='scatter', mode='markers', width = 800, height = 500) %>%
  add_trace(y=~carry2, name='At Par', mode='markers') %>%
  add_trace(y=carry3, name='Premium', mode='markers') %>%
  layout(autosize = F, margin = m, xaxis=list(title="Period"), yaxis=list(title="Carrying value"))
```


## Interest Expense {data-background="../Backgrounds/default.jpg"}

```{r carrying2, echo=FALSE, warning = FALSE, plotly=TRUE}
plot_ly(df,x=~period,y=~iexp1, name='Discounted', type='scatter', mode='markers', width = 800, height = 500) %>%
  add_trace(y=~iexp2, name='At Par', mode='markers') %>%
  add_trace(y=iexp3, name='Premium', mode='markers') %>%
  layout(autosize = F, margin = m,
         xaxis=list(title="Period",range=c(1,20)), yaxis=list(title="Interest expense"))
```

## Practice: Bonds not at par {data-background="../Backgrounds/group.jpg"}

> For each of the following bonds, calculate the price and determine Ford's journal entries for the bond for issuance, and the next 3 journal entries (1 adjusting and 2 coupon payments).  Ford's fiscal year end is December 31st.

:::: {.columns}

::: {.column width="50%"}

- Bond: Ford's <a href="https://www.finra.org/finra-data/fixed-income/bond?cusip=345370CA6&bondType=CA">F.GY</a> (Discount)
    - Principal: $1,800M
    - Yield: 7.53%
    - Coupon rate: 7.45%
    - Semiannual coupons
    - 30/360
    - Issued on July 16, 1999
    - 32 year bond

:::

::: {.column width="50%"}

- Bond: Ford's <a href="https://www.finra.org/finra-data/fixed-income/bond?cusip=345370BH2&bondType=CA">F.GI</a> (Premium)
    - Principal: $300M
    - Yield: 9.04%
    - Coupon rate: 9.950%
    - Semiannual coupons
    - 30/360
    - Issued on February 15, 1992
    - 40 year bond

:::

::::


## {data-background="../Backgrounds/graph_paper.png" class="print-only"}

## {data-background="../Backgrounds/graph_paper.png" class="print-only"}

# Bond retirement {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Bond retirement {data-background="../Backgrounds/default.jpg"}

- Firms can retire a bond in two ways:
    1. Work with creditors to establish a price to pay to end the bond.
    2. Buy back bonds on the market.
- To retire a bond:
    1. Record any accrued interest expense
    2. Debit out the bond payable account and any interest payable
    3. Close out any premium or discount account
    4. Credit the amount of cash paid to retire the bond
    5. Record the difference to a *gain on bond retirement* if credit balance, or to a *loss on bond retirement* if debit balance

## Bond retirement example: Bond at par {data-background="../Backgrounds/default.jpg"}

> Suppose our example bond at par was retired after 1.25 years, on 2019.06.10, for par plus accrued interest.

- Par: \$100M, Coupon rate: 5%, Yield: 5\%
- Carrying value on 2019.03.10: \$100M
- Accrued interest (to pay): $\$100M \times \frac{5\%}{2} \times \frac{90}{180}=\$1.25M$
- Accrued interest expense: $\$100M \times \frac{5\%}{2} \times \frac{90}{180} = \$1.25M$

![](../Diagrams/JE_9-17.png){width="800px" fig-align="center" .lightbox}


## Bond retirement example: Discount bond {data-background="../Backgrounds/default.jpg"}

> Suppose our example discount bond was retired after 1.25 years, on 2019.06.10, for par plus accrued interest.

- Par: \$100M, Coupon rate: 5%, Yield: 6\%
- Carrying value on 2019.03.10: \$93.12M (discount: \$6.88M)
- Accrued interest (to pay): $\$100M \times \frac{5\%}{2} \times \frac{90}{180}=\$1.25M$
- Accrued interest expense: $\$93.12M \times \frac{6\%}{2} \times \frac{90}{180} = \$1.40M$

![](../Diagrams/JE_9-16.png){width="800px" fig-align="center" .lightbox}

## Bond retirement example: Premium bond {data-background="../Backgrounds/default.jpg"}

> Suppose our example premium bond was retired after 1.25 years, on 2019.06.10, for par plus accrued interest.

- Par: \$100M, Coupon rate: 5%, Yield: 4\%
- Carrying value on 2019.03.10: \$107.50M (premium: \$7.50M)
- Accrued interest (to pay): $\$100M \times \frac{5\%}{2} \times \frac{90}{180}=\$1.25M$
- Accrued interest expense: $\$107.50M \times \frac{4\%}{2} \times \frac{90}{180} = \$1.07M$

![](../Diagrams/JE_9-18.png){width="800px" fig-align="center" .lightbox}








# End matter {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Wrap up {data-background="../Backgrounds/ending.jpg"}

- For next week
    1) **Quiz 2** -- many extra practices on eLearn
    2) Recap the reading for this week
    3) Read the pages for next week
        - Financial statement analysis (Chapter 12)
    4) Homework to *turn in early next week*
        - Available on eLearn
        - Submit on eLearn
        - Graded based on effort!
    5) Practice on eLearn
        - Practice on Bonds
        - Automatic feedback provided
- Survey on the class session at [rmc.link/101survey8](https://docs.google.com/forms/d/e/1FAIpQLScW4xeESuBJEi9Mu-zqLhwivaiEZRaa4r9JnyhcBWletF7IKw/viewform?usp=sf_link)


## Packages used for these slides {data-background="../Backgrounds/code.jpg"}

- `{kableExtra}`
- `{knitr}`
- `{revealjs}`




## References {data-background="../Backgrounds/books.jpg" .stack .never .small}

## Custom code {data-background="../Backgrounds/code.jpg" .stack .never .small}


## NOTES {class="never"}


