Is there a way to calculate yield-to-maturity (YTM) using just the payments (not all equal) with just a simple handheld calculator and without using Excel?
So you plug in the current price, plug in the cash flows by period, and then guess and check by plugging in different "r's", or rate. If the bond is selling at a discount, the coupon rate < current Yield < YTM. If the bond is selling at a premium, then rate > current yield > YTM. So you can plug in and test based on that.
For a rougher estimate:
and you can average your coupon payments and use it for C. This one is much more practical to do without a calculator, but it isn't precise.
Yes you can calculate, but it would be very tedious. It would be a polynomial equation of the nth degree (n -> number of periods ). Even scientific calculators hum for a minute or two to get the YTM.
Calculators generally use the hit and trial method. So what you can do is start replacing your YTM with random values, in your YTM equation, so that you can start converging on the real YTM. That is the only option left, without using excel and a scientific calculator. Otherwise the hard way is solve the nth degree polynomial equuation.