beancounter - Stock portfolio performance monitor tool
beancounter [options] command [stock_symbol ...]
addindex index args add stock(s) to market index 'indx' addportfolio arg:nb:fx ... add nb stocks of arg to portfolio addstock arg ... add stock(s) to database dailyjob combines 'update' and 'dayendreport' dayendreport combines 'update' and 'plreport' deletestock arg ... delete stock(s) from database destroydb delete the BeanCounter database backpopulate arg ... fill with historic data for given stock(s) plreport run an end-of-day portfolio report quote arg ... report current data for given stock(s) update update the database with day's data
--help show this help --date date [ plreport ] report for this date (today) --prevdate date [ plreport ] relative to this date (yesterday) --fromdate date [ backpopulate ] start from this date (1/1/99) --todate date [ backpopulate ] end at this date (yesterday)
beancounter analyses stock market data to evaluate portfolio performance. It has several modes. The first main mode is data gathering: both current data (e.g. end-of-day closing prices) and historical price data (to backpopulate) can be retrieved and are automatically stored in a relational database. The second main mode is data analysis where the stored data is evaluated to provide performance information.
Data is retrieved from the Yahoo! Finance web sites.
beancounter can also aggregate the change in value for the entire portfolio over arbitrary time horizons.
beancounter has been written and tested under Linux. It should run under any standard Unix as long as the required Perl modules are installed, as as long as the DB (currently hardwired to PostgreSQL) is found.
beancounter addportfolio SUNW:100 IBM:50 beancounter addstock CBOT LNUX RHAT COR.TO beancounter backpopulate --fromdate '1 year ago' \ --todate 'friday 1 week ago' IBM SUNW HWP beancounter plreport --fromdate '1 month ago' --todate 'today'
Finance::BeanCounter and beancounter are so fresh that there are only missing features right now :) Seriously, check the TODO list.
On a more serious note, this code or its predecessors have been used by the author for a good year and a half now.
Finance::BeanCounter.3pm, smtm.1, Finance::YahooQuote.3pm, LWP.3pm, Date::Manip.3pm
beancounter is (c) 2000 by Dirk Eddelbuettel <edd@debian.org>
Updates to this program might appear at http://rosebud.sps.queensu.ca/~edd/code/beancounter.html.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. There is NO warranty whatsoever.
The information that you obtain with this program may be copyrighted by Yahoo! Inc., and is governed by their usage license. See http://www.yahoo.com/docs/info/gen_disclaimer.html for more information.
The Finance::YahooQuote module by Dj Padzensky (on the web at http://www.padz.net/~djpadz/YahooQuote/) served as the backbone for data retrieval, and a guideline for the extension to the non-North American quotes which was already very useful for the real-time ticker http://rosebud.sps.queensu.ca/~edd/code/smtm.html.