1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
|
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="details.investments">
<chapterinfo>
<authorgroup>
<author>
<firstname>Ace</firstname>
<surname>Jones</surname>
<affiliation>
<address><email>acejones@users.sourceforge.net</email></address>
</affiliation>
</author>
</authorgroup>
<date>2009-06-14</date>
<releaseinfo>1.0</releaseinfo>
</chapterinfo>
<title>Investments</title>
<sect1 id="details.investments.overview">
<title>Investments in &kappname;</title>
<sect2>
<title>Investments</title>
<para>
Investments are instruments for investing money that are traded on a market.
Stocks, bonds, and mutual funds are the most common investments; so they are
the ones supported most directly. Futures, commodities, options, and more
complex derivatives are also sometimes used, but &kappname; has no special
functionality for them. As long as they behave like a stock or a bond, they
can be tracked easily.
</para>
</sect2>
<sect2>
<title>Base Currency</title>
<para>
Each investment has a Base Currency. This is the currency in which it is
traded. When a price quote is entered for an investment, the currency of the
value given is always its base currency. A stock on the NYSE (New York Stock
Exchange) would be in US dollars, and one on an Australian market would be in
Australian dollars.
</para>
</sect2>
<sect2>
<title>Investment Accounts</title>
<para>
Investment Accounts hold a collection of investments. An Investment account
contains transactions, such as buys and sells, of those investments. All
transactions in an Investment account must relate to a specific investment.
There is no separate <quote>cash balance</quote> in an investment account. For
that, you need a Brokerage Account.
</para>
</sect2>
<sect2>
<title>Brokerage Accounts</title>
<para>
An investment account often has an associated Brokerage Account. This is also
sometimes referred to as a <quote>Cash Account</quote>. Investment accounts
cannot contain cash transactions, like a transfer from your bank. When a
stock is sold, the proceeds are typically placed in the Brokerage Account.
</para>
<para>
When you create an Investment Account, you have the option of creating an
associated Brokerage Account with it.
</para>
</sect2>
</sect1>
<sect1 id="details.investments.investment">
<title>Creating an Investment Account</title>
<para>
The first step on the path to working with investments is to create an account
to hold your investments. Choose <menuchoice><guimenu>Account</guimenu>
<guimenuitem>New account...</guimenuitem></menuchoice> to begin the process of
adding a new account. Create an account as usual, making sure to choose
<quote>Investment</quote> as the type of account.
</para>
<para>
To work with the new investment account, navigate to the
<guibutton>Investments</guibutton> view, and choose the account you have just
created from the <guilabel>Select Account</guilabel> dropdown box.
</para>
</sect1>
<sect1 id="details.investments.securities">
<title>Adding Investments to Your Account</title>
<para>
To add individual Investments to your Investment Account, navigate to
the <guibutton>Investments</guibutton> view, and choose the account where the
investment is held from the <guilabel>Select Account</guilabel> drop-down box.
</para>
<para>
Right-click the mouse in the empty space in the view. This brings up
the <guimenu>Investment Options</guimenu> context menu. Choose
<guimenuitem>New...</guimenuitem> from this menu. This launches the
<guilabel>New Investment Wizard</guilabel> which you use to create your new
Investment.
</para>
<sect2 id="details.investments.newinvestmentwizard">
<title>New Investment Wizard</title>
<para>
The first thing you'll be asked to enter is the type of investment, whether
it's a stock, bond, etc.
</para>
<para>
Next, the investment details page is presented. The following information is
entered on this page:
</para>
<itemizedlist>
<listitem><para> Trading Symbol. The ticker symbol used to identify the
investment on whatever market it trades. &kappname; requires a trading
symbol for all investments; however some investments do not have symbols.
In this case, you will need to make up a symbol for it.
</para></listitem>
<listitem><para> Full name. The friendly, readable name of the investment
you're creating, e.g., <quote>Advanced Micro Devices, Inc.</quote> This name is
also referred to as the security.
</para></listitem>
<listitem><para> Fraction. The degree of precision to which your holdings are
measured. For example, in the US most mutual funds measure holdings to
three decimal places, so you would enter 1000 in this field. Stocks are
often measured to only whole units, so you could enter 1 for a stock like
this.
</para></listitem>
<listitem><para> Trading market. Where the stock trades. This is an optional
field which is provided for your convenience. This information is not used
anywhere else in &kappname;.
</para></listitem>
<listitem><para>Identification. An optional field to enter additional
identification information you might like to keep track of. Again, this
information is not used anywhere else.
</para></listitem>
<listitem><para>Trading currency. The underlying currency in which this
investment trades on its market.
</para></listitem>
<listitem><para> Price entry. Choose whether the price will be entered as an
individual price, or as the total for all shares.
</para></listitem>
</itemizedlist>
<para>
If you are using Online Quotes, ensure that the symbol exactly matches the
symbol used by your quote source. Yahoo covers most of the world's markets,
and requires a suffix on the end of symbols outside the US. For example,
Rubicon Limited on the New Zealand market should be entered as
<quote>RBC.NZ</quote>.
</para>
<para>
Finally, you're presented with the Online Update screen. This is where you
tell &kappname; how you would like to update the prices of your investment.
The following items are set here:
</para>
<itemizedlist>
<listitem>
<para>
Use Finance::Quote. This is an option for GnuCash users who are used to
this style of quotes. Most users can leave this unchecked.
</para>
</listitem>
<listitem>
<para>
Online Source. The online source you'd like to use for this particular
investment. The most common choice is <quote>Yahoo</quote>. Try that
first, and if the investment cannot be found using this source, then
experiment with the others.
</para>
</listitem>
<listitem>
<para>
Factor. A multiplier that should be applied to quotes retrieved for this
investment. This is most commonly needed for UK stocks where the price
quoted is in pence (1/100), and the stock is denominated in pounds. In
this case, enter 0,01 for the Factor.
</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="details.investments.edit">
<title>Editing an Investment</title>
<para>
The Investment view window lists your current holdings in this account, along
with their symbol, value, and price. Right-click the mouse on any of the
investments to bring up the <guimenu>Investment Options</guimenu> context
menu, where you have the option to add, edit, or delete individual investments
from this account. Also, you can update the price of your investments here
either manually or via their online source. In addition, it is possible to
close an empty account, or to reopen a closed account.
</para>
</sect1>
<sect1 id="details.investments.ledger">
<title>Investment Transactions</title>
<para>
<screenshot>
<screeninfo>Investment Transaction Form</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="investment-transactionform.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Investment Transaction Form</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
Investment transactions are entered and edited in the
<link linkend="details.ledgers">ledger</link> view, as with other kinds of
accounts. However, the fields are different, and vary depending on the
investment transaction type or activity. Investment transactions have some
additional elements:
</para>
<itemizedlist>
<listitem><para>Activity</para></listitem>
<listitem><para>Security</para></listitem>
<listitem><para>Account</para></listitem>
<listitem><para>Shares, Price, & Total Amount</para></listitem>
<listitem><para>Fees</para></listitem>
<listitem><para>Interest category</para></listitem>
</itemizedlist>
<sect2>
<title>Activity</title>
<para>
The Activity for an investment transaction describes what action is happening
to the stock. The following activities are supported:
</para>
<itemizedlist>
<listitem>
<para>
Buy/Sell. Use to record purchases or sales of individual investments.
This action requires an account to transfer the funds from/to.
</para>
</listitem>
<listitem>
<para>
Dividend/Yield. Also known as a <quote>Cash Dividend</quote>, this action
is used for when you receive an interest or dividend disbursement from
your investment. This action requires an account to transfer the funds
from/to.
</para>
</listitem>
<listitem>
<para>
Reinvest Dividend. This is a dividend where the proceeds are re-invested
back into the investment.
</para>
</listitem>
<listitem>
<para>
Add/Remove Shares. A simple increase or decrease in your balance. This
should be used very rarely, because it's uncommon for shares to just show
up in your account (or disappear) unless it's a purchase or a sale.
</para>
</listitem>
<listitem>
<para>
Split Shares. Used when the stock is split. Enter the ratio of the split
in the <quote>Split Ratio</quote> field. For example, in a 3:2 split,
enter 1.5
</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Security</title>
<para>
Each investment transaction must be associated with an individual security,
which is here just another name for an investment. Choose the investment name
when adding or editing a transaction. The symbol will be displayed when
viewing it.
</para>
</sect2>
<sect2>
<title>Account</title>
<para>
For any transactions which generate or require money, you must enter the
account where the money is transferred to/from. If your investment account
has an associated brokerage account, it's usually best to transfer the funds
there. This applies to funds for purchase or sale of the investment, as well
as for fees paid or interest or dividends earned.
</para>
</sect2>
<sect2>
<title>Shares, Price & Total Amount</title>
<para>
For buy, sell, and cash dividend transactions, the number of shares, the price
per share, and the total amount of the transaction must be established. You
can enter any two of these, and &kappname; will calculate the third. It's
usually best to enter just the total amount and the number of shares, because
these are the known facts of the transaction. The price per share can be
calculated from these.
</para>
</sect2>
<sect2>
<title>Fees</title>
<para>
With many investment transactions you can include the fees (or commission) you
paid the broker. If you enter a category for the fee, then a field will be
shown to the right where you can enter the amount of the fee. If you need to
enter more than one fee for the transaction, you can use
the <link linkend="details.ledgers.split">Split Transactions</link> feature.
In this case, when you complete entering all the splits, the total amount of
the fees will be shown to the right.
</para>
</sect2>
<sect2>
<title>Interest</title>
<para>
This is how you enter an interest or dividend payment from an invenstment. As
with fees, if you enter a category, then a field will be shown to the right
where you can enter the amount. You can also use the split transaction
feature, if required.
</para>
</sect2>
</sect1>
<sect1 id="details.investments.foreign">
<title>Working With Foreign Investments</title>
<para>
&kappname; supports multiple currencies and investments, and you may want to
combine the two. However, doing so requires extra care. As noted above, when
you added an investment, you had to specify its trading currency. This might
not be the same as your base currency, and it also might not be the same as
the account in which you hold the stock or the account where you transfer your
funds to/from for buys/sells.
</para>
<para>
Consider a hypothetical case. Your base currency is USD. You have an
investment account in EUR, and a brokerage account also in EUR. In that
account, you hold shares of TietoEnator, which is traded in SEK.
</para>
<para>
When you enter a buy transaction on this investment, use SEK as the currency.
So if you buy 100 shares at a price of SEK 248.00, for a total of SEK
24,800.00, enter these values in the transaction.
</para>
<para>
<screenshot>
<screeninfo>Currency Warning</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="investment-currencywarning.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Currency Warning</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
When you choose the brokerage account to fund the transfer, you'll be warned
that it's in a different currency.
</para>
<para>
<screenshot>
<screeninfo>Exchange Rate Editor</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="investment-exchangerateeditor.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Exchange Rate Editor</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>
When you finish the transaction, you will be prompted for a price update to
the investment account's currency, in this case, SEK -> EUR. Review the
documentation on <link linkend="details.currencies.prices">Entering Prices
Manually</link> for more information on the price dialog.
</para>
<para>
If you then switch over to the brokerage account, you will see the transaction
as EUR 2,254.54, assuming an exchange rate is 11.0000 SEK / EUR.
</para>
</sect1>
<sect1 id="details.investments.prices">
<title>Updating Prices</title>
<para>
There are two ways of updating the prices for your investments. You can
either enter the new price manually or have &kappname; fetch it from the web.
</para>
<sect2>
<title>Manual Price Updates</title>
<para>
You can enter prices for your investments using the same
<link linkend="details.currencies.prices">Price Editor</link> as used for
currencies.
</para>
</sect2>
<sect2 id="details.investments.onlinequotes">
<title>Online Price Quotes</title>
<para>
&kappname; has the ability to download the latest prices for your investments
and currencies via the web.
</para>
<sect3>
<title>How Online Quotes Work</title>
<para>
At your request, &kappname; will fetch a page from the web that contains the
latest price for each item. By default, prices are fetched from
http://finance.yahoo.com, and are subject to the terms and conditions of that
site.
</para>
<para>
The online quote lookup uses the investment's trading symbol to find the
price. Therefore, it's important to set the symbol correctly. Yahoo supports
stocks from most major world markets, so it's usually just a matter of finding
the correct symbol. For example, TietoEnator trades on the Stockholm Stock
Exchange market, and its Yahoo symbol is TIEN.ST.
</para>
<para>
To find the trading symbol for a security supported by Yahoo, use the
<quote>Symbol Lookup</quote> feature at http://finance.yahoo.com.
</para>
</sect3>
<sect3>
<title>Assigning a Quote Source</title>
<para>
In order to get online price quotes, you first have to enable it for each
investment or currency you want updated, by setting a <quote>Online Quote
Source</quote>. This is the name of the service from which the quote should
be fetched. KMyMoney ships with several sources to choose from. Yahoo is the
recommended default source, and should work for most investments and all
currencies.
</para>
<para>
To assign a quote source to an investment, navigate to the investment summary
view for the account in which the security is held. Edit the security by
right-clicking it and selecting <guimenuitem>Edit Investment
...</guimenuitem>. In the Investment Detail Wizard,
click <guibutton>Next</guibutton> twice, for the Online Update section. In
the Online source dropdown box, select the online source.
</para>
<para>
Versions of &kappname; starting with 0.9 contain support for the
Finance::Quote package for obtaining online quotes. This is intended primarily
as a convenience for those users converting from the GnuCash finance package,
which uses it as its native method. If you do select this option, you should
see a different list of sources, those supported by Finance::Quote. If the
list is empty, it suggests that the package is not properly installed. See
their web site at
<ulink url="http://finance-quote.sourceforge.net">
http://finance-quote.sourceforge.net</ulink> for more information.
</para>
</sect3>
<sect3>
<title>Adjusting a quote</title>
<para>
Some online sources do not report the price in a base quantity (e.g., EUR) but
in a fraction (e.g., Cent). Using this information as price will produce wrong
values for your investments.
</para>
<para>
If this is the case for your online source, you can use the
<guilabel>Factor</guilabel> field to enter an adjusting factor. For the above
mentioned example the factor would be 0.01.
</para>
<para>
The <guilabel>Factor</guilabel> field is only available if a
<guibutton>Quote Source</guibutton> has been selected.
</para>
</sect3>
<sect3>
<title>Fetching Quotes</title>
<para>
Typically, you will update the prices for all your investments and currencies
at once. Choose the <menuchoice><guimenu>Tools</guimenu><guimenuitem>Update
Stock and Currency Prices...</guimenuitem></menuchoice> menu option to bring
up the online price quotes dialog. Press <guibutton>Update All</guibutton> to
fetch quotes for all investments and currencies in your &kappname; file.
</para>
<para>
<screenshot>
<screeninfo>Update Stock and Currency Prices</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="investment-onlineupdate.png" format="PNG" />
</imageobject>
<textobject>
<phrase>Online Stock and Currency Price Update</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
</sect3>
<sect3>
<title>Adding or Editing Quote Sources</title>
<para>
Adding or editing quote sources is not recommended for anyone but the most
technical user. You should feel comfortable reading HTML and writing complex
regular expressions. If this doesn't sound like you, we recommend writing to
the developer's list if none of the quote sources work for you. Ideally,
please point us to a web page where these quotes can be obtained.
</para>
<para>
If you do feel up to the challenge, here's how it works. The quote sources
are contained in the settings dialog.
Choose <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
&kappname;</guimenuitem></menuchoice>. From there, choose
the <guilabel>Online Quotes</guilabel> section. You can choose an existing
source to edit, or create a new one. When you are done with your changes, be
sure to press the <guibutton>Update</guibutton> button before exiting the
dialog. Your changes are not saved by default.
</para>
<para>
The first thing to worry about in an online quote source is the URL. This is
the page that is fetched from the web. You will see a %1 in all sources, and
a %2 in currency sources. For investments, %1 is replaced by the trading
symbol. For currencies, %1 is replaced by the From currency, and %2 is
replaced by the To currency. This URL is then fetched, all HTML tags are
removed, and that stripped file is then sent to the page parser.
</para>
<para>
Note that the URL can also be a file: URL, which the quote fetcher takes to
mean an executable script. It will pass any command-line arguments to it that
you have specified, and feed the stdout to the page parser. For example, you
might have a script called getquote.sh that contains custom quote logic,
taking the symbol as a single parameter. Your URL would be
<quote>file:/path/to/getquote.sh %1</quote>.
</para>
<para>
The page parser looks for a symbol, a date, and a price. Regular expressions
tell it how to extract those items from the page. Please review the
documentation for the <ulink
url="https://www.trinitydesktop.org/docs/qt3/ntqregexp.html#1">QRegExp class</ulink> at
https://www.trinitydesktop.org/docs/qt3/ntqregexp.html#1 for the exact makeup of the
regular expressions. There should be exactly one capture expression,
surrounded by parentheses, in each regexp. The date format further tells the
date parser the order of year, month, and day. This date format should always
be in the form "%x %x %x". where x is y, m, or d. The date parser is very
smart. <quote>%m %d %y</quote> will parse <quote>December 31st, 2005</quote>
as easily as <quote>12/31/05</quote>. Two digit years are interpreted as
being in the range of 1950-2049.
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="details.investments.unimplemented">
<title>Unimplemented Features</title>
<para>
Certain common features that are normally found with investments are not yet
implemented in &kappname;. These include: Derivatives (options, futures,
etc), capital gains, and tax reporting for investments.
</para>
</sect1>
</chapter>
|