1. Introduction
2. Exploratory analysis
3. Result of backtesting
This is an example of backtesting performance of a single-factor Strategy using the Bloomberg US 1000 constituents and their RepRisk Index (RRI). Backtesting allows us to evaluate the viability of a trading strategy using historical data that was collected based on a consistent, rules-based methodology (please note that backtesting is usually not possible for Business conduct risk due to broken time series).
The RepRisk Index (RRI) is a proprietary algorithm developed by RepRisk that dynamically captures and quantifies a company’s risk exposure to business conduct issues. Updated daily, the RRI gives accurate, dynamic information on Business conduct risks associated with a company. It provides meaningful insights into potential , and compliance risks such as human rights violations, poor working conditions, corruption, and environmental degradation associated with business activities. Read RepRisk’s full methodology.
The RRI ranges from zero (lowest risk) to 100 (highest risk). This analysis studies monthly investments for companies in the below categories, using the RRI at two days before ($t-2$) to ensure relevant information is reflected in the RRI, for portfolio construction:
The Bloomberg US 1000 Index is used as a benchmark for the analysis. We assume a transaction cost of 10 basis points (BPS).
The distribution of Business conduct risks in the Bloomberg US 1000 Index varies by sector. For example, companies in real estate tend to be less exposed to Business conduct risks than companies in the energy or consumer staples sectors:
import function_backtesting as fb
factor = fb.mygetfactor()
fb.plot_sector_distribution(factor)
fb.plot_number_of_constituents(factor)
Note: the Zero RRI (lowest risk) portfolio is further split into:
As the constituent breakdown evolves over time, the following chart indicates the changing sector makeup of each strategy (use the drop-down list to display a different strategy / portfolio).
returns, weights_olds, weights_news, turnovers, cumreturns = fb.run_backtest_quantiles(factor)
fb.plot_sector_percentage(weights_news)
The following backtest uses data from January 4, 2011 to December 31, 2021, equal weighting (EW), and trading costs of 10 BPS.
We visualize the result through the cumulative return of the portfolios, using a rebalance frequency of one month.
# display cumulative return
fb.plot_cumulative_return(cumreturns, fb.freq)
#display cumulative excess return
fb.plot_cumulative_excess_return(returns, fb.freq)
Cumulative excess returns, relative to the returns of the benchmark, provide a clearer picture of the performance of the five strategies over time.
Reviewing performance statistics in the summary table below, the Zero RRI groups outperform the Upper tercile portfolio over the given time period. The Lower tercile portfolio outperforms both the Upper tercile portfolio and the benchmark. The turnover ratio reflects the number of constituents that were replaced annually.
# create performance summary sheet
summary = fb.mycreate_summary(returns, turnovers)
summary.columns = fb.portfolio_names[fb.num_quantiles]
display(summary.iloc[:-2,:])
* This table is calculated with daily data
Copyright, User Agreement, and other general information related to this website
This website is for the use of RepRisk AG clients and the material on it may not be sold, reproduced, distributed, transmitted or disclosed, in whole or in part, in any form or manner, without the express written consent of RepRisk AG. The materials on this website are not publicly available materials. Any unauthorized use or disclosure is prohibited. Use of this website constitutes your agreement not to sell, reproduce, redistribute, retransmit, or disclose to others the contents, opinions, conclusions, or information contained on this website without first obtaining express permission from RepRisk AG.
Materials prepared by RepRisk AG research analysts are based on public information. Facts and views presented in this material have not been reviewed by, and may not reflect information known to professionals in other business areas of RepRisk AG.
To the extent this website discusses any legal proceeding or issues, it has not been prepared as nor is it intended to express any legal conclusion, opinion, or advice. Investors should consult their own legal advisors as to issues of law relating to the subject matter of this website. RepRisk AG research analysts’ knowledge of legal proceedings involving companies mentioned on this website is based on public information. Facts and views presented in this material that relate to any such proceedings have not been reviewed by, discussed with, and may not reflect information known to professionals in other business areas of RepRisk AG in connection with the legal proceedings or matters relevant to such proceedings.
The information herein (other than disclosed information relating to RepRisk AG) was obtained from various public sources. RepRisk AG does not guarantee its accuracy. This website may contain links to third-party websites. RepRisk AG is not responsible for the content of any third-party website or any linked content contained in a third-party website. Content contained on such third-party websites is not part of this website and is not incorporated by reference into this website. The inclusion of a link on this website does not imply the endorsement by or any affiliation with RepRisk AG. Access to any third-party website is at your own risk, and you should always review the terms and privacy policies at third-party websites before submitting any personal information to them. RepRisk AG is not responsible for such terms and privacy policies and expressly disclaims any liability for them.
Neither RepRisk AG nor any officer or employee of RepRisk AG accepts any liability whatsoever for any direct, indirect or consequential damages or losses arising from any use of this website or its contents.
The Information on this site is provided on a discretionary basis. RepRisk AG makes no warranty that access to the site will be error free or continuously available. It is possible that defects and errors occur. RepRisk AG reserves the right to discontinue operating this site or to restrict access at any time.
In no event, including (without limitation) negligence, will RepRisk AG be liable for any loss or damage of any kind, including (without limitation) any direct, indirect or consequential damages, even if expressly advised of the possibility of such damages, arising out of or in connection with the access of, use of or link to other sites from this Website.
Should the use of this website result in the creation of any relationship under the law between the user and RepRisk AG, any such relationship and any disputes arising in connection therewith will be subject to Swiss law, and the exclusive forum for any disputes will be Zurich, Switzerland.
This disclaimer is modified from time to time. Make sure that you check these terms every time you access this website.
© RepRisk AG