ANNOUNCE: Xinvest 2.3

ANNOUNCE: Xinvest 2.3

Post by Mark Buse » Wed, 15 Jan 1997 04:00:00

My apologies for the bogus address, the Usenet generated junk email is
getting out of control.

[ xinvest-2.3.announce 8K ]
                                                            Jan 14, 1997

Announcing the release of Xinvest 2.3.

Check out the new Xinvest home page at Here
you can find the latest source and Linux binary along with other helpful
information on using Xinvest.

See "What's New" below or the CHANGES file for what's changed. See the TODO
file for what's coming up.

Primary Site    ->

Alternate site
Source          ->
Linux Binary    ->

The XPM library ->


What is Xinvest?

Xinvest is a personal finance tracking and performance tool for UNIX systems
using the X Window System. Xinvest requires Motif 1.2 or later and XPM.

Xinvest is tested on the following platforms:  HPUX 9.05, Solaris 2.5 CDE, and
Linux 2.0. Xinvest is known to build on the following UNIX systems: IBM AIX,
DEC Unix, FreeBSD, NeXTStep, SunOS 4.x, and Unixware.

With Xinvest you can:

Centralize record keeping by storing all transactions in account specific files.  
Calculate total and annualized returns including the effects of buys, sells,
and dividends. This provides a means of comparing the results of all accounts
in a portfolio, be they CDs, bonds, mutual funds, or your checking account.

View various transaction parameters such as share price, shares per transaction,
transaction cost, transaction value (at current price), dividends, internal and
total return, and/or cumulative and moving averages of the above.  Plots are
transaction based bar or date based x-y charts.

View overall value weightings (asset allocation) of accounts in a portfolio.  
Specify categories, what percent of an account is in that category, and which
accounts are of interest and Xinvest will tell you the value and percentage of
all categories in the defined portfolio.  Predefined is a account category to
view weighting of accounts in the total portfolio.  Categories are
hierarchical, so you can zoom into the makeup of your portfolio.  View in text
and pie chart form.

A Financial calculator with common equations is provided.  Included are FV,
PV, FV of sum of payments, and periodic loan payments.

Hopefully, all of this is displayed using  an easy-to-use, point-and-click
interface.  There are few command line switches, no dot files, and X resources
are limited to color and font selection allowing you to tailor the look of the
tool to your own preferences.

What's New 2.3

Bug Fixes
1. Distribution moving averages in the plot tool were displayed incorrectly.
2. Loading a zero byte file caused a seg fault.
3. A couple of extra semicolons in the source caused a problem calculating
   graph variable values. This only affected transactions with a load (fee)
4. Fixed a bug in IRR calculations. This only affected SELL transactions with a
   load (fee) specified.

New Features
1. Session management. Xinvest will now save its state on supported
   configurations.  Information saved includes the current working directory,
   all open accounts, the last NAV entered for an account, each account in the
   asset allocation tool, and the currently displayed account.  The next time
   Xinvest is started all of these attributes are restored (assuming your
   window manager has session support).

   To use session management your session manager must support either the X11
   R5 or R6 session management protocol.  Examples of session managers supported
   are CDE 1.x and xsm (which is distributed with R6, see man xsm). The only
   added requirement is that you define SM_SAVE_DIR.  If you don't, Xinvest
   state files will clutter up your home directory.  Under CDE 1.x, define
   SM_SAVE_DIR as ~/.dt/sessions/current.  Under X11R6, create a directory
   somewhere for session files, and set SM_SAVE_DIR to this directory.

2. Added a ".." category to the asset manager category list box.  Now you can
   travel up a level as easily as going down.  Modified display to show the
   current level in the plot window.

3. Changed the reinvest gain from an option to a transaction command.  Now
   you can add "reinvest [all,none]" to your transaction files to enable and
   disable gain reinvestment.  You can use this command more than once in a
   transaction history, the value remains in effect until the next command that
   changes it. The default with no reinvest command is "reinvest all".

4. Added a stock split transaction type. Hard to believe no one ever asked
   for this; makes me wonder if anyone's out there :) The format is
   "date split price major:minor", where date is the usual transaction format
   date, price is the new closing price, and major and minor are integers in
   the range 1 to 255.  The major number is the multiplicand, the minor the
   divisor.  A 2 for 1 split is "2:1", a 3 to 2 reverse split is "2:3".

5. Transaction files must be specified using a -f option on the command line
   now. This makes session management easier. You can have as many filenames
   following a -f as you like. You can even use multiple -f's. As a result of
   this, unknown option detection is now fixed.


Building Xinvest

Xinvest is tested on the following platforms:  HPUX 9.05, Solaris 2.5 CDE, and
Linux 2.0.  Xinvest is known to build on AIX, DEC Unix, FreeBSD,
NeXTStep, SunOS 4.x, and Unixware systems.  

Known difficulties by machine/OS.
1. Unixware users should use gcc if possible.  Unixware 2.1 users can use
   the native compiler.  You may also wish to define NEED_STRCASECMP in the
   Imakefile or Makefile.distrib or link against libucb (-lucb).

2. SunOS 4.x users should use Sun's acc, GNU gcc, or another ANSI compliant

To build Xinvest.
0. Go to the Xinvest home page ( to find a
   source archive.

1. Download and uncompress the source archive.  There are two ways to uncompress
   the archive:
   a. If you have GNU tar:  "tar -xvzf xinvest-VERSION.tar.gz"
   b. "gunzip < xinvest-VERSION.tar.gz | tar -xvf -"

   Xinvest will create it's own subdirectory named 'xinvest-VERSION'. Note that
   'VERSION' will be a number, such as 2.3.

2. cd to xinvest-VERSION.

If you have imake.
3. Look over the Imakefile provided.  
   a. If you have XPM or Motif in non-standard places add the include
      directories where the headers are found to INCLUDES.  
   b. Add the full path name of the XPM and Motif libraries to SYS_LIBRARIES.  
   c. If you want internationalized currency and have strfmon (man strfmon) then
      add -DSTRFMON to DEFINES.  
   d. If you want a transparent icon add -DSHAPE to DEFINES.

4. xmkmf; make Makefile; make depend; make; make install.  You may need to
   be root to do the installation.

If you don't have imake.
3. Copy Makefile.distrib to Makefile. Look over the provided Makefile.  You're
   kind of on your own here.
   a. Set CFLAGS, INCLUDES, LIBS, and LIBDIR and the build should go well.  
   b. Add -DSTRFMON to CFLAGS if your environment supports the strfmon (man
      strfmon) function call.
   c. Add -DSHAPE to CFLAGS if you want a transparent icon. This will require
      linking against libXext (already in LIBS in the Makefile).

4. Type make. Copy Xinvest to your bin area (usually /usr/bin/X11).  

To test Xinvest.
1. Load up the data files provided in the sample subdirectory.  Try out all of
   the functions. Don't forget to add one or more accounts in the portfolio
   tool.  These examples are very basic, more elaborate portfolio compositions
   are certainly possible.  Read the online help.  This should explain the
   use of anything that is not obvious.

Questions?  For build problems, ask a local knowledgeable person, they will
            know your system better than I will.  If all else fails or for
            questions or comments on Xinvest: