
------------------------------------------------------------------------------

A license is hereby granted to reproduce this software source code and
to create executable versions from this source code for personal,
non-commercial use.  The copyright notice included with the software
must be maintained in all copies produced.

THIS PROGRAM IS PROVIDED "AS IS". THE AUTHOR PROVIDES NO WARRANTIES
WHATSOEVER, EXPRESSED OR IMPLIED, INCLUDING WARRANTIES OF
MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE.  THE
AUTHOR DOES NOT WARRANT THAT USE OF THIS PROGRAM DOES NOT INFRINGE THE
INTELLECTUAL PROPERTY RIGHTS OF ANY THIRD PARTY IN ANY COUNTRY.

Copyright (c) 1997-2002, John Conover, All Rights Reserved.

Comments and/or bug reports should be addressed to:

    john@johncon.com (John Conover)

    http://www.johncon.com/ntropix/
    http://www.johncon.com/

------------------------------------------------------------------------------

Tsinvest is for simulating the optimal gains of multiple equity
investments. The program decides which of all available equities to
invest in at any single time, by calculating the instantaneous Shannon
probability and statistics of all equities, and then using statistical
estimation techniques to estimate the accuracy of the calculated
statistics.

The tsinvest home page is at http://www.johncon.com/ntropics/.

To build the program, gunzip the source files, and tar xvf
tsinvest.tar.  Cd to the tsinvest directory, and type "make".

To install the executables, cp tsinvest tsinvestsim tsshannoneffective
to a directory in your executable path. The tsinvest.1, tsinvestsim.1,
and tsshannoneffective.1 files are the nroff sources to the man pages.
The catman pages, tsinvest.catman, tsinvestsim.catman, and,
tsshannoneffective.catman, are also included.

Notes:

    1) If you are not using GCC as the compiler, you will have to
    change the CC and CFLAGS definitions in the Makefile.

    2) If you are using GCC, depending on the version, you may have to
    change the -W* lint and syntax checking arguments. For example,

        CFLAGS = -O

    should work on GCC and most compilers.

    3) If you are not using GCC/Linux, then you may have to modify the
    sources for the random number generator, rand (), used. The one
    used, generally in the Linux distribution, is actually quite good,
    and returns an integer between 0 and RAND_MAX. See the man (1)
    page for rand () for details. The use in the sources is to provide
    a random number between 0 and 1, inclusive, by dividing the random
    number generated by RAND_MAX. As an alternative to rand (), the
    function ran1 (), from:

        "Numerical Recipes in C: The Art of Scientific Computing,"
        William H. Press and Brian P. Flannery and Saul A. Teukolsky
        and William T. Vetterling, Cambridge University Press, New
        York, New York, 1988.

    page 210, comes highly recommended. The simulations require a
    random number generator with low correlations-however, in a pinch,
    srand () can be used, albeit with great suspicion. My personal
    preference is ran1 (), however copyright issues precluded
    distribution in the sources.

    4) The program sources have a large amount of internal
    documentation, much of it duplicated in the man(1) page-the
    tsinvest program is less than a thousand lines of active code, out
    of six thousand total lines in the source file.  If you want to
    work on it, read the man(1) page, then see the section on program
    architecture in the source, Probably the invest () and statistics
    () functions will be of the most interest.

    5) The sources are known to compile on systems that have a GNU C
    compiler, GCC; the BSD variants, like Sun OS or FreeBSD; Sun
    Solaris; and MSDOS, without modifications, other than to the
    Makefile.

    John Conover
    john@johncon.com
    June 7, 2002
