||SMTM Perl/Tk global stock ticker|
smtm, a not overly clever acronym for Show Me The Money, is a financial ticker and charting application. It works for stocks (and other instrumenst) from exchanges around the world (as long as they are carried on Yahoo!, that is). smtm creates and automatically updates a window with stock (or mutual fund, option, currency, ...) quotes from Yahoo! Finance (and corresponding sites for non-North American quotes). It can also display the entire variety of charts available at Yahoo! Finance -- and update them automatically too. Beyond stocks, smtm can also display currencies (from the Philadephia exchange), US mutual funds, options on US stocks, several precious metals prices and quite possibly more; see the Yahoo! Finance website for full information.
smtm can also aggregate the change in value for both individual positions and the the entire portfolio. For this, the number of shares is needed, as well as the cross-currency expression pair. The standard ISO notation is used. As an example, GBPUSD translates from British Pounds into US Dollars. Annualised returns can be calculated given the purchase price and date, but note that finer details such as dividends and f/x movements, if applicable, are ignored.
smtm displays the full name of the company, the absolute price change and the relative percentage change in basispoints (i.e., hundreds of a percent) or in percentages if the corresponding option has been selected. Other information that can be displayed are the traded volume, the profit/loss, the aggregate positon value, the holding period length, the annualised return, the drawdown, the earnings per share, the price/earnings ratio, the dividend yield, and the market capitalization. Note that the return calculation ignores such fine points as dividends, and foreign exchange appreciation or depreciation for foreigns stocks. All display columns can be selected, or deselected, individually.
Losers are flagged in red. smtm can be used for stocks from the USA, Canada, various European exchanges, various Asian exchanges (Singapore, Taiwan, HongKong, Kuala Lumpur, ...) Australia and New Zealand. It should work for other markets supported by Yahoo. US mutual funds are also available, but less relevant as their net asset value is only computed after the market close. Some fields might be empty if Yahoo! does not supply the full set of fields; the number of supported fields varies even among US exchanges. The sorting order can be chosen among eight different options.
The quotes and charts are delayed, typically 15 minutes for NASDAQ and 20 minutes otherwise, see Yahoo! Finance for details. New Zealand is rumoured to be somewhat slower with a delay of one hour. However, it is worth pointing out that (at least some) US) indices are updated in real time at Yahoo!, and therefore available in real time to smtm. Intra-day and five-day charts are updated during market hours by Yahoo!, other charts with longer timeframes are updated only once a week by Yahoo!. Due to the limited amount of information provided by some of the (non-North American) Yahoo! servers, some fields might show a 'NA' for 'not available'.
smtm can display two more views of a share position. Clicking the left mouse button launches a detailed view with price, date, change, volume, bid, ask, high, low, year range, price/earnings, dividend, dividend yield and market capital information. However, not all of that information is available at all North American exchange, and Yahoo! UK only provides a subset. Clicking the right mouse button display a chart of the corresponding stock. The type of chart can be specified via the Chart menu. The full range of Yahoo! chart options is available. This comprises three different sizes, three different chart types (line, bar or candle), eight different timeframes (intra-day, five days, three months, six months, one year, two years, five years and all available years), individual choice of six moving average timeframes and six exponential moving averages, seven popular technical analysis charts, choice of logarithmic or normal scaling, choice of volume, of Bollinger bands and of Parabolic SAR. Lastly, one or several comparison symbols can be entered and a relative performance chart will be created. In gallery mode, smtm shows charts of all active securities, and updates these charts automatically whenever the normal price data is updated. This is meaningful only for intra-day and intra-weekly charts as all longer-dated charts are re-created less frequently than daily by Yahoo!. The gallery mode can be launched either via the command-line option --gallery, or via the Chart->Gallery menu entry.
smtm supports both simple proxy firewalls (via the --proxy option) and full-blown firewalls with account and password authorization (via the --fwall option). Firewall account name and password can be specified as command line arguments after --fwall, or in a pop-up window. This setup has been successfully tested in a few different environments.
smtm charts were (as of early May 2005) broken in
version 1.6.5 as Yahoo! switched from using the gif formay to the png
format. Unfortunately, png is not quite as well supported in all
versions of Perl/Tk. However, the fix is easy, please see my
blog entry on this with a two-line patch to smtm 1.6.5, and a the
to the Tk::PNG library you will need to install -- unless you are using
a Perl implementation that already contains it. This is the case of
ActiveState's Perl for Windows, possibly RedHat Linux and more recent
Debian versions. In any event, smtm versions
1.6.6 and up also fix this.
smtm has been written and tested under Debian GNU/Linux and should run under any well behaved Unix or Linux variant: Solaris, HP-UX, FreeBSD have been reported to work just fine. It also runs under that other unspeakable OS using the Perl implementation from ActiveState. In either case, it requires the Tk module for windowing, and the LWP module (also called libwww-perl) for data retrieval over the web as well as Date::Manip for date calculations.