WO2001084431A1 - System and method for searching database of mutual funds in accordance with investor selection of fund attributes - Google Patents

System and method for searching database of mutual funds in accordance with investor selection of fund attributes Download PDF

Info

Publication number
WO2001084431A1
WO2001084431A1 PCT/US2001/013652 US0113652W WO0184431A1 WO 2001084431 A1 WO2001084431 A1 WO 2001084431A1 US 0113652 W US0113652 W US 0113652W WO 0184431 A1 WO0184431 A1 WO 0184431A1
Authority
WO
WIPO (PCT)
Prior art keywords
database
investor
ofthe
fund
mutual
Prior art date
Application number
PCT/US2001/013652
Other languages
French (fr)
Inventor
Jeffrey S. Steinberg
Michael A. Krause, Sr.
Luke Embree
Original Assignee
Idayo Investor, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Idayo Investor, Inc. filed Critical Idayo Investor, Inc.
Priority to AU2001259207A priority Critical patent/AU2001259207A1/en
Publication of WO2001084431A1 publication Critical patent/WO2001084431A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention is directed to an online financial search system and method and more particularly to a system and method for allowing users to perform online searches for mutual funds in accordance with attributes ofthe funds, such as companies which should or should not be included in the funds, a percentage of each fund held in a specified economic sector or a percentage of each fund held in a particular type of asset.
  • a traditional way of making investment choices has been to invest directly in companies considered desirable while avoiding ownership of companies considered undesirable. However, doing so can be cumbersome and inefficient for individuals and other small investors. For example, an investor with $5,500 to invest and a list of twenty desirable companies faces some unpleasant choices. Such an investor can buy three shares of one company and four shares of another, paying a $35.00 commission for each ofthe twenty companies (which would total about 15% ofthe total investment). Alternatively, the investor can be more selective and buy only three of the twenty companies, in which case the $5,500 is not enough to buy 50 shares of each of those three companies.
  • Mutual funds help overcome this problem, and have become a popular form of investing. They allow investors to obtain professional money management while at the same investing in many companies, thereby achieving diversification. With fund ownership, money is diversified through the various holdings ofthe fund, including stocks, bonds, cash, etc. This is especially attractive to investors with modest amounts of money to invest, who would otherwise have to pay large commissions to buy a diversified set of stocks and other assets.
  • investing in mutual funds has a big disadvantage.
  • Each mutual fund is a package deal for each investor; the mutual fund may well hold shares in companies that the investor considers desirable and also in companies that the investor does not want to own.
  • the investor has little or no ability to take into account a fund's specific holdings. This is because fund holding information is not readily available to the individual investor in the form of a searchable database. The investor would have to locate every mutual fund, of which there are thousands, and manually sift through the holdings data on each fund.
  • the lack of searchable fund holding information causes investors other problems as well. Without knowing how a fund's holdings are distributed among various economic sectors, or among types of assets, it is very difficult for investors to ensure that their investment portfolio is properly distributed or balanced. For example, an investor may need to rebalance a portfolio by shifting money out of computer hardware companies and into retail sales companies to reduce the risk factor ofthe portfolio. If the investor wants to do this through the purchase of mutual funds, the investor would need the ability to search for funds with holdings heavily weighted in the retail sector, and lightly weighted in the computer hardware sector. This ability is not readily available to investors.
  • the present invention is directed to a system and method for allowing a user to perform online searches for mutual funds while specifying which companies' stock the funds should or should not hold.
  • the user logs in with a user ID and password
  • the user is asked to compile a list of "favorites,” which are companies whose stock the funds should hold.
  • the favorites are located either by their ticker symbols, in sector lists or through text searches for words contained in the company profiles.
  • the user is also asked to compile a list of "dislikes,” which are companies whose stock the funds should not hold, in the same manner.
  • a database of funds is then searched to locate funds in accordance with the favorites and dislikes.
  • the hits are listed in descending order ofthe number of favorites held by each fund; the list of hits also indicates the number of dislikes held by each fund and other information relevant to investors.
  • Each fund in the list of hits is linked to a page showing a first list ofthe top 25 holdings ofthe fund and a second list of all favorites and dislikes that are not among the top 25 holdings. Both ofthe lists show the total holdings (number of shares and percentage of total net assets) of each company in the fund and other information of interest to investors.
  • the database is indexed to speed searching. During updates, a first copy ofthe database is still available to users, while a second copy ofthe database is updated. Once the update is finished, the first database is overwritten with the second database. The database can be locked to prevent concurrent searches by the same combination ofthe user ID and password.
  • a list ofthe top favorites and dislikes can be compiled from the choices of all users who conduct searches.
  • the present invention overcomes the above-noted problems ofthe prior art by providing investors with the ability to electronically search for funds that hold desirable companies, and exclude funds that hold undesirable companies.
  • An investor may consider a company undesirable because the investor believes that the company is not likely to be successful in the future, or because the investor sees the company engaging in unwanted social, environmental, or political actions. For example, some investors may not want to own companies that pollute or market cigarettes to children, thereby voting with their money on matters of concern.
  • the investor obtains the best of all worlds: (1) professional money management, (2) diversification, (3) ownership of preferred companies, and (4) avoiding ownership of disliked companies.
  • funds can be searched by sector allocation or by asset allocation.
  • sector allocation the user specifies economic sectors and a desired percentage of fund holdings in each specified sector (e.g., automotive, 20%; financial services, 5%).
  • asset allocation the user specifies types of assets and a desired percentage of fund holdings in each specified asset (e.g., equities, 20%; fixed income, 20%).
  • asset type e.g., stocks, bonds, or cash
  • asset type e.g., stocks, bonds, or cash
  • Fig. 1 is a block diagram showing an overview of a system according to either a first preferred embodiment or a second preferred embodiment ofthe present invention
  • Fig. 2 is a flow chart showing the operation ofthe system of Fig. 1 in the first preferred embodiment, which is also an optional operation in the second preferred embodiment;
  • Fig. 3 shows an HTML page for allowing an investor to select favorites and dislikes and for initiating a search;
  • Fig. 4 shows a supplement to the HTML page of Fig. 3 which the investor can call up to select advanced search criteria
  • Figs. 5-7 show HTML pages for selecting favorites;
  • Fig. 8 shows a relevant portion of an HTML page listing mutual funds found during the search;
  • Figs. 9A and 9B show an HTML page presenting a detailed list of holdings of one ofthe mutual funds listed on the HTML page of Fig. 8;
  • Fig. 10 is a flow chart showing a technique for updating the database of mutual funds
  • Fig. 11 is a flow chart showing the search selection process ofthe second preferred embodiment
  • Fig. 12 shows an HTML page through which the investor selects the search strategy in the second preferred embodiment
  • Fig. 13 is a flow chart showing the operation ofthe second preferred embodiment if the search strategy selected by the investor is a sector allocation search
  • Fig. 14 shows an HTML page ' through which the investor selects sectors and the percentage of each sector to be included in the funds
  • Fig. 15 shows an HTML page through which the investor optionally selects further search criteria for the sector allocation search
  • Fig. 16 shows an HTML page of search results for the sector allocation search
  • Fig. 17 shows an HTML page of securities in one ofthe funds of Fig. 16, in which the sector of each security is identified;
  • Fig. 18 shows a breakdown by sector for one ofthe funds of Fig. 16;
  • Fig. 19 is a flow chart showing the operation ofthe second preferred embodiment if the search strategy selected by the investor is an asset allocation search
  • Fig. 20 shows an HTML page in which the investor selects a percentage for each type of asset to be included in the funds
  • Fig. 21 shows an HTML page of search results for the asset allocation search
  • Fig. 22 shows an HTML page of a breakdown by type of asset for one ofthe funds of Fig. 21.
  • Fig. 1 is a block diagram showing an overview ofthe first preferred embodiment.
  • An investor uses a microcomputer 102 or other device capable of running a World Wide Web browser; any currently available IBM-compatible personal computer or Macintosh is appropriate.
  • the microcomputer 102 should be able to access the Internet 104 through appropriate hardware (a modem, cable modem, etc.) and software (a TCP/IP stack), and the investor should have an account with an Internet service provider to do so.
  • the investor's microcomputer connects over the Internet 104 to a server computer 106.
  • the server computer 106 should have a full-time connection to the Internet 104 via a Tl, T3 or OC3 line or the like.
  • the server computer 106 should also have sufficient processing power and hard-disk space to run World Wide Web server software 108 with scripting (e.g., CGI) ability and an SQL database server 110 for managing the database of mutual funds.
  • scripting e.g., CGI
  • the server computer 106 can be a single physical computer, but it is preferable to provide a network of microcomputers performing SQL processing in parallel. In case one ofthe microcomputers fails, it can be swapped out. Techniques for implementing such a network of microcomputers are known in the art.
  • the server computer 106 should also be able to connect, not necessarily full- time, with an external data source or sources 112 to update the database of mutual funds.
  • the update process will be described in detail below.
  • the server computer 106 may have a suitable drive (e.g., a tape drive 114) for receiving the updated information from the external data source or sources on a tape 116 or other medium.
  • Fig. 2 is a flow chart showing an overview ofthe operation ofthe system of Fig. 1.
  • the investor accesses the server computer 106 in step 202 from the microcomputer 102 by entering an appropriate URL into the Web browser running on the microcomputer 102 and then logging in.
  • the server computer 106 sends the microcomputer 102 a page listing the investor's previously selected favorites in one column and the investor's previously selected dislikes in another column. If the investor has just registered with the service, both columns will be blank, as there will be no previously selected favorites or dislikes. Either way, the investor can add and delete favorites and dislikes in step 206 in a variety of ways that will be explained below.
  • the Web server software 108 fonns a query in step 210 through CGI and passes the query to the SQL database server software 110, which searches the database in step 212 for mutual funds having as many ofthe favorites and as few ofthe dislikes as possible.
  • the database server software 110 sends a list of hits, ranked by the holding of favorites and dislikes in each mutual fund, to the Web server software 108, which uses CGI to format the list as a Web page in step 214 and passes the Web page to the microcomputer 102 for display to the investor in step 216.
  • Each mutual fund in the list is linked to a detailed description of that fund; the investor can select any fund on the list in step 218 and see the details on the fund in step 220.
  • Fig. 3 shows a page 300 of likes and dislikes sent in step 204.
  • the left column 302 lists the favorites, while the right column 304 lists the dislikes.
  • a security can be added to either list by clicking on a link 306 or 308.
  • a listed security 310 or 312 can be removed by clicking on its corresponding link 314 or 316.
  • Either column can be cleared by clicking on a link 318 or 320.
  • a list ofthe top (most often selected by investors) 25 favorites or dislikes can be viewed by clicking on a link 322 or 324.
  • One ofthe investor's selected favorites that appears on either top-25 list is indicated by an icon 326, which in this example is a frowning-face icon indicating that Disney, one ofthe investor's favorites, is on the list of top 25 dislikes.
  • Securities can also be selected from a sector list by clicking on a link 328 or from a list of special interest groups (e.g., tobacco companies) by clicking on a link 330.
  • the investor can search by clicking on the search button 332 or the advanced search link 334.
  • the links and other features on the page 300 can be implemented through CGI or another standard technique, as those skilled in the art of interactive HTML will readily appreciate.
  • Clicking on the link 334 for advanced search options returns a page like the page 300 of Fig. 3, except with the additional options collectively designated as 400 in Fig. 4.
  • the investor selects one option by clicking on a radio button 404.
  • the radio buttons can be replaced by check boxes, pull-down menus or any other interface feature.
  • Clicking on the "Add Security to Links” link 306 allows the investor to add securities in a manner which will now be described.
  • the "Add Security to Dislikes” link 308 functions in the same way and will therefore not be described separately.
  • Clicking on the link 306 brings up a "Find Companies" page 500 shown in Fig. 5.
  • the investor can enter a company ticker symbol into a first text box 502 or do a word search by entering a word found in the company name into a second text box 504.
  • the "Find Company” button 506, the “Clear my input” button 508 and the "Go back” link 510 are self-explanatory.
  • the investor can find companies by the type of business by clicking on the "Select Securities from Sector List of Favorites" link 512, which calls up a page 600, shown in Fig. 6, having links 602 to lists of companies grouped by sector.
  • Yet another option is to click on the "Special Interest Groups" link 330 on the page 300. That link calls up a page 700, shown in Fig. 7, having links 702 to lists of companies grouped by social concerns.
  • the investor hits the search button 332.
  • the server computer 106 completes the search, it returns a list of hits formatted as a page such as the page 800 partially shown in Fig. 8. The remainder ofthe page simply includes a continuation ofthe list and has therefore been omitted for brevity.
  • the list is sorted by the number of favorites held by each mutual fund.
  • the mutual funds are listed in the right column 802.
  • each mutual fund in the right column 802 is four left columns: a column 804 showing the number of favorites held by that mutual fund out ofthe eleven favorites selected, a column 806 showing the favorites as a percent ofthe fund's total net assets (TNA), a column 808 showing the number of dislikes out ofthe one dislike selected, and a column 810 showing the minimum investment.
  • TAA percent ofthe fund's total net assets
  • a column 808 showing the number of dislikes out ofthe one dislike selected
  • a column 810 showing the minimum investment.
  • other sort or display options can be provided, as those skilled in the art of coding Web search engines will readily appreciate.
  • a stock, a group of stocks or a sector is shown as a percentage of a fund's holdings, that percentage can be calculated from either the fund's total holdings or the fund's stock holdings only, based on such considerations as the data feed from the external data source or sources 112.
  • each mutual fund in the right column 802 is linked to a page 900, shown as split between Figs. 9A and 9B, of information on the fund.
  • the upper part 902 ofthe page 900 shows the top 25 securities held by the fund, along with financial information on each.
  • the lower part 904 ofthe page 900 shows favorites and dislikes falling outside the top 25 securities, along with financial information on each.
  • the favorites and dislikes are identified by icons 906.
  • the techniques described above can be implemented in any of several forms of dynamic HTML, such as CGI.
  • the general concept of using CGI scripts to implement searches on the Web is well Icnown in the art and will therefore not be described in detail here.
  • the search button 332 is clicked, the inputs indicated are passed to a CGI script which generates an SQL statement to perform the search.
  • the following is one example of such an SQL statement: select header.institutionnumber, header.institutionname, header.institutiontype, header, foreignmstitution, sum(holdings.currentholdings * security .price)/header.commonassets, count(*), header.totalfamilyassets, header, commonassets, header.lipperfundfamilycode, header .investobj ectivecode, header.lipperminimuminvestment, dislikes (
  • the database stored in the SQL database server 110 is updated periodically, e.g., weekly or daily, in a manner which will now be explained with reference to Fig.
  • the database is copied in step 1002, so that there are first and second copies.
  • the first copy is kept available for searches in step 1004, while the second copy is updated with information from the external data source or sources 112 and then indexed in step 1006, thus creating an updated database.
  • the first copy is overwritten or otherwise replaced with the updated database in step 1008.
  • the database is preferably indexed as part of the updating process to speed up searches. The following is an example of an SQL statement for indexing the database.
  • cursipnumber security.cursipnumber and datediff(day,holdings.currentreportdate,getdate()) ⁇ @p_days and header.commonassets ⁇ >0 and holdings.currentholdings>0 group by header.institutionnumber, header.institutionname, header.commonassetSjheader.institutiontype, header.foreigninstitution,header.totalfamilyassets,header.lipperfundfamilycode order by 6 desc, 5 desc
  • the second preferred embodiment is based on the first preferred embodiment and can be implemented on the same hardware as the first preferred embodiment, namely, that of Fig. 1.
  • the software ofthe second preferred embodiment can be adapted with only minor modifications from that ofthe first preferred embodiment.
  • the second preferred embodiment searches mutual funds by the percentage of assets in each economic sector (e.g., automotive, financial services) or by the percentage of assets in each type of assets (e.g., equities, fixed income). Since that information is readily available through the external data sources 112, it can easily be inco ⁇ orated into the database and indexed in manners essentially similar to that described.
  • each economic sector e.g., automotive, financial services
  • assets e.g., equities, fixed income
  • step 1102 the investor accesses the server computer 106 and logs in.
  • step 1104 the server computer 106 sends a page of search options.
  • The'page of search options sent in step 1104 is shown in Fig. 12 as 1200.
  • the page 1200 is a static HTML page with static text 1202 having three links 1204, 1206, 1208 for selecting search options.
  • the link 1204 allows the investor to select funds by favorite stocks and essentially takes the investor to the first preferred embodiment.
  • the second and third links 1206 and 1208 allow the investor to select funds by sector allocation and asset allocation, respectively.
  • Each link 1204, 1206, 1208 includes explanatory text 1210. In Fig.
  • step 1106 the investor makes a selection of a search strategy by clicking on one ofthe links 1204, 1206, 1208.
  • the server computer 106 determines the investor's selection by identifying the link on which the investor has clicked. If the investor has clicked on the link 1204, then in step 1110, the investor is taken to step 204 of Fig. 2, where in effect the investor is taken to the first preferred embodiment. If the investor has clicked on the link 1206, then in step 1112, the investor is taken to step 1302 of Fig. 13 for sector allocation. If the investor has clicked on the link 1208, then in step 1114, the investor is taken to step 1902 of Fig. 19 for asset allocation.
  • step 1110 the process goes to Fig. 13, step 1302.
  • step 1304 the server 106 sends the investor's microcomputer 102 a page of sectors and percentages, shown in
  • Fig. 14 as 1400.
  • the page 1400 has a sector column 1402 with multiple drop-down menus 1404 for selecting sectors.
  • the investor has already selected the automobile and financial services sectors.
  • Beside the sector column 1402 is a percentage column 1406 with multiple drop-down menus 1408, one for each drop-down menu 1404, for selecting percentages.
  • the investor has already selected 20% for the automobile sector and 5% for the financial services sector. That means that the investor wants to find funds with 20% of their values invested in the automobile sector and 5% of their value invested in the financial services sector.
  • Fig. 14 allows the investor to select up to ten sectors, although the investor does not have to select all ten. A different number of choices could be provided by varying the number of drop-down menus 1404, although, again, the investor would not have to make all possible selections.
  • the percentages selected in the percentage column 1406 must total no more than 100%, although they may have any lower total.
  • the drop-down menus 1404, 1408 are implemented in any suitable Web programming technique. For example, if the search is to be implemented through a
  • variable sectorO is assigned a value 36, and that value is passed to the CGI script.
  • the dropdown menus 1408 can be implemented in the same manner, with percentages in increments of 5%.
  • percentages can be used to search for percentages.
  • One such technique considers all percentages within a given range of 20% to be the same as 20% for search pvuposes.
  • Still other techniques include allowing the investor to select a maximum or minimum percentage or both maximum and minimum percentages.
  • the page 1400 has a "Find My Fund” button 1410 to initiate the search and a "Clear My Selections” button 1412 to clear all selections. Advanced search options can be accessed through the "Advanced” button 1414. Clicking on the "Advanced” button 1414 pulls up an advanced search page partially shown in Fig. 15 as 1500.
  • the advanced search page 1500 includes a drop-down menu 1502 to select funds by geography, a drop-down menu 1504 to select funds whose report dates are on or after a certain date (as funds typically report their holdings to the SEC twice or four times per year), a drop-down menu 1506 to select fund types, a drop-down menu 1508 to select fund family size, a drop-down menu 1510 to select funds with stock assets, a drop-down menu 1512 to select the largest allowable minimum investment, and a drop-down menu 1514 to select a smallest allowable one-year performance.
  • the remainder ofthe page 1500 includes the same columns 1402 and 1404 and button 1410 to start the search as included in the page 1400 of Fig. 14; for the sake of brevity, those portions are not shown again.
  • Step 1310 the Web server software 108 formulates a search query
  • step 1312 the database server software 110 does a search. Steps 1310 and 1312 are performed in essentially the same manner as steps 210 and 212 of Fig. 2, with the appropriate modifications to search by sector allocation.
  • the Web server software formats the search results in step 1314 and sends them to the investor's microcomputer, where the investor views them in step 1316.
  • the investor sees a page like the page 1600 shown in Fig. 6.
  • the page 1600 includes a column 1602 showing the ticker symbol or symbols of each fund located, a column 1604 showing the fund name, a column 1606 showing the minimum investment, a column 1608 showing the last report date, a column 1610 showing the one-year performance and a column 1612 showing the match rating.
  • the server 106 can show all matches or only a certain number of matches per page; in the latter case, the number of matches can be fixed or can be selectable by the investor.
  • each fund name is shown as a link 1614 to information on that fund. Clicking on the link 1614 brings up a page of information on that fund, such as the page 1700 of Fig. 17.
  • the page 1700 includes a column 1702 showing the rank of each security held in the fund, a column 1704 showing the name ofthe security, a column 1706 showing the number of shares ofthe security held by the fund, a column 1708 showing the percent of total net assets ofthe fund represented by the security, a column 1710 showing recent activity, a column 1712 showing the number of shares bought or sold (in parentheses) in the recent activity, a column 1714 showing the percentage held of shares outstanding, and a column 1716 showing the sector.
  • a boldface sector indication 1718 is shown.
  • each match rating is shown as a link 1616 to a sector breakdown for that fund. Clicking on the link brings up a page showing the sector breakdown, such as the page 1800 of Fig. 18.
  • the page 1800 includes a column 1802 showing the name of each sector held by the fund, a column 1804 showing the percentage selected by the investor, and a column 1806 showing the percentage held by the fund.
  • the automobile sector has a desired percentage of 20%) and an actual percentage of 15.69%, while the financial services sector has a desired percentage of 5% and an actual percentage of 2.22%.
  • the Web server software 108 determines whether the investor has selected anything and if so, what.
  • step 1320 the Web server shows a breakdown of that fund by security, as shown in Fig. 17. If the investor has selected a match rating, then in step 1322, the Web server shows a breakdown of that fund by sector, as shown in Fig. 18.
  • step 1108 if in step 1108 it is determined that the investor has clicked on the link 1208 for asset allocation, the operation proceeds from step 1114 to Fig. 19, step 1902.
  • step 1904 the Web server software 108 sends a page of assets and percentages.
  • a page is shown in Fig. 20 as page 2000.
  • the page 2000 includes a drop-down menu 2002 to select a percentage of the fund to be held in equities, a drop-down menu 2004 to select a percentage in cash, a drop-down menu 2006 to select a percentage in fixed income, a drop-down menu 2008 to select a percentage in convertible securities and a drop-down menu 2010 to be held in other types of assets.
  • the page 2000 also includes a "Find my fund” button 2012 and a "Clear my selections” button 2014.
  • the specifics of the drop-down menus have been discussed above and will not be repeated here. Advanced search options, like those of Fig. 15, can be offered.
  • step 1906 the investor uses the drop-down menus 2002-2010 on the page 2000 to select a desired percentage of each asset type.
  • the investor may specify desired percentages of all or fewer than all of the asset types shown; the total of the selected percentages may be 100% or less.
  • the specifics of searching with percentages have been discussed above and will not be repeated here.
  • Fig. 21 shows a typical page 2100 of results.
  • the page 2100 includes a column 2102 showing the ticker symbol or symbols for each fund, a column 2104 showing the fund name, a column 2106 showing the last report date, a column 2108 showing the minimum investment, a column 2110 showing the one-year performance and a column 2112 showing a match rating.
  • Each fund name in column 2104 is shown as a link 2114 to information about that fund.
  • Each match rating in column 2112 is shown as a link 2116 to an asset breakdown for that fund.
  • the Web server software 108 When the investor clicks on a link 2114, the Web server software 108 generates and sends a page of securities held by the fund. Such a page looks like the page 1700 of Fig. 17, except that the column 1716 identifying the sector is omitted. When the investor clicks on a link 2116, the Web server software 108 generates and sends a page showing an asset breakdown for that fund. Such a page is shown in Fig. 22 as a page 2200. That page 2200 includes a column 2202 naming each type of asset, a column 2204 indicating the desired percentage of each asset selected by the investor and a column 2206 showing the actual percentage of each asset held by the fund. As shown in Fig. 22, the investor has selected 20% each of equities and fixed income securities, while the actual percentages are 21.09% and 7.37%.
  • the Web server software 108 determines whether the investor has selected anything and if so, what. If the investor has selected a fund name, then in step 1920, the Web server shows a breakdown of that fund by security, as described' above. If the investor has selected an asset breakdown, then in step 1922, the Web server shows an asset breakdown of that fund, as shown in Fig. 22.
  • the search results can identify which ofthe funds hold favorites or dislikes. An option can be provided to display only those funds holding a favorite or not to show funds holding a dislike.
  • the funds are sorted according to match ratings such as those shown in Fig. 21, column 2112.
  • the match ratings indicate how close each fund comes to the desired sectors or assets and percentages selected by the investor.
  • match ratings can be determined in accordance with known techniques for assigning relevance scores to database searches.

Abstract

A system which enables an investor to find mutual funds holding certain companies and not holding certain other companies is disclosed in Fig. 2 in which the investor logs onto the service (202) and compiles a list of favorites and a list of dislikes (204) from among the companies in the service's database. Alternatively, the investor compiles a list of the economic sectors or asset types desired and a desired percentage of mutual fund holdings in each sector or asset type . The service searches the database for mutual funds in accordance with the investor's selections (212) and returns a list of mutual funds ranked by compliance with the investor's selections (214). The investor has the option of seeing detailed information on each mutual fund, including which of the investor's favorites and dislikes that mutual fund holds (and how much of each), the sector distribution of the fund's holdings, and the asset distribution of the fund's holdings. The investor also has the option of seeing lists of the companies most often picked as favorites or dislikes by other investors. The database is indexed and is updated by forming two copies, updating the second copy while the first copy is kept available for searches and overwriting or otherwise replacing the first copy with the updated second copy.

Description

SYSTEM AND METHOD FOR SEARCHING DATABASE OF MUTUAL FUNDS IN ACCORDANCE WITH INVESTOR SELECTION OF FUND ATTRIBUTES
Reference to Related Application This is a contmuation-in-part of U.S. Patent Application No. 09/335,684, filed
June 18, 1999, whose disclosure is hereby incorporated by reference in its entirety into the present application. Field ofthe Invention
The present invention is directed to an online financial search system and method and more particularly to a system and method for allowing users to perform online searches for mutual funds in accordance with attributes ofthe funds, such as companies which should or should not be included in the funds, a percentage of each fund held in a specified economic sector or a percentage of each fund held in a particular type of asset. Description of Related Art
A traditional way of making investment choices has been to invest directly in companies considered desirable while avoiding ownership of companies considered undesirable. However, doing so can be cumbersome and inefficient for individuals and other small investors. For example, an investor with $5,500 to invest and a list of twenty desirable companies faces some unpleasant choices. Such an investor can buy three shares of one company and four shares of another, paying a $35.00 commission for each ofthe twenty companies (which would total about 15% ofthe total investment). Alternatively, the investor can be more selective and buy only three of the twenty companies, in which case the $5,500 is not enough to buy 50 shares of each of those three companies.
Mutual funds help overcome this problem, and have become a popular form of investing. They allow investors to obtain professional money management while at the same investing in many companies, thereby achieving diversification. With fund ownership, money is diversified through the various holdings ofthe fund, including stocks, bonds, cash, etc. This is especially attractive to investors with modest amounts of money to invest, who would otherwise have to pay large commissions to buy a diversified set of stocks and other assets. However, investing in mutual funds has a big disadvantage. Each mutual fund is a package deal for each investor; the mutual fund may well hold shares in companies that the investor considers desirable and also in companies that the investor does not want to own. In selecting a fund, the investor has little or no ability to take into account a fund's specific holdings. This is because fund holding information is not readily available to the individual investor in the form of a searchable database. The investor would have to locate every mutual fund, of which there are thousands, and manually sift through the holdings data on each fund.
The lack of searchable fund holding information causes investors other problems as well. Without knowing how a fund's holdings are distributed among various economic sectors, or among types of assets, it is very difficult for investors to ensure that their investment portfolio is properly distributed or balanced. For example, an investor may need to rebalance a portfolio by shifting money out of computer hardware companies and into retail sales companies to reduce the risk factor ofthe portfolio. If the investor wants to do this through the purchase of mutual funds, the investor would need the ability to search for funds with holdings heavily weighted in the retail sector, and lightly weighted in the computer hardware sector. This ability is not readily available to investors.
The growth ofthe Internet has allowed investors to research companies much more efficiently than was previously possible. An example of online research capability is taught in U.S. Patent No. 5,802,518 to Karaev et al, which teaches electronic distribution of research documents over the World Wide Web to authorized investors. However, such online research capabilities do not overcome the problems noted above.
Summary ofthe Invention
It will be apparent from the above that a need exists in the art to allow small investors to locate mutual funds whose holdings match the investors' preferences.
It is therefore an object ofthe invention to provide a system and method for searching for mutual funds in accordance with a list of an investor's preferred companies.
It is another object ofthe invention to provide a system and method for searching for mutual funds in accordance with a list of an investor's preferred companies and a list ofthe companies in which the investor does not wish to hold stock.
It is still another object ofthe invention to provide a system and method for searching for mutual funds in accordance with a sector or asset breakdown.
To achieve the above and other objects, the present invention is directed to a system and method for allowing a user to perform online searches for mutual funds while specifying which companies' stock the funds should or should not hold. When the user logs in with a user ID and password, the user is asked to compile a list of "favorites," which are companies whose stock the funds should hold. The favorites are located either by their ticker symbols, in sector lists or through text searches for words contained in the company profiles. The user is also asked to compile a list of "dislikes," which are companies whose stock the funds should not hold, in the same manner. A database of funds is then searched to locate funds in accordance with the favorites and dislikes. The hits are listed in descending order ofthe number of favorites held by each fund; the list of hits also indicates the number of dislikes held by each fund and other information relevant to investors. Each fund in the list of hits is linked to a page showing a first list ofthe top 25 holdings ofthe fund and a second list of all favorites and dislikes that are not among the top 25 holdings. Both ofthe lists show the total holdings (number of shares and percentage of total net assets) of each company in the fund and other information of interest to investors. The database is indexed to speed searching. During updates, a first copy ofthe database is still available to users, while a second copy ofthe database is updated. Once the update is finished, the first database is overwritten with the second database. The database can be locked to prevent concurrent searches by the same combination ofthe user ID and password. A list ofthe top favorites and dislikes can be compiled from the choices of all users who conduct searches.
The present invention overcomes the above-noted problems ofthe prior art by providing investors with the ability to electronically search for funds that hold desirable companies, and exclude funds that hold undesirable companies. An investor may consider a company undesirable because the investor believes that the company is not likely to be successful in the future, or because the investor sees the company engaging in unwanted social, environmental, or political actions. For example, some investors may not want to own companies that pollute or market cigarettes to children, thereby voting with their money on matters of concern. With use ofthe invention, the investor obtains the best of all worlds: (1) professional money management, (2) diversification, (3) ownership of preferred companies, and (4) avoiding ownership of disliked companies.
Other search capabilities are provided. For example, funds can be searched by sector allocation or by asset allocation. In sector allocation, the user specifies economic sectors and a desired percentage of fund holdings in each specified sector (e.g., automotive, 20%; financial services, 5%). In asset allocation, the user specifies types of assets and a desired percentage of fund holdings in each specified asset (e.g., equities, 20%; fixed income, 20%). The invention fills the above-noted need for balance and diversification by providing the ability to search for a fund according to a desired sector allocation. Similarly, the invention allows investors to rebalance their portfolio by asset type, e.g., stocks, bonds, or cash, by providing the ability to search for a fund according, to a desired asset allocation.
Brief1 Description ofthe Drawings
Preferred embodiments ofthe invention will be set forth in detail with reference to the drawings, in which:
Fig. 1 is a block diagram showing an overview of a system according to either a first preferred embodiment or a second preferred embodiment ofthe present invention;
Fig. 2 is a flow chart showing the operation ofthe system of Fig. 1 in the first preferred embodiment, which is also an optional operation in the second preferred embodiment; Fig. 3 shows an HTML page for allowing an investor to select favorites and dislikes and for initiating a search;
Fig. 4 shows a supplement to the HTML page of Fig. 3 which the investor can call up to select advanced search criteria;
Figs. 5-7 show HTML pages for selecting favorites; Fig. 8 shows a relevant portion of an HTML page listing mutual funds found during the search;
Figs. 9A and 9B show an HTML page presenting a detailed list of holdings of one ofthe mutual funds listed on the HTML page of Fig. 8;
Fig. 10 is a flow chart showing a technique for updating the database of mutual funds;
Fig. 11 is a flow chart showing the search selection process ofthe second preferred embodiment;
Fig. 12 shows an HTML page through which the investor selects the search strategy in the second preferred embodiment; Fig. 13 is a flow chart showing the operation ofthe second preferred embodiment if the search strategy selected by the investor is a sector allocation search; Fig. 14 shows an HTML page' through which the investor selects sectors and the percentage of each sector to be included in the funds;
Fig. 15 shows an HTML page through which the investor optionally selects further search criteria for the sector allocation search; Fig. 16 shows an HTML page of search results for the sector allocation search;
Fig. 17 shows an HTML page of securities in one ofthe funds of Fig. 16, in which the sector of each security is identified;
Fig. 18 shows a breakdown by sector for one ofthe funds of Fig. 16;
Fig. 19 is a flow chart showing the operation ofthe second preferred embodiment if the search strategy selected by the investor is an asset allocation search;
Fig. 20 shows an HTML page in which the investor selects a percentage for each type of asset to be included in the funds;
Fig. 21 shows an HTML page of search results for the asset allocation search; and
Fig. 22 shows an HTML page of a breakdown by type of asset for one ofthe funds of Fig. 21.
Detailed Description ofthe Preferred Embodiments
Preferred embodiments ofthe invention will now be set forth in detail with reference to the drawings, in which like reference numerals identify like components throughout. The preferred embodiments both operate over the Internet and employ World Wide Web protocols; however, any other suitable communication infrastructure and protocols can be used instead. Also, when specific hardware and software are named, it should be understood that equivalents can be substituted.
Fig. 1 is a block diagram showing an overview ofthe first preferred embodiment. An investor uses a microcomputer 102 or other device capable of running a World Wide Web browser; any currently available IBM-compatible personal computer or Macintosh is appropriate. The microcomputer 102 should be able to access the Internet 104 through appropriate hardware (a modem, cable modem, etc.) and software (a TCP/IP stack), and the investor should have an account with an Internet service provider to do so. The investor's microcomputer connects over the Internet 104 to a server computer 106. The server computer 106 should have a full-time connection to the Internet 104 via a Tl, T3 or OC3 line or the like. The server computer 106 should also have sufficient processing power and hard-disk space to run World Wide Web server software 108 with scripting (e.g., CGI) ability and an SQL database server 110 for managing the database of mutual funds.
The server computer 106 can be a single physical computer, but it is preferable to provide a network of microcomputers performing SQL processing in parallel. In case one ofthe microcomputers fails, it can be swapped out. Techniques for implementing such a network of microcomputers are known in the art.
The server computer 106 should also be able to connect, not necessarily full- time, with an external data source or sources 112 to update the database of mutual funds. The update process will be described in detail below. As an alternative, the server computer 106 may have a suitable drive (e.g., a tape drive 114) for receiving the updated information from the external data source or sources on a tape 116 or other medium.
Fig. 2 is a flow chart showing an overview ofthe operation ofthe system of Fig. 1. The investor accesses the server computer 106 in step 202 from the microcomputer 102 by entering an appropriate URL into the Web browser running on the microcomputer 102 and then logging in. In step 204, the server computer 106 sends the microcomputer 102 a page listing the investor's previously selected favorites in one column and the investor's previously selected dislikes in another column. If the investor has just registered with the service, both columns will be blank, as there will be no previously selected favorites or dislikes. Either way, the investor can add and delete favorites and dislikes in step 206 in a variety of ways that will be explained below. Once the investor is satisfied with the list of favorites and dislikes, the investor clicks on a search button in step 208. The Web server software 108 fonns a query in step 210 through CGI and passes the query to the SQL database server software 110, which searches the database in step 212 for mutual funds having as many ofthe favorites and as few ofthe dislikes as possible. The database server software 110 sends a list of hits, ranked by the holding of favorites and dislikes in each mutual fund, to the Web server software 108, which uses CGI to format the list as a Web page in step 214 and passes the Web page to the microcomputer 102 for display to the investor in step 216. Each mutual fund in the list is linked to a detailed description of that fund; the investor can select any fund on the list in step 218 and see the details on the fund in step 220.
Fig. 3 shows a page 300 of likes and dislikes sent in step 204. The left column 302 lists the favorites, while the right column 304 lists the dislikes. A security can be added to either list by clicking on a link 306 or 308. A listed security 310 or 312 can be removed by clicking on its corresponding link 314 or 316. Either column can be cleared by clicking on a link 318 or 320. A list ofthe top (most often selected by investors) 25 favorites or dislikes can be viewed by clicking on a link 322 or 324. One ofthe investor's selected favorites that appears on either top-25 list is indicated by an icon 326, which in this example is a frowning-face icon indicating that Disney, one ofthe investor's favorites, is on the list of top 25 dislikes. Securities can also be selected from a sector list by clicking on a link 328 or from a list of special interest groups (e.g., tobacco companies) by clicking on a link 330. Once the list of securities is in final form, the investor can search by clicking on the search button 332 or the advanced search link 334. The links and other features on the page 300 can be implemented through CGI or another standard technique, as those skilled in the art of interactive HTML will readily appreciate.
Clicking on the link 334 for advanced search options returns a page like the page 300 of Fig. 3, except with the additional options collectively designated as 400 in Fig. 4. In each category 402, the investor selects one option by clicking on a radio button 404. Of course, if the nature ofthe options warrants, the radio buttons can be replaced by check boxes, pull-down menus or any other interface feature.
Clicking on the "Add Security to Links" link 306 allows the investor to add securities in a manner which will now be described. The "Add Security to Dislikes" link 308 functions in the same way and will therefore not be described separately. Clicking on the link 306 brings up a "Find Companies" page 500 shown in Fig. 5. The investor can enter a company ticker symbol into a first text box 502 or do a word search by entering a word found in the company name into a second text box 504. The "Find Company" button 506, the "Clear my input" button 508 and the "Go back" link 510 are self-explanatory. Alternatively, the investor can find companies by the type of business by clicking on the "Select Securities from Sector List of Favorites" link 512, which calls up a page 600, shown in Fig. 6, having links 602 to lists of companies grouped by sector. Yet another option is to click on the "Special Interest Groups" link 330 on the page 300. That link calls up a page 700, shown in Fig. 7, having links 702 to lists of companies grouped by social concerns.
Once the list of favorites and dislikes has been compiled by any ofthe techniques described above, the investor hits the search button 332. Once the server computer 106 completes the search, it returns a list of hits formatted as a page such as the page 800 partially shown in Fig. 8. The remainder ofthe page simply includes a continuation ofthe list and has therefore been omitted for brevity. The list is sorted by the number of favorites held by each mutual fund. The mutual funds are listed in the right column 802. Next to the name of each mutual fund in the right column 802 are four left columns: a column 804 showing the number of favorites held by that mutual fund out ofthe eleven favorites selected, a column 806 showing the favorites as a percent ofthe fund's total net assets (TNA), a column 808 showing the number of dislikes out ofthe one dislike selected, and a column 810 showing the minimum investment. Of course, other sort or display options can be provided, as those skilled in the art of coding Web search engines will readily appreciate. Also, throughout the present disclosure, whenever a stock, a group of stocks or a sector is shown as a percentage of a fund's holdings, that percentage can be calculated from either the fund's total holdings or the fund's stock holdings only, based on such considerations as the data feed from the external data source or sources 112.
The name of each mutual fund in the right column 802 is linked to a page 900, shown as split between Figs. 9A and 9B, of information on the fund. The upper part 902 ofthe page 900 shows the top 25 securities held by the fund, along with financial information on each. The lower part 904 ofthe page 900 shows favorites and dislikes falling outside the top 25 securities, along with financial information on each. In both parts 902 and 904, the favorites and dislikes are identified by icons 906. The techniques described above can be implemented in any of several forms of dynamic HTML, such as CGI. The general concept of using CGI scripts to implement searches on the Web is well Icnown in the art and will therefore not be described in detail here. The page 300 shown in Fig. 3 includes the following HTML code associated with the operation ofthe search button 332: <FORM METHOD=POST
ACTION=httρ ://www.mutualdiscovery . com/cgi-bin/fmd. cgi> <INPUT TYPE=HIDDEN Name-foreign VALUE-"9"> <INPUT TYPE=HIDDEN Name=matchtype VALUE="Most"> <INPUT TYPE=HIDDEN Name=date VALUE=3/31/98> <INPUT TYPE=HIDDEN Name=familysize VALUE=D> <INPUT TYPE=HIDDEN Name=totalassets VALUE=A> <INPUT TYPE=HIDDEN Name=fundfamily VALUE=0> <INPUT TYPE=HIDDEN Name=fundtype VALUE=10>
Please remember that an actual search for a Fund4YOU.com&#153; may take a minute. After all, we are searching thousands of funds. <INPUT TYPE=HIDDEN Name=step VALUE=140> <INPUT TYPE=HIDDEN Name=likecount VALUE=11> <INPUT TYPE=HIDDEN Name=dislikecount VALUE=1> <INPUT TYPE=SUBMιT VALUE="Ok Find my Fund! ">
Once the search button 332 is clicked, the inputs indicated are passed to a CGI script which generates an SQL statement to perform the search. The following is one example of such an SQL statement: select header.institutionnumber, header.institutionname, header.institutiontype, header, foreignmstitution, sum(holdings.currentholdings * security .price)/header.commonassets, count(*), header.totalfamilyassets, header, commonassets, header.lipperfundfamilycode, header .investobj ectivecode, header.lipperminimuminvestment, dislikes= (
SELECT COUNT(securitydisUkes.cursipnumber) from securitydislikes, holdings where securitydislikes.cursipnumber = holdings.cursipnumber and header.institutionnumber=holdings.institutionnumber and security dislikes.clientid=%.0f and holdings.currentholdings>0
) from header, holdings, security where holdings.cursipnumber in ( select cursipnumber from
securitylikes where clientid=%.0f
) and header.instirationnumber=holdings.institutionnumber and holdings.cursipnumber=security.cursipnumber and header.currentreportdate>='%s' and header.commonassets o0 and holdings.currentholdings>0 group by header.institutionnumber, header.institutionname, header.commonassets, header.institutiontype, header, foreigninstitution, header.totalfamilyassets, header.lipperfundfamilycode, header.investobj ectivecode, header.lipperminimuminvestment order by
6 desc, 5 desc
The database stored in the SQL database server 110 is updated periodically, e.g., weekly or daily, in a manner which will now be explained with reference to Fig.
10. The database is copied in step 1002, so that there are first and second copies. The first copy is kept available for searches in step 1004, while the second copy is updated with information from the external data source or sources 112 and then indexed in step 1006, thus creating an updated database. The first copy is overwritten or otherwise replaced with the updated database in step 1008. Thus, even though updating the database takes around 26 hours, downtime for database updates is kept to a minimum, e.g., twenty minutes per week. The database is preferably indexed as part of the updating process to speed up searches. The following is an example of an SQL statement for indexing the database.
CREATE INDEX "bbindicators_bbindicator" ON
"dbo"."bbindicators"("bbmdicator")
GO CREATE INDEX "bbindicators_cursiρanddate" ON
"dbo"."bbindicators"("cursipnumber", "date")
GO
CREATE INDEX "bbindicators_cursiρdate" ON
"dbo"."bbindicators"("cursipnumber", "date") GO
CREATE INDEX "bbindicators_cursipnumber" ON
"dbo"."bbindicators"("cursipnumber")
GO
CREATE INDEX "bbindicators_date" ON "dbo"."bbindicators"("date") GO
GRANT REFERENCES , SELECT . INSERT , DELETE , UPDATE ON
"bbindicators" TO "funds"
GO
/****** Object: Table dbo.dislike_reasoning Script Date: 4/21/99 11 :30:43 AM
CREATE TABLE "dbo"."dislike_reasoning" ( "clientid" "int" NOT NULL , "date" "datetime" NOT NULL ,
"curs'ip" char (9) OT NULL , "reason" "int" NOT NULL
) GO CREATE INDEX "dislike_reasoning_clientid" ON "dbo"."dislike_reasoning"("clientid") GO
CREATE INDEX "dislike_reasoning_cursiρ" ON "dbo"."dislike_reasoning"("cursip") GO
CREATE INDEX "dislike_reasoning_date" ON "dbo"."dislike_reasoning"("date") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON "dislike_reasoning" TO "funds" GO
/****** object: Table dbo.family Script Date: 4/21/99 11:30:43 AM ******/ CREATE TABLE "dbo'V'family" (
"familycode" char (8) NOT NULL , "familyname" char (60) NOT NULL , "performance 13 week" "money" NULL ,
"performanceytd" "money" NULL , "performancelyear" "money" NULL , "performance3year" "money" NULL , "performance5year" "money" NULL , "performance lOyear" "money" NULL ,
"numberfunds" "money" NULL
) GO '
CREATE INDEX "family_familycode" ON "dbo"."family"("familycode") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON "family" TO "funds" GO /****** object: Table dbo.family_website Script Date: 4/21/99 11:30:43 AM
CREATE TABLE "dbo".,,family_website" ( "familycode" char (6) NOT NULL ,
"familyname" char (60) NOT NULL , "website" char (200) NOT NULL
) GO GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON "family_website" TO "funds" GO
/****** Object: Table dbo.Header Script Date: 4/21/99 11:30:44 AM ******/ CREATE TABLE "dbo'V'Header" ( "institutionnumber" char (9) NOT NULL ,
"institutionname" char (59) NOT NULL , "managementnumber" char (9) NULL , "institutiontype" char (2) NULL , "foreigninstitution" char (2) NULL , "commonassets" "money" NULL ,
"currentreportdate" "datetime" NULL ,
"previousreportdate" "datetime" NULL , "performance 13 eek" "money" NULL , "performance 1 year" "money" NULL , "performance3year" "money" NULL , "performance5year" "money" NULL , "performance lOyear" "money" NULL , "permanentinumber" char (9) NULL , "lipperfundfamilycode" char (10) NULL , "lipperfundname" char (24) NULL , "lippertickersymbol" char (5) NULL , "lipperlongfimdname" char (110) NULL , "lippeφortfoliomanager" char (30) NULL , "lippeφortfoliomanagertenurel" char (4) NULL , "lippeφortfoliomanagertenure2" char (4) NULL , "ιippeφortfoliornanagertenure3" char (4) NULL , "lipperinvestmentpolicyl" char (160) NULL , "ιipperinvestmentpolicy2" char (160) NULL , "lipperinvestmentpolicy3" char (160) NULL , "ιipperinvestmentpolicy4" char (160) NULL , "Hpperinvestmentpolicy5" char (160) NULL , "lipperminimuminvestment" "money" NULL , "lipper800phonenumber" char (12) NULL , "lippermaxsalescharge" "money" NULL , "lipperl2blsalescharge" "money" NULL , "lippersectornamel" char (50) NULL ,
"lippersectorname2" char (50) NULL , "lippersectorname3" char (50) NULL , "lippersectorname4" char (50) NULL , "lippersectorname5" char (50) NULL , "lippersectoφercenttnal" "float" NULL , "lippersectθφercenttna2" "float" NULL , "lippersectθφercenttna3" "float" NULL , "lippersectθφercenttna4" "float" NULL , "lippersectoφercenttna5" "float" NULL , "lipperaacash" "float" NULL , "lipperaaequities" "float" NULL , "lipperaaconvertiblesecurities" "float" NULL , "lipper'aafixedincomesecurities" "float" NULL , "lipperaaother" "float" NULL , "lipperworst3monthρerformance" "float" NULL , "lipperdateworst3month" "datetime" NULL , "lipperyield" "float" NULL , "lipperyielddate" "datetime" NULL , "lipperalpha" "float" NULL , "lipperbeta" "float" NULL , "lippersectorvaluationdate" "datetime" NULL , "lipperaavaluationdate" "datetime" NULL , "totalfamilyassets" "money" NULL , "lipperfeefactor" "float" NULL , "lippeφrospectus" "int" NULL ,
"investobjectivecole" char (2) NULL , "country" char (30) NULL , "lippernavprice" "float" NULL , "lippernavpricechange" "float" NULL , "navpricehigh52week" "float" NULL ,
"navpricelow52week" "float" NULL , "performanceytd" "money" NULL , "performance4week" "money" NULL , "portfolioturnoverratio" "float" NULL , "numberofholdings" "float" NULL ,
"averagesi" "float" NULL , CONSTRAINT "PK_Header_l_l 1 " PRIMARY KEY CLUSTERED
(
"institutionnumber" )
) GO
CREATE INDEX "header_currentreportdate" ON
"dbo"."Header"("currentreportdate") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON
"Header" TO "funds"
GO
/****** object: Table dbo.holdings Script Date: 4/21/99 11 :30:44 AM ******/ CREATE TABLE "dbo"."holdings" (
"cursipnumber" char (9) NOT NULL ,
"instϊtutionnumber" char (9) NOT NULL , "currentholdings" "int" NOT NULL , "previousholdings" "int" NULL , "priceatcalculation" "money" NULL , "rank" "int" NULL
) GO
CREATE INDEX "holdings_cursipnumber" ON "dbo"."holdings"("cursipnumber")
GO CREATE INDEX "holdings_institutionandcursip" ON
"dbo"."holdings"("institutionnumber", "cursipnumber")
GO
CREATE INDEX "holdings nstitutionnumber" ON
" dbo ". "holdings "(" institutionnumber") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON
"holdings" TO "funds"
GO
/****** object: Table dbo.like racking Script Date: 4/21/99 11 :30:44 AM ******/
CREATE TABLE "dbo"."like_tracldng" (
"clientid" "int" NOT NULL ,
"cursip" char (9) NOT NULL ,
"date" "datetime" NOT NULL ) GO CREATE INDEX "like_tracking_clientid" ON "dbo"."like_tracking"("clientid") GO
CREATE INDEX "like_tracking_cursip" ON "dbo"."like_tracking"("cursip") GO
CREATE INDEX "hke_tracking_date" ON "dbo"."like_tracking"("date") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON "like racking" TO "funds" GO
/****** object: Table dbo.security Script Date: 4/21/99 11:30:45 AM ******/ CREATE TABLE "dbo"."security" (
"cursipnumber" char (9) NOT NULL , "securityname" char (61) NOT NULL , "stockexchange" char (3) NULL , "industrycode" char (5) NULL , "tickersymbol" char (7) NOT NULL ,
"price" "money" NULL , "topdislike" "datetime" NULL , "shares" "int" NULL , "sp_foreign" "float" NULL , "sp commonshares" "float" NULL ,
"sp_price" "float" NULL , "sp_earnings" "float" NULL , "sp_estimatedearnings" "float" NULL , "sp ongtermdebt" "float" NULL , "sp_500" "float" NULL ,
"sp_peratio" "float" NULL , "sp_peratioesfimated" "float" NULL , "sp_exchange" char (10) NULL , "sp rating" char (8) NULL ) GO
CREATE INDEX "security_cursipnumber" ON "dbo"."security"("cursipnumber") GO
CREATE INDEX "security icker" ON "dbo"."security"("tickersymbol") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON
"security" TO "funds"
GO
/****** object: Table dbo.security_counters Script Date: 4/21/99 11:30:45 AM
CREATE TABLE "dbo"."security_counters" (
"cursipnumber" char (9) NULL ,
"fastcheck_searches_running" "int" NULL ,
"fastcheck_searches_resetable" "int" NULL , "fastcheck_searches_ytd" "int" NULL ,
"fund4you_favorites_running" "int" NULL ,
"fund4you_favorites_resetable" "int" NULL ,
"fund4you_favorites_ytd" "int" NULL , πftmd4you_disliked_running" "int" NULL , "fund4you_disliked_resetable" "int" NULL ,
"fund4you_disliked_ytd" "int" NULL ,
"fundlocator_searches_running" "int" NULL , "fundlocator_searches_ytd" "int" NULL , "fundlocator_searches_resetable" "int" NULL , πbigchart_searches_running" "int" NULL , "bigchart_searches_ytd" "int" NULL ,
"bigchart_searches_resetable" "int" NULL
) GO
CREATE INDEX "security_counters_cursip" ON "dbo" ." security_counters" ("cursipnumber")
GO
CREATE INDEX "security_counters_f4_d_m" ON
" dbo" . " security_counters"("fund4you_disliked_resetable")
GO CREATE INDEX "security_counters_f4_d_r" ON
" dbo" . "security_counters" ("fund4you_disliked_running")
GO
CREATE INDEX "security_counters_f4_d_ytd" ON
"dbo"."security_counters"("fund4you_disliked_ytd") GO
CREATE INDEX "security_counters_f4_f_m" ON
" dbo" . " security_counters" ("fund4you_favorites_resetable")
GO
CREATE INDEX "security_counters_f4_f_r" ON "dbo". "security_counters"("fund4you_favorites_running")
GO '
CREATE INDEX "security_counters_f4_f_ytd" ON " dbo " . " s ecurity_counter s " (" fund4you_ avorites_ytd") GO CREATE INDEX "security_counters_fc_s_m" ON
"dbo"."security_counters"("fastcheck_searches_resetable") GO
CREATE INDEX "security_counters_fc_s_r" ON "dbo" . "security_counters" (" fastcheck_searches_running") GO
CREATE INDEX "security_counters_fc_s_ytd" ON "dbo"."security_counters"("fastcheck_searches_ytd") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON "security_counters" TO "funds" GO /****** Object: Table dbo. securitydislikes Script Date: 4/21/99 11 :30:45 AM
CREATE TABLE "dbo". "securitydislikes" ( "clientid" "int" NULL ,
"cursipnumber" char (9) NULL
)
GO
CREATE INDEX "securitydislikes_clientid" ON "dbo"."securitydislikes"("clientid") GO
CREATE INDEX "securitydislikes_cursiρnumber" ON "dbo"."securitydislikes"("cursipnumber") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON "securitydislikes" TO "funds" GO
/****** object: Table dbo.securitylikes Script Date: 4/21/99 11 :30:45 AM ******/ CREATE TABLE "dbo'ϊ'securitylikes" ( "clientid" "int" NULL , "cursipnumber" char (9) NULL
)
GO
CREATE INDEX "securitylikes_clientid" ON "dbo"."securitylikes"("clientid")
GO CREATE INDEX "securitylikes_cursipnumber" ON
"dbo"."securitylikes"("cursipnumber")
GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON
"securityhkes" TO "funds" GO
/****** object: Table dbo.specialinterests Script Date: 4/21/99 11:30:46 AM
CREATE TABLE "dbo"."specialinterests" ( "tickersymbol" char (7) NOT NULL , "womenrating" "float" NULL
) GO CREATE INDEX "specialinterests ickersymbol" ON "dbo"."specialinterests"("tickersymbol") GO
GRANT REFERENCES , SELECT , INSERT , DELETE , UPDATE ON "specialinterests" TO "funds" GO
/****** Object: Stored Procedure dbo.sp_createindexes Script Date: 4/21/99 11:30:46 AM ******/ create procedure sp_createindexes as
CREATE INDEX "client oginandpassword" ON "dbo"."client"("loginid", "password")
CREATE INDEX "dislike_reasoning_clientid" ON "dbo". "dislike_reasoning"(" clientid") CREATE INDEX "dislike_reasoning_cursip" ON "dbo"."dislike_reasoning"("cursip")
CREATE INDEX "dislike_reasoning_date" ON "dbo"."dislike_reasoning"("date")
CREATE INDEX "ereports_favorites_clientid" ON " dbo" ." ereports_favorites" (" clientid") CREATE INDEX "header_currentreρortdate" ON "dbo"."header"("currentreportdate")
CREATE INDEX "holdings_cursiρnumber" ON "dbo"."holdings"("cursiρnumber")
CREATE INDEX "holdings_institutionandcursip" ON "dbo"."holdings"("institutionnumber", "cursipnumber") CREATE INDEX "holdings_institutionnumber" ON "dbo"."holdings"("institutionnumber")
CREATE INDEX 'Tike_tracking_clientid" ON "dbo"."like_tracking"("clientid")
CREATE INDEX "like_tracking_cursip" ON "dbo"."like_tracking"("cursip")
CREATE INDEX "like_tracking_date" ON "dbo"."like_tracking"("date") CREATE INDEX "security_cursipnumber" ON "dbo"."security"("cursiρnumber") CREATE INDEX "security_counters_cursip" ON
" dbo "." security_counters" (" cursipnumber")
CREATE INDEX "security_counters_f4_d_m" ON
"dbo"."security_coιmters',("fund4you_disliked_resetable") CREATE INDEX "security_counters_f4_d_r" ON
"dbo"."security_counters"("fimd4you_disliked_running")
CREATE INDEX "security_counters_f4_d_ytd" ON
" dbo" . " security_counters" (" fund4you_disliked_ytd")
CREATE INDEX "security_counters_f4_f_m" ON "dbo" ."security_counters"("fund4you_favorites_resetable")
CREATE INDEX "security_counters__f4_f _r" ON
" dbo " . " security_counters" (" fund4you_favorites_running")
CREATE INDEX "security_counters_f4_f_ytd" ON
"dbo"."security_counters"("fund4you_favorites_ytd") CREATE INDEX "security_counters_fc_s_m" ON
" dbo " . " security_counters" (" fastcheck_searches_resetable")
CREATE INDEX "security_counters_fc_s_r" ON
"dbo"."security_counters"("fastcheck_searches_running")
CREATE INDEX "security_counters_fc_s_ytd" ON "dbo"."security_counters"("fastcheck_searches_ytd")
CREATE INDEX "fund_counters_inumber" ON
"dbo"."fund_counters"("institutionnumber")
CREATE INDEX "securitydislikes_clientid" ON "dbo"."securitydislikes"("clientid")
CREATE INDEX "securitydislikes_cursipnumber" ON "dbo"."securitydislikes"("cursipnumber")
CREATE INDEX "securitylikes_clientid" ON "dbo"."securitylikes"("clientid") CREATE INDEX "securitylikes_cursiρnumber" ON " dbo "." securitylikes" (" cursipnumber") CREATE INDEX "bbindicators_bbindicator" ON "dbo"."bbindicators"("bbindicator")
CREATE INDEX "bbindicators_cursipdate" ON "dbo"."bbindicators"("cursipnumber", "date") CREATE INDEX "bbindicators_cursipnumber" ON "dbo"."bbindicators"("cursipnumber") CREATE INDEX "bbindicators_date" ON "dbo"."bbindicators"("date") GO
GRANT EXECUTE ON "dbo"."sp_createindexes" TO "funds" GO
/****** Object: Stored Procedure dbo.sp_fmdmost Script Date: 4/21/99 11 :30:46 AM ******/ create procedure sp_fιndmost @p_clientid Integer, @p_days integer as select header.institutionnumber, header.institutionname, header.institutiontype, header.foreigninstitution, sum(holdings.currentholdings * security .price)/header. commonassets,count(*), header.totalfamilyassets, header.commonassets, header.lipperfundfamilycode from header, holdings, security where holdings.cursipnumber in (select cursipnumber from securitylikes where clientid=@p_clientid) and ((
SELECT
COUNT(security dislikes . cursipnumber) from securitydislikes, holdings where securitydislikes.cursipnumber = holdings.cursipnumber and header.institutionnumber=holdings.institutionnumber and securitydislikes.clientid=@p_clientid and holdings. currentholdings>0) = 0) and header.institutionnumber=holdings.institutionnumber and holdings. cursipnumber=security.cursipnumber and datediff(day,holdings.currentreportdate,getdate())<@p_days and header.commonassets <>0 and holdings.currentholdings>0 group by header.institutionnumber, header.institutionname, header.commonassetSjheader.institutiontype, header.foreigninstitution,header.totalfamilyassets,header.lipperfundfamilycode order by 6 desc, 5 desc
GO '
GRANT EXECUTE ON "dbo"."sp_fmdmost" TO "funds" GO
/****** Object: Stored Procedure dbo.sp_fmdnav Script Date: 4/21/99 11 :30:46 AM ******/ create procedure sp_findnav @p_clientid Integer, @p_days integer as select header.institutionnumber, header, institutionname, header.institutiontype, header, foreigninstitution, sum(holdings.currentholdings * security .price)/header. commonassets,count(*), header, totalfamilyassets, header.commonassets, header.lipperfundfamilycode from header, holdings, security where holdings.cursipnumber in (select cursipnumber from securitylikes where clientid=@p_clientid) and ((
SELECT COUNT(securitydislikes.cursipnumber)
from securitydislikes, holdings where securitydislikes.cursipnumber = holdings.cursipnumber and header.institutionnumber=holdings.institutionnumber and securitydislikes.clientid=@p_clientid and holdings.currentholdings>0) = 0) and header.institutionnumber=holdings.institutionnumber aιιd holdings.cursipnumber=security.cursipnumber and datediff(day,holdings.currentreportdate,getdate())<@p_days and header.commonassets <>0 and holdings.currentholdings>0 group by header.institutionnumber, header.institutionname, header.commonassets,header.institutiontype, header.foreigninstitution,header.totalfamilyassets,header.lipperfundfamilycode order by
5 desc, 6 desc GO GRANT EXECUTE ON "dbo"."sp_fmdnav" TO "funds" GO
/****** Object: Stored Procedure dbo. sp_setcommonassets Script Date: 4/21/99 11:30:46 AM ******/ create procedure sp_setcommonassets as
update header set commonassets=(select sum(holdings.currentholdings * holdings .priceatcalculation) from holdings where holdings.institutionnumber=header.institutionnumber) update header set commonassets=NULL where commonassets=0 GO
GRANT EXECUTE ON "dbo"."sp_setcommonassets" TO "funds" GO
A second preferred embodiment will now be disclosed. The second preferred embodiment is based on the first preferred embodiment and can be implemented on the same hardware as the first preferred embodiment, namely, that of Fig. 1. The software ofthe second preferred embodiment can be adapted with only minor modifications from that ofthe first preferred embodiment.
The second preferred embodiment searches mutual funds by the percentage of assets in each economic sector (e.g., automotive, financial services) or by the percentage of assets in each type of assets (e.g., equities, fixed income). Since that information is readily available through the external data sources 112, it can easily be incoφorated into the database and indexed in manners essentially similar to that described.
The operation ofthe second preferred embodiment starts with the process shown in the flow chart of Fig. 11. In step 1102, as in step 202 of Fig. 2, the investor accesses the server computer 106 and logs in. In response, in step 1104, the server computer 106 sends a page of search options.
The'page of search options sent in step 1104 is shown in Fig. 12 as 1200. The page 1200 is a static HTML page with static text 1202 having three links 1204, 1206, 1208 for selecting search options. Each link 1204, 1206, 1208 is bounded by anchor tags (<a href=...> and </a>) and leads to a CGI script for preparing a page in accordance with selections, if any, already made by that investor. The link 1204 allows the investor to select funds by favorite stocks and essentially takes the investor to the first preferred embodiment. The second and third links 1206 and 1208 allow the investor to select funds by sector allocation and asset allocation, respectively. Each link 1204, 1206, 1208 includes explanatory text 1210. In Fig. 11 , step 1106, the investor makes a selection of a search strategy by clicking on one ofthe links 1204, 1206, 1208. In step 1108, the server computer 106 determines the investor's selection by identifying the link on which the investor has clicked. If the investor has clicked on the link 1204, then in step 1110, the investor is taken to step 204 of Fig. 2, where in effect the investor is taken to the first preferred embodiment. If the investor has clicked on the link 1206, then in step 1112, the investor is taken to step 1302 of Fig. 13 for sector allocation. If the investor has clicked on the link 1208, then in step 1114, the investor is taken to step 1902 of Fig. 19 for asset allocation.
If th'e investor clicks on the link 1206 for sector allocation, then, as shown in
Fig. 11, step 1110, the process goes to Fig. 13, step 1302. In step 1304, the server 106 sends the investor's microcomputer 102 a page of sectors and percentages, shown in
Fig. 14 as 1400. The page 1400 has a sector column 1402 with multiple drop-down menus 1404 for selecting sectors. As shown in the example of Fig. 14, the investor has already selected the automobile and financial services sectors. Beside the sector column 1402 is a percentage column 1406 with multiple drop-down menus 1408, one for each drop-down menu 1404, for selecting percentages. In the example of Fig. 14, the investor has already selected 20% for the automobile sector and 5% for the financial services sector. That means that the investor wants to find funds with 20% of their values invested in the automobile sector and 5% of their value invested in the financial services sector.
The example of Fig. 14 allows the investor to select up to ten sectors, although the investor does not have to select all ten. A different number of choices could be provided by varying the number of drop-down menus 1404, although, again, the investor would not have to make all possible selections. The percentages selected in the percentage column 1406 must total no more than 100%, although they may have any lower total.
The drop-down menus 1404, 1408 are implemented in any suitable Web programming technique. For example, if the search is to be implemented through a
CGI script, the code to implement a drop-down menu 1404 can look like this:
<SELECT NAME="sector0" SIZE=1>
<OPTION Value=-1 selected>Select One
<OPTION Value=l>Aerospace <OPTION Value=2>Agriculture
OPTION Value=3>Airlines
OPTION Value=4>Automobile
OPTION Value=5>Banks & Savings Institutions
OPTION Value=6>Beverages OPTION Value=7>Chemicals
OPTION Value=8>Computer Hrd./Software & Services
OPTION Value=9>Construction & Engineering OPTION Value=10>Consumer Services OPTION Value=l l>Electrical & Electronics OPTION Value=12>Energy & Fuels OPTION Value=13>Entertainment
OPTION Value=14>Fiήancial Services
OPTION Value=15>Food & Restaurants
OPTION Value=16>Healthcare
OPTION Value=17>Housewares & Household Items OPTION Value=l 8>Industrial Manufacture
OPTION Value=19>Insurance
<OPTION Value=20>Investment Services
OPTION Value=21 >Leisure Travel & Lodging
OPTION Value=22>Machinery & Equipment OPTION Value=23>Media
OPTION Value=24>Metals & Mining
OPTION Value=25>Packaging
OPTION Value=26>Paρer & Forest Products
OPTION Value=27>Publishing & Printing OPTION Value=28>Real Estate
<OPTION Value=29>Retail & Consumer Goods
<OPTION Value=30>Semiconductors
<OPTION Value=3 ^Telecommunications
OPTION Nalue=32>Textiles & Apparel OPTION Nalue=33>Tobacco
<OPTIOΝ Value=34>Transportation
<OPTION Value=35>Utilities: Water-Electric-Gas
OPTION Value=36> Waste & Environmental Mgmt
</SELECT>
For example, if the investor selects "Waste & Environmental Mgmt," the variable sectorO is assigned a value 36, and that value is passed to the CGI script. The dropdown menus 1408 can be implemented in the same manner, with percentages in increments of 5%. Of course, very few if any mutual funds will have exactly a predetermined percentage of their value in any given sector, and very few if any investors will want to do a search that narrow. Several techniques can be used to search for percentages. One such technique considers all percentages within a given range of 20% to be the same as 20% for search pvuposes. Another takes a fuzzy-logic approach and assumes that 19% is more like 20% than 18% is, while values below 10% are not like 20% at all. Still other techniques include allowing the investor to select a maximum or minimum percentage or both maximum and minimum percentages.
The page 1400 has a "Find My Fund" button 1410 to initiate the search and a "Clear My Selections" button 1412 to clear all selections. Advanced search options can be accessed through the "Advanced" button 1414. Clicking on the "Advanced" button 1414 pulls up an advanced search page partially shown in Fig. 15 as 1500. The advanced search page 1500 includes a drop-down menu 1502 to select funds by geography, a drop-down menu 1504 to select funds whose report dates are on or after a certain date (as funds typically report their holdings to the SEC twice or four times per year), a drop-down menu 1506 to select fund types, a drop-down menu 1508 to select fund family size, a drop-down menu 1510 to select funds with stock assets, a drop-down menu 1512 to select the largest allowable minimum investment, and a drop-down menu 1514 to select a smallest allowable one-year performance. The remainder ofthe page 1500 includes the same columns 1402 and 1404 and button 1410 to start the search as included in the page 1400 of Fig. 14; for the sake of brevity, those portions are not shown again.
As noted above, mutual funds typically report their holdings to the SEC either twice or four times per year. Mutual funds modify their positions, add new positions, and eliminate existing positions. This buying and selling (turnover) varies from fund to fund based on the rules and requirements and the style ofthe manager. However, most funds have over 85 holdings. The largest holdings or the top-25 holdings in each fund average about 45% ofthe fund's Total Net Assets (TNA) and do not change dramatically from one reporting period to the next. When a major position in a fund is modified, it usually represents only a portion of that holding. It is rare to find a position in a fund completely eliminated from the top-25 holdings. On the page 1400 or 1500, the investor clicks on the "Find my Fund" button
1410 in Fig. 13, step 1308. In response, in step 1310, the Web server software 108 formulates a search query, and in step 1312, the database server software 110 does a search. Steps 1310 and 1312 are performed in essentially the same manner as steps 210 and 212 of Fig. 2, with the appropriate modifications to search by sector allocation.
The Web server software formats the search results in step 1314 and sends them to the investor's microcomputer, where the investor views them in step 1316. The investor sees a page like the page 1600 shown in Fig. 6. The page 1600 includes a column 1602 showing the ticker symbol or symbols of each fund located, a column 1604 showing the fund name, a column 1606 showing the minimum investment, a column 1608 showing the last report date, a column 1610 showing the one-year performance and a column 1612 showing the match rating. The server 106 can show all matches or only a certain number of matches per page; in the latter case, the number of matches can be fixed or can be selectable by the investor.
In όolu n 1604, each fund name is shown as a link 1614 to information on that fund. Clicking on the link 1614 brings up a page of information on that fund, such as the page 1700 of Fig. 17. The page 1700 includes a column 1702 showing the rank of each security held in the fund, a column 1704 showing the name ofthe security, a column 1706 showing the number of shares ofthe security held by the fund, a column 1708 showing the percent of total net assets ofthe fund represented by the security, a column 1710 showing recent activity, a column 1712 showing the number of shares bought or sold (in parentheses) in the recent activity, a column 1714 showing the percentage held of shares outstanding, and a column 1716 showing the sector. When the sector matches one ofthe sectors selected in the search, a boldface sector indication 1718 is shown.
In column 1612, each match rating is shown as a link 1616 to a sector breakdown for that fund. Clicking on the link brings up a page showing the sector breakdown, such as the page 1800 of Fig. 18. The page 1800 includes a column 1802 showing the name of each sector held by the fund, a column 1804 showing the percentage selected by the investor, and a column 1806 showing the percentage held by the fund. In the example of Fig. 18, the automobile sector has a desired percentage of 20%) and an actual percentage of 15.69%, while the financial services sector has a desired percentage of 5% and an actual percentage of 2.22%. To summarize, in step 1318 of Fig. 13, the Web server software 108 determines whether the investor has selected anything and if so, what. If the investor has selected a fund name, then in step 1320, the Web server shows a breakdown of that fund by security, as shown in Fig. 17. If the investor has selected a match rating, then in step 1322, the Web server shows a breakdown of that fund by sector, as shown in Fig. 18.
Ret'urning to Figs. 11 and 12, if in step 1108 it is determined that the investor has clicked on the link 1208 for asset allocation, the operation proceeds from step 1114 to Fig. 19, step 1902. In step 1904, the Web server software 108 sends a page of assets and percentages. Such a page is shown in Fig. 20 as page 2000. The page 2000 includes a drop-down menu 2002 to select a percentage of the fund to be held in equities, a drop-down menu 2004 to select a percentage in cash, a drop-down menu 2006 to select a percentage in fixed income, a drop-down menu 2008 to select a percentage in convertible securities and a drop-down menu 2010 to be held in other types of assets. The page 2000 also includes a "Find my fund" button 2012 and a "Clear my selections" button 2014. The specifics of the drop-down menus have been discussed above and will not be repeated here. Advanced search options, like those of Fig. 15, can be offered.
In step 1906, the investor uses the drop-down menus 2002-2010 on the page 2000 to select a desired percentage of each asset type. The investor may specify desired percentages of all or fewer than all of the asset types shown; the total of the selected percentages may be 100% or less. The investor clicks the "Find my fund" button 2012 in step 1908, whereupon the Web server software 108 formulates a search query in step 1910 and the database server 110 does the search in step 1912. The specifics of searching with percentages have been discussed above and will not be repeated here.
In step 1914, the Web server software 108 formats the search results, and in step 1916, the investor views them. Fig. 21 shows a typical page 2100 of results. The page 2100 includes a column 2102 showing the ticker symbol or symbols for each fund, a column 2104 showing the fund name, a column 2106 showing the last report date, a column 2108 showing the minimum investment, a column 2110 showing the one-year performance and a column 2112 showing a match rating. Each fund name in column 2104 is shown as a link 2114 to information about that fund. Each match rating in column 2112 is shown as a link 2116 to an asset breakdown for that fund.
When the investor clicks on a link 2114, the Web server software 108 generates and sends a page of securities held by the fund. Such a page looks like the page 1700 of Fig. 17, except that the column 1716 identifying the sector is omitted. When the investor clicks on a link 2116, the Web server software 108 generates and sends a page showing an asset breakdown for that fund. Such a page is shown in Fig. 22 as a page 2200. That page 2200 includes a column 2202 naming each type of asset, a column 2204 indicating the desired percentage of each asset selected by the investor and a column 2206 showing the actual percentage of each asset held by the fund. As shown in Fig. 22, the investor has selected 20% each of equities and fixed income securities, while the actual percentages are 21.09% and 7.37%.
To summarize, in step 1918 of Fig. 19, the Web server software 108 determines whether the investor has selected anything and if so, what. If the investor has selected a fund name, then in step 1920, the Web server shows a breakdown of that fund by security, as described' above. If the investor has selected an asset breakdown, then in step 1922, the Web server shows an asset breakdown of that fund, as shown in Fig. 22. In either the sector allocation search or the asset allocation search, if the investor has selected favorites and dislikes as described above for the first preferred embodiment, the search results can identify which ofthe funds hold favorites or dislikes. An option can be provided to display only those funds holding a favorite or not to show funds holding a dislike. In either the sector allocation search or the asset allocation search, the funds are sorted according to match ratings such as those shown in Fig. 21, column 2112. The match ratings indicate how close each fund comes to the desired sectors or assets and percentages selected by the investor. Such match ratings can be determined in accordance with known techniques for assigning relevance scores to database searches.
While two preferred embodiments ofthe present invention have been set forth in detail above, those skilled in the art who have reviewed the present disclosure will readily appreciate that other embodiments can be realized within the scope ofthe present invention. For example, the invention does not have to be implemented on the Internet, but instead can be implemented on an internal network or a standalone computer. Also, CGI and SQL can be replaced by other appropriate technologies. Moreover, the interface can be streamlined for compatibility with Internet-compatible mobile telephones, personal digital assistants or WAP-enabled devices. Still further, search options other than sector and asset allocation can be provided, such as geographical distribution. Therefore, the present invention should be construed as limited only by the appended claims.

Claims

We claim:'
1. A method of providing an investor with information, the method comprising:
(a) maintaining a database on a plurality of companies and a plurality of mutual funds, the database comprising information identifying which ofthe plurality of companies are held by each ofthe plurality of mutual funds and further identifying a sector to which each ofthe plurality of companies belongs;
(b) receiving from the investor a selection of desired sectors and a desired percentage of mutual fund holdings in each ofthe desired sectors; (c) searching the database in accordance with the desired sectors and the desired percentage of mutual fund holdings in each ofthe desired sectors selected by the investor to locate a subplurality of mutual funds; and
(d) displaying a list ofthe subplurality of mutual funds to the investor.
2. The method of claim 1, wherein each of steps (b) and (d) comprises communicating with the investor using a data network.
3. The method of claim 2, wherein the data network is the Internet.
4. The method of claim 1, wherein: step (c) comprises deriving a match rating for each ofthe subplurality of mutual funds; and step (d) comprises sorting the list in accordance with the match ratings derived in step (c).
5. The method of claim 1, wherein step (d) comprises providing a link from the list to detailed information on each ofthe subplurality of mutual funds.
6. The method of claim 5, wherein the detailed information comprises a list of companies held by each fund and an indication ofthe sector to which each company belongs.
7. The method of claim 5, wherein the detailed information comprises a list of sectors held by each fund and an indication of a percentage of each fund's holdings in each sector.
8. The method of claim 1, wherein step (a) comprises updating the database by: (i) receiving updated company and mutual fund information for updating the database;
(ii) copying the database to form a first copy and a second copy;
(iii) keeping the first copy available for performing step (c) while updating the second copy in accordance with the updated company and mutual fund information to form an updated database; and
(iv) replacing the first copy with the updated database to make the updated database available for performing step (c).
9. The method of claim 8, wherein, during step (a)(iv), neither the first copy nor the updated database is available for performing step (c).
10. The method of claim 8, wherein step (a)(iii) comprises indexing the updated database.
11. The method of claim 1, wherein: the database further comprises information identifying types of assets held by each of the plurality of mutual funds and a percentage of each mutual fund' s holdings in each ofthe types of assets; and the method further comprises:
(e) providing the investor with an option to search the database in accordance with the types of assets; and, if the investor selects said option: (f) receiving from the investor a selection of desired types of assets and a desired percentage of mutual fund holdings in each ofthe desired types of assets; g) searching the database in accordance with the desired types of assets and the desired percentage of mutual fund holdings in each ofthe desired types of assets to locate a further subplurality of mutual funds; and (h) displaying a list ofthe further subplurality of mutual funds to the investor.
12. The method of claim 11, further comprising:
(i) providing the investor with an additional option to search the database in accordance with favorites and dislikes from among the plurality of companies; and, if the investor selects said additional option: (j) receiving from the investor a selection ofthe favorites and dislikes;
(k) searching the database in accordance with the favorites and dislikes to locate a still further subplurality of mutual funds; and (1) displaying a list ofthe still further subplurality of mutual funds to the investor.
13. A method of providing an investor with information, the method comprising: (a) maintaining a database on a plurality of mutual funds, the database comprising information identifying types of assets held by each ofthe plurality of mutual funds and a percentage of each mutual fund's holdingsin each ofthe types of assets;
(b) receiving from the investor a selection of desired types of assets and a desired percentage of mutual fund holdings in each of the desired types of assets;
(c) searching the database in accordance with the desired types of assets and the desired percentage of mutual fund holdings in each ofthe desired types of assets to locate a subplurality of mutual funds; and
(d) displaying a list ofthe subplurality of mutual funds to the investor.
14. The method of claim 13, wherein each of steps (b) and (d) comprises communicating with the investor using a data network.
15. The method of claim 14, wherein the data network is the Internet.
16. The method of claim 13, wherein: step (c) comprises deriving a match rating for each ofthe subplurality of mutual funds; and step (d) comprises sorting the list in accordance with the match ratings derived in step (c).
17. The method of claim 13, wherein step (d) comprises providing a link from the list to detailed information on each ofthe subplurality of mutual funds.
18. The method of claim 17, wherein the detailed information comprises a breakdown of each fund by the types of assets.
19. The method of claim 13, wherein step (a) comprises updating the database by:
(i) receiving updated mutual fund information for updating the database; (ii) copying the database to form a first copy and a second copy; (iii) keeping the first copy available for performing step (c) while updating the second copy in accordance with the updated mutual fund information to form an updated database; and
(iv) replacing the first copy with the updated database to make the updated database available for performing step (c).
20. The method of claim 19, wherein, during step (a)(iv), neither the first copy nor the updated database is available for performing step (c).
21. The method of claim 19, wherein step (a)(iii) comprises indexing the updated database.
22. A system for providing an investor with information, the system comprising: a database server for maintaining a database on a plurality of companies and a plurality of mutual funds, the database comprising information identifying which of the plurality of companies are held by each ofthe plurality of mutual funds and further identifying a sector to which each of the plurality of companies belongs, and for searching the database in accordance with desired sectors and desired percentage of mutual fund holdings in each ofthe desired sectors to locate a subplurality of mutual funds; and a communication server, connected to the database server for data communication with the database server and also in communication with the investor, for receiving from the investor a selection ofthe desired sectors and a desired percentage of each ofthe desired sectors, and for displaying a list ofthe subplurality of mutual funds to the investor.
23. The system of claim 22, wherein the communication server is in communication with the investor over a data network.
24. The system of claim 23, wherein the data network is the Internet.
25. The system of claim 22, wherein: the database server derives a match rating for each ofthe subplurality of mutual funds; and the list is sorted in accordance with the match ratings derived by the database server.
26.' The system of claim 22, wherein the communication server provides a link from the list to detailed information on each ofthe subplurality of mutual funds.
27. The system of claim 26, wherein the detailed information comprises a list of companies held by each fund and an indication ofthe sector to which each company belongs.
28. The system of claim 26, wherein the detailed information comprises a list of sectors held by each fund and an indication of a percentage of each fund's holdings in each sector.
29. The system of claim 22, wherein the database server updates the database by:
(i) receiving updated company and mutual fund information for updating the database;
(ii) copying the database to form a first copy and a second copy;
(iii) keeping the first copy available for performing step (c) while updating the second copy in accordance with the updated company and mutual fund information to form an updated database; and
(iv) replacing the first copy with the updated database to make the updated database available for performing step (c).
30. The system of claim 29, wherein, during step (iv), neither the first copy nor the updated database is available for performing the searches.
31. The system of claim 29, wherein step (iii) comprises indexing the updated database.
32. The system of claim 22, wherein: the database further comprises information identifying types of assets held by each ofthe plurality of mutual funds and a percentage of each mutual fund's holdings in each ofthe types of assets; the communication server provides the investor with an option to search the database in accordance with the types of assets; and, if the investor selects said option: the communication server receives from the investor a selection of desired types of assets and a desired percentage of mutual fund holdings in each ofthe desired types of assets; the database server searches the database in accordance with the desired types of assets and the desired percentage of mutual fund holdings in each ofthe desired types of assets to locate a further subplurality of mutual funds; and the communication server displays a list ofthe further subplurality of mutual funds to the investor.
33. The system of claim 32, wherein: the communication server provides the investor with an additional option to search the database in accordance with favorites and dislikes from among the plurality of companies; and, if the investor selects said additional option: the communication server receives from the investor a selection of the favorites and dislikes; the database server searches the database in accordance with the favorites and dislikes to locate a still further subplurality of mutual funds; and the communication server displays a list ofthe still further subplurality of mutual funds to the investor.
34. A system for providing an investor with information, the system comprising: a database server for maintaining a database on a plurality of mutual funds, thedatabase comprising information identifying types of assets held by each ofthe plurality of mutual funds and a percentage of each mutual fund's holdings in each of the types of assets, and for searching the database in accordance with desired types of assets and a desired percentage of mutual fund holdings in each ofthe desired types of assets to locate a subplurality of mutual funds; and a communication server, connected to the database server for data communication with the database server and also in communication with the investor, for receiving from the investor a selection ofthe desired types of assets and the desired percentage of each ofthe desired types of assets and for displaying a list ofthe subplurality of mutual funds to the investor.
35. The system of claim 34, wherein the communication server is in communication with the investor using a data network.
36. The system of claim 35, wherein the data network is the Internet.
37. The system of claim 34, wherein: the database server derives a match rating for each ofthe subplurality of mutual funds; and the list is sorted in accordance with the match ratings derived by the database server.
38. The system of claim 37, wherein the communication server provides a link from the list to detailed information on each ofthe subplurality of mutual funds.
39. The system of claim 38, wherein the detailed information comprises a breakdown of each fund by the types of assets.
40. The system of claim 34, wherein the database server updates the database by:
(i) receiving updated company and mutual fund information for updating the database;
(ii) copying the database to form a first copy and a second copy;
(iii) keeping the first copy available for performing the searches while updating the second copy in accordance with the updated company and mutual fund information to form an updated database; and
(iv) replacing the first copy with the updated database to make the updated database available for performing the searches.
41. The system of claim 40, wherein, during step (iv), neither the first copy nor the updated database is available for performing the searches.
42. The system of claim 40, wherein step (iii) comprises indexing the updated database.
PCT/US2001/013652 2000-04-28 2001-04-30 System and method for searching database of mutual funds in accordance with investor selection of fund attributes WO2001084431A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001259207A AU2001259207A1 (en) 2000-04-28 2001-04-30 System and method for searching database of mutual funds in accordance with investor selection of fund attributes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US55973600A 2000-04-28 2000-04-28
US09/559,736 2000-04-28

Publications (1)

Publication Number Publication Date
WO2001084431A1 true WO2001084431A1 (en) 2001-11-08

Family

ID=24234798

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/013652 WO2001084431A1 (en) 2000-04-28 2001-04-30 System and method for searching database of mutual funds in accordance with investor selection of fund attributes

Country Status (2)

Country Link
AU (1) AU2001259207A1 (en)
WO (1) WO2001084431A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468078B2 (en) 2005-05-23 2013-06-18 Lisa Vioni Method of matching hedge funds and investors and apparatus therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864827A (en) * 1997-06-27 1999-01-26 Belzberg Financial Markets & News International Inc. System and method for providing an information gateway
US5978778A (en) * 1996-12-30 1999-11-02 O'shaughnessy; James P. Automated strategies for investment management
US6026381A (en) * 1996-11-05 2000-02-15 Itx Corporation Financial market classification system
US6041326A (en) * 1997-11-14 2000-03-21 International Business Machines Corporation Method and system in a computer network for an intelligent search engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026381A (en) * 1996-11-05 2000-02-15 Itx Corporation Financial market classification system
US5978778A (en) * 1996-12-30 1999-11-02 O'shaughnessy; James P. Automated strategies for investment management
US5864827A (en) * 1997-06-27 1999-01-26 Belzberg Financial Markets & News International Inc. System and method for providing an information gateway
US6041326A (en) * 1997-11-14 2000-03-21 International Business Machines Corporation Method and system in a computer network for an intelligent search engine

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8468078B2 (en) 2005-05-23 2013-06-18 Lisa Vioni Method of matching hedge funds and investors and apparatus therefor
US9070165B2 (en) 2005-05-23 2015-06-30 Lisa Vioni Method of matching hedge funds and investors and apparatus therefor

Also Published As

Publication number Publication date
AU2001259207A1 (en) 2001-11-12

Similar Documents

Publication Publication Date Title
US6772146B2 (en) Website for financial information
CN100498684C (en) Location price-quotation for search system paying according sequence
US6253188B1 (en) Automated interactive classified ad system for the internet
US9892156B2 (en) System to generate related search queries
CN101432714B (en) Methods and apparatus for automatic generation of recommended links
US7043483B2 (en) System and method allowing advertisers to manage search listings in a pay for placement search system using grouping
US8073904B2 (en) Metasearch engine for ordering items returned in search results using multiple queries on multiple unique hosts
US8266016B2 (en) Method and system for listing items globally and regionally, and customized listing according to currency or shipping area
US6629079B1 (en) Method and system for electronic commerce using multiple roles
US8935181B2 (en) Municipal bond tracking and evaluation system
US20090164387A1 (en) Systems and methods for providing semantically enhanced financial information
US20070038641A1 (en) Systems and methods for automated application updating
US20040030525A1 (en) Method and system for identifying high-quality items
WO2001044992A1 (en) Context matching system and method
US7444344B2 (en) Method to increase subscription scalability
CN101194257A (en) Methods and systems to process search information
WO2001037539A2 (en) Network-based sales system
US20150242529A1 (en) Method for Interlacing Multiple Internet domain names with a Database Driven Website to Obtain Better Webpage Ranking on Major Search Engines by Executing Computer-Executable Instructions Stored On a Non-Transitory Computer-Readable Medium
US20080215614A1 (en) Pyramid Information Quantification or PIQ or Pyramid Database or Pyramided Database or Pyramided or Selective Pressure Database Management System
WO2010102268A2 (en) Systems and methods for matching consumer requests with supplier appetites
US8635130B1 (en) Method and system for analyzing and screening investment information
CN1723525A (en) Method and system for providing filtered and/or masked advertisements over the Internet
WO2001084431A1 (en) System and method for searching database of mutual funds in accordance with investor selection of fund attributes
US20050027631A1 (en) System and method for providing information over a communications network
US20140337192A1 (en) Method and apparatus for facilitating an ipr market

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP