Capital Gainz - Newsletter #10

             Capital Gainz Newsletter #10
                  April 16, 2000
                     Dave Cohen
                  AlleyCat Software
In these newsletters, I'll provide useful hints and tips for
Capital Gainz. To make things easy for email, these 
newsletters will be plain old ASCII text.

If you want to be removed from the mailing list, send me a 
request via email.

All prior newsletters can be found on our Web site.


01) Recent Bug Fixes
02) Update Prices Problem 
03) Saving Reports
04) Capital Gainz on Macs 
05) Data Upgrades
06) Tax Treatment by Year
07) Graphics & Registry
08) Report Types
09) Discounts on Purchases
10) Linux

01) Recent Bug Fixes

Recent minor bug fixes to v6.0 of Capital Gainz include:

Version 6.0g:
  * Added option to use a different report or graph viewer.
  * Fixed so global securities with ticker symbols longer 
    than 6 characters are updated correctly with prices.
  * Accrued Interest now automatically subtracted from 
    Cash Account.
  * Up to 8 digits now allowed for volume.
  * Allocation Report/Graph and Local Security Graph now 
    use margin/short values, based on new report setting.

Version 6.0h:
  * Fixed date entry problem in Price History Table.
  * Added grand total to Portfolio Detail Report for 
    multiple portfolios.
  * Added Net Buy figure to Performance Report, showing net
    new purchases.

Version 6.0i:
  * Fixed problem with year 2000 dates in MetaStock data 
    conversion (CGCV.EXE).
  * Added Hide Inactive option to Global Security Table.
    This is based on date of last price recorded for it,
    as set in the user settings.
  * Fixed minimize/maximize problems with Local Security
    Table window.

Version 6.0j: (Comming soon...)
  * Add right-click context menus.
  * On Tax Report, margin will total by security in 
    investment fees section.

Any registered 6.0 user can download the latest version of
Capital Gainz, and install it using their current username 
& usercode - at no cost - from

02) Update Prices Problem

I recently ran into a bug in the Microsoft Windows Internet
libraries after installing Internet Explorer 5.0. After 
using Update Prices from Internet in Capital Gainz to 
update the portfolio value, subsequent attempts to update 
prices without restarting Capital Gainz failed. The prices 
did not change.

The problem is a bug in the MS Internet code, which ignores 
flags passed to it to never use cached data. In essence, it
caches the price data the first time, then always returns 
that same data each time Capital gainz tries to get prices.

There are two workarounds:
- Exit and restart Capital Gainz, so the library treats it
  as a new process.
- Change the cache settings in Internet Explorer. In IE5,
  the procedure is: 
    Tools, Internet Options, Settings button, set
    "Check for newer versions of stored pages" to
    "Every visit to the page"

03) Saving Reports

One feature I'm looking to add soon is a way to somehow 
save report settings, so the user can generate a report
configured a certain way with just one click. Some of you
will recognize this as what Quicken does.

My current thinking is to allow the user to associate a 
name with a report that remembers:
  - If all portfolios selected
  - Current Report Settings
  - A date type - current day, month, year, etc.
It will not remember currently selected portfolios, 
securities, etc., since presumably these would change 
somewhat frequently.

Any thoughts or comments on this are welcome.

04) Capital Gainz on Macs 

While I personally question the future of Apple and its
computers, several users report great success running
Capital Gainz on Macs with the Virtual PC software. One 
user did note a problem with reports, but I suspect that is 
between the Windows printer driver and Virtual PC. In any
case, changing Capital Gainz so reports are sent to plain 
text files, using Report Settings, will fix any problem
with printing.

So tell your Wintel-phobic Mac friends!

05) Data Upgrades

Between major versions, such as 5.1 to 5.2 or 5.2 to 6.0,
Capital Gainz usually makes some changes to data file 
formats to accommodate new features. For instance, in 6.0
the new Cash asset type required a new field to be added to
the Local Security data file.

Since the format changes, data files created in prior 
versions of Capital Gainz do not work with newer versions
as is - a "data upgrade" is necessary.

At installation, Capital Gainz usually determines the 
current installed version, and thus if an upgrade is 
needed. The version is determined mainly by looking at the 
little SETTINGS.DAT file, although there are some other 
alternatives used if this is not found. At the end of 
installation, the upgrade program is automatically cranked 
up to take care of upgrading data. The SETTINGS.DAT file is
also updated to signal the new version of the data.

This works fine, until a user does one of the following:
- Installs Capital Gainz on a new PC, then copies the data 
  files from an older version of Capital Gainz on another
  PC to the new PC. 
- Restores data from an older version of Capital Gainz
  to a newer version of Capital Gainz.
In both cases, Capital Gainz is looking for a certain data
format, but is presented with an older format. The result 
is that Capital Gainz tells the user to upgrade their data

To upgrade data files, use the Capital Gainz Upgrade 
Program, cgupg.exe, which should have an entry in the 
Capital Gainz program group from the Start menu. Like 
Capital Gainz installation, the Upgrade Program should 
correctly determine the version you have, which you 
confirm. It then upgrades the data to the current version,
so Capital Gainz can use it. 

Since many of you ignore admonishments to back up, and
since the upgrade procedure could conceivable fail due to
lack of disk space or other problems, the Upgrade Program
stashes your old data into a subdirectory of the main
Capital Gainz directory, named CGxxDATA, where 'xx' 
corresponds to the old version - such as CG52DATA for 5.2
version data.

You can at any time go back and remove these old data file
directories. But, I have bailed out several users who do
not back up by going back to these files, saving them many
hours of data reentry.

As a final note, any version of Capital Gainz will upgrade
from any older version. So, believe it or not, you can 
install version 6.0 on top of version 1.0, and it will 
upgrade, version-by-version, until it is current.

06) Tax Treatment by Year

Up until a late release of version 5.2 of Capital Gainz, 
it was up to the user to set the long term holding period
for generating tax reports. In fact, this period was 
actually applied at the time the sale was recorded, so
tax reports from different years could still be generated.
Then, along came the ever so stupid three-tier holding
period of 1997, and this scheme was blown out of the water.

So, now Capital Gainz maintains most of the tax report
rules internally, and can generate any prior tax year
report using rules in effect at that time. Thus, you can
generate a 1997 tax report with Capital Gainz 6.0, and
it will know to use the three levels of holding periods
for capital gains. Any future year reports will use the 
last known rules in effect when that version of Capital
Gainz was released - thus, a tax report generated for 
the year 2000 with Capital Gainz 6.0 will use the same 
holding period as 1999 (and, actually the same as 1998 as 

There is one slight twist - mutual fund capital gains
distributions. You will notice that when you record
a distribution, you can select Short Term Capital Gain,
Long Term Capital Gain:12, and Long Term Capital Gain:18.
These will all be in every version of Capital Gainz -
otherwise, how could you go back and add or change a
long term capital gain distribution recorded in 1997?
However, in every year except for 1997, the Long Term
Capital Gain:12 and Long Term Capital Gain:18 are treated
identically - as a long term capital gain distribution.

07) Graphics & Registry

I really hate the Windows registry, and yearn for the 
simpler days of tweaking text-based INI files. However, as
of version 6.0, Capital Gainz does use the registry for
the graphics library - I didn't have a choice, since that 
is what the company that developed it required.

This is normally transparent to the user - Capital Gainz
installation takes care of registering the graphics 
component with the Windows registry. However, this does 
mean that if you simply move Capital Gainz to another 
computer, graphics will no longer work. You must reinstall
Capital Gainz using its installation procedure so the 
graphics component gets registered correctly.
08) Report Types

Capital Gainz Newsletter #5 discussed report options in
detail. Here, I'll step back and just review what report
types are available:

- Portfolio Summary: This report summarizes current 
  holdings for a portfolio or portfolios, showing only 
  security totals and not individual security information.

- Portfolio Detail: This report shows all current holdings
  for a portfolio or portfolios. Detailed information for
  each security is shown. The Combine Portfolios report
  option will result in all securities in all portfolios
  being treated as if they were all in one portfolio.
  This report shows only unrealized gain/loss, and does
  not take into account realized gain/loss from sales
  or distributions. This report and the Performance Report,
  are the ones most frequently generated.

- Activity History: This report shows all buy, sell, and 
  distribution transactions for a security or securities,
  in chronological order. This can help with reconciling
  broker statements, and the Show Subtotals report option
  will result in a running total after each transaction.

- Activity Summary: This report summarizes buy, sell, and
  distribution activity for a security or securities. 
  Basically, it shows the same totals that appear at the
  end of each security in the Activity Detail report.

- Performance Report: This report calculates total 
  performance of a security or securities, using all buy,
  sell, and distribution activity. A standard total 
  percentage is calculated, and an annual rate is derived 
  from it.  Also, a time-weighted annual rate, known as the
  internal rate of return, or IRR, is calculated. An IRR 
  percentage is derived by applying this rate over the 
  report period. This report and the Portfolio Detail 
  Report are the most frequently generated reports.

- Activity Detail: This report shows all buys, sells, and
  distributions for a security or securities. Totals are
  shown for each security - if all you want is to see
  these totals, use the Activity Summary Report. In this
  report, purchases that have since been sold are not
  included in the Buy Shares section.

- Portfolio Allocation: This report breaks down current 
  holdings by security, security type, and security class,
  for a portfolio or portfolios. The security type is 
  determined by the global security associated with the 
  local security, and the security  class is determined 
  by the security type. For instance, a security type might
  be Small Company Stock Fund and the security class would
  be Stock Fund. I personally use this report as a sanity 
  check on how much I have allocated to equities, and to be
  sure I have a decent amount of cash on hand. The Combine
  Portfolios report option can combine data for all 
  selected portfolios.

- Tax Schedules: This report shows Interest, Dividend, and 
  Short/Long Term Capital Gains. They show data similar to
  what the corresponding Schedule B and D of the Federal 
  Tax Return require. However, Capital Gainz shows more 
  detail for Interest and Dividends. There are several 
  options available for this report, the most notable being
  the Group Sales choice. This causes each sale to be 
  combined into a single short term and a single long term
  entry, which is valuable if you sell a mutual fund that
  had many individual purchases due to periodic 
  investments. Another option allows you to generate a TXF
  file that can be used to import tax data into TurboTax 
  and other tax programs.

- Income Report: This report shows the interest and 
  dividends for a security or security, and can estimate
  future income based on recorded past data. It also breaks
  down income according to whether it is taxable or 
- Portfolio History: This report shows Portfolio History
  that you have explicitly recorded, giving you a 
  historical look at how your wealth has (hopefully) grown.
  You must explicitly take "snapshots" of your portfolio
  for this report to show anything - this is done using
  the Portfolio History Table.

- Short Position: This report shows any outstanding short
  positions, which are shorts that have not yet been

- Global Security Report: This report shows all global
  securities, their ticker symbols, and their prices and
  yields. An interesting variation is to use the Show
  Subtotals report option, so this report shows all
  local securities linked to each global security.

- Total Return: This report shows the total return for a 
  security or securities. This figure is based only on
  recorded prices and interest/dividends - it does not
  account for your specific buys and sells. It corresponds
  to the total return reported by mutual fund companies.

- Price History: This report shows historical prices for
  a security or securities.

- Broker/Investment Company: This report shows name, 
  address, and phone number information recorded for
  each broker, along with local securities associated
  with them. If the Show Subtotals report option is
  selected, commissions paid to each broker are shown.
- Security Type: This report simply shows information for
  each security type recorded, the same as the
  Security Type Table.

Remember that many reports selected from the Reports
pulldown menu selection apply only to the currently 
selected security. To get reports over some or all 
securities, you often need to go to the Report Menu from
the Reports pulldown menu selection.

09) Discounts on Purchases

If you have any Dividend Reinvestment Program investments,
you may be getting discounts on purchases. Many such 
programs cover any transaction costs. Some even offer 5%
discounts on shares purchases with reinvested dividends.
In either case, these amounts are treated as income in the
year they occurred, and are included on your year-end 1099
forms. Thus, in the case of discounted purchases, you want
to be sure to record the undiscounted amount so you don't
get taxed again on this amount when you sell the shares!

In Capital Gainz, a discount is simply recorded as a 
negative commission on the Buy Shares Form. Capital Gainz
will report any negative commission on Schedule B of
the tax forms, and ignore any negative commission when
calculating gain/loss of Schedule D.

The biggest problem with discounts, however, is deciphering
the amounts from the statements you receive! Sometimes they
show amounts without the discount applied, sometimes they
include the discount, etc. However, here is one example:

Assume a dividend reinvestment plan gives you a 5% discount 
on shares purchased with reinvested dividends. Your
statement shows:
Date         Tx  Amount  Discount    Price  Shares  
01/01/2000  Div  195.73     10.30  30.6079   6.395
01/01/2000  Cash 200.00      0.00  32.2188   6.208

Notice that the reinvested dividend price is 30.6069,
while the regular cash investment price is 32.2188. 
This tells you that the discount must be added back into
your basis, so the 1/1/2000 reinvestment is recorded as:

Amount: 195.73 + 10.30 = 206.03
Shares: 6.395 (does not change!)
Price : 206.03/6.395 = 32.2174
        or, use 32.2188 from cash purchase
        (rounding causes the difference)
Comm  : -10.30

10) Linux

Don't even ask when Capital Gainz will be ported to Linux!
I recently put Linux on one of our PCs, because I needed it 
for another job. I'll tell you this - I used various Unix
systems for a number of years in the late 80's and early
90's, and Linux represents NO improvement whatsoever on

I had many more problems installing Linux than I ever 
had installing DOS or Windows - I even gave up with the 
video card and purchased a different one! As for stability,
Linux is not crash-proof - trust me.

Linux/Unix definitely has a place, but that place is still
not on the desk as a general productivity tool. I don't 
understand the allure of Linux on the desktop - I can work
much faster, and do things easier, on Windows. I wrote a 
course for a company on the Apache Web server for Linux.
While all the tests and code were obviously run on Linux,
all of the writing was done on a Windows machine - even
screen captures were done running a browser on the Windows
machine! It was just much faster and easier that way.

My personal opinion is that somewhere in the Open Source
world, Microsoft has a deep agent funding the effort. They
can keep it from becoming a real threat on the desktop, yet
still point to it as a 'competitor' to the Justice