Ever wondered what happened to your portfolio on a day the market moved 500 points? Ever wondered what your portfolio returned over the last (odd and arbitrary) period? Ever wondered what the Value-at-Risk (VaR) was? Ever wondererd what the marginal risk contribution of a given stock in your portfolio was? Ever wondered what unrealized percentage gain (or loss) you made from the recent lows (or highs) ? Ever wondered if you could easily database the (public) price info on dozens of stocks for further analysis? Ever wondered if there was a simple cron job to report all this on a daily basis?

BeanCounter does all this, and provides an easy-to-use command-line tool as well as a Perl module that can be used with other pursuits. It stores its data (price, volume, earnings --- whatever Yahoo! supplies) in either a PostgreSQL or MySQL relational database system (but it can also use an ODBC connection). The (very fast) SQLite 'database on a flat file' can also be used in either version 2.* or the newer version 3.*.

BeanCounter works with equities and equity indices from exchanges in the US, Canada, Europe and Asia. Options, foreign exchange rates, some commodities as well as US mutual funds are also supported as the data is provided by Yahoo! Downloads are efficiently batched so that information on e.g. several dozens US stocks is downloaded at once with a single HTTP request.

At some level this code is still beta in the sense that the command-line options and function interfaces might change. However, similar code has been working here since the fall of 1998.

What's New in This Release:

· Historical backpopulation now also adjusts closes, and the rpm.spec file has been updated.