Skip to main content
Tutorials 12 min read

Bond Pricing with the BA II Plus: Complete Tutorial

Price a bond and back out its yield on the BA II Plus: every BOND worksheet field, accrued interest between coupon dates, yield to call, and what duration adds.

The BA II Plus Calculator Team

The short answer

Press 2ND BOND and clear the worksheet, then enter SDT as the settlement date in MM.DDYY form, CPN as the annual coupon rate, RDT as the redemption date and RV as the redemption value per 100 of par. Set ACT or 360 for the day count and 2/Y or 1/Y for the coupon frequency, arrow down to YLD, type the yield and press CPT on PRI. The result is the clean price per 100 of par, and AI one field below holds the accrued interest owed to the seller. Clean price plus accrued interest is the cash that settles.

A bond is the most mechanical instrument in finance: the cash flows are printed on it. Everything interesting is in the one number nobody prints — the rate at which the market is currently willing to discount them.

The BOND worksheet exists so you can move between price and yield without rebuilding the discounting by hand, and so you can do it on a settlement date that falls somewhere in the middle of a coupon period, which is where the arithmetic gets tedious. This guide prices one bond nine different ways: from a yield, from a price, mid-period, on two day-count bases, to a call date, and as a zero.

What “price” means for a bond

Three conventions have to be in place before any of the keystrokes make sense.

Price is quoted per 100 of par, whatever the face value. A price of 95.3994 on £50,000 of nominal is £47,699.70. The calculator never sees your face value.

The quoted price is the clean price. It excludes the interest that has built up since the last coupon.

The seller is owed that build-up. Accrued interest is added at settlement, so the cash that changes hands is clean price plus AI — the invoice price, or dirty price.

Separating the two is not an accounting nicety. It is what lets a quoted price mean the same thing on every day of the coupon period: the clean price of a bond whose yield has not moved barely changes, while the dirty price sawtooths upward and drops by a full coupon every six months.

The nine fields, in the order you meet them

Field Holds Notes
SDT Settlement date MM.DDYY — 15 August 2026 is 8.1526
CPN Annual coupon rate A percentage of par, not the cash amount
RDT Redemption date Maturity, or a call date for yield to call
RV Redemption value Per 100 of par. 100 at maturity; the call price otherwise
ACT / 360 Day-count basis 2ND SET toggles. ACT for governments, 360 for most corporates
2/Y / 1/Y Coupon frequency 2ND SET toggles. Semiannual is the default and the usual case
YLD Yield to redemption Annual, as a percentage. Enter it, or compute it
PRI Clean price Enter it, or compute it. One of YLD and PRI is always the input
AI Accrued interest Always computed, never entered
2ND BOND opens the worksheet. ↓ walks it; 2ND SET toggles the two settings.

A worked bond: the 4.5% of February 2034

A gilt paying 4.5% semiannually, redeeming at par on 15 February 2034. You are buying on 15 August 2026 — a coupon date — and the market yield is 5.25%. What do you pay?

Clean price from a yield
  1. 2ND
  2. BOND
  3. 2ND
  4. CLR WORK
  5. 8.1526
  6. ENTER
  7. 4.5
  8. ENTER
  9. 2.1534
  10. ENTER
  11. 100
  12. ENTER
  13. 5.25
  14. ENTER
  15. CPT

The three bare arrow-downs step through ACT and 2/Y and land on YLD — read each setting on the way past rather than assuming it.

PRI = 95.3994. Arrow down once more and AI = 0.0000, because settlement is a coupon date: the seller has earned nothing since the last payment. Clean and dirty prices are the same today and will not be again until the next coupon.

The bond trades below par because its 4.5% coupon is worse than the 5.25% the market now demands. Buyers will not accept a lower running yield, so they pay less capital instead, and the £4.60 of discount per 100 is what closes the gap over the remaining seven and a half years.

The same answer from the TVM row

On a coupon date a bond is just an annuity plus a lump sum, so the five TVM registers can price it — and doing it once is the fastest way to satisfy yourself that the worksheet is doing what you think.

Fifteen half-years, £2.25 a half-year, £100 at the end
  1. 2ND
  2. P/Y
  3. 2
  4. ENTER
  5. 2ND
  6. QUIT
  7. 2ND
  8. CLR TVM
  9. 15
  10. N
  11. 5.25
  12. I/Y
  13. 2.25
  14. PMT
  15. 100
  16. FV
  17. CPT
  18. PV

PV = −95.3994. Identical to PRI, and every part of the entry maps onto a field in the worksheet: N is the number of coupons left, PMT is the coupon divided by the frequency, FV is RV, and P/Y = 2 is what turns the annual 5.25% into 2.625% per period.

The reason to learn BOND anyway is the word coupon date. Move settlement one day and the TVM route needs a fractional exponent that the five registers cannot express. BOND handles it without being asked.

Yield from a price

Reverse the inputs and the worksheet runs the other way. The same bond is offered at 92.

Enter PRI, compute YLD
  1. 2ND
  2. BOND
  3. 92
  4. ENTER
  5. CPT

The dates and coupon are still loaded from the last calculation — arrow past them rather than retyping.

YLD = 5.8321%. Fifty-eight basis points of extra yield for £3.40 less capital, which is the trade-off the whole bond market is made of.

Yield Clean price Trading at
3.00% 110.0074 Premium
4.00% 103.2123 Premium
4.50% 100.0000 Par — yield equals coupon
5.25% 95.3994 Discount
6.00% 91.0465 Discount
8.00% 80.5428 Deep discount
The 4.5% of February 2034, priced across a range of yields on 15 August 2026.

The par row is worth committing to memory as a sanity check. A bond prices at exactly 100 when its yield equals its coupon, on a coupon date, redeeming at par. If you enter a 4.5% coupon with a 4.5% yield and get 99.87, something in the worksheet is wrong — usually the frequency, sometimes the redemption value.

Settling between coupon dates

Same bond, but you buy on 1 November 2026 — seventy-eight days into a period that runs from 15 August to 15 February.

Mid-period settlement: PRI then AI
  1. 2ND
  2. BOND
  3. 11.0126
  4. ENTER
  5. 5.25
  6. ENTER
  7. CPT

Only SDT changes. Everything else is still loaded, so this is one number and a walk down the worksheet.

15 Aug 2026 1 Nov 2026
PRI — clean price 95.3994 95.4992
AI — accrued interest 0.0000 0.9538
Invoice price 95.3994 96.4531
Coupons remaining 15 15
Two settlement dates, one bond, one yield of 5.25%.

The accrued interest is not a mystery — it is the current coupon prorated by elapsed days:

Straight-line accrual
  1. AI = (CPN ÷ frequency) × A ÷ E = 2.25 × 78 ÷ 184 = 0.9538

A is days from the last coupon to settlement; E is days in the whole coupon period. Interest accrues linearly even though the price does not.

The clean price barely moved — up ten pence, because the whole schedule is seventy-eight days closer. The invoice price rose by more than a pound, almost all of it the coupon the seller is handing over. Quote the clean price to a colleague and the invoice price to your custodian.

ACT or 360, and how much it matters

ACT 30/360
A — days accrued 78 76
E — days in period 184 180
AI 0.9538 0.9500
PRI 95.4992 95.4988
1 November 2026 settlement at 5.25%, both bases.

Four hundredths of a penny on the price, four-tenths on the accrued interest. The basis is not where large errors come from, but it is where reconciliation breaks: your custodian will use the bond’s actual convention, and a settlement that disagrees by 0.4p per 100 on a £5m position is £190 nobody can account for.

Use ACT for government bonds — gilts, Treasuries, bunds — and 360 for most corporate and municipal issues. When you do not know, ACT is the safer default because it is what the larger market uses.

Duration, and what the standard BA II Plus will not tell you

Duration converts a yield move into a price move. Modified duration of 6.2533 says: for every percentage point yields rise, expect the price to fall by about 6.25%.

The word doing the work is about.

Yield move Duration predicts Actual price Error
+25 bp 93.9080 93.9217 +0.0137
+100 bp 89.4338 89.6481 +0.2143
+200 bp 83.4682 84.3034 +0.8353
−100 bp 101.3650 101.5912 +0.2262
−200 bp 107.3306 108.2608 +0.9302
Predicted from 95.3994 with modified duration 6.2533, against the actual price.

Every error is positive. Duration always understates the price you get, whichever way yields move: it is a straight line drawn against a curve, and the curve bows away from it in both directions. That bow is convexity, and it is the bondholder’s friend — you gain more on a rally than you lose on a sell-off of the same size.

Within 25 basis points the straight line is close enough for desk work. At 200 basis points it is nearly a point of par out, which is the difference between a good trade and a bad one.

Yield to call, and yield to worst

A callable bond has more than one possible ending, and the issuer picks. Pricing it to maturity when it will obviously be called is how buyers overpay.

The same bond, callable at 102 on 15 February 2030, still offered at 95.3994.

Redemption date and value become the call terms
  1. 2ND
  2. BOND
  3. 2.1530
  4. ENTER
  5. 102
  6. ENTER
  7. 95.3994
  8. ENTER
  9. CPT

Two fields change: RDT to the call date, RV to the call price. Nothing else about the bond is different.

Scenario RDT RV Coupons left Yield
Held to maturity 15 Feb 2034 100 15 5.2500%
Called at 102 15 Feb 2030 102 7 6.5091%
One bond bought at 95.3994, two possible endings.

The call is the better outcome here — 6.51% against 5.25% — because you bought at a discount and would be redeemed at a premium four years early. Yield to worst is the lower of the two, 5.25%, and that is the number a cautious buyer underwrites. Run every date in the call schedule and take the minimum.

The asymmetry runs the other way for a premium bond, which is the common case: an issuer calls when rates have fallen, exactly when you would rather keep the coupon. If a bond is priced above its call price, price it to the call and treat the maturity yield as optimistic.

Zero-coupon bonds

Set CPN to zero and the worksheet still works, because a zero is a bond with nothing in the middle.

A 2034 zero at a 5.25% yield
  1. 2ND
  2. BOND
  3. 8.1526
  4. ENTER
  5. 0
  6. ENTER
  7. 2.1534
  8. ENTER
  9. 100
  10. ENTER
  11. 5.25
  12. ENTER
  13. CPT

PRI = 67.7957. Pay £67.80 today, receive £100 in seven and a half years, and there is nothing to reinvest in between — which is the point. A zero has no reinvestment risk because it makes no interim payments, so its promised yield is the yield you actually get.

That also makes its Macaulay duration exactly its life: 7.5000 years, against 6.4175 for the 4.5% coupon bond maturing on the same day. The coupons pull the average payment date forward. It is the cleanest demonstration in fixed income that duration is a weighted average of when the money arrives, not a measure of how long you hold the paper.

Five things to check when the price looks wrong

  1. The frequency. 2/Y and 1/Y look identical until you arrow onto the field. An annual bond priced semiannually gives an answer in the right region and the wrong pence.
  2. The redemption value. A 102 left in RV from a yield-to-call question quietly reprices everything after it.
  3. The date format. 2.1534 is 15 February 2034 in US format and nonsense in EUR format. If the number of coupons looks wrong, check FORMAT before you check your arithmetic.
  4. Which of YLD and PRI you entered. The worksheet computes whichever one you did not. Entering both means the second overwrote the first.
  5. The par test. Set YLD equal to CPN on a coupon date and the price must be exactly 100. If it is not, one of the four items above is the reason.

Bonds are where the BA II Plus earns its place on the approved calculator lists: the same worksheet handles price, yield, accrued interest, calls and zeros, and the keystroke count barely changes between them. The shortcuts worth drilling before a CFA exam include two from this worksheet, and the interest conversion calculator shows why a 5.25% semiannual yield is not 5.25% a year.

Share X LinkedIn
  • #bond
  • #bond worksheet
  • #yield to maturity
  • #accrued interest
  • #duration

Do it without the keystrokes

The calculators used in this guide

Same arithmetic, same sign convention, with every substitution written out underneath the answer.

FAQ

Frequently asked questions

How do you price a bond on the BA II Plus?

Open the BOND worksheet with 2ND BOND, clear it, and fill in SDT, CPN, RDT and RV, setting the day count and coupon frequency with 2ND SET. Enter the yield at YLD, arrow down to PRI and press CPT. The price comes back per 100 of par, so multiply by ten for a £1,000 face value bond.

How do I enter dates in the BA II Plus bond worksheet?

As MM.DDYY, with a decimal point standing in for the separators. 15 August 2026 is typed 8.1526 and 15 February 2034 is 2.1534. The order changes to DD.MMYY if you switch the date format to EUR in the FORMAT menu, which is worth checking before you blame the calculator for an odd number of periods.

What is the difference between clean price and dirty price?

The clean price is what gets quoted; the dirty price, or invoice price, is what you actually pay. The difference is accrued interest — the share of the coming coupon the seller has already earned by holding the bond part-way through the period. The BA II Plus reports the clean price at PRI and the accrued interest at AI, and leaves you to add them.

How do you calculate yield to call on the BA II Plus?

Put the call date in RDT instead of the maturity date, and the call price in RV instead of 100. Enter the market price at PRI and compute YLD, and the answer is the yield to call. Repeat for every date in the call schedule; the lowest yield you get is the yield to worst, which is the figure a cautious buyer prices on.

Why does my bond price not match the textbook answer?

Check the coupon frequency and the day-count basis first, since both default to whatever the last problem used. After that, check the redemption value: a bond redeeming at par needs RV = 100, and leaving a call price of 102 in the register from an earlier question shifts every figure. A mismatch of a few pence usually means a rounded intermediate value rather than a wrong method.

Keep reading

Related guides

All articles