U.S. patent application number 12/496506 was filed with the patent office on 2009-10-22 for verification of net asset values.
This patent application is currently assigned to State Street Bank. Invention is credited to Robin L. Parsons, Thomas F. Ray.
Application Number | 20090265362 12/496506 |
Document ID | / |
Family ID | 25541272 |
Filed Date | 2009-10-22 |
United States Patent
Application |
20090265362 |
Kind Code |
A1 |
Parsons; Robin L. ; et
al. |
October 22, 2009 |
VERIFICATION OF NET ASSET VALUES
Abstract
Disclosed herein is a system for verifying financial data, such
as a Net Asset Value ("NAV"), received from a third party. A new
NAV for a fund may be supplied to the system, along with other
data, for storage in a database of financial data. Upon receiving
the new NAV, the system may analyze the NAV by comparing it to
historical NAVs for that fund. If the NAV is within a certain
variance, as compared to historical values, then the NAV may be
stored as a current NAV for the fund. However, if the NAV differs
from one or more historical values by more than a predetermined
tolerance, the system may present to a provider of the NAV data one
or more possible explanations for the variation, from among which
the provider must select an explanation before the NAV is added to
the database of financial data.
Inventors: |
Parsons; Robin L.; (Taunton,
MA) ; Ray; Thomas F.; (Weymouth, MA) |
Correspondence
Address: |
ROPES & GRAY LLP
PATENT DOCKETING 39/41, ONE INTERNATIONAL PLACE
BOSTON
MA
02110-2624
US
|
Assignee: |
State Street Bank
Boston
MA
|
Family ID: |
25541272 |
Appl. No.: |
12/496506 |
Filed: |
July 1, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09994975 |
Nov 27, 2001 |
7587354 |
|
|
12496506 |
|
|
|
|
Current U.S.
Class: |
1/1 ; 707/999.01;
707/999.1; 707/999.2; 707/E17.005; 707/E17.044; 707/E17.107;
715/764 |
Current CPC
Class: |
G06Q 40/06 20130101;
G06Q 40/02 20130101; G06Q 40/025 20130101; G06Q 40/04 20130101;
G06Q 40/00 20130101 |
Class at
Publication: |
707/10 ; 707/100;
707/200; 707/E17.005; 707/E17.044; 707/E17.107; 715/764 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1. A computer-implemented method for validating measurements in a
database, comprising: receiving a value for a measurement from a
data provider through an electronic interface; retrieving, over an
electronic communications network, one or more historical values
for the measurement from an electronic measurement database;
comparing the value to one or more historical measurement values to
obtain a variance that characterizes a difference between the value
and the one or more historical values; when the variance is within
a tolerance for the value, storing the value in the electronic
measurement database; and when the variance is not within the
tolerance for the value: i) presenting, through the electronic
interface, one or more preset explanations for the variance to the
data provider, ii) requiring the data provider to select one of the
one or more preset explanations for the variance; and iii) storing,
in the electronic measurement database, the net asset value and the
selected preset explanation for the variance.
2. The method of claim 1, wherein the electronic interface includes
a computer terminal.
3. The method of claim 1, wherein the electronic interface includes
an electronic network connection.
4. The method of claim 1, wherein the tolerance for the value is
editable by an authorized user.
5. The method of claim 1, wherein the at least one preset
explanation is based at least in part on the variance.
6. The method of claim 1, wherein the one or more preset
explanations is editable by an authorized user.
7. The method of claim 6, further comprising at least one of adding
a preset explanation to the one or more preset explanations,
deleting a preset explanation from the one or more preset
explanations, and modifying one of the one or more preset
explanations.
8. The method of claim 1, wherein the one or more preset
explanations includes an option for a data provider to enter a
textual explanation.
9. The method of claim 1, wherein receiving a value for a
measurement comprises receiving a value for a measurement that is
manually entered through a user interface.
10. The method of claim 1, wherein receiving a value for a
measurement comprises an electronic data upload.
11. The method of claim 10, wherein the electronic data upload
comprises a plurality of values for a plurality of
measurements.
12. A system for validating a measurement database comprising: a
database having memory for storing one or more historical values
for a measurement; a client device connected in a communicating
relationship with a network, the client device transmitting a value
for the measurement; a server connected in a communicating
relationship with the database and the client device, the server
receiving the measurement value from the client device and
executing a process to compare the measurement value to the one or
more historical measurement values, the process further configured
to present one or more preset explanations for the variance to the
client device when a variance between the measurement value and the
one or more historical net asset values exceeds a tolerance, and,
when the tolerance is exceeded, further configured to store the
measurement value when a selected one of the one or more preset
explanations for the variance has been received from the client
device.
13. The system of claim 12, wherein the client device includes a
computer terminal.
14. The system of claim 12, wherein the tolerance for the value is
editable by an authorized user.
15. The system of claim 12, wherein the at least one preset
explanation is based at least in part on the variance.
16. The system of claim 12, wherein the at least one preset
explanation is editable by an authorized user.
17. The system of claim 12, wherein the server is further
configured to receive from the client device a command, wherein the
command includes instructions for at least one of adding a preset
explanation to the at least one preset explanation, deleting a
preset explanation from the at least one preset explanation, and
modifying one of the at least one preset explanation.
18. The system of claim 12, wherein the at least one preset
explanation includes an option to enter a textual explanation.
19. The system of claim 12, wherein the value transmitted from the
client device is manually entered at the client device.
20. The system of claim 12, wherein the server receiving the value
from the client device comprises an electronic data upload.
21. The system of claim 20, wherein the electronic data upload
comprises a plurality of values for a plurality of
measurements.
22. A computer program product for validating measurements in a
database comprising: a computer readable medium having stored
thereon computer executable code for: receiving a value for a
measurement from a data provider through an electronic interface;
retrieving, over an electronic communications network, one or more
historical values for the measurement from an electronic
measurement database; comparing the value to one or more historical
measurement values to obtain a variance that characterizes a
difference between the value and the one or more historical values;
when the variance is within a tolerance for the value, storing the
value in the electronic measurement database; and when the variance
is not within the tolerance for the value: i) presenting, through
the electronic interface, at least one preset explanation for the
variance to the data provider, ii) requiring the data provider to
select one of the at least one preset explanations for the
variance; and iii) storing, in the electronic measurement database,
the net asset value and the selected preset explanation for the
variance.
23. The computer program product of claim 22, wherein the
electronic interface includes a computer terminal.
24. The computer program product of claim 22, wherein the
electronic interface includes an electronic network connection.
25. The computer program product of claim 22, wherein the tolerance
for the value is editable by an authorized user.
26. The computer program product of claim 22, wherein the at least
one preset explanation is based at least in part on the
variance.
27. The computer program product of claim 22, wherein the at least
one preset explanation is editable by an authorized user.
28. The computer program product of claim 22, the computer readable
medium further having stored thereon computer executable code for
at least one of adding a preset explanation to the at least one
preset explanation, deleting a preset explanation from the at least
one preset explanation, and modifying one of the at least one
preset explanation.
29. The computer program product of claim 22, wherein the at least
one preset explanation includes an option for a data provider to
enter a textual explanation.
30. The computer program product of claim 22, wherein receiving a
value for a measurement comprises receiving a value for a
measurement that is manually entered through a user interface.
31. The computer program product of claim 22, wherein receiving a
value for a measurement comprises an electronic data upload.
32. The computer program product of claim 31, wherein the
electronic data upload comprises a plurality of values for a
plurality of measurements.
Description
RELATED APPLICATION
[0001] This application is a continuation of U.S. patent
application Ser. No. 09/994,975 filed on Nov. 27, 2001, the entire
contents of which is incorporated herein by reference.
FIELD OF THE INVENTION
[0002] The present invention relates generally to a financial
accounting system for maintaining data of a financial database, and
more particularly to a method of verifying accuracy of new data
received for addition to the database.
BACKGROUND OF THE INVENTION
[0003] Verification of financial data is an integral operational
task executed by financial institutions that offer a broad range of
investment and financial service. Financial institutions have an
interest in mitigating risks which might arise if key operational
tasks are executed without verification systems. One such
operational task involves maintaining and updating net asset
database for funds. The reliability such a database depends upon
the robustness of the system administering the database in
verifying the accuracy of the information entering and residing in
the database.
[0004] The present invention addresses the need for robustness by
disclosure of a system configured to verify the accuracy of
financial data such as net asset data.
SUMMARY OF THE INVENTION
[0005] Disclosed herein is a system for verifying financial data,
such as a Net Asset Value ("NAV"), received from a third party. A
new NAV for a fund may be supplied to the system, along with other
data, for storage in a database of financial data. Upon receiving
the new NAV, the system may analyze the NAV by comparing it to
historical NAVs for that fund. If the NAV is within a certain
variance, as compared to historical values, then the NAV may be
stored as a current NAV for the fund. However, if the NAV differs
from one or more historical values by more than a predetermined
tolerance, the system may present to a provider of the NAV data one
or more possible explanations for the variation, from among which
the provider must select an explanation before the NAV is added to
the database of financial data.
[0006] The system may be realized, for example, in an n-tier Web
server or other platform for deployment and use over a network, and
may be configured to receive financial data and provide reports
throughout the network. The system may also, or instead, be
deployed within a local area network, corporate area network, or
wide area network. The variance that is used as a threshold for
requiring a user-provided explanation may be relative (e.g., a
percentage change) or absolute (e.g., plus or minus a certain
dollar value), and may vary from period to period according to
broader market trends such as the Dow Jones Industrial Average or
the Standard & Poors 500 composite index. Management tools may
be provided for adding, deleting, or modifying the variance, as
well as the possible explanations for exceeding the variance.
BRIEF DESCRIPTION OF DRAWINGS
[0007] The foregoing and other objects and advantages of the
invention will be appreciated more fully from the following further
description thereof, with reference to the accompanying drawings,
wherein:
[0008] FIG. 1 shows a schematic diagram of the entities involved in
an embodiment of a method and system disclosed herein;
[0009] FIG. 2 shows a block diagram of a server that may be used
with the systems described herein;
[0010] FIG. 3 shows a page that may be used as a user
interface;
[0011] FIG. 4 is a flow chart of a verification process using the
systems described herein; and
[0012] FIG. 5 depicts a user interface that may be used with the
systems described herein.
DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
[0013] To provide an overall understanding of the invention,
certain illustrative embodiments will now be described, including a
Web-deployed, client/server architecture for verifying externally
provided net asset values for funds. The systems described herein
may have particular applicability in a financial context, such as
where a fund manager at a custodial bank manages a number of
substantial holdings in various investment vehicles for an
institution or high net worth individual, where the system provides
for timely reporting of changes in asset values and review of the
changes by a supervisor of the fund manager or the customer whose
money is under management. However, it will be understood that the
methods and systems described herein can be suitably adapted to any
environment where data from an external source is provided for
inclusion in a database that contains historical values for the
same measurement. This may include, for example, physical
measurements (e.g., height, weight, speed, force, energy, and so
forth), meteorological measurements (e.g., rainfall, barometric
pressure, temperature), physiological measurements (e.g., heart
rate, blood pressure, body temperature), financial data (interest
rates, stock prices, earnings, dividends), or any other measurement
or quantity that may be sampled at fixed or varying periods. These
and other applications of the systems described herein are intended
to fall within the scope of the invention. More generally, the
principles of the invention may be applicable to any environment
where ongoing measurements of a quantity are received and
stored.
[0014] FIG. 1 shows a schematic diagram of the entities involved in
an embodiment of a method and system disclosed herein. In a system
100, a plurality of clients 102, servers 104, and providers 108 are
connected via an internetwork 110. It should be understood that any
number of clients 102, servers 104, and providers 108 could
participate in such a system 100. The system may further include
one or more local area networks ("LAN") 112 interconnecting clients
102 through a hub 114 (in, for example, a peer network) or a local
area network server 114 (in, for example, a client-server network).
The LAN 112 may be connected to the internetwork 110 through a
gateway 116, which provides security to the LAN 112 and ensures
operating compatibility between the LAN 112 and the internetwork
110. Any data network may be used as the internetwork 110 and the
LAN 112.
[0015] In one embodiment, the internetwork 110 is the Internet, and
the World Wide Web provides a system for interconnecting clients
102 and servers 104 through the Internet 110. The internetwork 110
may include a cable network, a wireless network, and any other
networks for interconnecting clients, servers and other
devices.
[0016] An exemplary client 102 includes the conventional components
of a client system, such as a processor, a memory (e.g. RAM), a bus
which couples the processor and the memory, a mass storage device
(e.g. a magnetic hard disk or an optical storage disk) coupled to
the processor and the memory through an I/O controller, and a
network interface coupled to the processor and the memory, such as
modem, digital subscriber line ("DSL") card, cable modem, network
interface card, wireless network card, or other interface device
capable of wired, fiber optic, or wireless data communications. One
example of such a client 102 is a personal computer equipped with
an operating system such as Microsoft Windows 95, Microsoft Windows
NT, Unix, Linux, and Linux variants, along with software support
for Internet communication protocols. The personal computer may
also include a browser program, such as Microsoft Internet Explorer
or Netscape Navigator, to provide a user interface for access to
the Internet 110. Although the personal computer is a typical
client 102, the client 102 may also be a workstation, mobile
computer, Web phone, television set-top box, interactive kiosk,
personal digital assistant, or other device capable of
communicating over the Internet 110. As used herein, the term
"client" is intended to refer to any of the above-described clients
102, as well as proprietary network clients designed specifically
for the financial systems described herein, and the term "browser"
is intended to refer to any of the above browser programs or other
software or firmware providing a user interface for navigating the
Internet 110 and/or communicating with the financial systems.
[0017] An exemplary server 104 includes a processor, a memory (e.g.
RAM), a bus which couples the processor and the memory, a mass
storage device (e.g. a magnetic or optical disk) coupled to the
processor and the memory through an I/O controller, and a network
interface coupled to the processor and the memory. Servers may be
clustered together to handle more client traffic, and may include
separate servers for different functions such as a database server,
a file server, an application server, and a Web presentation
server. Such servers may further include one or more mass storage
devices such as a disk farm or a redundant array of independent
disk ("RAID") system for additional storage and data integrity.
Read-only devices, such as compact disk drives and digital
versatile disk drives, may also be connected to the servers.
Suitable servers and mass storage devices are manufactured by, for
example, Compaq, IBM, and Sun Microsystems. As used herein, the
term "server" is intended to refer to any of the above-described
servers 104.
[0018] Focusing now on the internetwork 110, one embodiment is the
Internet. The structure of the Internet 110 is well known to those
of ordinary skill in the art and includes a network backbone with
networks branching from the backbone. These branches, in turn, have
networks branching from them, and so on. The backbone and branches
are connected by routers, bridges, switches, and other switching
elements that operate to direct data through the internetwork 110.
However, one may practice the present invention on a wide variety
of communication networks. For example, the internetwork 110 can
include interactive television networks, telephone networks,
wireless data transmission systems, two-way cable systems,
customized computer networks, interactive kiosk networks and
automatic teller machine networks. Further, various data resources
may be available through the internetwork 110, including text,
images, multi-media, and databases that are provided through
command line or graphical front-ends over the internetwork 110, and
databases available through local networks connected to the
internetwork 110.
[0019] In the Internet, Internet service providers 108 such as
Microsoft Network, America OnLine, Prodigy and CompuServe may offer
dial-in service. The Internet service providers 108 may also
include any computer system which can provide Internet access to a
client 102. Of course, the Internet service providers 108 are
optional, and in some cases, the clients 102 may have direct access
to the Internet 110 through a dedicated DSL service, ISDN leased
lines, T1 lines, digital satellite service, cable modem service, or
any other high-speed connection. Any of these high-speed services
may also be offered through one of the Internet service providers
108.
[0020] In its embodiment as the Internet, the internetwork 110
consists of a worldwide computer network that communicates using
the well-defined Transmission Control Protocol ("TCP") and Internet
Protocol ("IP") to provide transport and network services. Computer
systems that are directly connected to the Internet 110 each have a
unique IP address. The IP address consists of four one-byte numbers
(although a planned expansion to sixteen bytes is underway with
IPv6). The four bytes of the IP address are commonly written out
separated by periods such as "194.152.65.222". To simplify Internet
addressing, the Domain Name System ("DNS") was created. The DNS
allows users to access Internet resources with a simpler
alphanumeric naming system. A DNS name consists of a series of
alphanumeric names separated by periods. For example, the name
"www.1ga-inc.com" corresponds to a particular IP address. When a
domain name is used, the computer accesses a DNS server to obtain
the explicit four-byte IP address.
[0021] It will be appreciated that other internetworks 110 may be
used with the invention. For example, the internetwork 110 may be a
wide-area network, a local area network, or corporate area network.
The internetwork 110 may be any other network used to communicate
data, such as a cable broadcast network. All of the network
components described above may, either alone or in combination,
form the internetwork 110 described herein. It will be understood
that the terms "internetwork" and "network" are intended to refer
to any such network, unless specifically noted otherwise.
[0022] To further define the resources on the Internet, the Uniform
Resource Locator system was created. A Uniform Resource Locator
("URL") is a descriptor that specifically defines a type of
Internet resource along with its location. URLs have the following
format:
resource-type://domain.address/path-name
where resource-type defines the type of Internet resource. Web
documents are identified by the resource type "http" which
indicates that the hypertext transfer protocol should be used to
access the document. Other common resource types include "ftp"
(file transmission protocol), "mailto" (send electronic mail),
"file" (local file), and "telnet." The domain.address defines the
domain name address of the computer that the resource is located
on. Finally, the path-name defines a directory path within the file
system of the server that identifies the resource. As used herein,
the term "IP address" is intended to refer to the four-byte
Internet Protocol address, and the term "Web address" is intended
to refer to a domain name address, along with any resource
identifier and path name appropriate to identify a particular Web
resource. The term "address," when used alone, is intended to refer
to either a Web address or an IP address.
[0023] In an exemplary embodiment, a browser, executing on one of
the clients 102, retrieves a Web document at an address from one of
the servers 104 via the internetwork 110, and displays the Web
document on a viewing device, e.g., a screen. A user can retrieve
and view the Web document by entering, or selecting a link to, a
URL in the browser. The browser then sends an http request to the
server 104 that has the Web document associated with the URL. The
server 104 responds to the http request by sending the requested
Web document to the client 102. The Web document is an HTTP object
that includes plain text (ASCII) conforming to the HyperText Markup
Language ("HTML"). Other markup languages are known and may be used
on appropriately enabled browsers and servers, including the
Dynamic HyperText Markup Language ("DHTML"), the Extensible Markup
Language ("XML"), the Extensible Hypertext Markup Language
("XHML"), and the Standard Generalized Markup Language
("SGML").
[0024] Each Web document usually contains hyperlinks to other Web
documents. The browser displays the Web document on the screen for
the user and the hyperlinks to other Web documents are emphasized
in some fashion such that the user can identify and select each
hyperlink. To enhance functionality, a server 104 may execute
programs associated with Web documents using programming or
scripting languages, such as Perl, C, C++, or Java. A server 104
may also use server-side scripting technologies such as ColdFusion
from Allaire, Inc., or PHP. These programs and languages perform
"back-end" functions such as order processing, database management,
and content searching. A Web document may also include references
to small client-side applications, or applets, that are transferred
from the server 104 to the client 102 along with a Web document and
executed locally by the client 102. Java is one popular example of
a programming language used for applets. The text within a Web
document may further include (non-displayed) scripts that are
executable by an appropriately enabled browser, using a scripting
language such as JavaScript or Visual Basic Script. Browsers may
further be enhanced with a variety of helper applications to
interpret various media including still image formats such as JPEG
and GIF, document formats such as PS and PDF, motion picture
formats such as AVI and MPEG, and sound formats such as MP3 and
MIDI. These media formats, along with a growing variety of
proprietary media formats, may be used to enrich a user's
interactive and audio-visual experience as each Web document is
presented through the browser. The term "page" as used herein is
intended to refer to the Web document described above, as well as
any of the above-described functional or multimedia content
associated with the Web document.
[0025] FIG. 2 shows a block diagram of a server that may be used
with the systems described herein. In this embodiment, the server
104 includes a presentation server 200, an application server 202,
and a database server 204. The application server 202 is connected
to the presentation server 200. The database server 204 is also
connected to the presentation server 200 and the application server
202, and is further connected to a database 206 embodied on a mass
storage device. The presentation server 200 includes a connection
to the internetwork 110. It will be appreciated that each of the
servers may comprise more than one physical server, as required for
capacity and redundancy, and it will be further appreciated that in
some embodiments more than one of the above servers may be logical
servers residing on the same physical device. It will further be
appreciated that one or more of the servers may be at a remote
location, and may communicate with the presentation server 200
through a local area or wide area network. The term "host," as used
herein, is intended to refer to any combination of servers
described above that include a presentation server 200 for
providing access to pages by the clients 102. The term "site," as
used herein, is intended to refer to a collection of pages sharing
a common domain name address, or dynamically generated by a common
host, or accessible through a common host (i.e., a particular page
may be maintained on or generated by a remote server, but
nonetheless be within a site).
[0026] The presentation server 200 provides an interface for one or
more connections to the internetwork 110, thus permitting more than
one of the clients 102 (FIG. 1) to access the site at the same
time. In one embodiment, the presentation server 200 comprises a
plurality of enterprise servers, such as the ProLiant Cluster
available from Compaq Computer Corp., or a cluster of E250's from
Sun MicroSystems running Solaris 2.7. Other suitable servers are
known in the art and may be used with the systems described herein.
The server maintains one or more connections to the internetwork
110, such as through a tier one provider--one of the dozen or so
national/international Internet backbones with cross-national links
of T3 speeds or higher, such as MCI, UUNet, BBN Planet, and Digex.
Each server may be, for example, an iPlanet Enterprise Server 4.0
from the Sun/Netscape Alliance. The presentation server 200 may
also, for example, use the Microsoft Windows NT operating system,
with a "front end" written in Microsoft Active Server Page ("ASP"),
or some other programming language or server software capable of
integrating ActiveX controls, forms, Visual Basic Scripts,
JavaScript, Macromedia Flash Technology multimedia, e-mail, and
other functional and multimedia aspects of a page. Typically, the
front end includes all text, graphics, and interactive objects
within a page, along with templates used for dynamic page
creation.
[0027] A client 102 (FIG. 1) accessing an address hosted by the
presentation server 200 will receive a page from the presentation
server 200 containing text, forms, scripts, active objects,
hyperlinks, etc., which may be collectively viewed using a browser.
Each page may consist of static content, i.e., an HTML text file
and associated objects (*.avi, *.jpg, *.gif, etc.) stored on the
presentation server, and may include active content including
applets, scripts, and objects such as check boxes, drop-down lists,
and the like. A page may be dynamically created in response to a
particular client 102 request, including appropriate queries to the
database server 204 for particular types of data to be included in
a responsive page. It will be appreciated that accessing a page is
more complex in practice, and includes, for example, a DNS request
from the client 102 to a DNS server, receipt of an IP address by
the client 102, formation of a TCP connection with a port at the
indicated IP address, transmission of a GET command to the
presentation server 200, dynamic page generation (if required),
transmission of an HTML object, fetching additional objects
referenced by the HTML object, and so forth.
[0028] The application server 202 provides the "back-end"
functionality of the Web site, and includes connections to the
presentation server 200 and the database server 204. In one
embodiment, the presentation server 200 comprises an enterprise
server, such as one available from Compaq Computer Corp., running
the Microsoft Windows NT operating system, or a cluster of E250's
from Sun MicroSystems running Solaris 2.7. The back-end software
may be implemented using pre-configured e-commerce software, such
as that available from Pandesic, to provide some of the back-end
functionality, including realization of application logic
associated with the systems described herein. The software running
on the application server 202 may include a software interface to
the database server 204, as well as a software interface to the
front end provided by the presentation server 200.
[0029] The database server 204 may be an enterprise server, such as
one available from Compaq Computer Corp., running the Microsoft
Windows NT operating system or a cluster of E250's from Sun
MicroSystems running Solaris 2.7, along with software components
for database management. Suitable databases are provided by, for
example, Oracle, Sybase, and Informix. The database server 204 may
also include one or more databases 206, typically embodied in a
mass-storage device. The databases 206 may include, for example,
user interfaces, search results, search query structures, user
information, and the templates used by the presentation server to
dynamically generate pages. In operation, the database management
software running on the database server 204 receives properly
formatted requests from the presentation server 200, or the
application server 202. In response, the database management
software reads data from, or writes data to, the databases 206, and
generates responsive messages to the requesting server. The
database server 204 may also include a File Transfer Protocol
("FTP") server for providing downloadable files.
[0030] FIG. 3 shows a page that may be used as a user interface.
The page 300 may include a header 302, a sidebar 304, a footer 306
and a main section 308, all of which may be displayed at a client
102 using a browser. The header 302 may include, for example, a
title of the page, and one or more links to other pages displayed
as hyperlinks, labeled tabs, or the like. The sidebar 304 may
include a menu of choices for a user at the client 102. The footer
306 may include information concerning the page such as a "help" or
"webmaster" contact, copyright information, disclaimers, a privacy
statement, etc. The main section 308 may include content for
viewing by the user. The main section 308 may also include, for
example, tools for adding, deleting, or modifying account
information, managing and displaying accounts, and so forth. It
will be appreciated that the description above is generic, and may
be varied according to where a client 102 is within a Web site
related to the page, as well as according to any available
information about the client 102 (such as display size, media
capabilities, etc.), available information about the user at the
client (such as profile information), or authorization to view or
edit certain information.
[0031] A Web site including the page 300 may use cookies to track
users and user information. In particular, a client 102 accessing
the site may be accessed to detect whether the client 102 has
previously accessed the page or the site. If the client 102 has
accessed the site, then some predetermined content may be presented
to the client 102. If the client 102 does not include a cookie
indicating that the client 102 has visited the site, then the
client 102 may be directed to a registration page where information
may be gathered to create a user profile. The client 102 may also
be presented with a login page, so that a pre-existing user on a
new client 102 may nonetheless bypass the registration page.
[0032] The site may provide options to the client 102. For example,
the site may provide a search tool by which the client 102 may
search for content within the site, or content within financial
databases associated with the site. Views of data provided by the
site may be filtered according to account information stored in the
database, such as fund names, fund managers, customer names, user
names, and so forth. The site may include news items topical to the
site. The site may provide a user profile update tool by which the
client 102 may make alterations to a user profile. The site may
include a help feature for providing assistance to users.
[0033] Different pages may be provided for different users of the
system. For example, a database administrator may access underlying
financial databases through a database administration page, which
may allow a user to alter existing records, create new data
structures (such as tables, fields, attributes, and so forth),
modify relationships between data structures, backup data, and
perform other functions. An application administrator may view an
administration page through which a user may create new accounts,
new users, new customers, and so forth, as well as control access
privileges for other users and perform other administrative tasks.
Institutional users such as managers may view a funds page which
provides read-only access to all or some of the fund data stored in
the databases, and which permits printouts of fund data. A fund
manager may view a fund manager page which provides write access to
some or all of the fund data, in addition to read access, so that
fund data, customer data, and so forth may be created, updated, or
viewed. Third parties, such as customers, may view pages that
display their own financial data, and data providers may be
permitted to add current data to the database. Each of the above
functions may be realized through a different page, coupled with
different underlying access privileges to data and code within the
system described herein.
[0034] Certain users, such as fund managers or other institutional
users, may be provided with tools within the page to assist with
reviewing and using data maintained by the system. Filters may be
provided for restricting data viewed by, for example, the fund
manager according to user controlled criteria, such as by customer,
by fund manager, by value, or by any other field within the
database. Printing tools, along with various print layouts, may be
provided. Data may be exported, such as to a tab delimited file, a
comma delimited file, a spreadsheet file, or any other file
suitable for use by the user. Certain users, such as the fund
managers who update financial data, may import data to the system.
The imported data may be, for example, in a tab-delimited file, a
comma delimited file, a spreadsheet file, or the like.
[0035] Thus it will be appreciated that a networked financial
management system may be realized in which current financial data
may be obtained from a client device anywhere within the
internetwork. New data may be provided to the system, and more
particularly, the financial database within the system, from time
to time by a user at a client device. The new data may be compared
to historical data, and analyzed for possible errors, as will now
be described in more detail.
[0036] FIG. 4 is a flow chart of a verification process using the
systems described herein. The process 400 may start 402 when data
is received, as shown in step 404. The data may be received, for
example, from a client within the internetwork 110 of FIG. 1. The
data may include any financial data that might be provided on a
periodic or other basis. For a fund management system as described
herein, the data may include, for example, a fund identifier (such
as a fund name, fund code, or other identifier) that identifies a
specific fund, a net asset value for the fund, and a liquid asset
value for the fund. The data may be received as an upload to the
system of a spreadsheet (such as an Excel spreadsheet that includes
data for one or more funds), or may be manually provided through a
user interface. The data may be provided by a fund manager who
monitors and manages funds for the institution that provides the
financial management system, or the data may be provided by a third
party with specific information concerning the fund, and with
access and uploading privileges for the system. As used in the
following description, the term "user" is intended to refer to
either of these parties, or any other party that might provide data
to the system. In one embodiment of the system described herein,
financial data is provided from a fund manager once each month.
[0037] As shown in step 406, corresponding historical data may be
retrieved. For the financial data described above, this may include
one or more previous values for the net asset value and the liquid
asset value for a fund identified by the fund identifier. Where
appropriate, as described below, application logic that applies
variance rules to new data may be examined to determine what
historical values to retrieve, such as the last instance of the
value, the last five instances of the value, an average of the last
n instances, or an average of all instances over a predetermined
period of time, e.g., one week or one month. In this manner, only
data that will be required to apply one or more variance rules
needs to be retrieved from a location, such as a database, where
the data is stored.
[0038] As shown in step 408, one or more variance rules may be
applied. A threshold for the variance may be established to
determine whether the variance is within a tolerance or not. The
threshold may be relative, e.g., based upon current or historical
values for data, or the threshold may be absolute, i.e., based upon
a magnitude of change, regardless of current and/or historical
values. The threshold may instead be based upon some external data.
Also, a number of different variance rules may be applied, all of
which is described in further detail below.
[0039] One type of variance rule may be based upon relative changes
in the data. For example, where the rule is to be applied to a net
asset value for a fund, as mentioned above, a tolerance may be
established that is a fixed percentage of the received net asset
value, or of one or more historical net asset values. The tolerance
may be, for example, a percentage range such as +/-5%, +/-10%,
+/-15%, +/-20%, +/-25%, or +/-30% of a recent historical net asset
values for the fund. The tolerance may be an asymmetrical
percentage range, e.g., from -5% to +17%. The tolerance may instead
be established as a symmetric or asymmetric percentage of more than
one historical value for the NAV. Where more than one historical
value is used, an average of the multiple values may be taken, or a
weighted average favoring more current values may be used, or a
linear extrapolation of historical values or some other value may
be calculated that is indicative of the different values, and used
as a bases for determining a tolerance.
[0040] Another type of variance rule may be based upon absolute
changes in the data. For example, where the rule is to be applied
to the net asset value for a fund, as mentioned above, a tolerance
may be established that is a number of dollars. The tolerance may
be, for example, a range of +/-$50 million, +/-$100 million,
+/-$500 million, +/-$1 billion, +/-$1.5 billion, or +/-$2 billion.
As with relative tolerances described above, the absolute measures
of tolerance may be asymmetric ranges such as -$50 million to +200
million.
[0041] Another type of variance rule may be based upon changes in
the data as compared to external benchmarks. For example, a
percentage for a tolerance may be established based on
month-end-to-month-end percent variation in a benchmark index. The
benchmark index may be a value or volume based market index such as
the Standard and Poors (S&P) 500, the S&P 100, the S&P
400 midcap, the S&P 600 midcap, the Dow Jones (DJ) Industrials,
the DJ Transportation, the DJ Utilities, the DJ Composite, the New
York Stock Exchange (NYSE) Volume in 000's, the NYSE Composite, the
NYSE Tick, the NYSE ARMS, the Nasdaq Composite, the Nasdaq Volume
in 000's, the Nasdaq National Market Composite, the Nasdaq 100, the
AMEX Composite, the AMEX Internet, the AMEX Networking, the ISDEX,
the Major Market, the Pacific Exchange Technology, the Philadelphia
Semiconductor, the Russell 1000, the Russell 2000, the Russell
3000, the TSC Internet, the Value Line, or the Wilshire 5000 TOT.
The index may be based on bonds, commodities, or other financial
instruments, such as the US Treasury Securities (TS) 30-Year Bond,
the TS 10-Year Note, the TS 5-Year Note, the TS 13-Week Bill, the
DJ Spot, the DJ Futures, the Philadelphia Gold & Silver, the
Hang Seng, the Nikkei 225, the DAX, the CAC 40, or the FTSE 100.
Other financial indicators may also be used, such as the Federal
Funds rate, the Discount Rate, the Consumer Price Index, the Gross
National Product, the Gross Domestic Product, and so forth. The
aforementioned list of indices is only provided to present an
illustrative set of indices, and should not be construed as
exhaustive. Any financial index or other index suitable for
comparison to changes in the measured quantity (in this case, net
asset value of a fund) may be used with the systems described
herein. Further, it will be appreciated that a tolerance may be
derived from a selected index, such as by application of a formula
to the selected index.
[0042] It will be appreciated that the same variance rule may be
applied to each instance of data received in step 404, or a
different variance rule may be established for each instance, e.g.,
for each different fund for which data is received, as determined
according to, for example, the fund code described above. An
interface may be provided for a user to specify a variance rule for
each fund received, either together or individually.
[0043] Once a variance rule has been determined for received data,
it may be determined whether the received data is within tolerance,
as shown in step 410. This step may entail a straightforward
comparison of the tolerance established by the variance rule of
step 408 with the change in the quantity of interest, e.g., in the
example above, a change in net asset value from one or more
historical values to the value received in step 404. If the
received net asset value is within the tolerance, then the process
400 may proceed to step 412 where the received data may be stored.
If the received net asset value is out of tolerance, i.e., not
within the tolerance range established in step 408, then the
process 400 may proceed to step 414.
[0044] In step 414, one or more possible explanations for being out
of tolerance may be presented to a user that provided the data
received in step 404. These preset explanations may be required
before storing received data. For the fund net asset value provided
as an example above, explanations may include asset transfers,
benefit payments, incorrect prior month values, cash influxes, cash
withdrawals, collateral NAV changes, contributions, conversions,
closing of funds, merger of funds, supplied and client verified
NAVs, derivative fluctuations, changes in security market values,
expenses, fund mergers, holding accounts, liquidation of partial
assets, new money from shareholders, creation of a new fund,
shareholder distributions, shareholder redemptions, shareholder
subscriptions, trading activities, favorable or unfavorable
exchange rates, or valid zero asset balances. Each explanation may
have associated therewith a direction of change to which the
explanation may apply. That is, certain explanations may only be
applicable to changes that are greater than the established
tolerance. Other explanations may only be applicable to changes
that are less than the established tolerance. Some explanations may
apply to either increases or decreases in the measured quantity.
The type of variation to which each explanation applies may be
displayed along with the explanations, or may be used to filter
explanations prior to display, so that only applicable explanations
are presented to a user. The explanations may include an "other"
category, with which a user provides textual explanation.
Optionally, no "other" may be provided, so that a user is required
to select one of a plurality of specifically enumerated
reasons.
[0045] The explanations above may be preset before data is
provided. A user interface may be provided through which an
authorized user may edit the preset explanations. Explanations
available to a provider of data may be added, removed, or modified.
Editing the available explanations may be appropriate, for example,
in response to changes in economic or financial conditions, changes
in accounting rules or procedures, or any other changes that may
affect values for the received data.
[0046] As shown in step 416, a selection of one of the possible
explanations may be received from the data provider for the data
received in step 404. Once an explanation has been received, the
data and the explanation may be stored, as shown in step 412. The
process 400 is then done 418, and may be terminated, or may return
to the start 402 where new data may be received.
[0047] When data has been entered and tested for variations as
described above, an explicit record of substantial (as measured by
defined variance rules) changes is preserved, and may be reviewed
by managers, customers, or others who have appropriate authority to
access data records in the system and may be interested in, for
example, fund performance and variations.
[0048] It will be appreciated that the above process 400, may be
realized in hardware, software, or some combination of these. The
process 400 may be realized in one or more microprocessors,
microcontrollers, embedded microcontrollers, programmable digital
signal processors or other programmable device, along with internal
and/or external memory such as read-only memory, programmable
read-only memory, electronically erasable programmable read-only
memory, random access memory, dynamic random access memory, double
data rate random access memory, Rambus direct random access memory,
flash memory, or any other volatile or non-volatile memory for
storing program instructions, program data, and program output or
other intermediate or final results. The process 400 may also, or
instead, be realized in an application specific integrated circuit,
a programmable gate array, programmable array logic, or any other
device or combination of devices that may be configured to process
electronic signals.
[0049] Any combination of the above circuits and components,
whether packaged discretely, as a chip, as a chipset, or as a die,
may be suitably adapted for use with the systems described herein.
It will further be appreciated that the above process 400 may be
realized as computer executable code created using a structured
programming language such as C, an object-oriented programming
language such as C++ or Java, or any other high-level or low-level
programming language that may be compiled or interpreted to run on
one of the above devices, as well as heterogeneous combinations of
processors, processor architectures, or combinations of different
hardware and software. The process 400 may also be deployed using
software technologies or development environments including a mix
of software languages, such as Microsoft IIS, Active Server Pages,
Java, C++, Oracle databases, SQL, and so forth.
[0050] FIG. 5 depicts a user interface that may be used with the
systems described herein. More particularly, FIG. 5 shows an
interface for providing explanations for data variance, as in steps
414 and 416 above. An interface 500, which may be a Web page, may
include a funds button 502, a managers button 504, a reports button
506, a user profile button 508, a help button 510, a current period
display area 512, a fund display area 514, a net asset value
display area 516, a net change display area 518, a previous net
asset value display area 520, a fund detail information link 522, a
fund type information link 524, a fund name display area 526, a
liquid asset value display area 528, a percentage change display
area 530, and a variance reason selection input 532. The interface
500 may be presented to a user, e.g., a data provider, when data is
provided to the system that exceeds predetermined tolerances as
described above.
[0051] The funds button 502 may be used to navigate to a fund
information page that provides information about funds with data
stored by the system. The managers button 504 may be used to
navigate to a managers information page that provides information
about managers who are authorized users of the system. The reports
button 506 may be used to access a report generation menu that may
be used to print or download reports on funds, managers, variances,
or any other data accessible through the system. The help button
510 may be used to access a help menu that provides descriptions of
various functions, tool, menus, and the like provided by the
system.
[0052] Information relating to the variant data may be provided by
the interface 500. This may include the current period display area
512 which displays the time period for which the new data is being
provided. The fund display area 514 may display a fund code that
identifies the fund to which the new data relates. The net asset
value display area 516 may display the current net asset value
supplied for the current time period. The net change display area
518 may display the change from an historical value for the net
asset value, the historical value being further displayed in the
previous net asset value display area 520. The fund name display
area 526 may display the full name, or an abbreviated name, of the
fund identified by the fund code. The liquid asset value display
area 528 may display the liquid asset value of the fund identified
by the fund code (and the fund name). The percentage change display
area 530 may display a percentage change between the current net
asset value and the historical net asset value. The variance reason
selection input 532 may be, for example, a drop down menu of
explanations, and may be operated by a user to select a specific
reason for the variance.
[0053] Other reference data may be accessed through the interface
500, such as information about funds tracked within the system
(through the fund detail information link 522) and information
about fund types tracked within the system (through the fund type
link 524). Other buttons may be provided, such as buttons to
navigate through a number of variance entry screens, which may be
used, for example, when data for a number of funds are collectively
supplied to the system (such as through a spreadsheet upload).
[0054] The interface 500 of FIG. 5 may also, or instead, be used to
manually enter data for a number of funds. A fund manager may, in
this mode, access the interface 500 during each reporting period,
and manually enter a net asset value in the net asset value display
area 516 for each fund managed by the manager. If a manager
attempts to save data for a fund that exceeds its tolerance, a
warning may pop-up alerting the manager to the omission, and
requiring selection of a reason before saving the data.
[0055] It will be appreciated that the interface 500 described
above is merely exemplary, and that other controls such as radio
buttons, sliders, scroll bars, and so forth may be used to receive
user inputs, display data, and enable navigation through a Web
site. It will also be appreciated that, as noted above, the systems
and methods described herein may be suitably adapted to any data
collection system for any type of data that is manually or
automatically entered under user supervision. All such embodiments
may fall within the scope of the invention described herein.
[0056] Thus, while the invention has been disclosed in connection
with the preferred embodiments shown and described in detail,
various modifications and improvements thereon will become readily
apparent to those skilled in the art. It should be understood that
all matter contained in the above description or shown in the
accompanying drawings shall be interpreted as illustrative, and not
in a limiting sense, and that the following claims should be
interpreted in the broadest sense allowable by law.
* * * * *