[gnucash-de] Re: security (stock, funds, bonds) features
dr.andreas.schenk at gmx.net
Tue Feb 15 16:38:53 EST 2005
one explanation in-line.
> > 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
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
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
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