home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
FINANCE
/
VARIN59E.ZIP
/
VARINV.DOC
< prev
next >
Wrap
Text File
|
1994-03-21
|
32KB
|
472 lines
_______
____|__ | (R)
This program is produced by a --| | |-------------------
member of the Association of | ____|__ | Association of
Shareware Professionals (ASP). | | |_| Shareware
Please read their important message |__| o | Professionals
at the end of this text. -----| | |---------------------
|___|___| MEMBER
This program will provide the tools you need to manage, and
maximize the performance of, your investment portfolio. It will help
you determine current income, forecast future income, and perhaps most
importantly, enable you to compare investment choices. There are many
different types of investments. Consequently, there are varying
methods, some more complicated than others, to assess their
performance. Some investments, such as CD's, have a fixed rate of
return. At the time of purchase, the annual interest rate is known,
but the future value, total return, and the average annual compound
rate of return usually are not. This program can help determine these
values. First, determine the CD's future value by using the formula
'F = P * ((1 + r) ^ t)', where F = Future Value, P = Principal, r =
interest rate per unit of time, and t = time expressed in the units to
which compounding applies. '^' means 'take to the power of...'. The
program can then calculate returns using principal and future value.
Determining investment returns becomes more difficult if the
investment is complicated by multiple cash flows, especially if the
cash flows occur at irregular intervals and/or involve variable dollar
amounts. Examples include stocks, bonds, mutual funds, annuities,
401K plans, real estate, and partnerships. This program will be
invaluable in managing them and evaluating their performance.
You can use a mouse with this program provided it is Microsoft
compatible, and the correct driver has been loaded. If the name of
your mouse driver ends with '.sys', eg. 'Mouse.sys', you need to enter
'Device = xxxxx.sys', where 'xxxxx.sys' is the name of your driver, in
your 'Config.sys' file, and reboot, in order to use it. If the name
ends with '.com', eg. 'Mouse.com', you need to run it at the DOS
prompt prior to running *this* program, to use it. This program
responds to the left mouse button. The mouse can be used to pick menu
options from the main menu, push buttons in dialog boxes, and pick
specific files or transactions in the 'Open File', 'Change File', and
'Change Transactions' dialog list boxes. By clicking your mouse on
the crosshatched bar at the top of dialog windows, you can drag them
around on the screen. When picking items from a list in the 'Open
File', 'Change File', or 'Change Transactions' dialog boxes, you can
click your mouse anywhere on the cross-hatched 'scroll bar' located in
the right side of the window, and quickly move to any item in the
list. You can also click your mouse on the arrows at the top and
bottom of the 'scroll bar' to move the cursor through the list one at
a time.
If you are using your keyboard rather than a mouse, you can
navigate through the main menu by using the arrow, enter, and escape
keys, and the quick access keys. Quick access keys are highlighted on
the menu bar and on the menus. When exiting the program, rather than
using the above keys, you can optionally press the shortcut key,
'Ctrl-X' at the main menu. You can use your arrow and tab keys to
move your cursor around, and your enter key and spacebar to pick items
and toggle buttons, in dialog boxes.
The program requires the creation of a separate data file for
each investment that you want to track. You would probably not want
to mix transactions from multiple investments into 1 file, because the
program will recalculate the market value each time you enter a new
share price. Pick the option to open a file from the 'Files' menu.
The program will list your current investment files, if any. You may
input a name (8 characters or less) or use the mouse or keyboard to
pick an existing file. I use the security's ticker symbol, 'TWCGX',
for example, as the file name, but you can use anything you like. You
do not need to include a file extension. The program will create all
data files with the extension '.dat'. If it is a new file, the
program will ask you to input a 52 character description, such as
'20th Century large growth mutual fund'. The program will then return
to the menu.
Your next task is to input transactions in the investment. You
can input transactions in any order, but multiple transactions for a
single date might be best input in chronological sequence. Examples
of transaction descriptions might be 'Purchase', 'Distrib',
'Reinvest', 'Sale', 'Split', 'Svc Chg', and 'Year End'. When you list
the transactions later, the program will calculate statistics
depending on the data that it finds in each record. For this reason,
the program can be defined as driven by record format, rather than
cryptic transaction codes. And, except for share splits (discussed
below), the description that you input is for your use only. All
other data should be input as described below, and as prompted by the
program. The program will tell you if the transaction date you input
is invalid, but does not check the validity of any other field. This
allows for the possibility of unusual, user-defined transaction types.
Note: For those investments which do not have a specific share price
or NAV (i.e. CD's), you should simply use a share price of $1.00.
For purchases, input the dollar amount and share price. For cash
distributions (dividends and interest), input a negative amount only.
For distributions that are automatically reinvested, input the share
price and # of shares only. For sales, input a negative amount, the
new share price, and the # of shares sold. For a share split, make
sure the word 'split' appears in the transaction description; then
input the new share price and your new share balance. The inclusion
of the word 'split' will make the program distinguish it from a
dividend reinvestment, and it will restate your low, high, and average
buy and sell prices. For additional cost service fees, input a
positive dollar amount only. For service fees charged against your
account, i.e. IRA maintenance fees, input a negative # of shares only.
Service fees input either way will be included in your costs, and will
affect returns, but will not be included in low, high, or average buy
or sell prices. Depending on how your broker or mutual fund handles
service charges, this feature can also help you more easily balance to
the 1099-B they send you at the end of the year.
To gain maximum value from this program, you can enter special
records that you can describe as 'Price Update', or 'Year End'
records. Just enter the date, and share price, say as of December 31
of each year. When the program lists your transactions, and it comes
across a record that contains only the date and share price, it will
calculate 3 types of returns you would have received had you
liquidated the investment on that date. 'Per' denotes the total
return for the period starting with the date of the previous record of
this type, or from the beginning of the investment, if this is the
first such record, and is calculated as 'r = (F - P) / P', where F =
(current value + current cash dividends + current sales), and P =
(value at the beginning of the period + current cash outlays).
'Cumul' denotes the cumulative total return made since the beginning
of the investment, and uses the same formula, but, in this case, F =
(current value + total cash dividends + total sales), and P = total
cash outlays. 'Avg Ann' denotes the approximate average annual total
return you would have had to receive to achieve the same return, had
you invested the money in one lump sum in an interest-paying account
that was compounded annually. This is calculated using the formula 'r
= (F / P) ^ (1 / t) - 1'. 'F', and 'P' represent the same values as
in the cumulative total return formula; 't' = (# of days the
investment has been held / 365.25). 365.25 is used rather than 365 to
make allowances for leap years.
All financial and statistical calculations (except capital gains,
see basis worksheet below), are performed when you pick the option to
'List' your transactions. This option will process the currently
opened data file. Another option, 'Combined IRR', will produce a
consolidated IRR for *all* data files (see below). The output is sent
to your display, printer, or disk file. Disk file output can be used
by this program to create graphs (discussed below) and can be imported
later into other applications, most notably, spreadsheets. In a
spreadsheet program, you can combine the data from several
investments, and create your own custom reports on such things as
basis, tax analysis, and income statements. The output consists of
the date, description, amount, share price, share balance, investment
value, and the 3 types of returns explained in the preceding
paragraph. The optional export file includes an additional column,
'Shares this transaction'. Numeric fields in the disk records are
parsed and delimited by commas; alphanumeric fields are parsed into 9
character fields, and delimited by quotes and commas, for easy import
into individual spreadsheet cells. When you specify your output
option, you can also input beginning and ending date masks. Using
date masks allows you to: 1) list a specific year's transactions to
help with income tax returns, and 2) more accurately compare the
returns of 2 investments by using a common date range. The latter
opens up the possibilities of comparing your investments with each
other, mutual fund prospectuses, and market indices. The use of
market indices for this purpose is explained in detail below. The
program will display 'No transactions available' if no transactions
occurred between the beginning and ending date masks.
After listing the transactions, if the balance is not 0, and
there is no ending date mask, the program will ask you to input the
current share price. It will then calculate your final returns as if
you were to liquidate the same day, using the date stored in your PC.
As a final step, the program prints profit and loss statistics.
It should be noted that in this section 'Total purchases' = 'Out of
pocket costs' plus reinvested dividends. Next the program attempts to
solve the 'internal rate of return', also known as the 'realized rate
of return' of the investment. This is an attempt to resolve to an
annualized dollar-weighted rate of return, recognizing that some
deposits have spent longer time in the investment than others. It may
take up to several seconds for your computer to make this calculation,
depending on its make, whether it has a math coprocessor, and the
number of transactions in the investment. This part of the program is
an adaptation of 'Program #5, Realized Rate of Return', written by
Robert Osterlund, which appeared in the May 1985 issue of
'Computerized Investing', published by the American Association of
Individual Investors, 625 N. Michigan Ave., Chicago, Il. 60611-3110.
It is used with their permission. Remember these rules when
considering the 'average annual return' and 'IRR': 1) The 'average
annual return' will *only* match the 'IRR' *if* there was only one
cash deposit, *and* either the entire amount was liquidated at once,
or there were *no* withdrawals. 2) The more numerous or spread out
the cash flows are, the larger the absolute value of the 'IRR' will
be, relative to the absolute value of the 'average annual return'. 3)
The absolute value of the 'average annual return' will never be larger
than the absolute value of the 'IRR'. 4) Neither the 'average annual
return' nor the 'IRR' will ever be smaller than -1.00, because you
cannot lose more than you invested. 5) The final balance is treated
as a withdrawal.
As stated above, the 'List' option on the 'Transactions' menu
will process the currently opened data file. The 'Combined IRR'
option on the same menu will process *all* data files, except the 3
example files, and any investments not active between the beginning
and ending date masks. This will give you a consolidated IRR for your
portfolio. As each file is processed, if there is a current balance,
and an ending date mask was not used, the program will ask you to
enter it's current share price, as before. Because this function
processes data from *all* files, it will use proportionately more
memory than other functions. This could *conceivably* cause a problem
in situations where there are a *very* large number of investments, or
transactions, but most investors needn't worry.
When you sell investment property, you need to report the amount
of capital gain or loss realized on the sale on your income tax
return. This is determined by subtracting your basis in the shares or
property from the sale proceeds. There is an option under the
'Transactions' menu to produce a 'Basis worksheet'. The output from
this option is only as accurate as the data that you input, and is
intended to *assist* you in determining your basis, rather than to be
used alone. There are other variables that need to be considered in
addition to the worksheet. For instance, the program does not include
undistributed capital gains or return of capital. These have to be
added to or subtracted from your basis manually. If a record has a
positive dollar amount and no share price, or a negative # of shares,
the program will assume that it is a service fee, and print it for
your convenience, but it also has to be adjusted manually for basis
purposes. You may also have to make adjustments for rounding errors
(discussed later). To find out more about determining basis, read IRS
publications 550, 'Investment Income and Expenses', and 564, 'Mutual
Fund Distributions'. The calculations used in this program are based
on those publications. The output can be sent to your screen,
printer, or disk. The program will process all transactions, and list
all service fees and splits, but will only list purchases and sales if
their dates fall between the date masks. The program gives you a
choice of 5 basis methods. 'Cost, FIFO' treats cost as basis, and
considers the earliest shares sold first. 'Cost, Dynamic' treats cost
as basis, and considers the most expensive shares sold first.
'Average, Single category' considers the earliest shares sold first
using as basis the average price of all shares held at the time of
sale. 'Average, Double category, FIFO' puts shares into 2 categories,
'long term', and 'short term', and considers the oldest shares sold
first, using the average price for shares in the corresponding
category as basis. 'Average, Double category, Dynamic' also puts
shares into 2 categories, but considers those shares in the category
with the most expensive average price at the time of sale, as being
sold first. With this method, shares are disposed of FIFO within
their categories. Under the latter 2 methods, when a share is
transferred from short term to long term, it takes with it its
original cost if no short term shares have been sold, otherwise it
takes the average cost of the short term shares at the time of the
last disposition from the short term category. You might notice
sometimes, when using the average methods, that the amount of capital
gain realized from a sale differs slightly from the amount determined
by subtracting, from the sale proceeds, the amount(s) calculated by
multiplying each lot sold by its average price. This is caused by
rounding, and happens when the last shares in a category are sold.
The program will identify sales which have been adjusted for rounding
by printing a '*' in the column labeled 'Round Adjust'. After listing
the transactions which affect capital gains, the program prints a
summary showing such things as the remaining basis by lot, total
remaining basis, average basis/share, and average basis/share by
holding term. You might notice, when using the average methods, that
the total remaining basis sometimes differs by a few pennies from the
amount calculated by summing the values of the remaining share lots.
This discrepancy is caused by the fact that the average price of each
remaining lot is rounded. The total remaining basis is the correct
figure. Basis figures also sometimes differ by a few pennies if there
has been a share split.
You can create up to 12 different graphs (charts), using the
'Graphs' option under the 'Transactions' menu. After picking this
option, the program will display a box containing the necessary
parameters. You can type one or more filenames, separated by commas,
in the 'Input Files' fields (although the visible part of these fields
is short, it will enlarge as you type). The filenames you type are
files created by the 'List' option under the same menu, *not* the
investment files themselves. For charting purposes, each input file
should represent only *one* investment. If you use a file which was
created by 'Listing' *more* than one investment (using the 'Append'
option), the results will be unpredictable and probably not useful.
The program can plot multiple investments at your monitor's highest
resolution; at lower resolutions, it can plot only one investment at a
time. Once the chart is displayed, you can press Shift-PrtSc to copy
the chart to your printer. If nothing happens, or the printout
doesn't look correct, it means that you must run a graphics printer
driver prior to running *this* program. Most versions of DOS have a
graphics printer driver, usually named 'Graphics.com'. Special Notes:
Before displaying charts, the program first attempts to find your
display adapter's highest resolution. If the program can't find it,
it might display a message. If this is the case, or for some other
reason you would like to use a different screen resolution, you can
override it with the '/G' command line switch (discussed below).
Because Hercules (usually monochrome) high resolution is not usually
directly supported by DOS BIOS ROMS, Hercules card users will have to
run the included program, 'Msherc.com', prior to running *this*
program, to display charts. Also, the Shift-PrtSc key might not work
for Hercules users. If this is the case, instead press Ctrl-E for
printers set up in Epson mode, or Ctrl-I for IBM mode.
If you make a mistake when entering a transaction, or you want to
play 'what if' scenarios by using different transactions or
transaction sequences, you can pick the option to change transactions.
Using mouse or keyboard, you can then pick the transaction you want to
change, from the listing provided. Once you have changed a record,
press 'Enter', or, to rapidly change multiple records, you can press
'PageUp' or 'PageDown' instead. You can also delete the entire
transaction. The option to change investment files follows the same
procedure. If you pick the latter option, the program will allow you
to change an investment file *description*, but *not* an investment
file *name*.
If you need more room on disk or in memory, or if the program
seems to behave strangely when one of the data files is loaded, you
can pick the option to rebuild data files. This will pack your files
by purging deleted records, and reset certain pointers within the
files. This can rescue a file if, for instance, your computer lost
power during a write or delete operation in a previous session. This
can be run as often as you wish.
Provided you are using a color monitor, you can pick the option
on the menu to customize your screen colors. After picking this
option, the bottom portion of the screen shows all available
background and foreground colors, along with their corresponding
numeric codes. The top portion of the screen shows each attribute,
and their current values. To change an attribute, pick the number to
its left, then input the new color value. Type 'S' when finished, to
(S)ave the current configuration to disk, so that the program will
start up in the future with these colors. When finished changing your
screen colors, press <esc> to return to the main menu.
You can press 'Carriage Return', or 'Enter' whenever an input
prompt asks for '<cr>'. To pause a listing, press 'Hold', or 'Break',
or 'Scroll Lock', depending on your make of computer. You may print a
hard copy of the screen anytime the program is waiting for input, by
pressing a shift key, and the 'PrtSc' key. The program can track
hundreds of active investments and transactions at one time, subject
to available memory and disk capacity. If this is a non-registered
copy, you can rest assured that it is not crippled in any way; it has
the same functionality as a registered version. The maximum # of
files opened by the program at any given time is 5, so you probably
don't need to adjust your 'Files=' parameter in 'Config.sys'. Even
though dates are output in the form 'MMDDYY', dates are listed in
order by, and stored on disk as 'YYYYMMDD'. This will insure that
calculations will be accurate across centuries, if necessary. Because
of space considerations, share prices and account balances up to
999,999.99 print on screen and printer transaction listings *with*
commas; values from 1,000,000 to 9,999,999.99 print *without* commas
(eg. 1000000.00). Transaction amounts and shares per transaction up
to 99,999.99 print *with* commas, from 100,000 to 999,999.99,
*without* commas. If a *single* transaction exceeds 999,999.99 in
shares or transaction amount, it should be entered as 2 transactions,
otherwise printing will overflow to the next line.
There are 3 command line switches you can use when starting this
program. If you use '/NS' (no sound, type 'Varinv /NS'), the program
will suppress sound effects. You can change the # of lines the
program will use on the screen (provided your monitor and adapter
support it), by typing 'Varinv /L XX', where 'XX' is the # of lines
you want the program to use. EGA adapters can use 43 lines, VGA
adapters 43 or 50 lines. The default is 25 lines. Experiment to find
the # of lines you like. Sound state and the # of screen lines can
also be set from the 'Miscellaneous' menu. You can override the
screen mode the program uses to display graphics (discussed above), by
typing 'Varinv /G XX', where 'XX' is a screen mode from 1 to 13, with
higher modes usually featuring higher resolution.
I have included 2 special investment files, named 'DJ_30.dat'
('Dow Jones/30 Industrial Index'), and 'SP_500.dat' ('Standard & Poors
500 Option Index'). These can be used as benchmarks against which you
can compare your own investment returns. As an example, suppose you
have held a particular investment for 9 months. You list your
transactions and return data on your printer. You can then open one
of the market index files (or any one of your other files), and list
*that* file, using the beginning and ending dates of the *first*
investment as the date mask. As stated above, this will allow you to
more accurately compare 2 investments. You enter data into a market
index file just as you do your other investment files, but the only
transactions you need to enter are purchases, price updates, and,
optionally, dividends. Data for over 100 indices is available from
various sources, including Compuserve, and magazines. I have included
with this software a script file for use with Autosig which downloads
price history for the above mentioned files, 'DJ_30.dat', and
'SP_500.dat', and dividend history for 'SP_500.dat' into a file name
'Prices.log'. You can browse or print this file, and then manually
input the data into the 2 investment files. For each of these files I
have input a purchase of 1 share at the (then) current share price,
and many months of price history. For 'SP_500.dat', I have also input
reinvested dividends quarterly, using the formula 'Shares acquired =
(Current dividend * Current # of shares) / Current share price'. The
script file can, of course, be modified to also download price history
for any security of your choice, that is available from Compuserve.
This product is not free, it is shareware. You may use it free
for a period of 30 days; to continue using it, you must register. The
registration fee is USD $15.00. For your convenience, I have included
an order form on the last page of this text. On receipt of the fee, I
will send you a copy of the latest version, and your registration
number, which you will need to enter the next time you run the
program. Upon successfully entering the number, the program will ask
for your name, and will replace the registration reminder line on the
bottom of the main menu with it. You will be entitled to receive one
year of mail support, access to upgrades, and, as a bonus, through an
agreement between The Association of Shareware Professionals and
Compuserve, a free Compuserve Intropak which waives the normal sign-up
charges, and includes a $15.00 usage credit. There are no express or
implied warranties. The program's calculations are documented, so you
can compare them initially with your own figures; then, using the
program will quickly become intuitive. I would be happy to discuss
the possibility of additional custom programming with you.
Non-registered users, please feel free to contact me by mail if you
need help running the program, or to tell me your comments, and
suggestions, and, in any event, thanks for trying the program! Before
contacting me, please first reread the instructions. The 2 most
common errors new users make are: 1) Inputting transaction data that
isn't requested by the program. The program requires very specific
data in order to be able to distinguish the different transaction
types. Don't input transaction data that isn't requested. 2)
Inputting dates as MMDDYY, instead of MMDDYYYY. The program requires
that years be input as 4 digits, not 2. February 18, 1994, for
instance, must be entered as '02181994', *not* '021894'.
I encourage you to upload this product (demonstration version
*only*) to bulletin boards that accept such products, and to make
copies available to other potential users, provided that you not
charge more than a nominal copying fee, and that you include the files
'Varinv.exe', 'Varinv.dat', 'Example.dat', 'Varcvrt.exe',
'Varinv.doc', 'Readme.doc', 'DJ_30.dat', 'SP_500.dat', 'Prices.scr',
'Register.doc', 'Sharewar.doc', 'Vend&Sys.doc', 'Msherc.com', and
'File_id.diz' in their original, unaltered form. I especially
encourage you to upload this version, with a short explanatory note to
the sysop, if you see an older version on a bulletin board that you
frequent. You are expressly forbidden to make copies of your
registered copy, however, except for backup purposes.
Important message from the Association of Shareware Professionals:
"This program is produced by a member of the Association of Shareware
Professionals (ASP). ASP wants to make sure that the shareware
principle works for you. If you are unable to resolve a
shareware-related problem with an ASP member by contacting the member
directly, ASP may be able to help. The ASP Ombudsman can help you
resolve a dispute or problem with an ASP member, but does not provide
technical support for members' products. Please write to the ASP
Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send a CompuServe
message via CompuServe Mail to ASP Ombudsman 70007,3536."
!This line is necessary for proper program operation; don't delete!
This work is Copyright (c) 1990-1994 by William H. Baldwin.
--------------------------REGISTRATION FORM--------------------------
_______
____|__ | (R)
William H. Baldwin --| | |-------------------
8704 Broadmoor, #806 | ____|__ | Association of
Shawnee Mission, Ks. 66212 | | |_| Shareware
Compuserve UID: 76200,275 |__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
Hi, Will! I support the shareware concept! I am enclosing $15.00 as
registration for 'The Variable Investment Analyst'. My name and
address is:
________________________________.
________________________________.
________________________________.
________________________________.
Please supply whatever of the following information you can:
The version I have is: ________. I plan to use this program for:
a) Personal, or b) Business use (circle one).
I obtained this program from:
Name: ________________________________. Phone #: __________________.
Address: ______________________________________.
City: ______________________________________.
State: ____ Zip: __________________.
Is the above a computer bulletin board (Y/N): ____
Are the instructions clear?
To help me plan future enhancements, you may specify the type(s) of
investments (mutual funds, partnerships, 401K plans, stocks, bonds,
etc.) for which you plan to use this program:
Additional comments: