With regard to your question on how people maintain their portfolio information and with the caveat that I've done a lot of software programming:
I maintain all my stock information in a database. I maintain 4 different categories of situations: Spin-off, Bankruptcy, Arbitrage, and Other. And I further classify the situations within each category (e.g. for the Other category there is Value, Growth, GARP, Turnaround, Restructuring, etc.). All information is presented via a web interface on my local web server. My spin-off information goes back to 1998. My bankruptcy information goes back to around 2002.
For each situation, I store general descriptive data for each company typically taken from various sources on the web. For each situation, I can attach links to news items (for example, links to messages on Silicon Investor). And I provide ready access to links to services like Edgar, Yahoo, Quicken, etc..
I also suck down information from various web sources to present derived information - for example, for an arbitrage situation, I show things like calculated merger value, spread, annualized returns, annualized returns based on standard position size and including commissions, even money probability, risk-adjusted return, spread history for last 60 days, relative liquidity. Some information is updated nightly and some things are based on delayed quote information.
For each stock in each situation, I can mark the stock as held, bid, or actively watched, and I can present an overall picture of all holdings in my portfolio as well as looking into the individual categories.
I also have a big area to enter notes. No more worrying about that skimpy single line of text that some internet sites provide.
I also maintain my own buy/sell targets, and periodically during the day, e-mail myself a report of which stocks exceed their trigger points. Some nice thing about this vs. Yahoo alerts: 1) I can tell when a quote fails - like when a ticker has been changed or deleted which yahoo does not, 2) it's not just a once a day notice like yahoo at least sometimes seems, 3) it is much more immediate than being sent e-mail thru a ton of external servers, 4) I can check the list of my held stocks to see whether I've set buy/sell targets for each one, 5) generally, since I'm lazy about selling or buying stock and I often let stocks sit above/below my triggers, I don't have to worry about sifting thru 20 or 30 recurring e-mails a day from yahoo.
I subjectively rank stocks from 1 to 5 based on how good a situation appears to be. For arbitrage, the ranking is based on how likely a situation is to close. For uncompleted spin-offs and bankruptcies, it's based on how interesting the opportunity looks. If a stock is trading, the ranking is based on information including conference calls and financials. Ranking stocks helps to remind me which stocks I wish to retain and which I probably want to liquidate if better opportunities present themselves.
Right now, I don't track portfolio transactions so there's no portfolio allocation tracking, position sizes, cost basis, or individual position return. I do remember the $ value of my account at the beginning of the year and how much money was added or removed, so I can tell my return in a rough manner. I download and run a program on the history of my account for tax purposes, from which I could probably accurately calculate return.
One of these days I plan to add a general calendar that can track things like expected merger closings, conference calls, spin-off dates, dividends, etc.
A lot of this is probably overkill (unless you do arbitrage). But if you want to graduate beyond spreadsheets, one direction might be to create your own personal database. I use Unix with a MySQL database and Perl scripts to do mine, but there's always Microsoft Access that includes a lot of tools to build interfaces with little work.
Regards, Stew |