top of page

ALL ETFs in Europe: Code Developed by ML Perspective Accomplishes Nearly 240% Annually and Beats Market by 10.000 Basic Points

*Remember that when an interactice chart is cited on the post, by clicking on it the source code will be shown, In order to visualize it on the right way, download the file as html and open it with your browser.*

The traditional method developed by Harry Markowitz bases its investment recommendation on an optimization between estimated return -mean- and risk -standard deviation-. As this post does not intend to give a lesson on this method, only results will be shown and briefly discussed as the code developed by ML Perspective also outputs this:

As indicated by the orange triangles, the highest Sharpe Ratio -6,06%- corresponds to the portfolio with mean 0.33% and std 3,93%, the components of this portfolio are as follows:

  • BRE.PA 3,19%.

  • XSMC.SW 0,09%.

  • LVC.PA 39,10%

  • DSB.PA 0,04%

  • AETF.AT 49,65%

  • 2INVE.MC 7,84%

Consequently, assuming the Pareto Rule thus focusing on LVC.PA and AETF.AT at a ratio of 4/5, the real return for a period of 46 days towards 18/12/2023 is as shown below:

Hence, applying the ratio 4/5, the earnings of a fictional investment of 1.000,00 USD yields 126,14 and 68,67 USD respectively, which records a return of 17,87% in 49 days or 240,42% annually. Therefore, what was the new contribution of the estimates code to attribute itself such return? Let's have a look at what it used to give its recommendations:

First data input is the Markov Chain itself labeled with key 'dfs', the 'last_price' is also needed, the bins' positive, negative and average components -following three keys-, and the 'mean' and 'sd' -standard deviation- based on an average expectation. To check details on how these last two features are calculated check the source code here.

After here, the keys: 'std_avg_dif', 'positive_estimate_array', and 'positive_final_estimates' -and similar-, are features calculated based on the prior ones, developers can check the source code, in the estimates code linked above, to check and/or modify them according to their believes. Consequently, all these features yield to the following data frame:

'Metric' is a measure of how spread are the final features calculated, the lower the value the better it is. However, base-features are not taken into account yet; hence, a graph helps to visually discard options as follows:

exxx, euea, sxxeex, imeu, xb4a, dbxd, spol, dx2g, el4b, exs2, exs3, smiex, c005, csmib, bel, isfa, vuke, bnk, bre, foo, xsmc, lybk, lyxib, slg-omxh25, bx4, bxx, lvc, dsb, btp10, shc, xsd2, suss, exx1, aetf, 3its, xbrmib, 3bal, veur, tdt, iese, uksr, obxd, bbvai, 2inve, ibexa, xact-bear-2, xact-bear, xacthdiv, xact-smabolag, xact-bull-2, xact-bull, xact-sverige, xact-obligation, etfs, most traded etfs, nyse, nasdaq, stock quotes, stock prices
Distribution of Base-Features Sorted by Metric

A red arrow indicates that the instance is underperforming either in the down or up side, a green one that it is overperforming, while pale coral and lightblue indicate that the performance is not significantly different from the median e.g. second, fifth, eight, etc. instances are underperformers; thus, not recommended for positive expectations.

The black crosses are just the Pareto Markov States nodes probability multiplied by the upper bin limits at the same positions. The logic of this metric is to evaluate how shrunk is the distribution of returns among the 20-80 nodes, the closer this result is to the positively predicted price the more accurate the latter one would be.

So, according to the graph and data frame LVC.PA is in the 14th place, but if the four underperformers are not taken into account, would be the tenth; therefore, how those first ten places performed compared to the real records? These are the results:

  1. EXS3.DE: Real 16,19%, Predicted [23,81%;23,85%]

  2. IBEXA.MC: Real 28,69%, Predicted [32,78%;39,03%]

  3. XB4A.DE: Real 13,50%, Predicted [16,67%;20,28%]

  4. EL4B.DE: Real 15,66%, Predicted [17,08;18,16%]

  5. VEUR.AS: Real 13,18%, Predicted [11,74%;16,25%]

  6. 3BAL.MI: Real 34,35%, Predicted [128,22%;132,07%]

  7. FOO.PA: Real 6,43%, Predicted [17,09%;17,44%]

  8. EXXX.DE: Real 13,61%, Predicted [17,55%;20,53%]

  9. BNK.PA: Real 10,17%, Predicted [18,38%;20,29%]

  10. LVC.PA: Real 26,25%, Predicted [19,92%;26,77%]

Consequently, if the same investor would have placed equally weighted sums of money on these ten recommendations, the real return would have been 17,80% in 49 days or 238,81% annually, very close to the return obtained with the Markowitz portfolio and nearly 100% over the market return.


bottom of page