Dave Cohen -
Alleycat Software

Web Development

Capital Gainz
Bull & Bear for Capital Gainz
April 2024: Yahoo messed up the downloaded prices when using Export to create a file to update prices for Capgnz. I created a workaround that involves a little setup, and one extra step. See the instructions below in Price Retrieval.
 
Capital Gainz Price Retrieval

As of November 2017, Yahoo no longer supports automated price retrieval.

There are thus 3 alternatives to retrieving prices for Capital Gainz:
  1. Use Prices, Update Prices from Screen to step through price updates manually. This is only viable if you have a few holdings.
  2. Use Prices, Update Prices from File to read in a comma-delimited file of prices you create. This is a little easier than prior option.
  3. The best approach is to use Yahoo finance by creating a portfolio then exporting the prices. This takes a little setup work, but then only requires one extra step other than maintaining the portfolio of symbols. This approach is detailed below.

To update prices using Yahoo finance, you first need to do some setup work:

  1. Go to finance.yahoo.com. If you have a Yahoo account, login. Otherwise, create an account.
  2. Select My Portfolio from menu bar.
  3. Create a new portfolio with all of the symbols you want to retrieve. To see which symbols you are getting now, go to Capital Gainz, select Prices, Get Prices From Internet, then choose the Global Sec button. As you change your holdings, you will need to update the Yahoo portfolio.
  4. In Capital Gainz, choose Prices, Update Prices from File.
  5. Click the Format button, and erase all fields except for Field #1 SYMBOL and Field #2 Price.
  6. Save your format by clicking OK.

Once the portfolio is setup, to retrieve and import prices simply do the following:

  1. At finance.yahoo.com, login if necessary and go to My Portfolio, then select the portfolio you want.
  2. Click Export button at the top of the portfolio listing.
  3. Note where you are saving the .csv file and click Save to download price file. For example, save to c:\capgnz\quotes.csv.
  4. In Capital Gainz, choose Prices, Update Prices from File.
  5. Make sure Date to Use If Not Found is set to date you got prices for.
  6. Select the file you saved from Yahoo, such as c:\capgnz\quotes.csv, and click Ok. If you get "Prices: 0 Errors: 0", another step is needed because in April 2024 Yahoo altered the file format to use UNIX-based line terminators. Thus, an extra step is needed. To set this up one time:
    1. Click here to download the ZIP archive containing cgfixprices.bat to your Capital Gainz folder: c:\capgnz\cgfixprices.zip. To do this, extract cgfixprices.bat by right clicking on the downloaded cgfixprices.zip in Windows Explorer and choosing to Extract All to c:\capgnz.
      (You can also try downloading cgfixprices.bat directly, but your browser or anti-virus may block that.)
    2. This file assumes the downloaded price file from Yahoo is c:\capgnz\quotes.csv and the converted file will be c:\capgnz\quotes.txt. See below if you want to change that.
    To convert the downloaded price file:
    1. Right click the Windows icon in the bottom left of screen (next to the "Type here to search" box).
    2. Choose Run
    3. In the Open: text field, enter: c:\capgnz\cgfixprices.bat
    4. Now, in Capital Gainz Update Prices from File, choose c:\capgnz\quotes.txt
  7. You can use View button to see the prices read in, then use Ok to apply them.

Notes:

  • Yahoo does download dates for prices. However, the format used is not recognized by Capital Gainz. Thus, just remove that field from import as discussed.
  • If something here is not clear, let me know and I will try to explain better. Yahoo is making life difficult.
  • If you have to do the price file conversion, but would prefer different file names or locations, you can easily edit that text file, or specify the input and output file on the Open: command line. For instance:
    cgfixprices.bat c:\tmp\myinputfile c:\tmp\myoutputfile
  • I've been using this method for a while now, and actually really like it. The Yahoo finance portfolio displays delayed intraday prices and updates them continuously, so it's nice to have that up and running in the browser.
 
Capital Gainz Recent Notices
  • Capital Gainz runs successfully on Windows 95, 98, NT, 2000, XP, Vista, 7, 8, and 10.
  • As of March 2003, work on Capital Gainz has been suspended. We will continue to support the latest version, 6.0.
  • Capital Gainz Config/System Configuration settings/changes are not staying set, the cause is unknown. However, you can simply edit CG.INI directly with Notepad (NOT Word) to make changes.
  • Capital Gainz Graphics no longer works for Windows 7 and later.
  • Contact us via the email address only. Support/ordering via the previous phone, fax, and P.O. Box are no longer supported.
  • Capital Gainz is now download-only. It is no longer distributed on physical media, such as diskette.
  • If you copy or restore data files to a PC and then get an error indicating "Access Denied" on a .DAT file, then it is likely that the data files were inadvertently made "Read-Only". This can occur on copies from CDROM. To fix this, in Windows Explorer, highlight all the files in your Capital Gainz directory (and data directory, if you keep data elsewhere) by clicking on a file in the directory and choosing Select All from the Edit menu, right click on the selected files and choose Properties, clear the Read-Only checkbox, and then click on the Ok button.
  • Automated price retrieval no longer works thanks to Yahoo. See: Price Retrieval.
  • TXF file imports to TurboTax no longer work.
  • Information on how to handle options in Capital Gainz.
  • Capital Gainz is no longer for sale. If you are a current user, you can instal with your current username/usercode.
  • If installation fails or you don't have a username/usercode, use the ZIP file installation.
  • Click here for instructions on copying a portfolio across computers.
 
Capital Gainz Description

Capital Gainz is an investment portfolio manager that balances the modest needs of the small investor with the complex requirements of the professional investment manager. It's ideal for investors following a 'dollar cost averaging' strategy with mutual funds or dividend reinvestment plans.

You record purchases, sales, and distributions with easy to understand forms, and select records from scrolling tables. To record a sale, simply specify how many shares to sell and the selling method: FIFO, LIFO, max gain, max loss, specific ID, average cost. The shares selected are displayed for confirmation or for a 'what if' scenario.

Capital Gainz Screen Picture

You can calculate and compare a security's total return with your actual realized performance, which uses purchases, sales, and distributions to calculate the internal rate of return. You can reinvest dividends, record splits and conversions, and enter bond discount/amortization. Margin is supported by tying a cash account to a portfolio. You can update prices from a form, a file, or an online service. Updating a price will adjust the value of all portfolios holding that security.

Capital Gainz provides several levels of detail and summary reports, and you can restrict the information by date range, security, or portfolio. Other reports include portfolio allocation, expected income, and Schedules B and D from the tax forms.

You can generate price and moving average graphs, allocation charts, cost/value charts, and other graphs from your data. You can retrieve and update prices from the Internet.

Unlike popular retail software that inappropriately forces the checkbook paradigm on users, Capital Gainz is designed solely to manage investments. Thus, investors find it to be more intuitive and 'cleaner' to use.

Requirements: Microsoft Windows 95/98/NT/2000/XP/Vista/7/8/10, 8 MB or more of RAM, 6 MB or more of hard disk space, mouse, VGA monitor.
 
Capital Gainz Download and Installation
  • If you have a username/usercode:
    1. Download the CGZ60.EXE file to a temporary directory on your hard drive, such as C:\TEMP.
    2. Bring up the directory you downloaded CGZ60.EXE to in Windows Explorer, and double-click on CGZ60.EXE to start the installation.
    3. When prompted, enter your Userame/Usercode/Registration. If you don't have this information, use:
      Username: free
      Usercode: d6fb7c0d
      Registration #: 999
  • If the CG60.EXE program failed to install:
    1. Download the CGZ60.ZIP file to a temporary directory on your hard drive, such as C:\TEMP.
    2. Bring up the directory you downloaded CGZ60.ZIP to in Windows Explorer, and double-click on CGZ60.ZIP to unzip the installation files.
    3. Follow the directions in the README.FIRST file that was unzipped to manually install Capital Gainz.
  • Since Windows changed the format of help files, online help no longer works after Windows 8. You can obtain PDF format of all program help:
    1. Download the CGSUPP.ZIP file to a temporary directory on your hard drive, such as C:\TEMP.
    2. Bring up the directory you downloaded CGSUPP.ZIP to in Windows Explorer, and double-click on CGSUPP.ZIP to unzip the installation files.
    3. Follow the directions in the README.TXT file that was unzipped to use the PDF files.
 
Capital Gainz Frequently Asked Questions
General Usage Questions

"Why does Capital Gainz report that no Help is available?"

The online Help files are installed to the Documentation Directory. If you change this directory using the System Configuration item on the Config pulldown menu, the Help files must be moved as well. If you delete the Help files, you can reinstall Capital Gainz to add them back.

"Why does Capital Gainz halt with 'Invalid Record Declaration'?"

You are trying to execute Capital Gainz against data files created with a different version of Capital Gainz. You need to upgrade your data files by running the Capital Gainz Upgrade program.

"How do I get help with hard to explain problems?"

For complicated problems, the best way to get help is to send us copies of your data files, *.DAT and *.K01, on a diskette. Be sure to include a detailed explanatory note, including a problem description, list of events leading up to the problem, and information about your system configuration.

"Which files are the user data files?"

User data files are those matched by the *.DAT and *.K01 wildcard templates.

"Why doesn't data that I enter show up on the tables?"

Two possibilities. First, if you are entering data from a table, then the system date range may be set and your entries are outside of the range. They are written, but don't show up in the tables until you reset the date range. Second, it's possible that the file indexes are corrupted - run Maint, Rebuild/Pack to rebuild them.

"Why does my Capital Gainz window grow (or shrink) between executions?"

This can happen if you exit Capital Gainz and there is a horizontal or vertical scrollbar on the application frame, or there may be a discrepancy with the video driver. Capital Gainz saves the window sizes on program exit for use the next time you run it. You can block this behavior, eliminating growing/shrinking windows, by turning off the Save Windows Sizes at Program Exit option, available from Config, User Settings, Windows.

"Is Capital Gainz Year 2000 ready?"

Yes. For date entry, you can specify MM/DD (uses current year), MM/DD/YY (uses 1900 for 0-18, 2000 otherwise), or MM/DD/YYYY. However, reports only show MM/DD/YY.

Password Questions

"Can I secure my data from others who use my computer?"

Use the Set Password menu item on the Config pulldown menu to password protect access to the program. If you set the password to all blanks, Capital Gainz does not prompt for a password at startup.

"I forgot my password. What do I do?"

To regain access to Capital Gainz, you must reinstall the program, which will set a blank password.

Purchase, Sale and Distribution Questions

"Do I have to enter all of my prior activity to get started?"

In order to match purchases with future sales, determine long or short term holding periods, and accurately calculate performance return, all prior activity must be recorded. This task is made easier by the repeated entry of the activity forms. There are two short cuts available. First, if you've been buying and selling shares of a mutual fund over some time period, you only really need to record purchases that are still owned. Another alternative is to lump all of your holdings into two groups, long and short term. Record one big purchase for the total shares and basis of the long term group on a date older than the long term holding period. Then, record the individual short term purchases. This approach works great with money market funds, which maintain a constant price.

"How do I change or delete a buy, sell, or distribution entry?"

To change or delete activity, use the Buy Shares Table, Sell Shares Table, or Distribution Table item on the Activity pulldown menu item on the Local Security Table. Then highlight the item in the list and use the Change or Delete button.

"How do I record mutual fund loads?"

Loads are recorded similarly to commissions, but they are calculated differently. A $35 commission on a $1000 purchase means you paid $1035, invested $1000 of it, and paid $35 to the broker. A $35 load on a $1000 purchase, which is a 3.5% load, means that you paid $1000, invested $965 of it, and paid $35 to the mutual fund. The Load button on the activity forms brings up a calculator that separates the load from the purchase amount and calculates the unloaded price.

"How can I record a purchase for $0.00?"

Capital Gainz usually requires non-zero values for shares, price, and amount. If you want to set one or more of these to zero, turn off automatic calculations in the User Settings or on the activity form.

"Why is the per share value displayed on the Distribution Form so low?"

You are misinterpreting the meaning of the per share field. It's the amount of the distribution divided by the number of shares owned, not the price.

"How do I find the per share amount of a distribution?"

For stocks and bonds, this is the stated dividend/interest rate. For mutual funds, check your statements immediately after receiving a distribution, as they usually include a per share value. If not, the value calculated and displayed by Capital Gainz is usually close enough for accurate yield and total return figures.

"I've been using the per share value wrong. How do I fix it?"

There's a button on the Distribution Table, Recalculate Per Share, that will recalculate the per share values for the displayed distribution records.

"Does the order that I enter activity matter?"

If you are using the average cost selling method, then it's imperative that you enter all activity in order. Otherwise, you should at least be sure to avoid recording any sales before all prior purchases have been recorded. To explain the caution when using the average cost selling method, assume you have the following activity:

Buy 10 shares at $11 on 1/1/91

Buy 10 shares at $12 on 2/1/91

Sell 10 shares at $12 on 2/2/91

Buy 10 shares at $13 on 3/1/91

Sell 10 shares at $14 on 4/1/91

The 2/2/91 sale should close 10 shares at an average price of $11.50, and the 4/1/91 sale should close 10 shares at an average price of $12.25. If you entered the 4/1/91 sale before the 2/2/91 sale, the 2/2/91 sale would use the correct $11.50 basis, but the 4/1/91 sale would incorrectly use a $12 basis. The cost used is the average cost at the time the sales are recorded.

"My 401K does not provide the share price. How can I track it?"

The best way to handle this type of investment is to initially use a fixed price of $100.00, and set the selling method to the average cost method so shares you withdraw will have the same basis. When you receive a statement showing your gain/loss, record the price using the Prc Val button to calculate the price from the known value. Use the last calculated price for subsequent purchases.

"Can I use one global security for both my wife's and my 401K?"

No. Since the Price From Value feature derives a price from the value of the security, the prices will differ unless identical contributions are made. Use a unique global security for each 401K local security.

"Can I enter multiple activity on a single date for a security?"

Yes. You can have multiple purchases, multiple sales, and/or multiple distributions on a given date for a single security. When a distribution is recorded, the per share amount is calculated based on the number of shares held as of the beginning of the specified date. This allows for accurate Per share calculations when a mutual fund pays dividends and capital gains on the same day. However, when selling shares, the number of shares available to be sold are the number as of the end of the specified date. Thus, you should not record multiple sales on the same date if you are using the average cost selling method.

On a given date, the following order is assumed:

1) Distributions

2) Purchases

3) Sales

"Is it OK to delete old distributions and sold shares?"

You really shouldn't delete the old records, as they are used to determine your overall performance return with the security. If you use the average selling method, you can't delete the sell shares records, since they are required to calculate the current average price. If you end up selling all shares of a security and want to clean up, I suggest defining an 'inactive' portfolio, and moving the security to it.

"How do I record an IRA maintenance fee?"

To record an IRA fee, use the Record Fee item from the Activity pulldown menu on the Local Security Table, or record a distribution using the FEE type. If you paid the fee with a separate check, then that's all you need to do. If you let the fund company sell shares to realize the fee, you'll need to record the sale, so answer Yes when asked if you want to sell shares to cover the fee. You'll then fill out the Sell Shares Form for the sale.

"How can I see a chronological list of all activity?"

The Activity History Report shows a chronological listing of purchases, sales, and distributions for a security.

"Why do the values calculated on entry differ from my statements?"

There are occasionally rounding differences, but you probably need to adjust the precision settings for the local security.

"How do I record a stock that was taken over by another company?"

Use the Convert Security item from the Security pulldown menu on the Local Security Table. Be sure to examine the help examples, since this can be a complex operation. Also, study the documentation you receive from the company in order to understand share conversions and ratios.

"What selling methods am I allowed to use?"

According to the IRS publications, anytime you have multiple purchases of a security, you are assumed to use the first-in/first-out method unless you provide explicit prior written identification of the shares you want to sell to the agent responsible. For mutual funds, you can also use the average cost selling method without notifying the agent. However, once you use the average method, you must continue to use it as long as you hold shares of that fund. I suggest not using the average cost method unless you absolutely have to, since it requires more care and will never be the optimal method for tax planning.

"Why don't reinvested shares show up in the Buy Shares Table?"

After recording a distribution and answering Yes to the reinvestment question, you still must complete the Buy Shares Form that comes up. Usually, all the information is filled in correctly except for the price.

"How do I record a stock dividend?"

For non-taxable stock dividends with identical shares, record a stock split of:

(shares_owned + new_shares) FOR shares_owned

A non-taxable stock dividend of non-identical shares is more complicated, and you should consult the IRS publications for details.

"How do I sweep sale proceeds into a money market fund?"

You can use the Set Cash Account item on the Securities pulldown menu on the Local Security Table to set up the cash account for the portfolio. Or, you can set the redistribute proceeds option in the User Settings, so you'll be asked where you want to invest the proceeds after recording a sale.

"Why don't security totals in the Local Security Table match Buy Shares Table totals?"

The local security record maintains totals for current shares, amount, and commission. If you abnormally terminate the program during an operation that manipulates activity records, the local security's values may become out-of-sync with the actual activity totals. This can be fixed manually from the Local Security Table using the Fixup item on the Security pulldown menu, or you can use Consistency Check item on the Maintenance pulldown menu to fix up such discrepancies.

"How do I handle zero-coupon mutual funds?"

Zero-coupon mutual funds pay distributions, so they differ from the implied interest of zero-coupon bonds. After a distribution, the funds use a reverse split to adjust the shares so you have the same number as before the reinvestment (if you reinvest). You need to record the distribution and reinvestment, then execute a split in the indicated ratio.

"How do I handle Savings Bonds?"

You can record each individual savings bond, but the small values makes this cumbersome. I suggest the following:

Lump all savings bonds of the same series into multiple securities with different denominations.

Make sure the savings bond security type specifies to report sales on Schedule B. The gain on sales is then treated as interest.

Record a purchase using the cost. Thus, a $50 bond purchased for $25 would be recorded as a purchase of 1 share at $25.

When you redeem savings bonds, use the specific identity selling method so you can pick individual bonds. To sell a $50 bond purchased at $25, record a sale of 1 share at $50.

"Can I show both long and short positions for a security that I am hedging (long and short holdings) instead of seeing the combined figures on the Local Security Table?"

Yes. Simply define two local securities linked to the same global security, and use one for the long position and one for the short position. By linking them both to the same global security, the current positions will be updated by setting the price of that global security.

"Why aren't short sales covered when I record a purchase of a security that I am short?"

You must explicity use the Cover Short Sale function to conver short sales, since you can be long and short a security at one time.

"I have a security that spun off another company - how do I record this?"

Use the Convert Security item from the Security pulldown menu on the Local Security Table. Be sure to examine the help examples, since this can be a complex operation. Also, study the documentation you receive from the company in order to understand share conversions and ratios.

"When I transferred shares to another portfolio, only the buy shares were transferred, not the sell shares or distributions."

The Transfer Shares function transfers buy shares only - such as when you transfer holdings to a child's account or to charity. To move all activity for a local security, use Copy Security, then delete the original local security.

"How do I handle a security that was converted into a new company?"

You could use the Convert Security item from the Security pulldown menu on the Local Security Table. Or, it may be easier to just change the security symbol and name, and execute a Price Split if the share price or count was changed.

Security Questions

"What should I do with securities that have been closed out?"

When you sell all of the shares from a local security, you should keep the security around until after all sales have been used in the tax forms. Then, you have two options:

You can delete the security, which will remove it along with all associated activity. Deleting a local security does not delete the associated global security and price history - if you want to remove these, you'll need to delete the global security as well.

A better approach is to set up a separate inactive portfolio, copy the security that was sold off to it, then delete the security from the original portfolio.

"Is there a way to not show securities with 0 shares?"

Turn on the option in the User Settings, or on the Local Security Table, to hide inactive securities.

"Why do I get a 'Duplicate Key' error when defining a local security?"

A local security already exists with the specified symbol. If it does not appear on the Local Security Table, turn off the Hide Inactive option checkbox on the toolbar.

"I defined a Local Security earlier - why doesn't it show up in the local security table now?"

It probably doesn't have any open shares, and you have the Hide Inactive option set. Turn off the Hide Inactive checkbox on the toolbar.

"How do I manage margin accounts?"

Define a cash security for the portfolio, and use the Set Cash Account option on the Securities pulldown menu on the Local Security Table to define the security as the cash account for that portfolio. Then, whenever you buy shares, the amount is subtracted from the cash account, and whenever you sell shares or receive a distribution, the amount is added to the cash account.

"I gave my kids shares that I held - how do I record this in Capital Gainz"

You can handle a non-taxable transfer two ways. First, if you transferred all buy shares to one account, and had no sell shares or distributions, simply use Security/Copy Security from the Local Security Table to copy the security to the destination portfolio, then delete the original security. However, to transfer some number of buy shares to another portfolio, first define the security in the destination portfolio (if necessary), then use Activity/Transfer Shares from the Local Security Table. You'll specify the destination portfolio and security, then the number of shares to transfer and the selling method to use in selecting shares.

"I have a money market account I've been using for awhile, and want to treat it as a CASH asset type now."

Use the Convert to Cash Asset function to convert it to a CASH asset type.

"Why do I have to define global and local securities?"

Global securities define a stock or fund and maintain price histories, while local securities maintain activity for a specific holding. Several local securities can be linked to one global security, centralizing price data.

"When I try to delete a global security, I get an error that there are local securities linked to it. How can I figure out which ones they are?"

Use the Global Security Report, and be sure the Report Setting option for showing subtotals is set.

Price Questions

"How do I record a split of .98765 for 1, since the precision exceeds the entry field?"

Simply record the split as 9.8765 for 10, which is identical.

"Why don't updated prices show up on the tables and reports?"

Capital Gainz always uses the latest dated prices. If you inadvertently add a price for 12/31/94 instead of 12/31/93, then update prices on 6/1/94, tables and reports will still use the 12/31/94 date since it's later. Other prices are still added, but you need to delete the 12/31/94 entry from the Price History Table.

"How can I resynchronize price history with my activity?"

Use the Rebuild Price History choice from the Prices pulldown menu.

"How can I trim the size of my price history?"

Use the Rebuild Price History choice from the Prices pulldown menu to keep only one price per week or month.

"Can I change the security sequence while updating prices from the screen?"

If you set the exchange field in the global securities, then Capital Gainz displays prices for updating in order first by exchange, then by global security symbol. This makes it easier to update prices using listings from the newspaper, as you don't have to keep flipping back and forth between sections.

"I messed up importing a price file - how can I fix the prices?"

First, you should always use the View button after reading in a price file, before committing the prices with the Ok button. But, if you did not do that, you can either edit the price history table for all securities, or do the following:

1) Use the Example button on the Update Price From File form to generate a price update file, showing the latest prices and dates.

2) Save the displayed prices to a file.

3) Edit the file with a text editor, correcting the prices.

4) Use Prices/Update Prices from File again, reading in the altered price file.

"Can I read in prices from the Internet?"

In Prices, Update Prices from File, you specify a file of prices retrieved from an online source. See the help topic on this subject for a list of Internet price sources and directions on how to use them.

Calculation Questions

"Why does the gain/loss figure include reinvested shares?"

The Local Security Table shows the current unrealized gain or loss of all outstanding open shares, including those purchased with reinvested distributions. If you turn on the User Setting option to subtract reinvested distributions, the Local Security Table and Portfolio Detail Report will subtract reinvested distributions from cost in determining gain/loss.

"Why is the yield so high (or all '*'s)?"

You either entered the amount of the dividend for the dividends/year field in the Global Security Form, or entered a price for the per share field in the Distribution Form. The dividends/year figure should indicate the number of times a year the company pays dividends, such as 4 for quarterly payouts. The per share value should indicate the per share amount of the distribution, not the reinvestment price, and is normally listed on your statements.

"Why are total return percentages correct, but the rates so low?"

There is probably an incorrect, 'stray' entry in the Price History Table. If you mistakenly added a price for 1/01/41 instead of 1/01/91, then calculating total return percentages for all dates would skew the rate by 50 extra years. To fix this, check the Price History Table.

"What's the difference between total return and performance return?"

Total return uses only the price history of a security to show the return, simulating a buy-and-hold strategy with reinvested distributions. Performance return is calculated based on your actual recorded purchases, sales, and distributions.

"What do the variations between total return and performance return mean?"

If your actual performance return was under par, but the total return is good, then you've adversely affected your performance return through bad timing. The security is a good-performer, and should probably be held. This effect is seen mainly with a dollar-cost averaging strategy employed over a short period in a rising market.

If your performance return was good, but the total return is under par, then you've managed to increase returns through good market-timing. While a buy-and-hold strategy would not have done well, the market-timing effects of your purchases and sales made this security a winner. This effect is seen mainly with a dollar-cost averaging strategy employed over a long period in a fluctuating market.

"What is the 'rate' figure?"

The yearly rate of return, assuming annual compounding.

"Can I just see a straight, non-adjusted performance return figure?"

Turn off the User Settings option to use the internal rate of return.

"How are purchases on different dates factored into performance return?"

The internal rate of return calculation takes time-weighting of cash flows into consideration.

"Why does the yield calculation only use the last dividend?"

Yield is a measure of expected return, so Capital Gainz takes the last dividend/interest distribution per share and multiplies it by the number of expected payouts.

"Why is the gain on a shorted security so high in the Local Security Table?"

Remember that the Local Security Table shows unrealized gain/loss. Since you shorted the security, it didn't cost you anything, so any gain (or loss) will be, essentially, infinite.

"Why not show Cost and Value in Portfolio History?"

If no money ever leaves a portfolio, then Cost can be calculated and shown. However, if any money ever leaves a portfolio - as is far more common - then allocating cost across multiple transactions is not feasible. If no money ever leaves a portfolio, then the difference between Value and Return in Portfolio History is Cost. If money does leave the portfolio, then this is no longer true. In fact, it's possible to have Return exceed Value.

"Why does the Performance Report show 999999% for a shorted security?"

If you have a short sale that results in a gain, the performance percentage calculated will always be the maximum value. That's because the proceeds from the short sale are 'used' for the subsequent purchase. So, for a short sale that resulted in a gain:

sell_amt = amount of short sale

buy_amt = amount of purchase to cover

return = sell_amt - buy_amt

reinvest = amt of short sale

return% = (return / ( buy_amt - reinvest) ) * 100

In the above, reinvest will be greater than or equal to buy_amt if there is a gain, so the basis for the division is 0. While a more reasonable percentage could be calculated by swapping the buy/sell dates for a short sale, that would result in incorrect overall portfolio percentages. The performance really is infinite - you put $0 down and received something at the end. Since no broker allows you to short shares with no money on deposit, the overall portfolio performance will be correct.

Tax Questions

"How are long and short term capital gains distributions treated?"

By default, Capital Gainz treats short term capital gains distributions as ordinary dividends, and long term capital gains distributions as transfers to Schedule D. However, you can modify the security types to change this behavior.

"When is long or short term status determined?"

Capital Gainz used to deterimine this at the time the sale was recorded, but now determines it when the Tax Schedule Report is generated, using internal tables for each year.

"Why doesn't a local security with distributions and sales show up on the tax reports?"

The local security is probably defined as tax-exempt, which means it's treated like an IRA. You can change the security from the Local Security Table.

"What does 'Group Sales' mean on the tax reports?"

The group sales option lets you group all purchases for a given sale, resulting in a single short term transaction and a single long term transaction. If you've been buying shares of a mutual fund monthly and then close the fund by selling all of the shares, grouping sales makes the Schedule D report much shorter and easier to transfer to your actual tax forms. The purchase date shown for grouped sales is VARIOUS.

"Should I show sales of money market funds on Schedule D?"

According to the IRS documents, all sales of mutual funds must be reported. However, since these sales are usually not reported on 1099s, you can leave them off of Schedule D by setting the security type to OMIT sales from Schedule D

"How do I make a security's dividends tax-free on Schedule B?"

To define a security as distributing tax-free dividends, select a tax-free security type for the associated global security. Predefined tax-free security types have the phrase 'tax-free' in their names. You can also change the tax-free status of a security type, or define a new one that is tax-free.

"How do I record a foreign tax reported on a year-end 1099 form?"

Foreign taxes are paid out of distributions, but the fund companies don't report them until the end of the year. The suggested way to handle this is:

Record the amount of the Foreign Tax as a Dividend on the last day of the year, without reinvesting the distribution.

Record the Foreign Tax as a Fee on the last day of the year, without selling shares to cover the fee.

"How do I handle Savings Bonds for taxes?"

Savings Bonds are like zero-coupon bonds, except taxes on the increase to basis can be deferred until they are redeemed. You can set the Savings Bond's security type so that sales are reported on Schedule B.

"Why doesn't the distribution total on my tax report match the amount on my 1099?"

There could be several explanations. A mutual fund may have paid a foreign tax, a dividend reinvestment plan may have transparently absorbed brokerage fees, you may have omitted discounts on dividend reinvestment plans, or you may have made a data entry error. Compare the Activity History Report against the end of the year statement mailed to you.

"How do I export tax data to TurboTax (or TaxCut)?"

To generate an import file for tax preparation programs, select the Tax Schedule Report, then choose the option to export the data in tax exchange format (TXF). After the TXF file is created, exit from Capital Gainz. Start up your tax preparation program, specify the directory and file for the import TXF source, and then execute the import.

"Why does my tax software return errors when reading the TXF file?"

Make sure that you generated the Tax Schedules Report in Tax Exchange Format, that you specified the correct file name and directory to your tax preparation program, and that you indicated to import a TXF file. Unfortunately, the Tax Exchange Format (TXF) is always evolving, and tax software may interpret TXF files differently, or not recognize newly implemented features.

"How do I handle purchase discounts for reinvested dividends in my DRP?"

Some DRPs give you a discount on reinvested dividends. The discounts should be reported as income in the year you receive the shares, and the difference added to the cost basis of the shares. In Capital Gainz, use a negative commission for the purchase discount.

Data Consistency Questions

"Strange things are happening, like incorrect prices showing for securities. What's can I do?"

Try running Rebuild/Pack Files from the Maint pulldown menu. This will rebuild any corrupted indexes.

"How can I tell if I have inconsistent data?"

Run the Consistency Check procedure, using the Consistency Check item from the Maintenance pulldown menu. The most important problems indicate that security values don't match activity tables, probably because of abnormal terminations. Serious errors, such as out-of-sync index and data files, can cause many messages during the consistency check. These types of problems are best detected by 'strange' program behavior, such as entries not showing up in tables or activity listings out of date order.

"How can I fix inconsistent data?"

You can manually address messages printed by the Consistency Check output log. Or, you can tell the Consistency Check procedure automatically fix a number of well-defined problems.

Report Questions

"Why are some letters 'chopped off', or truncated, in the displayed report?"

You printer resolution is greater than the display resolution. The printed output will look fine.

"Why is the displayed report unreadable?"

Some printer drivers cause unintelligible displays for reports. The printed output should be fine.

"Why do reports print so slow on my dot matrix printer?"

Capital Gainz reports use a limited number of different fonts and sizes. Dot matrix printers differ in capabilities, so rendering the correct output may significantly affect the output speed. A laserjet or inkjet printer is strongly recommended.

"Reports will not print - I get an error from Windows (or the printer)."

This is likely caused by a bad printer driver. Capital Gainz uses the printer driver to render the report. If you can't solve the printer problem, use the ASCII File Output option in Capital Gainz Report Settings.

"Can I save reports to disk, for later retrieval and searching?"

Use the ASCII File Output option in Capital Gainz Report Settings. This will send report data to plain text file.

Graph Questions

"How do I avoid having the large total in my money market account obscure the other bars in the Cost/Value Graph?"

Capital Gainz automatically scales data based on the largest value, so the large money market holding is adversely affecting other securities. To skip money market funds, choose not to include cash equivalent securities in the Graphics Settings.

"Can I get rid of all these lines cluttering up the Price Graph?"

The average line is displayed by default, but can be turned off in the Graphics Settings. You can also turn off options for drawing a grid and for displaying the volume graph.

"Can I generate graphics files to use with other programs?"

You can choose the File button while viewing a graph, then output the graph to a bitmap (BMP) or Windows metafile (WMF) file.

"Why is the Cost/Value graph so hard to read?"

Your printer resolution is greater than the display resolution. The printed output will look great. If you prefer to just view graphs, I suggest that you not specify 3-D graph types in the Graphics Settings.

"I have a black and white laser printer - how can I print out pie charts to distinguish slices that are in color on the screen?"

In the Graphics Settings, specify a fill type of pattern, or pattern and color. By default, only color is used for the fill type.

"Can I generate price graphs on a logarithmic scale?"

Set the logarithmic axis option in the Graphics Settings.

"The allocation chart by security is hard to read because there are too many pie slices - can I reduce how many are shown?"

You can set the maximum number of pie slices in Graphics Settings. Any extra slices will be combined into one extra 'Other' slice.

"I only look at price graphs for a few of my securities, but have to scroll through the ones I don't care about to reach those that I want to see. Is there a better way?"

On the Graphics Menu, use the Global Sec button to tag securities that you want to graph. If you want to save the list for future sessions, use the Save button to save the list, and the Recall button to recall the list.

 
Capital Gainz - Graphics on Vista and Win7/8
Graphics in Capital Gainz may not work in Windows Vista or Windows 7/8. You can try running in Windows XP compatibility mode, but that appears to not even work with the latest Windows releases (it did with earlier releases of Windows 7):
  1. In Windows Explorer, open the Capital Gainz program directory (by default, c:\capgnz).
  2. Find capgnz.exe (you may have to change Windows Explorer setting to see file extensions).
  3. Right click on capgnz.exe, and choose Properties from the context menu.
  4. Choose Compatibility tab, then select Windows XP as the compatibility mode to run in.
  5. Click Ok, and graphics should now work.
 
Capital Gainz - "Data files open in another program" or "Access Denied" Error
If you get the following error when starting up Capital Gainz:
Data files open in another program
Or get the following error when switching portfolios:
Access Denied
it indicates that one or more of the Capital Gainz data files has been made read-only. This often occurs when writing data to a read-only device, such as CDROM, and then copying it to you hard drive. It is simple to fix:
  1. In Windows Explorer, bring up the directory with the Capital Gainz data files.
  2. Select all files with .INI, .DAT, or .K01 extension (using Ctrl-left mouse click), then right click on selected files and choose Properties. In the Properties window, look near the bottom and you will see an Attributes section. Be sure that the Read-only check box is not checked. (Note: You can also select all files in the directory if you wish.)
 
Capital Gainz - Handling Options

Capital Gainz does not include inherent support for options. Investors who think options are easy to deal with have obviously not looked very hard at issues concerning taxes, holding periods, etc. I've been looking into option support for awhile, but there are no definite plans yet.

However, there's no reason you can't record options in Capital Gainz now. Treat the option as a security - separate from the underlying stock, of course. For
instance, if you own Microsoft, you would have an MSFT security. If you sold 10/97 140 call options, you'd also have an MSQJY security - the option symbol
for Microsoft 10/97 140 calls.

Opening Activity for Options
  • Buy a call : Record a purchase of the option
  • Buy a put : Record a purchase of the option
  • Sell a call: Record a short sale of the option
  • Sell a put : Record a short sale of the option
Closing Activity for Options
  • Sell long call: Record a sale of the option
  • Expire long call: Record a sale of the option at $0 (disable AutoCalc to allow this)
  • Cover short call: Record short sale cover of the option
  • Expire short call: Record short sale cover of the option at $0 (disable AutoCalc to allow this)
  • Exercise long call: Delete the option purchase, record the stock purchase and add the option premium to the amount
  • Sell long put: Record a sale of the option
  • Expire long put: Record a sale of the option at $0 (disable AutoCalc to allow this)
  • Cover short put: Record short sale cover of the option
  • Expire short put: Record short sale cover of the option at $0 (disable AutoCalc to allow this)
  • Exercise long put: Delete the option purchase, record the stock sale and subtract the option premium from the amount
Warning

To be honest, I'm not totally clear on tax  implications. I believe that if you sell a covered call, you 'restart' the holding period on the underlying stock. Also, I am not even going to try to address exotic strategies such as straddles.

If there are any experienced option players out there, I'd much appreciate you checking my logic.

To look at the IRS publication that covers capital gains (and options) online:

Publication 550, Investment Income and Expenses; Chapter 4 - Sales and Trades of Investment Property, Capital Gains and Losses: http://www.irs.gov/prod/forms_pubs/pubs/p5500407.htm

If you are confused by the terms and descriptions on this page, then you should probably not be trading options. This is as simple as it gets.

Examples
Example 1: Buying a call, selling the call

You buy 2 1/2000 $50 calls on security ABC for $7.50 plus $25 commission and the call option's symbol is ABCXY:

  • Define a global security, perhaps including the expiration data and strike price in the name, such as ABC 0100 50.
  • Define a local security linked to the global security.
  • Record a purchase of 200 shares of ABCXY at $7.50, with a commission of $25.

You sell the 2 calls for $9.50 plus $20 commission:

  • Record the sale of 200 shares of ABCXY at $9.50, with a commission of $20.
Example 2: Selling a call, then buying it back

You sell 2 1/2000 $50 calls on security ABC for $7.50 plus $25 commission and the call option's symbol is ABCXY:

  • Define a global security, perhaps including the expiration data and strike price in the name, such as ABC 0100 50.
  • Define a local security linked to the global security.
  • Record a short sale of 200 shares of ABCXY at $7.50, with a commission of $25.

You buy back the 2 calls for $9.50 plus $20 commission:

  • Record the short sale cover of 200 shares of ABCXY at $9.50, with a commission of $20.

Note: If the call was covered, this may affect the holding period of the stock if you were to sell it. This would require you to change the purchase date.

Example 3: Selling a call, letting it expire worthless

You sell 2 1/2000 $50 calls on security ABC for $7.50 plus $25 commission and the call option's symbol is ABCXY:

  • Define a global security, perhaps including the expiration data and strike price in the name, such as ABC 0100 50.
  • Define a local security linked to the global security.
  • Record a short sale of 200 shares of ABCXY at $7.50, with a commission of $25.

The call expires out-of-the-money:

  • Record the short sale cover of 200 shares of ABCXY at $0.00. Clear the AutoCalc checkbox to allow entry of 0 values.

Note: If the call was covered, this may affect the holding period of the stock if you were to sell it. This would require you to change the purchase date

Example 4: Selling a call, delivering stock to cover

You sell 2 1/2000 $50 calls on security ABC for $7.50 plus $25 commission and the call option's symbol is ABCXY:

  • Define a global security, perhaps including the expiration data and strike price in the name, such as ABC 0100 50.
  • Define a local security linked to the global security.
  • Record a short sale of 200 shares of ABCXY at $7.50, with a commission of $25.

The call expires and you must deliver your shares to honor the contract:

  • Delete the short sale of 200 shares of ABCXY.
  • Record the sale of ABC at the strike price, $50. Add the option premium recieved to the amount.

Note: The sale of the call may affect the holding period of the stock. This would require you to change the purchase date

 
Capital Gainz - Window Size Problem
There have been reports of Capital Gainz' windows shrinking/growing on program exit/reentry. It may have to do with video drivers. If you experience this with v6.0, do the following:
  • Select Config on Menu.
  • Click on Windows button.
  • Clear Save Window Size Settings on Program Exit option.
  • Click on Ok.
  • Click on Ok again.
If you experience this with v5.2 (5.2C or later) do the following:
  • Edit the CG.INI file with Notepad.
  • Find the [SizeSettings] section.
  • Add the line: SaveSizeSettings=FALSE
This will prevent the window size from being changed between program executions.
 
Capital Gainz - Copying Portfolios
To copy a portfolio in Capital Gainz to a new portfolio on the same machine:
  • Go to the Portfolio Table: File/Portfolios.
  • Use Portfolios/Copy Portfolio to copy the highlighted portfolio.
  • The Portfolio Id selected will be the first unused number.
To copy a portfolio in Capital Gainz from one computer to another:

On the source computer:

  1. In Windows, create a new directory to contain the portfolio files. In these directions, C:\TMP_PORT will be used.
  2. Start up Capital Gainz.
  3. Go to the Portfolio Table : File/Portfolios.
  4. Highlight the portfolio that you want to copy, and select Portfolios/Copy Portfolio.
    • Set the To Directory to C:\TMP_PORT.
    • Click on the Ok button.
    • Note: The Copy can take a long time, especially if there is a large price history file. All Global data as well as the selected portfolio's data is copied.
  5. Copy the *.DAT and *.K01 files from C:\.TMP_PORT to a diskette.
  6. In Windows, remove C:\TMP_PORT.

On the destination computer:

  1. In Windows, create a directory to contain the portfolio files. In these directions, C:\TMP_PORT will be used.
  2. In Windows, copy the files from the diskette you made to to the C:\TMP_PORT directory.
  3. Start up Capital Gainz.
  4. Use Config/System Config, and change the Data Directory to C:\TMP_PORT. In these directions, the original data directory will be assumed to be C:\CAPGNZ.
  5. When the Ok button is clicked on Capital Gainz will restart, using data from the directory containing the new portfolio files.
  6. Go to the Portfolio Table: File/Portfolios.
  7. Select Portfolios/Copy Portfolio.
    • Set the To Directory to C:\CAPGNZ.
    • Click on the Ok button.
    • Note: The Copy can take a long time, especially if there is a large price history file. Any new global data from the portfolio data files will be added, but existing Global data will not be affected. Thus, global securities may be added, but existing ones will not be changed.
  8. Use Config/System Config, and change the Data Directory back to C:\CAPGNZ.
  9. When the Ok button is clicked on Capital Gainz will restart, using the original data directory.
  10. In Windows, remove C:\TMP_PORT.
An alternative, quick and dirty way to copy portfolio data across machines is:

On the source computer:

  1. Copy the data files corresponding to the portfolio you want to a diskette. For example,if you want to copy Portfolio #3, copy files *003.DAT and *003.K01.

On the desination computer (these steps MUST occur in this order):

  1. Start up Capital Gainz, and create the portfolio in the Portfolio table using File/Portfolios, then Portfolios/Add Portfolio.
  2. Exit from Capital Gainz, and copy the files from the diskette to the Capital Gainz data directory.

Some warnings about this method:

  • The portfolio number must be the same on both the source and destination machines. In the prior example using Portfolio/Copy Portfolio, the number could differ on the two machines.
  • Any global data, such as global securities, security types, price history, etc. created for the portfolio on the source computer will not be copied. Thus, this method should only be used if all global securities and security types in the portfolio being copied already exist on the destination computer.
  • You can add prices from the new portfolio's activity data to the source computer using Prices/Rebuild Price History, and rebuild prices from Activity.
 
Capital Gainz - Moving to Another Computer
To move Capital Gainz from one computer to the same version on another computer:
  1. On the old computer, copy Capital Gainz data files to diskette using Capital Gainz Maintenance/Backup function. If all of the files will not fit on one diskette, specify the ZIP compression option.
  2. On the new computer, install Capital Gainz.
  3. On the new computer, copy the Capital Gainz data files from diskette using Capital Gainz Maintenance/Restore function. If ZIP compress was used in the Backup, specify the ZIP compression option.
To move Capital Gainz from one computer to a newer version on another computer:
  1. Create a Capital Gainz directory on the new computer. For instance, to create C:\CAPGNZ:
    • Bring up Windows Explorer.
    • Click on the icon for the C drive in the left pane.
    • From the menu, choose File, New, Folder. This will add a generically named folder.
    • Right click on the new folder's icon in the right pane, and choose Rename.
    • Type CAPGNZ and press the Enter key.
  2. See what directory Capital Gainz data is stored in on the old computer. If you don't know, run Capital Gainz and use Config/System, and note the Data Directory setting. For this example, we'll assume C:\CAPGNZ.
  3. Copy all data files (*.DAT and *.K01, plus *.TPS for CG 5.0 only) from the old computer's Data Directory to a diskette. This can be done with Windows Explorer, but the easiest way to be sure you get all files is to use a command line:
    • Insert a blank diskette in the A: drive of the old computer.
    • Start up a Command Prompt session - if there is not an icon on the desktop for this, look for Command Prompt and the MSDOS icon under the Start Menu, Programs.
    • Change to the directory where the Capital Gainz data files are located. For instance:
      C:
      CD \CAPGNZ
    • Copy the data files to diskette:
      COPY *.DAT A:\
      COPY *.K01 A:\
    • (If you don't have enough room on one diskette, either use multiple diskettes or a compression utility such as WinZip or PKZip.)
  4. Copy all data files (*.DAT and *.K01, plus *.TPS for CG 5.0 only)from diskette to the new computer.  This can be done with Windows Explorer, but the easiest way to be sure you get all files is to use a command line:
    • Insert the diskette in the A: drive of the new computer.
    • Start up a Command Prompt session - if there is not an icon on the desktop for this, look for Command Prompt and the MSDOS icon under the Start menu, Programs.
    • Change to the directory where Capital Gainz will be installed. For instance:
      C:
      CD \CAPGNZ
    • Copy the data files from diskette (note that each command below ends with a space followed by a period) :
      COPY A:\*.DAT .
      COPY A:\*.K01 .
    • (If didn't have enough room on one diskette, either copy all files from all diskettes or use a compression utility such as WinZip or PKZip.)
  5. Install Capital Gainz on the new computer, specifying the same directory where you copied the data files to, such as C:\CAPGNZ.
  6. If the version of Capital Gainz you installed is a later version than the one used to create the data files, you need to upgrade your data. (Note: You can only upgrade data using a registered version of Capital Gainz, which requires correct specification of the valid username/usercode at installation.) This may occur automatically at the end of installation, but if not do the following on the new computer:
    • Use Start, Programs and find the Capital Gainz program group. In that group, find "CG Upgrade" and click on it.
    • The Capital Gainz upgrade program starts up. It should detect the current version of the data you have installed, but be sure to verify it. If you are not sure what version of Capital Gainz was used to create the data, go back to the old computer, run Capital Gainz, and choose Config/System.
    • Click on Ok. When prompted, be sure to do the quick backup suggested, then Continue to upgrade the data.
    • If you want to maintain Capital Gainz on both the old and the new computers, swapping data files back and forth to stay in sync, be sure that the same version of Capital Gainz is running on both computers.
 
Capital Gainz Newsletters
  • Capital Gainz Newsletter #10 (Apr 2000): Recent Bug Fixes, Update Prices Problem, Saving Reports, Capital Gainz on Macs, Data Upgrades, Tax Treatment by Year, Graphics and Registry, Report Types, Discounts on Purchases, Linux.
  • Capital Gainz Newsletter #9 (Jan 2000): Minor Upgrades, New 'Net Buy' Figure, Taxes and Selling Methods, Email Recommendations, Electronic Brokers, Tax Report - Schedule B, Tab Key, New Company?, Y2K, Search Engines.
  • Capital Gainz Newsletter #8 (Oct 1999): New Combine Securities, Sending Screen Shots, Report File Format, Multiple Reports/Graphs, Email For Life, File Associations, Moving to a New PC, Selling Methods, SpamKiller, Price Retrieval Problem.
  • Capital Gainz Newsletter #7 (Jul 1999): Price Updates from the Internet, Historical Prices from the Internet, Privacy Statement, Easier Download Format, Sending Screenshots, Data Directory, Security Types, Portfolio Allocation, Grouped Sales in Tax Reports, Total Return vs Performance.
  • Capital Gainz Newsletter #6 (Apr 1999): Securities Sold Off, Using InfoBeat, Moving to Another PC, Trimming Prices, Price File Format, Upgrading Data, Version 6.0 Problems, Printer Drivers, Virus Alerts, Microsoft Y2K Announcement, $20 Million Beat the Street Contest.
  • Capital Gainz Newsletter #5 (Jan 1999): Version 6.0 Released, Version 6.0 Cash Accounts, Report Options, Year 2000...Again, Update on Price Updates, Technical Support, Printing Help Files in Version 6.0, Tax Tip: Trading Up Basis, Online Brokers: Fund Centers, Symantec Ghost.
  • Capital Gainz Newsletter #4 (Oct 1998): Version 6.0 Schedule, Customizing Security Table, 1998 Tax Holding Periods, Cash Types in v6.0, Recording Options, Mergers and Spinoffs, Price Sources...Again, Advertising, Interested in Web Development?.
  • Capital Gainz Newsletter #3 (Jun 1998): Global vs Local Securities, Security Symbols, Year 2000, Decimal Precision, Portfolio History, Adding Shortcut, Version 6.0 Features, 32 Bit Windows, Good Guys/Bad Guys, Image Tips.
  • Capital Gainz Newsletter #2 (Apr 1998): Window Shrinking/Growing, Sell Methods, Never Panic On Errors, Bonus News, New Browser, MS IE and Capital Gainz Installation, Price Sources, Reinvestment/Redistribution, Portfolio History, Performance.
  • Capital Gainz Newsletter #1 (Jan 1998): Web Site Improvements, Changes for New Tax Laws, Quick Portfolio Switch, Fixing Up Securities, Rebuild/Pack Data, Backing Up Data, Get Rid of Version 5.0, Import Prices, Manuals, Report Data Chopped Off, Plans for Version 6.0, Call For Beta Testers.
  • Capital Gainz Bonus News #1 (Jan 1998): Additional Settings for Updating Prices, Allocation Breakdown by Security Type, LaserList Utility for Printing 2-Up, Apologize for Email List, Bargain Sites for Hardware/Software, What is Distribution Per Share?, Entering 0 Amounts, Recording Options, Dave Asks.
  • LaserList (ll.com) - PC Magazine Utility for Printing 2-Up (See Bonus News #1)
  • Freeware Command Line UnZIP Program (unzip.exe)
 
Capital Gainz Technical Support
For support, contact: Dave Cohen at AlleyCat Software.
Be sure to include your name, registration number, and current version.
 
Capital Gainz For Sale
If you are a software manufacturer interested in adding Capital Gainz to your arsenal, we would like to hear from you!

Capital Gainz has garnered recent recognition from PC Computing, The American Association of Individual Investors, The Wall Street Journal, and many other publications. Frankly, we don't have the resources to take the product to the next level: Retail Sales. If you or your company are SERIOUS about purchasing this popular product or partnering with us, please contact: Dave Cohen at AlleyCat Software