| |
Hierarchies and Aggregation
ComplyPlus has the ability to create complex hierarchies. A hierarchy is
defined by specifying relationships between objects. ComplyPlus ships
with objects that represent common financial concepts such as funds,
portfolios, stocks, bonds, brokers, customers, users, fund managers,
departments, company divisions, your company as a whole, and many more.
Of course, you can extend ComplyPlus by creating your own objects.
Also included are two special objects: a plain node and a list node. Nodes
are placeholders in a hierarchy that accumulate data from objects below
(children) and provide summarized (aggregated) data to those objects above
(parents). List nodes come in two flavors: static and dynamic. Static
lists have a fixed set of members. Dynamic lists, however, are defined by
search criteria. So, the objects in a dynamic list can change as
ComplyPlus operates.
The diagram below shows sixteen portfolios (funds) that are all children of a
parent node. The parent node will receive summarized data from all
sixteen portfolios (e.g. holdings, percent industry, percent country, issuer
concentrations, etc). There are no limits to what can be summarized up a
hierarchy.
A dynamic list node provides
the same functionality as a regular node, except that the objects below it are
defined by a dynamic query. An example of a dynamic list node might be a
list of all U.S. fixed income portfolios with net assets > $3 billion.
Exactly which funds are in this list will depend on the current net assets of
each fund. Accordingly, the summarized data in the dynamic list node will
vary to reflect the funds then in the list.
The hierarchy to the left provides the same functionally as above, but achieves
this using two lists instead of one node. The first list contains the six
allocation funds (fund-of-funds). The other list contains the ten
non-allocation funds. Each list rolls up the data from the nodes it
contains. Lists can contain any type of object in ComplyPlus, such as
portfolios, stocks, bonds, etc.
Relationships between nodes can be specified using various screens in the
administration module or by creating relationships in Microsoft Visio.
ComplyPlus ships with a Visio stencil that represents all objects in
ComplyPlus, including relationships. ComplyPlus can automatically
generate a Visio diagram from the relationships stored in its database.
ComplyPlus can also take in a Visio diagram and update its internal
relationships. In fact, all diagrams shown on this page were output directly
from ComplyPlus into Visio. To change a relationship in Visio, simply
click on a link and reconnect it. Then, import the Visio file into
ComplyPlus and your system is updated! These diagrams provide excellent
visual documentation as they're automatically generated from your system's
current configuration.
The above examples are fairly simple. Let's consider a more read-world
hierarchy as shown below. This hierarchy approximates Fidelity
Investments' corporate structure and will be used to collect summarized data
for aggregate tests such as Rule 13G. Notice, the hierarchy includes the
Johnson family personal holdings which are outside of Fidelity, but still need
to be aggregated for reporting purposes.

The diagram as shown was simplified. Normally, each Fidelity division has
one or more list nodes which contain all the funds in that division. We
expanded one such set on the diagram (the four list nodes under Fidelity
bounded by the orange box). Also note that the Fidelity US node has two
parent nodes, which means its data is summarized to both parent nodes: the
"Fidelity Beneficial Interest" node for 13G domestic testing and the "Fidelity
Management & Research Corp" node for Investment policy aggregate testing
(which contains aggregate data for all Fidelity's funds, but excludes the
Johnson family personal funds).
Rules and the Hierarchy
Lastly, you can apply compliance rules to any object in the hierarchy,
including a list node. Such rules will also apply to all objects lower in
the hierarchy (i.e. its children, its grandchildren, etc. ). For example,
if you create a list of all fixed income funds and apply your generic fixed
income rules to this list, then, as new fixed income products are released, the
rules will be automatically applied to these new products.
Features Summary
Aggregation
-
Built-in high performance aggregation engine (external data warehouse not
required).
-
Create complex structures for aggregation and rule testing that mirror your
enterprise, geographic divisions, business units, portfolios and
sub-portfolios.
-
Aggregation engine maintains detail information and has built-in support for
drill-down reporting.
-
Aggregation engine supports built-in operations such as Min, Max, Sum, Average,
Weighted Average, Average Life, etc. It also has the ability to utilize
user-defined functions for the most demanding requirements.
-
Aggregates can be simple one dimensional data such as cash, percent cash, net
assets, etc.
-
Aggregates can be complex two dimensional data such as industry, country, or
issuer concentrations.
-
Aggregates can support complex three dimension data by taking two dimensional
data, (i.e. industry, country, or issuer concentrations ) and adding another
dimension such as holdings view (e.g. "as ordered" and "as executed"). This
example would show what the concentration breakdown is now and also what it
would be if all open trades executed.
-
Using aggregates, you can build pre-trade compliance rules that warn traders
when a proposed trade would cause a fund to go out of compliance. For example,
rules can stop traders from executing further purchases if current holdings
plus open orders exceed a threshold.
Hierarchies
-
Support for multiple concurrent hierarchies.
-
Create simple tree based hierarchies or more complex network hierarchies.
-
Aggregation supported at each object in the hierarchy.
-
Support complex corporate or fund structures.
-
Editable in Microsoft Visio.
-
Automatically generates its own documentation.
List Management
-
Create static lists.
-
Create dynamic lists using queries based on any data attribute such as net
assets, fund type, fund complex, etc.
-
Assign rules to lists and have the rules apply to all objects in the list.
-
Create lists containing any objects in the system, such as portfolios, stocks,
users, etc.
-
Aggregation engine supports lists too! Create any list (such as a list of
all domestic funds) and the aggregation engine can generate summarized results
from holdings in all portfolios in the list.
-
Lists can be used anywhere a single portfolio can be used.
-
Lists can be inserted into the aggregation hierarchy to build complex dynamic
aggregation results.
|