[gnucash-de] Re: security (stock, funds, bonds) features

Andreas Schenk dr.andreas.schenk at gmx.net
Tue Feb 15 16:38:53 EST 2005

Hi Derek,

one explanation in-line.


Andreas Schenk

> > 2.: CnuCash can not handle bonds correctly. Bonds differ from
> > stock or funds. You don't buy a certain number at a given price
> > (in a currency). Instead you buy a certain par (or face) value
> > at a given price in percent. Probably we need a new account
> > type for this.
> I've never dealt with bonds directly.  Question, when you buy bonds
> don't you buy some quantity of them?  Don't you pay some quantity for
> them?  E.g., don't you pay a total of $2400 for 12 bonds?

In fact: not at all.

Bonds are not quoted with a price but with a percentage of their nominal 
value. If you buy or sell bonds, you buy or sell nominal values, not pieces.

A bond is issued with a certain nominal value (or face value). If the bond is 
due, the holder of the security gets payed the nominal value for it. In 
addition, a bond can pay interest, i.e. the security comes with bond coupons 
(or interest vauchers or interest warrants). If it does not have coupons, one 
has a zero-coupon bond or zero bond.

Due to changes of interest rates, the quote of the bond will change. But it 
will always be given as a percentage value of the nominal value.


A bond may be issued at its nominal value. It has coupons of 5% with respect 
to its nominal value. It may have been issued in e.g. June 2000 and be due in 
June 2005.

I buy this bond in January 2003. Since the interest rate in 2003 is below 5%, 
the bond will have a marked value above 100%, lets say 125%. 

In order to buy the bond, I order e.g. 100000 Currency in nominal value. I 
will have to pay 125000 Currency (e.g. USD or EUR, depending on the currency 
of the bond). I neglect any kind of changes.

If the next coupon is due, I get 5000 Currency (5% with respect to the nominal 
value. This means I actually get 5% / 1.25 = 4% interest with respect to the 
price I payed.)

Meanwhile the interest rates dropped further. Now the bond has a quote of 
130%. So if I would sell my 100000 Currency nominal value, I would get 130000 
Currency for it. I would have earned 30000 Currency capital gains plus e.g. 
5000 Currency for my first coupon (if I sold in February 2004).

If I don't sell but wait until the bond is due, I would get exactely 100000 
Currency for it -- the nominal value. In the meantime I will have earned 
15000 Currency for the three coupons. Overall I made a loss of 10000 
Currency. (All without any consideration of taxes.) -- Maybe the exact 
numbers are not very realistic, but you will get the point.

A zero bond works differently. Here a bond has no coupon at all. It may e.g. 
be issued in January 2000 at 38.554%. It may be due in January 2010.

If I buy 100000 Currency nominal value when it is issued I would have to pay 
38553 Currency. If I hold it until it is due, I would get back 100000 
Currency in January 2010. This amounts to 10% interest p.a. The difference 
between a zero bond and a bond with a coupon of 10% is mainly 'taxes'. (One 
could say: a zero bond accumulates all interest. The interest is payed in 
full when the bond is due. If you have coupons, interest will be paid 

There are combinations: A bond may be issued with a coupon of 5%. But the 
process to issue the bond takes some time. In the meantime marked rates will 
have changed. Since it is not possible to change the value of the coupon, the 
changes of the marked rates are taken care of by changing the quote. E.g. if 
interest rates have gone up in the meantime, the bond is issued at e.g. 98.5% 
of its nominal value with a coupon of 5%.

You may have noticed, that I never said anything about a >>number<< of bonds. 
There are no pieces. I only talked about >>nominal value<<, which has a 
Currency as unit. The quote, on the other hand, has no unit, it is a 
percentage value.

This is opposite to shares: here one buys a number of shares (which has no 
unit). The quote or price of each piece has a currency as its unit.

This difference does not matter much in all places, where only the product is 
relevant. It does matter much, however, in all places, where only the quote 
or the number / nominal value is given. The latter occurs in a lot of 
reports, which are all wrong with respect to bonds -- unfortunately.

By the way: You will definitely need a different type of account, if you want 
to deal with bonds. A bond has parameters that differ from the parameters of 
shares or interest bearing accounts. They are (for example, the list is by no 
means complete):

nominal value

value of the coupon, if it has any

date, where the bond is due

date, where the coupons are due, if there are any

the periodicity of the coupon. Coupons may be due every 12 months (which is 
mostly the case), or e.g. every six months.

the currency of the bond

type of bond, i.e. it might be callable. This means the issuing bank or 
company might call the bond back before it normally would be due. 

If you plan to implement bonds, you might look a little bit ahead: there are 
also other types of securities, e.g. warrants.

A warrant is a combination of an option an a bond. A warrant has coupons like 
a bond and you get payed interest. On the other hand, a warrant includes the 
option to get the money back when it is due -- like a bond, or to get a 
certain number of shares instead. The holder can decide when the warrant is 
due. This is interesting, because the different pieces (option, coupons, ...) 
can be sold or bought separately. Then you will get e.g. so called naked 
warrants. You would have to take care of all of this.... ;-) 

By the way: there are also stripped bonds. I guess these are bonds where the 
coupons are sold separately. So a stripped bond may be something like a zero 
bond. So you might buy a bond, sell the remaining coupons after e.g. three 
years (you got payed for the coupons that were due in this peroid) and the 
remaining stripped bond after e.g. six years. GnuCash should be able to 
handle this, in particular the net profit one made with this kid of trade.

One last word: on the german list I suggested recently, that the concept of 
GnuCash -- to put everything into one ledger (not one basket) -- is not 
appropriate. One should in fact separately deal with one general ledger and a 
couple of special ledgers. You have this already in one case: accounts 
payable and accounts receivable are one special ledger. You should also 
introduce a special ledger for securities. Otherwise I think you will not be 
able to deal in full with all kinds of securities. What I described above 
might give you a vague idea of what I mean. The special ledger for securities 
has to deal with a lot of business transactions -- and data, that definitely 
do not belong to a general ledger. Depending of where you want to go with 
GnuCash you will have to consider a major redesign -- unfortunately.

More information about the gnucash-devel mailing list