Mutual fund security code

Glen Ditchfield gjditchfield@acm.org
Thu, 10 Jan 2002 10:08:01 -0600


On January 9, 2002 10:57 pm, Linas Vepstas wrote:
> Hmm, maybe we should start a CDDB-like service for fund ID's.
>
> I could run a little database on www.gnucash.org that contained a
> smattering of fund names and ID numbers.   It shouldn't be hard to write
> the extension to gnucash to query the server for an ID, given the fund
> name.  Say something like the following screenshot:
>
>     You asked for 'AGF Canadian Aggressive'.
>     Did you mean 'AGF Canadian Aggressive All-Cap Fund',
>     fund number 1726 on www.agf.com,
>     recent price is $CAD 42.42?
>            ()yes () no

For extra points, make the extension download the Finance::Quote module for 
the price source.

But are there any legal issues?  If I store this information on my computer, 
no one gives a hoot in practice.  If you store it publically on 
www.gnucash.org, you become a target for legal attack.  There have been 
lawsuits over things like catalog numbers in stamp catalogs.  A financial web 
site might consider their internal codes to be proprietary, and extracting 
price information might violate terms of use.

I also dislike the idea of putting arbitrary strings in the user interface.  
Can we hide security codes, and make them a private matter between GnuCash 
and Finance::Quote?  Each Finance::Quote module already "knows" a bit about 
security codes for its quote source.  We would have to extend the modules so 
that they know how to find the security code for a security or mutual fund.  
The program flow would be something like
- the user selects quote source 'Wahoo' for the security named 'AGF Canadian 
Aggressive'.
- GnuCash asks Finance::Quote::Wahoo for a list of securities and security 
codes, passing 'AGF Canadian Aggressive' as a hint.
- Finance::Quote::Wahoo does its site-specific thing to build the list.  
(Finance::Quote::Tdwaterhouse would download the comma-separate-values file 
of all funds that it already uses.  Finance::Quote::Yahoo would feed a search 
term to http://finance.yahoo.com/l.)
- GnuCash would show the user the list.  The user would pick one.
- GnuCash would squirrel the security code away.

Finance::Quote modules should also have some way to pass a 'help' message 
back to the user, to give hints about constructing security names.  ("Go to 
http://finance.yahoo.com/l, and try different search terms.")