A Portfolio Rating Robot

Server room in datacenter

UR’s stock and portfolio on-line analysis system  is a Rating Robot which allows users to measure the complexity and resilience of stocks/securities and portfolios. Resilience provides a new means of measuring not only the volatility of a stock portfolio but also the degree of intricacy or complexity. This is of paramount importance since, as the Quantitative Complexity Theory confirms, excessively complex systems not only have the capacity to deliver surprising behavior but they can also fail in countless often non-intuitive ways. Furthermore, complexity provides a new and modern means of measuring volatility.

Portfolio resilience takes on values from 0 to 100%.

Complexity takes on values ranging between its corresponding lower and upper bounds which and are specific to each security and portfolio.

High complexity points to high volatility and less predictable dynamics.

Low resilience implies extreme volatility and chaos-dominated dynamics.

High resilience points to more stable less volatile conditions.

A resilience rating for a portfolio is stratified as follows:


Analyzing a security is simple – it is sufficient to type a valid Ticker Symbol in the area indicated below and to click “Proceed”.


The system performs a check of the validity of the Ticker Symbol and in the case it is valid it proceeds to perform the analysis. It is possible to introduce a list of tickers separated by commas. An example is illustrated below.


This produces the following result:


Highly complex financial products are characterized by convoluted dynamics and are generally more volatile and less predictable in terms of performance.

When applied to stocks or other financial products such as ETFs, futures or bonds, complexity takes into account the following characteristics of the dynamics of the corresponding price:

  • Memory/correlation – how current price depends on past values
  • Ruggedness – how rocky and uneven the evolution of the price is
  • Variability – the degree of instability, jitter, volatility
  • Discontinuities and non-linearity

The above attributes affect negatively our ability to understand the dynamics of stock prices and therefore impact the capability to make robust estimates of their future values. As a general rule, less experienced investors should avoid financial products which exhibit complex dynamics.

Examples of complexity ratings of various classes of securities may be found here.



Building a portfolio is simple. When a list of tickers is introduced, it is sufficient to click “Create portfolio”.

Portfolio example.PNG

At this point the user is prompted to introduce a portfolio name ad to click on “Process portfolio”. Processing requires a few seconds. Make sure to enable pop-ups.



Once a portfolio analysis has been requested, the system retrieves in real-time the values of the securities composing it and processes them. A Portfolio Complexity Map is displayed automatically. It is important to enable window pop ups in the browser.

The window contains various areas, indicated below.


Portfolio Complexity Maps are interactive and may be navigated by:

  • Positioning the mouse pointer over the nodes on the diagonal and clicking the left button. This indicates the stocks correlated with the one in question as shown in the map below.
  • Positioning the mouse pointer over the links joining any two stocks and clicking the left button. This displays the two-dimensional scatter plot in the plot display area.

An example of highlighting inter-dependencies in a portfolio map is illustrated below.

In the case in question the mouse pointer has been placed over the node in the map as indicated by the arrow.


Examples of scatter plots, reflecting the relationships between any two stocks, may be obtained by simply placing the mouse over a link (black off-diagonal) dots see below.


The two examples depict, respectively, a low generalized correlation (0.48) and a high one (0.79). In situations of high generalized correlation scatter plots tend to be more crisp while lower correlations correspond to more fuzzy (uncertain) situations.

Portfolio complexity and resilience measures are indicated in the lower right hand-side corner of the main window. An example is illustrated below.



The significance of the various entries is the following:

  • Current complexity: the actual portfolio complexity. The value ranges between minimum and critical complexity and is measured in cbits (complexity bits).
  • Critical complexity: maximum complexity which a given portfolio is able to reach. At this level of complexity the structure of the Portfolio Complexity Map becomes extremely fragile while the relationships (generalized correlations) between stocks become very low. The situation is dominated by chaos, stock dynamics are independent of each other, it is very difficult to make performance forecasts.
  • Minimum complexity: minimum complexity which a given portfolio is able to reach. At this level of complexity the structure of the Portfolio Complexity Map becomes very resilient and is characterised by high generalized correlations.
  • Resilience (Resistance to Shocks): capacity of the portfolio structure to resist shocks and extreme events. Value ranges from 0% to 100%.
  • Map Nodes: number of stocks in a portfolio.
  • Active Nodes: Number of stocks that are correlated to other stocks. The difference between “Nodes” and “Active Nodes” corresponds to the number of stocks which evolve independently of the others.
  • Rules: number of significant generalized correlations between stocks (i.e. links in the map).
  • Density: The density of the map ranges from 0 to 1. Values close to 0 correspond to a low degree of inter-dependency between stocks while values close to 1 reflect the presence of many correlations between stocks. In situations of high map density all stocks are tightly “locked” and evolve together. In this case, 66% points to a highly inter-dependent portfolio. This indicates that diversification is potentially not good.

In addition to the Portfolio Complexity Map and the complexity and resilience measures, the analysis system provides the so-called Portfolio Complexity Profile, which indicates, in percentage terms, how much each contributes to the complexity of the entire portfolio. To obtain a Complexity Profile click on CPicon.PNG

An example is illustrated below.



In the example above, the first three stocks contribute approximately 38% of the total complexity of the portfolio which is approximately 25 cbits. The skyline of the Complexity profile indicates that in the portfolio in question there exist stocks which “dominate” the portfolio in virtue of a larger footprint in terms of complexity. This means that the stocks at the top of the bar chart have a significantly larger number of inter-dependencies than the remaining ones. In other words, these stocks “drive” the dynamics of the portfolio and are the major contributors to overall portfolio volatility.

The information in the Complexity Profile is used to determine the size of the nodes in the Complexity Map so that the identification of the driving stocks is possible by simply glancing at the map. See example below.


In the above map there exist three stocks which have no inter-dependencies with other stocks. Their contribution to portfolio complexity is therefore negligible as may be verified by examining the Portfolio Complexity Profile. This means that their impact on the dynamics of the portfolio, as well as its resilience, is almost zero.


For more information see Complexity and Resilience Rating: New Paradigms in Finance, Economics and Sustainable Investment,  by Marczyk, J.  Edizioni del Faro., 2015.















Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s