This is the code for our Master Thesis "A Comparative Study of Active Management in Norway and the US: Analysing Mutual Fund Performance and Fees" by by Lars Christian Wiig & Hjalmar Kristoffer Bjørgan. In this notebook we have divided our code into sections with a little introduction to each section. The code uses a excel file that is included.
# Imports
import pandas as pd
import seaborn as sns
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
import statsmodels.api as sm
from statsmodels.stats.diagnostic import het_white
from statsmodels.stats.diagnostic import acorr_breusch_godfrey
import datetime as dt
import warnings
warnings.filterwarnings('ignore')
pd.options.display.float_format = '{:.3f}'.format # To not get scientific notation
Norway = False # Use Norwegian Data else using US Data
level = 100 # Sign level -> set to 100 for using all results
# Change benchmark
change_benchmark = False
bench = 'MSCI_ETF' #If benchmark is changed
# Period
min_months = 12 # Need atleast this amount of months to be in the dataset
start_year = 2012 # Starting from this year
end_year = 2022 # Whole year
In this section, we prepared the dataset. Firstly, we imported the data from Excel, which was already imported from Eikon. Then, we structured the necessary dataframes required for conducting our analysis. Further, we removed funds and standardize the gross returns, net returns, expense ratio, and factors.
# Selecting country
if Norway:
sheet = 'NAV_NOR'
factor = 'FF+MOM-GLOBAL'
sheet_for_EXP_ratios = 'EXP_NOR'
currency = 'NOK'
else:
sheet = 'NAV_US'
factor = 'FF+MOM-GLOBAL'
sheet_for_EXP_ratios = 'EXP_US'
currency = 'USD'
if Norway:
var = 'Norway'
else:
var = 'USA'
# Importing excel files
NAV = pd.read_excel('fund_data.xlsx', sheet_name=sheet)
FF = pd.read_excel('fund_data.xlsx', sheet_name=factor)
exp = pd.read_excel('fund_data.xlsx', sheet_name=sheet_for_EXP_ratios)
FF['date'] = pd.to_datetime(FF['date'], format='%Y%m%d') #standarizing dates
# Setting dates as index
FF.set_index(FF['date'], inplace=True)
NAV.set_index(NAV['date'], inplace=True)
exp.set_index(exp['date'], inplace=True)
NAV.columns = list(map(lambda x: x.replace(' - TOT RETURN IND',''),NAV.columns))
exp.columns = list(map(lambda x: x.replace(' - TOT EXPENSE RATIO',''),exp.columns))
# Limit the columns to those that is being used
F = FF[['Mkt-RF','SMB','HML','MOM','RMW','CMA','RF']]
# Making a matrix for all results of Regressions
results = pd.DataFrame()
#results[['Name','Alpha','Mkt-RF','SMB','HML','MOM','EXP','ADJ_R_SQ']] = 0
results[['Name','Alpha','Mkt-RF','SMB','HML','MOM','RMW','CMA','EXP','ADJ_R_SQ']] = 0
results['Name'] = NAV.columns[1:]
results.set_index(NAV.columns[1:],inplace=True)
# The result matrices
res_CAPM_ = results[['Alpha','Mkt-RF','ADJ_R_SQ']]
res_FFC_ = results[['Alpha','Mkt-RF','SMB','HML','MOM','ADJ_R_SQ']]
res_FF3_ = results[['Alpha','Mkt-RF','SMB','HML','ADJ_R_SQ']]
res_FFC_EXP = results[['Alpha','Mkt-RF','SMB','HML','MOM','EXP','ADJ_R_SQ']]
res_FF5_ = results[['Alpha','Mkt-RF','SMB','HML','RMW','CMA','ADJ_R_SQ']]
# Used for EXP ratio storage
temp = res_FFC_EXP.copy(deep=True)
# Removing the date column since it is set as index
exp = exp.drop(['date'],axis=1)
NAV = NAV.drop(['date'],axis=1)
# Setting the start and end year of the data set as inputed above
NAV = NAV[str(start_year):str(end_year)]
exp = exp[str(start_year):str(end_year)]
F = F[str(start_year):str(end_year)]
# List of factors
CAPM = ['Mkt-RF']
FAMA3 = ['Mkt-RF','SMB','HML']
FAMAC = ['Mkt-RF','SMB','HML','MOM']
FAMA5 = ['Mkt-RF','SMB','HML','RMW','CMA',] #NOTE
# USD / NOK - > FX rate
FX_RATE = FF['USD/NOK']
# Mkt return (not excess, used for plotting) & IR
Mkt = FF['Mkt-RF']+FF['RF']
# Checking if Using nok, if we do we need to convert to USD
# since we wont make currency appreciation / depreciation impact our results
if currency == 'NOK':
NAV = NAV.mul(FX_RATE[str(start_year):str(end_year)],axis=0)
F
Mkt-RF | SMB | HML | MOM | RMW | CMA | RF | |
---|---|---|---|---|---|---|---|
date | |||||||
2012-01-31 | 0.056 | 0.021 | -0.008 | -0.068 | -0.020 | -0.010 | 0.000 |
2012-02-29 | 0.049 | -0.008 | -0.003 | -0.026 | -0.004 | -0.002 | 0.000 |
2012-03-30 | 0.012 | -0.004 | 0.000 | 0.036 | 0.005 | 0.012 | 0.000 |
2012-04-30 | -0.011 | 0.002 | -0.017 | 0.049 | 0.022 | -0.001 | 0.000 |
2012-05-31 | -0.089 | -0.005 | 0.001 | 0.062 | 0.021 | 0.018 | 0.000 |
... | ... | ... | ... | ... | ... | ... | ... |
2022-08-31 | -0.042 | 0.004 | 0.025 | 0.033 | -0.026 | 0.013 | 0.002 |
2022-09-30 | -0.095 | -0.017 | 0.019 | 0.034 | -0.012 | 0.012 | 0.002 |
2022-10-31 | 0.068 | -0.020 | 0.044 | 0.026 | 0.004 | 0.033 | 0.002 |
2022-11-30 | 0.072 | -0.002 | -0.003 | -0.019 | 0.022 | 0.010 | 0.003 |
2022-12-30 | -0.043 | 0.021 | 0.025 | 0.038 | -0.005 | 0.033 | 0.003 |
132 rows × 7 columns
# Change Benchmark from MSCI World Dev
if change_benchmark == True:
BENCH = FF[bench].dropna().pct_change(1).loc[str(start_year):str(end_year)].dropna()
F['Mkt-RF'] = BENCH
#F['bench'] = BENCH
F = F.dropna()
# This is a sorting function, it stores the fund that is feasible and remove those who is not
def sort():
EW_list = [] # Funds that has the right attributes get added to this list
EW_clean = [] # Check if fund also have Expense ratio
EW_final = [] # Checking if there is enough returns when we are looking at gross ret
for i in NAV.columns:
FF_FUND = F[['Mkt-RF','RF']].copy(deep=True)
ret = NAV[i].pct_change()
ret = ret.replace(0,np.NaN)
FF_FUND[i] = ret # returns
FF_FUND = FF_FUND.dropna() # Removing all zero returns
FF_FUND = FF_FUND.loc[str(start_year):str(end_year)]
if len(FF_FUND) <= min_months: # Remove fund with less than 'min_months' months
continue
if 'IND' in i: # Remove index funds
continue
EW_list.append(i) # Adding those funds that made it throght to this list
for i in exp.columns:
if '#ERROR' in i or i not in EW_list:
continue
else:
EW_clean.append(i)
for i in EW_clean:
ret = NAV[i].pct_change()
ret = ret.replace(0,np.NaN)
ret = ret*exp[i]/exp[i]
exp[i] = ret * exp[i]/ret
GROSS = ret+((exp[i]/100/12))
GROSS = GROSS.dropna()
if len(GROSS) <= min_months: # Remove fund with less than 'min_months' months
continue
EW_final.append(i)
EW_list = EW_final
return EW_list
EW_list = sort() # Funds that has the right attributes get added to this list
print(f'''There are {len(EW_list)} of {len(NAV.columns)} funds that has atleast {min_months} gross returns from {start_year} to {end_year}''')
There are 251 of 284 funds that has atleast 12 gross returns from 2012 to 2022
# Only using feaseble data
exp = exp[EW_list]
NAV = NAV[EW_list]
ret = NAV.pct_change() # Making return from NAV
ret = ret.replace(0,np.NaN) # Setting 0 as NAN since 0 in return means that the fund is dead
ret = (exp * ret) / exp # Stadarizing for matching with Expense ratio
ret
1290 GLOBAL TALENTS FUND A | 1290 SMART BETA EQUITY FUND I | AB GLOBAL CORE EQUITY PORTFOLIO ADV | AB SUSTAINABLE GLOBAL THEMATIC FUND A | AGF GLOBAL EQUITY FUND I DEAD - Liquidated | AGF GLOBAL SUSTAINABLE EQUITY FUND I | AMG TRILOGY GLOBAL EQUITY FUND I | AQR GLOBAL EQ.FD.CL.I | ARTIO SELECT OPPS.FD. INCO.CL.A | ADLER VALUE FUND INSTITUTIONAL | ... | WASATCH GLOBAL VALUE FUND INVESTOR | WELLS FARGO INTRINSIC WORLD EQTY FD A | WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. | WILLIAM BLAIR GLOBAL LEADERS FD.CL.I | WINTERGREEN FD. DEAD - Liquidated | WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | WORLD SELECT EQUITY FUND A | YORKTOWN CAPITAL APPRECIATION FUND A | ABRDN EMERGING MARKETS EX-CHINA FUND A | ABRDN GLOBAL EQUITY IMPACT FUND A | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | |||||||||||||||||||||
2012-01-31 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2012-02-29 | NaN | NaN | NaN | 0.052 | NaN | NaN | 0.053 | 0.056 | 0.050 | NaN | ... | 0.033 | 0.053 | NaN | 0.063 | 0.027 | NaN | NaN | 0.025 | 0.040 | 0.053 |
2012-03-30 | NaN | NaN | NaN | -0.003 | NaN | NaN | 0.010 | 0.010 | 0.015 | NaN | ... | 0.011 | 0.021 | NaN | 0.029 | -0.011 | NaN | NaN | 0.007 | 0.013 | -0.010 |
2012-04-30 | NaN | NaN | NaN | -0.027 | NaN | NaN | -0.024 | -0.024 | -0.011 | NaN | ... | -0.010 | 0.001 | NaN | 0.012 | 0.006 | NaN | NaN | -0.003 | -0.005 | -0.002 |
2012-05-31 | NaN | NaN | NaN | -0.122 | NaN | NaN | -0.092 | -0.092 | -0.095 | NaN | ... | -0.068 | -0.091 | NaN | -0.091 | -0.065 | NaN | NaN | -0.064 | -0.091 | -0.107 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2022-08-31 | NaN | -0.040 | -0.047 | -0.065 | NaN | -0.050 | NaN | -0.031 | NaN | -0.025 | ... | -0.027 | NaN | NaN | -0.065 | NaN | NaN | -0.035 | -0.045 | -0.009 | -0.057 |
2022-09-30 | NaN | -0.082 | -0.101 | -0.104 | NaN | -0.093 | NaN | -0.098 | NaN | -0.078 | ... | -0.083 | NaN | NaN | -0.109 | NaN | NaN | -0.090 | -0.108 | -0.090 | -0.113 |
2022-10-31 | NaN | 0.078 | 0.049 | 0.050 | NaN | 0.067 | NaN | 0.090 | NaN | 0.127 | ... | 0.087 | NaN | NaN | 0.058 | NaN | NaN | 0.087 | 0.021 | 0.060 | 0.109 |
2022-11-30 | NaN | 0.073 | 0.107 | 0.099 | NaN | 0.066 | NaN | 0.066 | NaN | 0.037 | ... | 0.094 | NaN | NaN | 0.093 | NaN | NaN | 0.084 | -0.024 | 0.085 | 0.121 |
2022-12-30 | NaN | -0.053 | -0.075 | -0.067 | NaN | -0.078 | NaN | -0.087 | NaN | -0.106 | ... | -0.074 | NaN | NaN | -0.067 | NaN | NaN | -0.122 | -0.086 | -0.266 | -0.078 |
132 rows × 251 columns
exp = (exp * ret) / ret # Stadarizing for matching
exp
1290 GLOBAL TALENTS FUND A | 1290 SMART BETA EQUITY FUND I | AB GLOBAL CORE EQUITY PORTFOLIO ADV | AB SUSTAINABLE GLOBAL THEMATIC FUND A | AGF GLOBAL EQUITY FUND I DEAD - Liquidated | AGF GLOBAL SUSTAINABLE EQUITY FUND I | AMG TRILOGY GLOBAL EQUITY FUND I | AQR GLOBAL EQ.FD.CL.I | ARTIO SELECT OPPS.FD. INCO.CL.A | ADLER VALUE FUND INSTITUTIONAL | ... | WASATCH GLOBAL VALUE FUND INVESTOR | WELLS FARGO INTRINSIC WORLD EQTY FD A | WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. | WILLIAM BLAIR GLOBAL LEADERS FD.CL.I | WINTERGREEN FD. DEAD - Liquidated | WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | WORLD SELECT EQUITY FUND A | YORKTOWN CAPITAL APPRECIATION FUND A | ABRDN EMERGING MARKETS EX-CHINA FUND A | ABRDN GLOBAL EQUITY IMPACT FUND A | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | |||||||||||||||||||||
2012-01-31 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2012-02-29 | NaN | NaN | NaN | 1.500 | NaN | NaN | 1.210 | 0.950 | 1.400 | NaN | ... | 1.100 | 1.400 | NaN | 1.250 | 1.860 | NaN | NaN | 1.920 | 1.610 | 1.280 |
2012-03-30 | NaN | NaN | NaN | 1.500 | NaN | NaN | 1.210 | 0.950 | 1.400 | NaN | ... | 1.100 | 1.400 | NaN | 1.250 | 1.860 | NaN | NaN | 1.920 | 1.610 | 1.280 |
2012-04-30 | NaN | NaN | NaN | 1.500 | NaN | NaN | 1.210 | 0.950 | 1.400 | NaN | ... | 1.100 | 1.400 | NaN | 1.250 | 1.860 | NaN | NaN | 1.920 | 1.610 | 1.280 |
2012-05-31 | NaN | NaN | NaN | 1.500 | NaN | NaN | 1.210 | 0.950 | 1.400 | NaN | ... | 1.100 | 1.400 | NaN | 1.250 | 1.860 | NaN | NaN | 1.920 | 1.610 | 1.280 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2022-08-31 | NaN | 0.850 | 0.790 | 1.020 | NaN | 0.800 | NaN | 0.800 | NaN | 1.250 | ... | 1.100 | NaN | NaN | 0.900 | NaN | NaN | 0.350 | 1.260 | 1.530 | 1.380 |
2022-09-30 | NaN | 0.850 | 0.790 | 1.020 | NaN | 0.800 | NaN | 0.800 | NaN | 1.250 | ... | 1.100 | NaN | NaN | 0.900 | NaN | NaN | 0.350 | 1.260 | 1.530 | 1.380 |
2022-10-31 | NaN | 0.850 | 0.790 | 1.020 | NaN | 0.800 | NaN | 0.800 | NaN | 1.250 | ... | 1.100 | NaN | NaN | 0.900 | NaN | NaN | 0.350 | 1.260 | 1.480 | 1.170 |
2022-11-30 | NaN | 0.850 | 0.790 | 1.020 | NaN | 0.800 | NaN | 0.800 | NaN | 1.250 | ... | 1.100 | NaN | NaN | 0.900 | NaN | NaN | 0.350 | 1.260 | 1.480 | 1.170 |
2022-12-30 | NaN | 0.850 | 0.790 | 1.020 | NaN | 0.800 | NaN | 0.800 | NaN | 1.250 | ... | 1.100 | NaN | NaN | 0.900 | NaN | NaN | 0.350 | 1.260 | 1.480 | 1.170 |
132 rows × 251 columns
GROSS = ret+((exp/100/12)) # Gross
GROSS = (GROSS * exp) / exp # Stadarizing for matching
GROSS
1290 GLOBAL TALENTS FUND A | 1290 SMART BETA EQUITY FUND I | AB GLOBAL CORE EQUITY PORTFOLIO ADV | AB SUSTAINABLE GLOBAL THEMATIC FUND A | AGF GLOBAL EQUITY FUND I DEAD - Liquidated | AGF GLOBAL SUSTAINABLE EQUITY FUND I | AMG TRILOGY GLOBAL EQUITY FUND I | AQR GLOBAL EQ.FD.CL.I | ARTIO SELECT OPPS.FD. INCO.CL.A | ADLER VALUE FUND INSTITUTIONAL | ... | WASATCH GLOBAL VALUE FUND INVESTOR | WELLS FARGO INTRINSIC WORLD EQTY FD A | WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. | WILLIAM BLAIR GLOBAL LEADERS FD.CL.I | WINTERGREEN FD. DEAD - Liquidated | WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | WORLD SELECT EQUITY FUND A | YORKTOWN CAPITAL APPRECIATION FUND A | ABRDN EMERGING MARKETS EX-CHINA FUND A | ABRDN GLOBAL EQUITY IMPACT FUND A | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | |||||||||||||||||||||
2012-01-31 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2012-02-29 | NaN | NaN | NaN | 0.053 | NaN | NaN | 0.054 | 0.056 | 0.051 | NaN | ... | 0.034 | 0.054 | NaN | 0.064 | 0.029 | NaN | NaN | 0.027 | 0.042 | 0.054 |
2012-03-30 | NaN | NaN | NaN | -0.002 | NaN | NaN | 0.011 | 0.011 | 0.016 | NaN | ... | 0.012 | 0.022 | NaN | 0.030 | -0.009 | NaN | NaN | 0.008 | 0.014 | -0.009 |
2012-04-30 | NaN | NaN | NaN | -0.026 | NaN | NaN | -0.023 | -0.023 | -0.009 | NaN | ... | -0.010 | 0.002 | NaN | 0.013 | 0.008 | NaN | NaN | -0.002 | -0.004 | -0.001 |
2012-05-31 | NaN | NaN | NaN | -0.120 | NaN | NaN | -0.091 | -0.091 | -0.094 | NaN | ... | -0.067 | -0.089 | NaN | -0.090 | -0.064 | NaN | NaN | -0.063 | -0.089 | -0.106 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2022-08-31 | NaN | -0.039 | -0.047 | -0.064 | NaN | -0.050 | NaN | -0.031 | NaN | -0.024 | ... | -0.026 | NaN | NaN | -0.064 | NaN | NaN | -0.035 | -0.044 | -0.007 | -0.056 |
2022-09-30 | NaN | -0.082 | -0.101 | -0.103 | NaN | -0.093 | NaN | -0.097 | NaN | -0.076 | ... | -0.082 | NaN | NaN | -0.109 | NaN | NaN | -0.090 | -0.107 | -0.088 | -0.112 |
2022-10-31 | NaN | 0.079 | 0.049 | 0.051 | NaN | 0.067 | NaN | 0.091 | NaN | 0.128 | ... | 0.088 | NaN | NaN | 0.059 | NaN | NaN | 0.087 | 0.022 | 0.061 | 0.110 |
2022-11-30 | NaN | 0.074 | 0.107 | 0.100 | NaN | 0.067 | NaN | 0.067 | NaN | 0.038 | ... | 0.095 | NaN | NaN | 0.094 | NaN | NaN | 0.084 | -0.023 | 0.086 | 0.122 |
2022-12-30 | NaN | -0.052 | -0.075 | -0.066 | NaN | -0.077 | NaN | -0.087 | NaN | -0.104 | ... | -0.073 | NaN | NaN | -0.066 | NaN | NaN | -0.122 | -0.085 | -0.265 | -0.077 |
132 rows × 251 columns
NAV = (NAV * exp) / exp # Stadarizing for matching with Expense ratio
NAV
1290 GLOBAL TALENTS FUND A | 1290 SMART BETA EQUITY FUND I | AB GLOBAL CORE EQUITY PORTFOLIO ADV | AB SUSTAINABLE GLOBAL THEMATIC FUND A | AGF GLOBAL EQUITY FUND I DEAD - Liquidated | AGF GLOBAL SUSTAINABLE EQUITY FUND I | AMG TRILOGY GLOBAL EQUITY FUND I | AQR GLOBAL EQ.FD.CL.I | ARTIO SELECT OPPS.FD. INCO.CL.A | ADLER VALUE FUND INSTITUTIONAL | ... | WASATCH GLOBAL VALUE FUND INVESTOR | WELLS FARGO INTRINSIC WORLD EQTY FD A | WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. | WILLIAM BLAIR GLOBAL LEADERS FD.CL.I | WINTERGREEN FD. DEAD - Liquidated | WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | WORLD SELECT EQUITY FUND A | YORKTOWN CAPITAL APPRECIATION FUND A | ABRDN EMERGING MARKETS EX-CHINA FUND A | ABRDN GLOBAL EQUITY IMPACT FUND A | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | |||||||||||||||||||||
2012-01-31 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2012-02-29 | NaN | NaN | NaN | 68.190 | NaN | NaN | 9.960 | 11.030 | 36.460 | NaN | ... | 14.200 | 17.410 | NaN | 9.080 | 14.800 | NaN | NaN | 37.720 | 11.830 | 10.740 |
2012-03-30 | NaN | NaN | NaN | 67.980 | NaN | NaN | 10.060 | 11.140 | 36.990 | NaN | ... | 14.360 | 17.780 | NaN | 9.340 | 14.640 | NaN | NaN | 37.970 | 11.980 | 10.630 |
2012-04-30 | NaN | NaN | NaN | 66.160 | NaN | NaN | 9.820 | 10.870 | 36.600 | NaN | ... | 14.210 | 17.790 | NaN | 9.450 | 14.730 | NaN | NaN | 37.840 | 11.920 | 10.610 |
2012-05-31 | NaN | NaN | NaN | 58.120 | NaN | NaN | 8.920 | 9.870 | 33.130 | NaN | ... | 13.250 | 16.180 | NaN | 8.590 | 13.770 | NaN | NaN | 35.400 | 10.840 | 9.470 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2022-08-31 | NaN | 14.340 | 13.730 | 130.260 | NaN | 14.239 | NaN | 8.610 | NaN | 24.890 | ... | 8.720 | NaN | NaN | 13.890 | NaN | NaN | 10.410 | 22.970 | 12.830 | 13.400 |
2022-09-30 | NaN | 13.160 | 12.340 | 116.750 | NaN | 12.911 | NaN | 7.770 | NaN | 22.960 | ... | 8.000 | NaN | NaN | 12.370 | NaN | NaN | 9.470 | 20.480 | 11.680 | 11.880 |
2022-10-31 | NaN | 14.190 | 12.940 | 122.600 | NaN | 13.771 | NaN | 8.470 | NaN | 25.870 | ... | 8.700 | NaN | NaN | 13.090 | NaN | NaN | 10.290 | 20.910 | 12.380 | 13.170 |
2022-11-30 | NaN | 15.230 | 14.320 | 134.740 | NaN | 14.687 | NaN | 9.030 | NaN | 26.820 | ... | 9.520 | NaN | NaN | 14.310 | NaN | NaN | 11.150 | 20.400 | 13.430 | 14.770 |
2022-12-30 | NaN | 14.430 | 13.240 | 125.720 | NaN | 13.545 | NaN | 8.240 | NaN | 23.990 | ... | 8.820 | NaN | NaN | 13.350 | NaN | NaN | 9.790 | 18.640 | 9.860 | 13.620 |
132 rows × 251 columns
In this section, we conducted some summary statistics. We looked at the exchange rate, the factors, and different statistics from the dataset over the period.
(1/FF['USD/NOK'].loc[str(start_year):str(end_year)]).plot()
plt.title(label='USDNOK')
Text(0.5, 1.0, 'USDNOK')
# plotting Fama french factors
(1+F).cumprod().plot()
plt.title('Fama-French Factors')
plt.show()
F.corr()
Mkt-RF | SMB | HML | MOM | RMW | CMA | RF | |
---|---|---|---|---|---|---|---|
Mkt-RF | 1.000 | 0.132 | -0.029 | -0.392 | -0.014 | -0.277 | -0.123 |
SMB | 0.132 | 1.000 | -0.099 | -0.035 | -0.289 | -0.227 | -0.125 |
HML | -0.029 | -0.099 | 1.000 | -0.462 | -0.540 | 0.792 | -0.075 |
MOM | -0.392 | -0.035 | -0.462 | 1.000 | 0.294 | -0.096 | 0.057 |
RMW | -0.014 | -0.289 | -0.540 | 0.294 | 1.000 | -0.276 | 0.018 |
CMA | -0.277 | -0.227 | 0.792 | -0.096 | -0.276 | 1.000 | -0.009 |
RF | -0.123 | -0.125 | -0.075 | 0.057 | 0.018 | -0.009 | 1.000 |
F.describe()
Mkt-RF | SMB | HML | MOM | RMW | CMA | RF | |
---|---|---|---|---|---|---|---|
count | 132.000 | 132.000 | 132.000 | 132.000 | 132.000 | 132.000 | 132.000 |
mean | 0.008 | -0.002 | -0.000 | 0.005 | 0.003 | 0.001 | 0.001 |
std | 0.042 | 0.015 | 0.027 | 0.028 | 0.013 | 0.017 | 0.001 |
min | -0.138 | -0.042 | -0.092 | -0.109 | -0.029 | -0.054 | 0.000 |
25% | -0.015 | -0.011 | -0.017 | -0.013 | -0.006 | -0.009 | 0.000 |
50% | 0.013 | -0.002 | -0.003 | 0.006 | 0.004 | -0.002 | 0.000 |
75% | 0.029 | 0.009 | 0.012 | 0.024 | 0.011 | 0.008 | 0.001 |
max | 0.133 | 0.033 | 0.120 | 0.067 | 0.046 | 0.081 | 0.003 |
F.skew()
Mkt-RF -0.518 SMB -0.058 HML 0.631 MOM -0.551 RMW 0.100 CMA 1.138 RF 1.416 dtype: float64
F.kurtosis()
Mkt-RF 1.301 SMB -0.280 HML 3.090 MOM 1.416 RMW 0.582 CMA 4.746 RF 1.113 dtype: float64
NAV
1290 GLOBAL TALENTS FUND A | 1290 SMART BETA EQUITY FUND I | AB GLOBAL CORE EQUITY PORTFOLIO ADV | AB SUSTAINABLE GLOBAL THEMATIC FUND A | AGF GLOBAL EQUITY FUND I DEAD - Liquidated | AGF GLOBAL SUSTAINABLE EQUITY FUND I | AMG TRILOGY GLOBAL EQUITY FUND I | AQR GLOBAL EQ.FD.CL.I | ARTIO SELECT OPPS.FD. INCO.CL.A | ADLER VALUE FUND INSTITUTIONAL | ... | WASATCH GLOBAL VALUE FUND INVESTOR | WELLS FARGO INTRINSIC WORLD EQTY FD A | WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. | WILLIAM BLAIR GLOBAL LEADERS FD.CL.I | WINTERGREEN FD. DEAD - Liquidated | WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | WORLD SELECT EQUITY FUND A | YORKTOWN CAPITAL APPRECIATION FUND A | ABRDN EMERGING MARKETS EX-CHINA FUND A | ABRDN GLOBAL EQUITY IMPACT FUND A | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | |||||||||||||||||||||
2012-01-31 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2012-02-29 | NaN | NaN | NaN | 68.190 | NaN | NaN | 9.960 | 11.030 | 36.460 | NaN | ... | 14.200 | 17.410 | NaN | 9.080 | 14.800 | NaN | NaN | 37.720 | 11.830 | 10.740 |
2012-03-30 | NaN | NaN | NaN | 67.980 | NaN | NaN | 10.060 | 11.140 | 36.990 | NaN | ... | 14.360 | 17.780 | NaN | 9.340 | 14.640 | NaN | NaN | 37.970 | 11.980 | 10.630 |
2012-04-30 | NaN | NaN | NaN | 66.160 | NaN | NaN | 9.820 | 10.870 | 36.600 | NaN | ... | 14.210 | 17.790 | NaN | 9.450 | 14.730 | NaN | NaN | 37.840 | 11.920 | 10.610 |
2012-05-31 | NaN | NaN | NaN | 58.120 | NaN | NaN | 8.920 | 9.870 | 33.130 | NaN | ... | 13.250 | 16.180 | NaN | 8.590 | 13.770 | NaN | NaN | 35.400 | 10.840 | 9.470 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2022-08-31 | NaN | 14.340 | 13.730 | 130.260 | NaN | 14.239 | NaN | 8.610 | NaN | 24.890 | ... | 8.720 | NaN | NaN | 13.890 | NaN | NaN | 10.410 | 22.970 | 12.830 | 13.400 |
2022-09-30 | NaN | 13.160 | 12.340 | 116.750 | NaN | 12.911 | NaN | 7.770 | NaN | 22.960 | ... | 8.000 | NaN | NaN | 12.370 | NaN | NaN | 9.470 | 20.480 | 11.680 | 11.880 |
2022-10-31 | NaN | 14.190 | 12.940 | 122.600 | NaN | 13.771 | NaN | 8.470 | NaN | 25.870 | ... | 8.700 | NaN | NaN | 13.090 | NaN | NaN | 10.290 | 20.910 | 12.380 | 13.170 |
2022-11-30 | NaN | 15.230 | 14.320 | 134.740 | NaN | 14.687 | NaN | 9.030 | NaN | 26.820 | ... | 9.520 | NaN | NaN | 14.310 | NaN | NaN | 11.150 | 20.400 | 13.430 | 14.770 |
2022-12-30 | NaN | 14.430 | 13.240 | 125.720 | NaN | 13.545 | NaN | 8.240 | NaN | 23.990 | ... | 8.820 | NaN | NaN | 13.350 | NaN | NaN | 9.790 | 18.640 | 9.860 | 13.620 |
132 rows × 251 columns
ret.mean(axis=1).describe()
count 131.000 mean 0.003 std 0.043 min -0.138 25% -0.019 50% 0.008 75% 0.025 max 0.118 dtype: float64
ret.mean(axis=1).skew()
-0.5819794647067005
ret.mean(axis=1).kurtosis()
1.2208766609933646
ret.shape[0] * ret.shape[1]
33132
ret.corr()
1290 GLOBAL TALENTS FUND A | 1290 SMART BETA EQUITY FUND I | AB GLOBAL CORE EQUITY PORTFOLIO ADV | AB SUSTAINABLE GLOBAL THEMATIC FUND A | AGF GLOBAL EQUITY FUND I DEAD - Liquidated | AGF GLOBAL SUSTAINABLE EQUITY FUND I | AMG TRILOGY GLOBAL EQUITY FUND I | AQR GLOBAL EQ.FD.CL.I | ARTIO SELECT OPPS.FD. INCO.CL.A | ADLER VALUE FUND INSTITUTIONAL | ... | WASATCH GLOBAL VALUE FUND INVESTOR | WELLS FARGO INTRINSIC WORLD EQTY FD A | WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. | WILLIAM BLAIR GLOBAL LEADERS FD.CL.I | WINTERGREEN FD. DEAD - Liquidated | WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | WORLD SELECT EQUITY FUND A | YORKTOWN CAPITAL APPRECIATION FUND A | ABRDN EMERGING MARKETS EX-CHINA FUND A | ABRDN GLOBAL EQUITY IMPACT FUND A | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1290 GLOBAL TALENTS FUND A | 1.000 | 0.621 | 0.634 | 0.598 | 0.969 | 0.570 | -0.130 | 0.662 | NaN | 0.522 | ... | 0.581 | 0.639 | 0.190 | 0.639 | 0.399 | 0.255 | 0.662 | 0.531 | 0.631 | 0.576 |
1290 SMART BETA EQUITY FUND I | 0.621 | 1.000 | 0.948 | 0.905 | 0.931 | 0.916 | 0.343 | 0.929 | NaN | 0.862 | ... | 0.847 | 0.528 | 0.209 | 0.932 | 0.525 | 0.719 | 0.944 | 0.849 | 0.877 | 0.917 |
AB GLOBAL CORE EQUITY PORTFOLIO ADV | 0.634 | 0.948 | 1.000 | 0.876 | 0.964 | 0.893 | 0.345 | 0.926 | NaN | 0.871 | ... | 0.860 | 0.516 | 0.880 | 0.910 | 0.445 | 0.823 | 0.950 | 0.804 | 0.880 | 0.905 |
AB SUSTAINABLE GLOBAL THEMATIC FUND A | 0.598 | 0.905 | 0.876 | 1.000 | 0.954 | 0.943 | 0.443 | 0.671 | 0.832 | 0.746 | ... | 0.560 | 0.525 | 0.371 | 0.923 | 0.473 | 0.605 | 0.862 | 0.779 | 0.826 | 0.855 |
AGF GLOBAL EQUITY FUND I DEAD - Liquidated | 0.969 | 0.931 | 0.964 | 0.954 | 1.000 | 0.927 | NaN | 0.954 | NaN | -0.067 | ... | 0.817 | 0.884 | -0.235 | 0.920 | 0.438 | NaN | 0.924 | 0.692 | 0.932 | 0.935 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | 0.255 | 0.719 | 0.823 | 0.605 | NaN | NaN | 0.723 | 0.627 | NaN | NaN | ... | 0.694 | 0.644 | 0.745 | 0.737 | 0.389 | 1.000 | NaN | 0.772 | 0.620 | 0.562 |
WORLD SELECT EQUITY FUND A | 0.662 | 0.944 | 0.950 | 0.862 | 0.924 | 0.847 | NaN | 0.975 | NaN | 0.934 | ... | 0.937 | 0.495 | 0.441 | 0.894 | 0.520 | NaN | 1.000 | 0.803 | 0.901 | 0.870 |
YORKTOWN CAPITAL APPRECIATION FUND A | 0.531 | 0.849 | 0.804 | 0.779 | 0.692 | 0.820 | 0.484 | 0.640 | 0.873 | 0.741 | ... | 0.650 | 0.554 | 0.293 | 0.855 | 0.680 | 0.772 | 0.803 | 1.000 | 0.811 | 0.745 |
ABRDN EMERGING MARKETS EX-CHINA FUND A | 0.631 | 0.877 | 0.880 | 0.826 | 0.932 | 0.849 | 0.485 | 0.693 | 0.927 | 0.800 | ... | 0.660 | 0.547 | 0.339 | 0.833 | 0.608 | 0.620 | 0.901 | 0.811 | 1.000 | 0.858 |
ABRDN GLOBAL EQUITY IMPACT FUND A | 0.576 | 0.917 | 0.905 | 0.855 | 0.935 | 0.934 | 0.516 | 0.704 | 0.943 | 0.809 | ... | 0.675 | 0.535 | 0.357 | 0.843 | 0.467 | 0.562 | 0.870 | 0.745 | 0.858 | 1.000 |
251 rows × 251 columns
ret.describe()
1290 GLOBAL TALENTS FUND A | 1290 SMART BETA EQUITY FUND I | AB GLOBAL CORE EQUITY PORTFOLIO ADV | AB SUSTAINABLE GLOBAL THEMATIC FUND A | AGF GLOBAL EQUITY FUND I DEAD - Liquidated | AGF GLOBAL SUSTAINABLE EQUITY FUND I | AMG TRILOGY GLOBAL EQUITY FUND I | AQR GLOBAL EQ.FD.CL.I | ARTIO SELECT OPPS.FD. INCO.CL.A | ADLER VALUE FUND INSTITUTIONAL | ... | WASATCH GLOBAL VALUE FUND INVESTOR | WELLS FARGO INTRINSIC WORLD EQTY FD A | WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. | WILLIAM BLAIR GLOBAL LEADERS FD.CL.I | WINTERGREEN FD. DEAD - Liquidated | WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | WORLD SELECT EQUITY FUND A | YORKTOWN CAPITAL APPRECIATION FUND A | ABRDN EMERGING MARKETS EX-CHINA FUND A | ABRDN GLOBAL EQUITY IMPACT FUND A | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 44.000 | 87.000 | 89.000 | 131.000 | 16.000 | 55.000 | 66.000 | 128.000 | 37.000 | 42.000 | ... | 131.000 | 111.000 | 59.000 | 128.000 | 87.000 | 18.000 | 55.000 | 129.000 | 130.000 | 130.000 |
mean | 0.001 | 0.006 | 0.004 | 0.006 | -0.003 | 0.007 | -0.002 | 0.000 | 0.004 | 0.007 | ... | -0.001 | 0.001 | -0.005 | 0.005 | -0.007 | 0.001 | -0.001 | -0.004 | 0.000 | 0.003 |
std | 0.062 | 0.041 | 0.047 | 0.050 | 0.049 | 0.062 | 0.061 | 0.058 | 0.034 | 0.071 | ... | 0.060 | 0.069 | 0.075 | 0.052 | 0.058 | 0.042 | 0.063 | 0.047 | 0.049 | 0.048 |
min | -0.246 | -0.117 | -0.133 | -0.134 | -0.096 | -0.139 | -0.367 | -0.385 | -0.095 | -0.208 | ... | -0.307 | -0.513 | -0.531 | -0.216 | -0.323 | -0.086 | -0.177 | -0.264 | -0.266 | -0.142 |
25% | -0.009 | -0.017 | -0.023 | -0.019 | -0.026 | -0.020 | -0.015 | -0.023 | -0.011 | -0.022 | ... | -0.016 | -0.018 | -0.012 | -0.019 | -0.017 | -0.021 | -0.034 | -0.022 | -0.019 | -0.019 |
50% | 0.012 | 0.010 | 0.009 | 0.011 | 0.002 | 0.012 | 0.007 | 0.009 | 0.010 | 0.007 | ... | 0.009 | 0.013 | 0.002 | 0.011 | 0.005 | 0.007 | 0.006 | 0.007 | 0.009 | 0.003 |
75% | 0.031 | 0.029 | 0.030 | 0.035 | 0.029 | 0.049 | 0.027 | 0.028 | 0.025 | 0.036 | ... | 0.027 | 0.029 | 0.022 | 0.030 | 0.021 | 0.017 | 0.035 | 0.021 | 0.029 | 0.032 |
max | 0.120 | 0.097 | 0.118 | 0.135 | 0.081 | 0.133 | 0.087 | 0.119 | 0.056 | 0.210 | ... | 0.184 | 0.141 | 0.072 | 0.125 | 0.094 | 0.066 | 0.150 | 0.098 | 0.110 | 0.126 |
8 rows × 251 columns
In this section, we performed different individual regressions for the funds. Before and after fees. We performed:
def signif(x):
if x < 0.01:
return '***'
elif (x > 0.01) and (x < 0.05):
return '**'
elif (x > 0.05) and (x < 0.10):
return '*'
else:
return ''
# This function takes a pre-set dataframe, factors, dataframe with returns and
# Perform a Regression with the factors on every fund in the return dataframe
# The results get stored in the pre-set dataframe
# We also Added the option to print and to use robust std
def factor(dataframe1, factors, returns, prints=False, h=False, test_kit=False, show_sign=False,level=level):
dataframe = dataframe1.copy(deep=True)
if test_kit:
fund_test = pd.DataFrame()
fund_test.index = returns.columns
fund_test['White'] = np.NaN
fund_test['BG'] = np.NaN
fund_test['JB'] = np.NaN
for i in returns.columns:
FF_FUND = F[factors].copy(deep=True)
FF_FUND['RF'] = F['RF'].copy(deep=True)
FF_FUND[i] = returns[i] # returns
FF_FUND = FF_FUND.dropna() # Removing all
X = FF_FUND[factors]
Y = FF_FUND[i]-FF_FUND['RF']
if len(X) < 3: # Build in to have at least 3 returns in set (used for yearly reg, since else we cannot use OLS)
continue
X_sm = sm.add_constant(X)
model = sm.OLS(Y,X_sm)
if h:
results_reg = model.fit(cov_type='HAC', cov_kwds={'maxlags': 1})
else:
results_reg = model.fit()
if prints:
print(results_reg.summary())
if test_kit:
fund_test.loc[i] = tester(results_reg,save=True,reg_mode=True)
# Checking if Alpha is significant
if show_sign == True:
dataframe.at[i,'Alpha'] = str(round(results_reg.params[0],4)) + signif(results_reg.pvalues[0])
for ind,facto in enumerate(factors):
dataframe.at[i,facto] = str(round(results_reg.params[ind+1],4)) + signif(results_reg.pvalues[ind+1])
dataframe.at[i,'ADJ_R_SQ'] = results_reg.rsquared_adj
continue
if results_reg.pvalues[0] > level:
dataframe.loc[i]['Alpha'] = 0
else:
dataframe.loc[i]['Alpha'] = results_reg.params[0]
for ind,facto in enumerate(factors):
dataframe.loc[i][facto] = results_reg.params[ind+1]
dataframe.loc[i]['ADJ_R_SQ'] = results_reg.rsquared_adj
if test_kit:
return fund_test
return dataframe.dropna()
res_CAPM = factor(res_CAPM_,CAPM,ret,h=True)
res_CAPM_GROSS = factor(res_CAPM_,CAPM,GROSS,h=True)
res_CAPM_level = factor(res_CAPM_,CAPM,ret,h=True,level=0.1)
res_CAPM_GROSS_level = factor(res_CAPM_,CAPM,GROSS,h=True,level=0.1)
print(f'''There are {len(res_CAPM)} individual funds, from these {len(res_CAPM[res_CAPM['Alpha'] > 0])} generated positive alpha if we looking
at after fee numbers
Before fee there are {len(res_CAPM_GROSS[res_CAPM_GROSS['Alpha'] > 0])} funds
There are {len(res_CAPM)} individual funds, from these {len(res_CAPM[res_CAPM['Alpha'] < 0])} generated negative alpha if we looking
at after fee numbers
Before fee there are {len(res_CAPM_GROSS[res_CAPM_GROSS['Alpha'] < 0])} funds
''')
print(f'''
10% Significance
There are {len(res_CAPM_level)} individual funds, from these {len(res_CAPM_level[res_CAPM_level['Alpha'] > 0])} generated positive alpha if we looking
at after fee numbers
Before fee there are {len(res_CAPM_GROSS_level[res_CAPM_GROSS_level['Alpha'] > 0])} funds
There are {len(res_CAPM_level)} individual funds, from these {len(res_CAPM_level[res_CAPM_level['Alpha'] < 0])} generated negative alpha if we looking
at after fee numbers
Before fee there are {len(res_CAPM_GROSS_level[res_CAPM_GROSS_level['Alpha'] < 0])} funds
''')
There are 251 individual funds, from these 18 generated positive alpha if we looking at after fee numbers Before fee there are 24 funds There are 251 individual funds, from these 233 generated negative alpha if we looking at after fee numbers Before fee there are 227 funds 10% Significance There are 251 individual funds, from these 0 generated positive alpha if we looking at after fee numbers Before fee there are 0 funds There are 251 individual funds, from these 148 generated negative alpha if we looking at after fee numbers Before fee there are 114 funds
res_CAPM_GROSS_level[res_CAPM_GROSS_level['Alpha'] > 0]
Alpha | Mkt-RF | ADJ_R_SQ |
---|
res_CAPM_GROSS.sort_values('Alpha', ascending=False)
Alpha | Mkt-RF | ADJ_R_SQ | |
---|---|---|---|
HSBC GLBL EQTY VOLATILITY FOCUSED FD I | 0.017 | -1.014 | 0.068 |
JENSEN GLOBAL QUALITY GROWTH FUND I | 0.004 | 0.984 | 0.928 |
VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV | 0.003 | 1.141 | 0.662 |
VANGUARD GLBL ESG SEL STK FD ADMIRAL | 0.003 | 0.964 | 0.904 |
US GLB.INVRS.FUND.GLB. MEGATRENDS FUND | 0.002 | 0.683 | 0.743 |
... | ... | ... | ... |
BLACKROCK GLOBAL IMPACT FUND INST | -0.019 | 0.958 | 0.791 |
ALLIANZGI BEST STYLES GLOBAL EQUITY FD.CL.R6 | -0.019 | 0.567 | 0.061 |
PIMCO GLOBAL DIVIDEND FUND A | -0.020 | 1.207 | 0.268 |
ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. | -0.025 | 1.077 | 0.082 |
SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 | -0.025 | 0.647 | -0.001 |
251 rows × 3 columns
pd.concat([res_CAPM.describe(), res_CAPM_GROSS.describe()], axis=1)
Alpha | Mkt-RF | ADJ_R_SQ | Alpha | Mkt-RF | ADJ_R_SQ | |
---|---|---|---|---|---|---|
count | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 |
mean | -0.006 | 0.967 | 0.692 | -0.005 | 0.967 | 0.692 |
std | 0.005 | 0.206 | 0.211 | 0.005 | 0.206 | 0.211 |
min | -0.026 | -1.014 | -0.017 | -0.025 | -1.014 | -0.017 |
25% | -0.008 | 0.916 | 0.606 | -0.007 | 0.916 | 0.606 |
50% | -0.005 | 0.998 | 0.755 | -0.004 | 0.998 | 0.754 |
75% | -0.003 | 1.063 | 0.843 | -0.002 | 1.063 | 0.843 |
max | 0.016 | 1.396 | 0.973 | 0.017 | 1.397 | 0.973 |
res_CAPM.sort_values('Alpha', ascending=False)
Alpha | Mkt-RF | ADJ_R_SQ | |
---|---|---|---|
HSBC GLBL EQTY VOLATILITY FOCUSED FD I | 0.016 | -1.014 | 0.068 |
JENSEN GLOBAL QUALITY GROWTH FUND I | 0.003 | 0.984 | 0.928 |
VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV | 0.003 | 1.142 | 0.662 |
VANGUARD GLBL ESG SEL STK FD ADMIRAL | 0.002 | 0.964 | 0.904 |
BROWN ADVISORY GLOBAL LEADERS FUND INVESTOR | 0.001 | 0.983 | 0.929 |
... | ... | ... | ... |
BLACKROCK GLOBAL IMPACT FUND INST | -0.019 | 0.958 | 0.791 |
DRIEHAUS GLB.GW.FUND DEAD - Liquidated | -0.020 | 1.022 | 0.219 |
PIMCO GLOBAL DIVIDEND FUND A | -0.021 | 1.207 | 0.268 |
ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. | -0.025 | 1.077 | 0.082 |
SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 | -0.026 | 0.647 | -0.001 |
251 rows × 3 columns
res_FF3 = factor(res_FF3_,FAMA3,ret,h=True)
res_FF3_GROSS = factor(res_FF3_,FAMA3,GROSS,h=True)
res_FF3_level = factor(res_FF3_,FAMA3,ret,h=True,level=0.1)
res_FF3_GROSS_level = factor(res_FF3_,FAMA3,GROSS,h=True,level=0.1)
print(f'''There are {len(res_FF3)} individual funds, from these {len(res_FF3[res_FF3['Alpha'] > 0])} generated alpha if we looking
at after fee numbers
Before fee there are {len(res_FF3_GROSS[res_FF3_GROSS['Alpha'] > 0])} funds''')
print(f'''There are {len(res_FF3)} individual funds, from these {len(res_FF3[res_FF3['Alpha'] < 0])} negative alpha if we looking
at after fee numbers
Before fee there are {len(res_FF3_GROSS[res_FF3_GROSS['Alpha'] < 0])} funds''')
print(f'''
10% significance
There are {len(res_FF3_level)} individual funds, from these {len(res_FF3_level[res_FF3_level['Alpha'] > 0])} generated alpha if we looking
at after fee numbers
Before fee there are {len(res_FF3_GROSS_level[res_FF3_GROSS_level['Alpha'] > 0])} funds''')
print(f'''There are {len(res_FF3_level)} individual funds, from these {len(res_FF3_level[res_FF3_level['Alpha'] < 0])} negative alpha if we looking
at after fee numbers
Before fee there are {len(res_FF3_GROSS_level[res_FF3_GROSS_level['Alpha'] < 0])} funds''')
There are 251 individual funds, from these 16 generated alpha if we looking at after fee numbers Before fee there are 23 funds There are 251 individual funds, from these 235 negative alpha if we looking at after fee numbers Before fee there are 228 funds 10% significance There are 251 individual funds, from these 0 generated alpha if we looking at after fee numbers Before fee there are 2 funds There are 251 individual funds, from these 167 negative alpha if we looking at after fee numbers Before fee there are 134 funds
res_FF3_GROSS_level[res_FF3_GROSS_level['Alpha'] > 0]
Alpha | Mkt-RF | SMB | HML | ADJ_R_SQ | |
---|---|---|---|---|---|
HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E | 0.003 | 1.127 | 0.070 | -0.564 | 0.933 |
JANUS HENDERSON GLBL SUSTAINABLE EQTY FD D | 0.002 | 1.062 | 0.083 | -0.268 | 0.989 |
res_FF3_GROSS.sort_values('Alpha',ascending=False) # Overview over Regression output
Alpha | Mkt-RF | SMB | HML | ADJ_R_SQ | |
---|---|---|---|---|---|
HSBC GLBL EQTY VOLATILITY FOCUSED FD I | 0.023 | -1.266 | 1.377 | -0.406 | 0.051 |
VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV | 0.005 | 1.085 | 0.450 | -0.655 | 0.778 |
T ROWE PRICE GLOBAL IMPACT EQUITY | 0.004 | 1.062 | 0.042 | -0.456 | 0.955 |
HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E | 0.003 | 1.127 | 0.070 | -0.564 | 0.933 |
US GLB.INVRS.FUND.GLB. MEGATRENDS FUND | 0.003 | 0.707 | -0.039 | -0.253 | 0.733 |
... | ... | ... | ... | ... | ... |
FRONTIER ROBECO SAM GLOBAL EQUITY FUND INST | -0.018 | 1.247 | -1.347 | 0.226 | 0.480 |
PIMCO GLOBAL DIVIDEND FUND A | -0.019 | 1.142 | -0.899 | 0.344 | 0.273 |
ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. | -0.023 | 0.926 | -0.860 | 0.451 | 0.049 |
ALLIANZGI BEST STYLES GLOBAL EQUITY FD.CL.R6 | -0.024 | 0.787 | -1.768 | -0.390 | 0.106 |
SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 | -0.026 | 0.588 | -1.847 | -1.064 | -0.010 |
251 rows × 5 columns
res_FF3_GROSS.sort_values('Alpha', ascending=False)
Alpha | Mkt-RF | SMB | HML | ADJ_R_SQ | |
---|---|---|---|---|---|
HSBC GLBL EQTY VOLATILITY FOCUSED FD I | 0.023 | -1.266 | 1.377 | -0.406 | 0.051 |
VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV | 0.005 | 1.085 | 0.450 | -0.655 | 0.778 |
T ROWE PRICE GLOBAL IMPACT EQUITY | 0.004 | 1.062 | 0.042 | -0.456 | 0.955 |
HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E | 0.003 | 1.127 | 0.070 | -0.564 | 0.933 |
US GLB.INVRS.FUND.GLB. MEGATRENDS FUND | 0.003 | 0.707 | -0.039 | -0.253 | 0.733 |
... | ... | ... | ... | ... | ... |
FRONTIER ROBECO SAM GLOBAL EQUITY FUND INST | -0.018 | 1.247 | -1.347 | 0.226 | 0.480 |
PIMCO GLOBAL DIVIDEND FUND A | -0.019 | 1.142 | -0.899 | 0.344 | 0.273 |
ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. | -0.023 | 0.926 | -0.860 | 0.451 | 0.049 |
ALLIANZGI BEST STYLES GLOBAL EQUITY FD.CL.R6 | -0.024 | 0.787 | -1.768 | -0.390 | 0.106 |
SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 | -0.026 | 0.588 | -1.847 | -1.064 | -0.010 |
251 rows × 5 columns
pd.concat([res_FF3.describe(), res_FF3_GROSS.describe()], axis=1)
Alpha | Mkt-RF | SMB | HML | ADJ_R_SQ | Alpha | Mkt-RF | SMB | HML | ADJ_R_SQ | |
---|---|---|---|---|---|---|---|---|---|---|
count | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 |
mean | -0.006 | 0.965 | -0.110 | -0.082 | 0.721 | -0.005 | 0.965 | -0.110 | -0.082 | 0.721 |
std | 0.005 | 0.212 | 0.417 | 0.334 | 0.217 | 0.005 | 0.212 | 0.417 | 0.334 | 0.217 |
min | -0.026 | -1.266 | -1.847 | -1.064 | -0.060 | -0.026 | -1.266 | -1.847 | -1.064 | -0.060 |
25% | -0.008 | 0.907 | -0.324 | -0.294 | 0.629 | -0.007 | 0.907 | -0.324 | -0.294 | 0.629 |
50% | -0.005 | 0.997 | -0.139 | -0.095 | 0.796 | -0.004 | 0.997 | -0.138 | -0.095 | 0.796 |
75% | -0.003 | 1.062 | 0.093 | 0.131 | 0.869 | -0.002 | 1.062 | 0.093 | 0.131 | 0.869 |
max | 0.022 | 1.348 | 1.377 | 1.513 | 0.989 | 0.023 | 1.348 | 1.377 | 1.513 | 0.989 |
res_FFC = factor(res_FFC_,FAMAC,ret,h=True)
res_FFC_GROSS = factor(res_FFC_,FAMAC,GROSS,h=True)
res_FFC_level = factor(res_FFC_,FAMAC,ret,h=True,level=0.1)
res_FFC_GROSS_level = factor(res_FFC_,FAMAC,GROSS,h=True,level=0.1)
print(f'''There are {len(res_FFC)} individual funds, from these {len(res_FFC[res_FFC['Alpha'] > 0])} generated alpha if we looking
at after fee numbers
Before fee there are {len(res_FFC_GROSS[res_FFC_GROSS['Alpha'] > 0])} funds''')
print(f'''There are {len(res_FFC)} individual funds, from these {len(res_FFC[res_FFC['Alpha'] < 0])} negative alpha if we looking
at after fee numbers
Before fee there are {len(res_FFC_GROSS[res_FFC_GROSS['Alpha'] < 0])} funds''')
print(f'''
10% significance
There are {len(res_FFC_level)} individual funds, from these {len(res_FFC_level[res_FFC_level['Alpha'] > 0])} generated alpha if we looking
at after fee numbers
Before fee there are {len(res_FFC_GROSS_level[res_FFC_GROSS_level['Alpha'] > 0])} funds''')
print(f'''There are {len(res_FFC_level)} individual funds, from these {len(res_FFC_level[res_FFC_level['Alpha'] < 0])} negative alpha if we looking
at after fee numbers
Before fee there are {len(res_FFC_GROSS_level[res_FFC_GROSS_level['Alpha'] < 0])} funds''')
There are 251 individual funds, from these 16 generated alpha if we looking at after fee numbers Before fee there are 28 funds There are 251 individual funds, from these 235 negative alpha if we looking at after fee numbers Before fee there are 223 funds 10% significance There are 251 individual funds, from these 1 generated alpha if we looking at after fee numbers Before fee there are 2 funds There are 251 individual funds, from these 166 negative alpha if we looking at after fee numbers Before fee there are 134 funds
res_FFC_GROSS_level[res_FFC_GROSS_level['Alpha'] > 0]
Alpha | Mkt-RF | SMB | HML | MOM | ADJ_R_SQ | |
---|---|---|---|---|---|---|
HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E | 0.005 | 1.113 | 0.075 | -0.658 | -0.089 | 0.932 |
JANUS HENDERSON GLBL SUSTAINABLE EQTY FD D | 0.004 | 1.039 | 0.082 | -0.291 | -0.145 | 0.991 |
pd.concat([res_FFC.describe(), res_FFC_GROSS.describe()], axis=1)
Alpha | Mkt-RF | SMB | HML | MOM | ADJ_R_SQ | Alpha | Mkt-RF | SMB | HML | MOM | ADJ_R_SQ | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 |
mean | -0.006 | 0.956 | -0.112 | -0.104 | -0.041 | 0.722 | -0.005 | 0.956 | -0.112 | -0.104 | -0.041 | 0.722 |
std | 0.005 | 0.206 | 0.414 | 0.343 | 0.210 | 0.216 | 0.005 | 0.206 | 0.414 | 0.343 | 0.210 | 0.216 |
min | -0.032 | -1.136 | -1.945 | -1.179 | -1.177 | -0.081 | -0.032 | -1.136 | -1.945 | -1.179 | -1.177 | -0.081 |
25% | -0.008 | 0.911 | -0.332 | -0.331 | -0.117 | 0.625 | -0.007 | 0.911 | -0.332 | -0.331 | -0.117 | 0.625 |
50% | -0.005 | 0.986 | -0.139 | -0.111 | -0.030 | 0.798 | -0.004 | 0.986 | -0.139 | -0.110 | -0.029 | 0.798 |
75% | -0.003 | 1.047 | 0.094 | 0.095 | 0.047 | 0.869 | -0.002 | 1.048 | 0.094 | 0.096 | 0.048 | 0.869 |
max | 0.022 | 1.363 | 1.224 | 1.804 | 0.872 | 0.991 | 0.023 | 1.363 | 1.224 | 1.803 | 0.873 | 0.991 |
res_FFC.sort_values('Alpha', ascending=False)
Alpha | Mkt-RF | SMB | HML | MOM | ADJ_R_SQ | |
---|---|---|---|---|---|---|
HSBC GLBL EQTY VOLATILITY FOCUSED FD I | 0.022 | -1.136 | 1.177 | -0.738 | -0.709 | 0.066 |
VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV | 0.004 | 1.099 | 0.452 | -0.636 | 0.047 | 0.773 |
HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E | 0.004 | 1.113 | 0.075 | -0.658 | -0.089 | 0.932 |
JANUS HENDERSON GLBL SUSTAINABLE EQTY FD D | 0.003 | 1.039 | 0.082 | -0.291 | -0.145 | 0.991 |
T ROWE PRICE GLOBAL IMPACT EQUITY | 0.003 | 1.070 | 0.041 | -0.449 | 0.051 | 0.951 |
... | ... | ... | ... | ... | ... | ... |
STATE STREET GLOBAL VALUE SPOTLIGHT FUND K | -0.020 | 1.224 | -0.938 | -0.358 | -0.505 | 0.642 |
ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. | -0.021 | 0.927 | -0.779 | 0.212 | -0.272 | 0.022 |
ALLIANZGI BEST STYLES GLOBAL EQUITY FD.CL.R6 | -0.025 | 0.917 | -1.790 | 0.011 | 0.531 | 0.104 |
DRIEHAUS GLB.GW.FUND DEAD - Liquidated | -0.030 | 1.075 | 0.388 | 1.426 | 0.872 | 0.255 |
SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 | -0.032 | 0.693 | -1.945 | -0.600 | 0.570 | -0.030 |
251 rows × 6 columns
In this section, we performed the equally weighted regressions with the different regression models using net and gross of fees.
# A function that uses the returns for each months then take the average of these and save in a dataframe
# Then uses the factors and perfrom a Regression on the average excess returns
# Also added the option to only chose one year at time, printing the results, and the use of robust std
def EW(factors,YEAR=False,Show=True, returns=ret, h=False):
ret_1 = returns.replace(0,np.NaN)
FF_EW = F.copy(deep=True)
FF_EW['EW'] = ret_1.mean(axis=1)
CLEAN = FF_EW[factors].copy(deep=True)
CLEAN['EW-RF'] = FF_EW['EW']-FF_EW['RF']
CLEAN = CLEAN.dropna()
if YEAR == False:
X = CLEAN[factors]
Y = CLEAN['EW-RF']
else:
X = CLEAN[factors].loc[YEAR]
Y = CLEAN['EW-RF'].loc[YEAR]
X_sm = sm.add_constant(X)
model = sm.OLS(Y,X_sm)
if h:
results_reg = model.fit(cov_type='HAC', cov_kwds={'maxlags': 1})
else:
results_reg = model.fit()
if Show:
print('Equaly weighted')
print(results_reg.summary())
return results_reg
EW(CAPM,h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.905 Model: OLS Adj. R-squared: 0.904 Method: Least Squares F-statistic: 956.9 Date: Sun, 25 Jun 2023 Prob (F-statistic): 1.57e-61 Time: 15:38:48 Log-Likelihood: 380.77 No. Observations: 131 AIC: -757.5 Df Residuals: 129 BIC: -751.8 Df Model: 1 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0052 0.001 -4.419 0.000 -0.008 -0.003 Mkt-RF 0.9821 0.032 30.934 0.000 0.920 1.044 ============================================================================== Omnibus: 104.804 Durbin-Watson: 2.116 Prob(Omnibus): 0.000 Jarque-Bera (JB): 689.487 Skew: -2.985 Prob(JB): 1.90e-150 Kurtosis: 12.522 Cond. No. 24.1 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114e3eb0>
EW(FAMA3,h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.910 Model: OLS Adj. R-squared: 0.908 Method: Least Squares F-statistic: 341.4 Date: Sun, 25 Jun 2023 Prob (F-statistic): 1.39e-60 Time: 15:38:48 Log-Likelihood: 384.63 No. Observations: 131 AIC: -761.3 Df Residuals: 127 BIC: -749.8 Df Model: 3 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0055 0.001 -4.596 0.000 -0.008 -0.003 Mkt-RF 0.9855 0.032 31.148 0.000 0.923 1.048 SMB -0.1223 0.078 -1.561 0.118 -0.276 0.031 HML -0.1025 0.032 -3.168 0.002 -0.166 -0.039 ============================================================================== Omnibus: 104.310 Durbin-Watson: 2.139 Prob(Omnibus): 0.000 Jarque-Bera (JB): 691.810 Skew: -2.959 Prob(JB): 5.96e-151 Kurtosis: 12.577 Cond. No. 69.2 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114e33d0>
EW(FAMAC,h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.910 Model: OLS Adj. R-squared: 0.907 Method: Least Squares F-statistic: 255.1 Date: Sun, 25 Jun 2023 Prob (F-statistic): 2.19e-59 Time: 15:38:48 Log-Likelihood: 384.73 No. Observations: 131 AIC: -759.5 Df Residuals: 126 BIC: -745.1 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0053 0.001 -4.449 0.000 -0.008 -0.003 Mkt-RF 0.9794 0.034 28.920 0.000 0.913 1.046 SMB -0.1225 0.078 -1.570 0.116 -0.275 0.030 HML -0.1140 0.041 -2.786 0.005 -0.194 -0.034 MOM -0.0232 0.035 -0.657 0.511 -0.093 0.046 ============================================================================== Omnibus: 104.175 Durbin-Watson: 2.135 Prob(Omnibus): 0.000 Jarque-Bera (JB): 688.560 Skew: -2.956 Prob(JB): 3.03e-150 Kurtosis: 12.549 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114e3940>
EW(CAPM, returns=GROSS,h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.905 Model: OLS Adj. R-squared: 0.904 Method: Least Squares F-statistic: 957.1 Date: Sun, 25 Jun 2023 Prob (F-statistic): 1.56e-61 Time: 15:38:48 Log-Likelihood: 380.68 No. Observations: 131 AIC: -757.4 Df Residuals: 129 BIC: -751.6 Df Model: 1 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0043 0.001 -3.626 0.000 -0.007 -0.002 Mkt-RF 0.9822 0.032 30.937 0.000 0.920 1.044 ============================================================================== Omnibus: 104.852 Durbin-Watson: 2.113 Prob(Omnibus): 0.000 Jarque-Bera (JB): 690.407 Skew: -2.987 Prob(JB): 1.20e-150 Kurtosis: 12.529 Cond. No. 24.1 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114f5df0>
EW(FAMA3, returns=GROSS,h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.910 Model: OLS Adj. R-squared: 0.908 Method: Least Squares F-statistic: 341.4 Date: Sun, 25 Jun 2023 Prob (F-statistic): 1.38e-60 Time: 15:38:48 Log-Likelihood: 384.52 No. Observations: 131 AIC: -761.0 Df Residuals: 127 BIC: -749.5 Df Model: 3 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0045 0.001 -3.811 0.000 -0.007 -0.002 Mkt-RF 0.9856 0.032 31.146 0.000 0.924 1.048 SMB -0.1219 0.078 -1.554 0.120 -0.276 0.032 HML -0.1025 0.032 -3.170 0.002 -0.166 -0.039 ============================================================================== Omnibus: 104.341 Durbin-Watson: 2.136 Prob(Omnibus): 0.000 Jarque-Bera (JB): 692.139 Skew: -2.961 Prob(JB): 5.06e-151 Kurtosis: 12.578 Cond. No. 69.2 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114ec250>
EW(FAMAC, returns=GROSS,h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.910 Model: OLS Adj. R-squared: 0.907 Method: Least Squares F-statistic: 255.1 Date: Sun, 25 Jun 2023 Prob (F-statistic): 2.20e-59 Time: 15:38:48 Log-Likelihood: 384.62 No. Observations: 131 AIC: -759.2 Df Residuals: 126 BIC: -744.9 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0044 0.001 -3.668 0.000 -0.007 -0.002 Mkt-RF 0.9797 0.034 28.926 0.000 0.913 1.046 SMB -0.1221 0.078 -1.562 0.118 -0.275 0.031 HML -0.1138 0.041 -2.778 0.005 -0.194 -0.034 MOM -0.0228 0.035 -0.643 0.520 -0.092 0.047 ============================================================================== Omnibus: 104.203 Durbin-Watson: 2.132 Prob(Omnibus): 0.000 Jarque-Bera (JB): 688.821 Skew: -2.957 Prob(JB): 2.66e-150 Kurtosis: 12.551 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114f1dc0>
We split our equally-weighted portfolio into 3 sub-samples over the time-horizon and conducted the Carhart four-factor regression on each sub-sample.
EW(FAMAC, returns=ret.loc[str(start_year):str(start_year+3)])
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.892 Model: OLS Adj. R-squared: 0.882 Method: Least Squares F-statistic: 86.67 Date: Sun, 25 Jun 2023 Prob (F-statistic): 1.00e-19 Time: 15:38:48 Log-Likelihood: 145.00 No. Observations: 47 AIC: -280.0 Df Residuals: 42 BIC: -270.7 Df Model: 4 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0049 0.002 -2.385 0.022 -0.009 -0.001 Mkt-RF 0.9772 0.058 16.758 0.000 0.860 1.095 SMB -0.1824 0.126 -1.444 0.156 -0.437 0.072 HML -0.0930 0.145 -0.640 0.526 -0.386 0.200 MOM 9.463e-05 0.096 0.001 0.999 -0.193 0.193 ============================================================================== Omnibus: 53.993 Durbin-Watson: 2.064 Prob(Omnibus): 0.000 Jarque-Bera (JB): 250.541 Skew: -3.084 Prob(JB): 3.94e-55 Kurtosis: 12.481 Cond. No. 93.4 ============================================================================== Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114732b0>
# number of funds in the sample
sum(ret.loc[str(start_year):str(start_year+3)].sum() != 0)
185
EW(FAMAC, returns=ret.loc[str(start_year+4):str(start_year+7)])
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.883 Model: OLS Adj. R-squared: 0.872 Method: Least Squares F-statistic: 80.74 Date: Sun, 25 Jun 2023 Prob (F-statistic): 2.02e-19 Time: 15:38:48 Log-Likelihood: 142.20 No. Observations: 48 AIC: -274.4 Df Residuals: 43 BIC: -265.1 Df Model: 4 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0061 0.002 -3.019 0.004 -0.010 -0.002 Mkt-RF 1.0627 0.067 15.749 0.000 0.927 1.199 SMB -0.1961 0.171 -1.149 0.257 -0.540 0.148 HML -0.1863 0.125 -1.486 0.145 -0.439 0.067 MOM -0.0111 0.104 -0.106 0.916 -0.221 0.199 ============================================================================== Omnibus: 48.276 Durbin-Watson: 1.831 Prob(Omnibus): 0.000 Jarque-Bera (JB): 179.285 Skew: -2.759 Prob(JB): 1.17e-39 Kurtosis: 10.693 Cond. No. 89.9 ============================================================================== Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114e3d00>
# number of funds in the sample
sum(ret.loc[str(start_year+4):str(start_year+7)].sum() != 0)
209
EW(FAMAC, returns=ret.loc[str(start_year+8):str(start_year+10)])
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.939 Model: OLS Adj. R-squared: 0.931 Method: Least Squares F-statistic: 118.6 Date: Sun, 25 Jun 2023 Prob (F-statistic): 2.51e-18 Time: 15:38:48 Log-Likelihood: 101.48 No. Observations: 36 AIC: -193.0 Df Residuals: 31 BIC: -185.0 Df Model: 4 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0057 0.003 -2.056 0.048 -0.011 -4.52e-05 Mkt-RF 0.9339 0.052 17.988 0.000 0.828 1.040 SMB -0.0519 0.144 -0.360 0.721 -0.346 0.242 HML -0.1026 0.072 -1.427 0.164 -0.249 0.044 MOM -0.0656 0.101 -0.649 0.521 -0.272 0.140 ============================================================================== Omnibus: 38.014 Durbin-Watson: 1.901 Prob(Omnibus): 0.000 Jarque-Bera (JB): 117.044 Skew: -2.461 Prob(JB): 3.84e-26 Kurtosis: 10.335 Cond. No. 56.0 ============================================================================== Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114e39d0>
# number of funds in the sample
sum(ret.loc[str(start_year+8):str(start_year+10)].sum() != 0)
195
In this section, we first looked at the expense ratio trend over the sample period and some basic statistics. Then we conducted a regression based on the results from the Carhart four-factor regression for each of the individual funds on their expense ratio to see how they relate to our sample. We then plotted the results and took a closer look at the distribution of the alphas and fees.
# Making a overview of exp mean
exp_mean = pd.DataFrame(exp[EW_list].mean())
# Exp ratio matrix for exp ratio Regression
alphas_header = ['Alpha_CAPM','Alpha_FF3','Alpha_FFC','Avg_EXP']
exp_ratios = pd.DataFrame()
exp_ratios[['Name','Alpha_CAPM','Alpha_FF3','Alpha_FFC','Avg_EXP']] = 0
exp_ratios['Name'] = NAV[EW_list].columns
exp_ratios.set_index(NAV[EW_list].columns,inplace=True)
exp_ratios_GR = exp_ratios.copy(deep=True)
# Inputting all values that are generated
exp_ratios_GR['Alpha_CAPM'] = res_CAPM_GROSS['Alpha']
exp_ratios_GR['Alpha_FF3'] = res_FF3_GROSS['Alpha']
exp_ratios_GR['Alpha_FFC'] = res_FFC_GROSS['Alpha']
exp_ratios['Alpha_CAPM'] = res_CAPM['Alpha']
exp_ratios['Alpha_FF3'] = res_FF3['Alpha']
exp_ratios['Alpha_FFC'] = res_FFC['Alpha']
# Using the mean exp_ratio over the periode for all the funds
exp_ratios_GR['Avg_EXP'] = exp_mean[0]
exp_ratios['Avg_EXP'] = exp_mean[0]
exp_ratios_GR.dropna(inplace=True)
exp_ratios.dropna(inplace=True)
exp_ratios.drop(['Name'], axis=1)
Alpha_CAPM | Alpha_FF3 | Alpha_FFC | Avg_EXP | |
---|---|---|---|---|
1290 GLOBAL TALENTS FUND A | -0.007 | -0.006 | -0.003 | 1.293 |
1290 SMART BETA EQUITY FUND I | -0.002 | -0.003 | -0.003 | 0.953 |
AB GLOBAL CORE EQUITY PORTFOLIO ADV | -0.003 | -0.003 | -0.003 | 0.871 |
AB SUSTAINABLE GLOBAL THEMATIC FUND A | -0.002 | -0.002 | -0.002 | 1.373 |
AGF GLOBAL EQUITY FUND I DEAD - Liquidated | -0.006 | -0.014 | -0.013 | 0.800 |
... | ... | ... | ... | ... |
WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL | -0.011 | -0.012 | -0.012 | 0.760 |
WORLD SELECT EQUITY FUND A | -0.007 | -0.008 | -0.007 | 0.344 |
YORKTOWN CAPITAL APPRECIATION FUND A | -0.011 | -0.012 | -0.011 | 1.625 |
ABRDN EMERGING MARKETS EX-CHINA FUND A | -0.008 | -0.009 | -0.008 | 1.543 |
ABRDN GLOBAL EQUITY IMPACT FUND A | -0.005 | -0.006 | -0.006 | 1.691 |
251 rows × 4 columns
# average exp for each year, plotted
exp.mean(axis=1).plot(label=f'{var}', color='blue')
plt.title('Average Total Expense Ratio')
plt.legend()
<matplotlib.legend.Legend at 0x7fa611516c70>
print(f' Exp ratio at start: {exp.mean(axis=1).dropna()[0]}')
print(f' Exp ratio at end {exp.mean(axis=1).dropna()[-1]}')
Exp ratio at start: 1.2848437499999998 Exp ratio at end 0.979298245614035
sns.histplot(exp_ratios[['Alpha_CAPM','Alpha_FFC','Alpha_FF3']])
plt.xlabel('Alpha')
plt.axvline(exp_ratios['Alpha_CAPM'].median(), c='blue', ls='--', lw=2.5)
plt.axvline(exp_ratios['Alpha_FF3'].median(), c='orange', ls='--', lw=2.5)
plt.axvline(exp_ratios['Alpha_FFC'].median(), c='green', ls='--', lw=2.5)
plt.title(f'Alphas from Regressions for {var}')
plt.show()
sns.histplot(exp_ratios[['Avg_EXP']], bins=30)
plt.xlabel('Average Expense ratios')
plt.axvline(exp_ratios['Avg_EXP'].median(), c='blue', ls='--', lw=2.5)
plt.title(f'Total Expense Ratio in {var}')
plt.show()
# Comparing the below and above median funds (based on FFC alpha) and their expense ratio
median_alpha = res_FFC['Alpha'].median()
low_alpha_funds = res_FFC[res_FFC['Alpha'] <= median_alpha].index
high_alpha_funds = res_FFC[res_FFC['Alpha'] > median_alpha].index
plt.plot(exp[low_alpha_funds].mean(axis=1), label='low performance', color='r')
plt.plot(exp[high_alpha_funds].mean(axis=1),label='high performance', color='g')
plt.ylabel('expense ratio')
plt.ylim((0.90,1.7))
plt.xlabel('time')
plt.title(f'High performance vs Low performance by Expense ratio in {var}')
plt.legend()
<matplotlib.legend.Legend at 0x7fa6204c3f10>
# Making a easy Regresion function
def reg(X,Y,returns=False, h=False):
X_sm = sm.add_constant(X)
model = sm.OLS(Y,X_sm)
if h:
results_reg = model.fit(cov_type='HAC', cov_kwds={'maxlags': 1})
else:
results_reg = model.fit()
if returns:
return results_reg
else:
print(results_reg.summary())
# Running 3 Regressions, EXP ratios on the different Alphas
reg(exp_ratios_GR['Avg_EXP']/100, (exp_ratios_GR['Alpha_CAPM']+1)**12-1,h=True)
reg(exp_ratios_GR['Avg_EXP']/100, (exp_ratios_GR['Alpha_FF3']+1)**12-1, h=True)
reg(exp_ratios_GR['Avg_EXP']/100, (exp_ratios_GR['Alpha_FFC']+1)**12-1, h=True)
OLS Regression Results ============================================================================== Dep. Variable: Alpha_CAPM R-squared: 0.003 Model: OLS Adj. R-squared: -0.001 Method: Least Squares F-statistic: 0.5421 Date: Sun, 25 Jun 2023 Prob (F-statistic): 0.462 Time: 15:38:49 Log-Likelihood: 381.32 No. Observations: 251 AIC: -758.6 Df Residuals: 249 BIC: -751.6 Df Model: 1 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0626 0.012 -5.312 0.000 -0.086 -0.039 Avg_EXP 0.7208 0.979 0.736 0.462 -1.198 2.640 ============================================================================== Omnibus: 38.031 Durbin-Watson: 1.873 Prob(Omnibus): 0.000 Jarque-Bera (JB): 181.928 Skew: -0.444 Prob(JB): 3.13e-40 Kurtosis: 7.075 Cond. No. 270. ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction OLS Regression Results ============================================================================== Dep. Variable: Alpha_FF3 R-squared: 0.005 Model: OLS Adj. R-squared: 0.001 Method: Least Squares F-statistic: 0.9496 Date: Sun, 25 Jun 2023 Prob (F-statistic): 0.331 Time: 15:38:49 Log-Likelihood: 369.27 No. Observations: 251 AIC: -734.5 Df Residuals: 249 BIC: -727.5 Df Model: 1 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0667 0.013 -5.247 0.000 -0.092 -0.042 Avg_EXP 1.0142 1.041 0.974 0.330 -1.026 3.054 ============================================================================== Omnibus: 52.659 Durbin-Watson: 1.789 Prob(Omnibus): 0.000 Jarque-Bera (JB): 677.690 Skew: 0.279 Prob(JB): 6.94e-148 Kurtosis: 11.030 Cond. No. 270. ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction OLS Regression Results ============================================================================== Dep. Variable: Alpha_FFC R-squared: 0.003 Model: OLS Adj. R-squared: -0.001 Method: Least Squares F-statistic: 0.5879 Date: Sun, 25 Jun 2023 Prob (F-statistic): 0.444 Time: 15:38:49 Log-Likelihood: 362.25 No. Observations: 251 AIC: -720.5 Df Residuals: 249 BIC: -713.5 Df Model: 1 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0626 0.014 -4.532 0.000 -0.090 -0.036 Avg_EXP 0.8984 1.172 0.767 0.443 -1.398 3.195 ============================================================================== Omnibus: 55.479 Durbin-Watson: 1.769 Prob(Omnibus): 0.000 Jarque-Bera (JB): 953.940 Skew: -0.124 Prob(JB): 7.15e-208 Kurtosis: 12.547 Cond. No. 270. ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
from scipy.interpolate import UnivariateSpline
# Plotting and uses a basic Regression line based on the output from the Regression above
coef = reg(exp_ratios_GR['Avg_EXP']/100, (exp_ratios_GR['Alpha_FFC']+1)**12-1,True)
plt.xlabel('Expense ratio')
plt.ylabel('Annualized 4-Factor Alpha')
line = lambda x: coef.params[0]+x*coef.params[1]
# Plotting Non-parametric line
spl = UnivariateSpline(exp_ratios_GR.sort_values('Avg_EXP')['Avg_EXP']/100,(exp_ratios_GR.sort_values('Avg_EXP')['Alpha_FFC']+1)**12-1)
v = np.linspace(0.2,2,100)/100
ys = spl(v)
plt.scatter(exp_ratios_GR['Avg_EXP']/100, (exp_ratios_GR['Alpha_FFC']+1)**12-1, label='Fund', color='grey')
plt.plot(v,ys, label='Non-parametric line')
plt.plot(v,line(v), color='black', label='Linear Regression line')
plt.ylim(-0.30,0.2)
plt.xlim(0.1/100, 2/100)
#plt.axvline(x=cheap/100, c='g', ls='--',label='Low/Medium cost')
#plt.axvline(x=medium/100, c='y', ls='--',label='Medium/High cost')
plt.title(f'Carhart 4 Alpha on Expense Ratio')
plt.legend()
<matplotlib.legend.Legend at 0x7fa642a6a160>
reg(exp_ratios['Avg_EXP']/100, (exp_ratios['Alpha_FFC']+1)**12-1, h=True)
OLS Regression Results ============================================================================== Dep. Variable: Alpha_FFC R-squared: 0.000 Model: OLS Adj. R-squared: -0.004 Method: Least Squares F-statistic: 0.001249 Date: Sun, 25 Jun 2023 Prob (F-statistic): 0.972 Time: 15:38:49 Log-Likelihood: 364.65 No. Observations: 251 AIC: -725.3 Df Residuals: 249 BIC: -718.3 Df Model: 1 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0626 0.014 -4.582 0.000 -0.089 -0.036 Avg_EXP -0.0409 1.158 -0.035 0.972 -2.310 2.228 ============================================================================== Omnibus: 55.487 Durbin-Watson: 1.768 Prob(Omnibus): 0.000 Jarque-Bera (JB): 957.308 Skew: -0.120 Prob(JB): 1.33e-208 Kurtosis: 12.564 Cond. No. 270. ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
In this section, we split our dataset into 3 cost categories. We then compared the different cost categories equally-weighted portfolios Carhart four-factor results. We then plotted the cumulative returns for each of the portfolios.
fund = exp.columns
cheap = exp.mean().quantile(1/3)
medium = exp.mean().quantile(2/3)
cheap_funds = fund[exp.mean()<=cheap]
medium_funds = fund[(exp.mean()>cheap) & (exp.mean() < medium)]
expensive_funds = fund[medium<=exp.mean()]
# Total funds
len(cheap_funds) + len(medium_funds) + len(expensive_funds)
251
# cheap and medium exp ratio
cheap,medium
(0.9207067183462533, 1.1795692052784184)
# Based on the avg exp over the periode the funds get sorted into groups.
# then perfomring the FFC Regression on the results
cheap_reg = factor(res_FFC_,FAMAC,ret[cheap_funds])
medium_reg = factor(res_FFC_,FAMAC,ret[medium_funds])
expens_reg = factor(res_FFC_,FAMAC,ret[expensive_funds])
pd.concat([cheap_reg.describe(),medium_reg.describe(),expens_reg.describe()],axis=1)
Alpha | Mkt-RF | SMB | HML | MOM | ADJ_R_SQ | Alpha | Mkt-RF | SMB | HML | MOM | ADJ_R_SQ | Alpha | Mkt-RF | SMB | HML | MOM | ADJ_R_SQ | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 84.000 | 84.000 | 84.000 | 84.000 | 84.000 | 84.000 | 83.000 | 83.000 | 83.000 | 83.000 | 83.000 | 83.000 | 84.000 | 84.000 | 84.000 | 84.000 | 84.000 | 84.000 |
mean | -0.006 | 0.953 | -0.192 | -0.080 | -0.036 | 0.723 | -0.004 | 0.964 | -0.067 | -0.170 | -0.057 | 0.769 | -0.006 | 0.952 | -0.076 | -0.065 | -0.030 | 0.674 |
std | 0.006 | 0.142 | 0.481 | 0.348 | 0.200 | 0.243 | 0.004 | 0.260 | 0.350 | 0.349 | 0.156 | 0.180 | 0.005 | 0.202 | 0.392 | 0.327 | 0.261 | 0.211 |
min | -0.032 | 0.462 | -1.945 | -0.947 | -0.563 | -0.030 | -0.017 | -1.136 | -0.779 | -1.179 | -0.709 | 0.066 | -0.030 | -0.000 | -1.354 | -0.658 | -1.177 | -0.081 |
25% | -0.008 | 0.893 | -0.376 | -0.271 | -0.119 | 0.625 | -0.006 | 0.921 | -0.287 | -0.375 | -0.124 | 0.712 | -0.008 | 0.896 | -0.299 | -0.286 | -0.088 | 0.573 |
50% | -0.006 | 0.972 | -0.179 | -0.083 | -0.034 | 0.822 | -0.004 | 0.990 | -0.099 | -0.148 | -0.047 | 0.815 | -0.005 | 0.988 | -0.111 | -0.028 | -0.012 | 0.719 |
75% | -0.003 | 1.041 | 0.071 | 0.112 | 0.048 | 0.886 | -0.002 | 1.064 | 0.104 | 0.011 | 0.047 | 0.878 | -0.003 | 1.042 | 0.093 | 0.125 | 0.044 | 0.843 |
max | 0.004 | 1.265 | 0.946 | 1.804 | 0.611 | 0.977 | 0.022 | 1.284 | 1.177 | 0.597 | 0.235 | 0.991 | 0.004 | 1.363 | 1.224 | 1.426 | 0.872 | 0.948 |
plt.scatter(exp_mean.T[cheap_funds].T,cheap_reg['Alpha'], label='Cheap')
plt.scatter(exp_mean.T[expensive_funds].T,expens_reg['Alpha'], label='Expensive')
plt.scatter(exp_mean.T[medium_funds.T],medium_reg['Alpha'], label='Medium')
plt.xlabel('Expense ratio');
plt.ylabel('Alpha');
plt.title('Total Expense Ratios & Alphas')
plt.legend()
<matplotlib.legend.Legend at 0x7fa6007ecd00>
EW(FAMAC,returns = ret[cheap_funds], h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.889 Model: OLS Adj. R-squared: 0.885 Method: Least Squares F-statistic: 232.1 Date: Sun, 25 Jun 2023 Prob (F-statistic): 4.22e-57 Time: 15:38:51 Log-Likelihood: 371.98 No. Observations: 131 AIC: -734.0 Df Residuals: 126 BIC: -719.6 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0056 0.001 -4.479 0.000 -0.008 -0.003 Mkt-RF 0.9606 0.034 28.059 0.000 0.894 1.028 SMB -0.1871 0.084 -2.218 0.027 -0.353 -0.022 HML -0.1050 0.045 -2.318 0.020 -0.194 -0.016 MOM -0.0224 0.038 -0.585 0.558 -0.097 0.053 ============================================================================== Omnibus: 91.066 Durbin-Watson: 2.218 Prob(Omnibus): 0.000 Jarque-Bera (JB): 447.397 Skew: -2.625 Prob(JB): 7.06e-98 Kurtosis: 10.376 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa62061e3a0>
EW(FAMAC,returns = ret[medium_funds], h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.908 Model: OLS Adj. R-squared: 0.906 Method: Least Squares F-statistic: 287.0 Date: Sun, 25 Jun 2023 Prob (F-statistic): 2.86e-62 Time: 15:38:51 Log-Likelihood: 379.26 No. Observations: 131 AIC: -748.5 Df Residuals: 126 BIC: -734.1 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0046 0.001 -3.754 0.000 -0.007 -0.002 Mkt-RF 1.0050 0.035 28.628 0.000 0.936 1.074 SMB -0.1054 0.076 -1.379 0.168 -0.255 0.044 HML -0.1497 0.041 -3.643 0.000 -0.230 -0.069 MOM -0.0344 0.035 -0.986 0.324 -0.103 0.034 ============================================================================== Omnibus: 105.904 Durbin-Watson: 2.168 Prob(Omnibus): 0.000 Jarque-Bera (JB): 744.482 Skew: -2.987 Prob(JB): 2.18e-162 Kurtosis: 13.036 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa620620df0>
EW(FAMAC,returns = ret[expensive_funds], h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.910 Model: OLS Adj. R-squared: 0.907 Method: Least Squares F-statistic: 228.4 Date: Sun, 25 Jun 2023 Prob (F-statistic): 1.03e-56 Time: 15:38:51 Log-Likelihood: 386.61 No. Observations: 131 AIC: -763.2 Df Residuals: 126 BIC: -748.8 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0060 0.001 -4.783 0.000 -0.008 -0.004 Mkt-RF 0.9689 0.034 28.283 0.000 0.902 1.036 SMB -0.0895 0.083 -1.077 0.281 -0.252 0.073 HML -0.0809 0.044 -1.850 0.064 -0.167 0.005 MOM -0.0091 0.041 -0.223 0.824 -0.089 0.071 ============================================================================== Omnibus: 97.010 Durbin-Watson: 1.961 Prob(Omnibus): 0.000 Jarque-Bera (JB): 551.935 Skew: -2.764 Prob(JB): 1.41e-120 Kurtosis: 11.400 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6114f1160>
# Cummulative return EW
(ret[cheap_funds].mean(axis=1) + 1).cumprod().plot(color='g', label='Low-cost - net return')
(GROSS[cheap_funds].mean(axis=1) + 1).cumprod().plot(color='c', label='Low-cost - gross return')
(ret[medium_funds].mean(axis=1) + 1).cumprod().plot(color='orange', label='Medium-cost - net return')
(GROSS[medium_funds].mean(axis=1) + 1).cumprod().plot(color='y', label='Medium-cost - gross return')
(ret[expensive_funds].mean(axis=1) + 1).cumprod().plot(color='r', label='High-cost - net return')
(GROSS[expensive_funds].mean(axis=1) + 1).cumprod().plot(color='m', label='High-cost - gross return')
plt.axhline(y = 1, color = 'r', linestyle = '--')
plt.title(f'Low-cost vs. Medium-cost vs. High-cost in {var}')
plt.ylim((0.5,3.2))
plt.legend()
<matplotlib.legend.Legend at 0x7fa642921820>
In this section, we plotted the returns for each fund and the equally weighted portfolio. We also took a closer look at some of the top performers, and the bottom performers. We also took a closer look at when the different funds were alive.
import warnings
warnings.filterwarnings("ignore", message="DataFrame is highly fragmented.")
# Mkt where new funds start from mkts return - adjusted
adjusted = pd.DataFrame()
adjusted['Mkt'] = (Mkt.loc[str(start_year):str(end_year)]+1).cumprod()
# To adjust the start of each fund to where the market is when they arrive
for i in ret:
Mkt_c = (Mkt.loc[str(start_year):str(end_year)]+1).cumprod()
x = pd.concat([ret[i],Mkt_c],axis=1)
x = x.dropna()
x[i][0] = x[i][0]+x[0][0]
x[i][1:] = x[i][1:] + 1
x[i] = x[i].cumprod()
adjusted[i] = x[i].copy(deep=True)
adjusted.interpolate(limit_area='inside', inplace=True)
adjusted[1:].plot()
Mkt_c.plot(lw=2, color='blue')
plt.legend('');
Fund_with_highest_end_return = adjusted.iloc[-1].idxmax()
print(Fund_with_highest_end_return)
adjusted[Fund_with_highest_end_return][-1]
PGIM JENNISON GLOBAL OPPORTUNITIES FUND Z
3.0991150921035033
highest_retrun_point = ((ret + 1).cumprod()).max().idxmax()
print(highest_retrun_point)
adjusted[highest_retrun_point].max()
BARON GLOBAL ADVANTAGE FD.INST CL.
6.6530379022090465
Fund_with_lowest_end_return = adjusted.iloc[-1].idxmin()
print(Fund_with_lowest_end_return)
adjusted[Fund_with_lowest_end_return][-1]
LAZARD GLOBAL STRATEGIC EQUITY PORTFOLIO INST
0.34300894245840785
lowest_return_point = ((ret + 1).cumprod()).min().idxmin()
print(lowest_return_point)
adjusted[lowest_return_point].min()
TIF GLB.EQ.SERIES FUND DEAD - Liquidated
0.07707577014267894
exp_ratios.loc[Fund_with_highest_end_return]
Name PGIM JENNISON GLOBAL OPPORTUNITIES FUND Z Alpha_CAPM 0.001 Alpha_FF3 0.001 Alpha_FFC 0.000 Avg_EXP 1.077 Name: PGIM JENNISON GLOBAL OPPORTUNITIES FUND Z, dtype: object
res_FFC.loc[Fund_with_highest_end_return]
Alpha 0.000 Mkt-RF 1.104 SMB 0.236 HML -0.817 MOM 0.100 ADJ_R_SQ 0.847 Name: PGIM JENNISON GLOBAL OPPORTUNITIES FUND Z, dtype: float64
# Cummulative return EW
(Mkt.loc[str(start_year):str(end_year)]+1).cumprod().plot(lw=4, color='b', label='Mkt')
(ret.mean(axis=1) + 1).cumprod().plot(color='r', label='EW port')
plt.axhline(y = 1, color = 'r', linestyle = '--')
plt.legend()
<matplotlib.legend.Legend at 0x7fa620446a30>
# Time line over funds
all_df = ret[EW_list].copy(deep=True)
all_df = all_df.interpolate(method='linear',limit_area='inside')
all_df['ALIVE'] = np.nan
for i in range(1,len(all_df)):
all_df['ALIVE'].iloc[i] = len((all_df.iloc[i]).dropna())
all_df['ALIVE'].dropna().plot()
plt.title(f'Number of funds in {var}')
plt.ylabel('alive');
In this section, we tested funds for autocorrelation, heteroscedasticity, and non-normality. We further plotted some of our results.
from statsmodels.graphics.tsaplots import plot_acf
def tester(reg, show=False, save=False, reg_mode=False):
white_test = het_white(reg.resid, reg.model.exog)
bg = acorr_breusch_godfrey(reg, nlags=1)
jb = sp.stats.jarque_bera(reg.resid)
if reg_mode == False:
print(f'P-Value = {white_test[3]} - If this is lower than 0.05 We have a problem with hetero')
print(f'P-Value = {bg[1]} - Autocorrelation if lower than 0.05')
print(f'P-Values = {jb[1]} - If not high, this is not normality')
if show:
plt.hist(reg.resid)
plt.show()
plt.plot(reg.resid)
plt.show()
print(reg.resid.sort_values(ascending=True).head(15))
plot_acf(reg.resid, lags=10)
if save:
return (white_test[3] > 0.05, bg[1] > 0.05, jb[1] > 0.05)
print('Equally Weighted Net')
tester(EW(CAPM, Show=False))
print('-'*75)
tester(EW(FAMA3, Show=False))
print('-'*75)
tester(EW(FAMAC, Show=False))
print('-'*75)
print('-'*75)
tester(EW(CAPM,returns=GROSS, Show=False))
print('-'*75)
tester(EW(FAMA3,returns=GROSS, Show=False))
print('-'*75)
tester(EW(FAMAC,returns=GROSS, Show=False))
print('-'*75)
print()
print('Induvidual CAPM, FF3, FFC')
print('-'*75)
print('CAPM')
print(factor(res_CAPM_,CAPM,ret,h=True, test_kit=True).apply(lambda x: sum(x)/len(x)))
print('-'*75)
print('FF3')
print(factor(res_FF3_,FAMA3,ret,h=True, test_kit=True).apply(lambda x: sum(x)/len(x)))
print('-'*75)
print('FFC')
print(factor(res_FFC_,FAMAC,ret,h=True, test_kit=True).apply(lambda x: sum(x)/len(x)))
print('-'*75)
Equally Weighted Net P-Value = 0.6980553587061408 - If this is lower than 0.05 We have a problem with hetero P-Value = 0.2940685924816942 - Autocorrelation if lower than 0.05 P-Values = 0.0 - If not high, this is not normality --------------------------------------------------------------------------- P-Value = 0.8596432376312273 - If this is lower than 0.05 We have a problem with hetero P-Value = 0.271978921104368 - Autocorrelation if lower than 0.05 P-Values = 0.0 - If not high, this is not normality --------------------------------------------------------------------------- P-Value = 0.9073103141137422 - If this is lower than 0.05 We have a problem with hetero P-Value = 0.2874090928757116 - Autocorrelation if lower than 0.05 P-Values = 0.0 - If not high, this is not normality --------------------------------------------------------------------------- --------------------------------------------------------------------------- P-Value = 0.6986585917282817 - If this is lower than 0.05 We have a problem with hetero P-Value = 0.30094499037259204 - Autocorrelation if lower than 0.05 P-Values = 0.0 - If not high, this is not normality --------------------------------------------------------------------------- P-Value = 0.8598688566473011 - If this is lower than 0.05 We have a problem with hetero P-Value = 0.27914775711701034 - Autocorrelation if lower than 0.05 P-Values = 0.0 - If not high, this is not normality --------------------------------------------------------------------------- P-Value = 0.9073693002786166 - If this is lower than 0.05 We have a problem with hetero P-Value = 0.2948885844486615 - Autocorrelation if lower than 0.05 P-Values = 0.0 - If not high, this is not normality --------------------------------------------------------------------------- Induvidual CAPM, FF3, FFC --------------------------------------------------------------------------- CAPM White 0.857 BG 0.928 JB 0.219 dtype: float64 --------------------------------------------------------------------------- FF3 White 0.857 BG 0.948 JB 0.195 dtype: float64 --------------------------------------------------------------------------- FFC White 0.861 BG 0.948 JB 0.203 dtype: float64 ---------------------------------------------------------------------------
pd.merge(pd.DataFrame(EW(FAMAC,Show=False).resid).reset_index(),F.reset_index()).set_index('date').corr()
0 | Mkt-RF | SMB | HML | MOM | RMW | CMA | RF | |
---|---|---|---|---|---|---|---|---|
0 | 1.000 | 0.000 | 0.000 | -0.000 | -0.000 | -0.067 | -0.109 | -0.097 |
Mkt-RF | 0.000 | 1.000 | 0.120 | -0.026 | -0.381 | 0.001 | -0.273 | -0.117 |
SMB | 0.000 | 0.120 | 1.000 | -0.097 | -0.004 | -0.274 | -0.221 | -0.118 |
HML | -0.000 | -0.026 | -0.097 | 1.000 | -0.480 | -0.550 | 0.792 | -0.076 |
MOM | -0.000 | -0.381 | -0.004 | -0.480 | 1.000 | 0.270 | -0.112 | 0.045 |
RMW | -0.067 | 0.001 | -0.274 | -0.550 | 0.270 | 1.000 | -0.289 | 0.009 |
CMA | -0.109 | -0.273 | -0.221 | 0.792 | -0.112 | -0.289 | 1.000 | -0.013 |
RF | -0.097 | -0.117 | -0.118 | -0.076 | 0.045 | 0.009 | -0.013 | 1.000 |
tester(EW(CAPM),show=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.905 Model: OLS Adj. R-squared: 0.904 Method: Least Squares F-statistic: 1223. Date: Sun, 25 Jun 2023 Prob (F-statistic): 1.11e-67 Time: 15:38:57 Log-Likelihood: 380.77 No. Observations: 131 AIC: -757.5 Df Residuals: 129 BIC: -751.8 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0052 0.001 -4.393 0.000 -0.008 -0.003 Mkt-RF 0.9821 0.028 34.976 0.000 0.927 1.038 ============================================================================== Omnibus: 104.804 Durbin-Watson: 2.116 Prob(Omnibus): 0.000 Jarque-Bera (JB): 689.487 Skew: -2.985 Prob(JB): 1.90e-150 Kurtosis: 12.522 Cond. No. 24.1 ============================================================================== Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. P-Value = 0.6980553587061408 - If this is lower than 0.05 We have a problem with hetero P-Value = 0.2940685924816942 - Autocorrelation if lower than 0.05 P-Values = 0.0 - If not high, this is not normality
date 2021-12-31 -0.067 2018-12-31 -0.058 2014-12-31 -0.052 2017-12-29 -0.046 2022-12-30 -0.037 2013-12-31 -0.034 2019-12-31 -0.033 2015-12-31 -0.033 2020-12-31 -0.027 2016-12-30 -0.025 2012-12-31 -0.011 2022-02-28 -0.008 2022-03-31 -0.008 2020-11-30 -0.008 2020-08-31 -0.007 dtype: float64
In this section, we used the information ratio and the Sharpe ratio for all the funds in our sample. We also plotted some of the results and conducted some analysis on the different cost categories.
# Calulcating the Information ratio for each fund
def ir(start=str(start_year), end=str(end_year), returns=ret, l=25, printing=False):
start = str(start)
end = str(end)
SR = pd.DataFrame()
SR.index = returns.columns
SR['ir'] = np.NaN
for i in returns:
fund_rf = pd.concat([returns[i].loc[start:end],Mkt.loc[start:end]], axis=1).dropna()
SR['ir'].loc[i] = ((fund_rf[i]-fund_rf[0]).mean()/((fund_rf[i]-fund_rf[0]).std()))*np.sqrt(12)
if printing == False:
print('-'*50)
print(f'from {start} to {end}')
print(SR.sort_values('ir', ascending=False).head(l))
plt.hist(SR['ir'])
plt.show()
print(f'Mean IR of {SR.mean()}')
print(f'Median IR of {SR.median()}')
else:
return SR.sort_values('ir', ascending=False)
# Sharpe ratio
def SR(fund_ret,start=start_year, end=end_year):
rf = FF['RF'].loc[str(start):str(end)].mean()*12
fund_return = fund_ret.loc[str(start):str(end)].mean() * 12
sigma = fund_ret.std() * np.sqrt(12)
return (fund_return-rf)/sigma
all_ir = ir(printing=True)
all_ir
ir | |
---|---|
JENSEN GLOBAL QUALITY GROWTH FUND I | 0.764 |
VANGUARD GLBL ESG SEL STK FD ADMIRAL | 0.515 |
HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E | 0.392 |
BROWN ADVISORY GLOBAL LEADERS FUND INVESTOR | 0.325 |
VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV | 0.280 |
... | ... |
ARTIO SELECT OPPS.FD. INCO.CL.A | -1.939 |
VIRTUS GLB.COMD.STK.FD. CL.I | -2.147 |
BLACKROCK GLOBAL IMPACT FUND INST | -2.584 |
VIRTUS SGA NEW LEADERS GROWTH FUND R6 | -2.929 |
JUBAK GLOBAL EQ.FD. DEAD - Liquidated | -3.291 |
251 rows × 1 columns
# EW Infromation ratio
ew_ret = pd.DataFrame(ret.mean(axis=1).dropna())
ew_ret = ew_ret.rename(columns={0:'ew'})
IR_total = ir(2012, 2022,ew_ret, printing=True)
print(IR_total)
ir ew -1.391
# Cheap funds
cheap_ret = pd.DataFrame(ret[cheap_funds].mean(axis=1)).dropna()
cheap_ret = cheap_ret.rename(columns={0:'cheap'})
cheap_IR = ir(2012, 2022, cheap_ret, printing=True)
print(cheap_IR)
ir cheap -1.326
# Medium funds
medium_ret = pd.DataFrame(ret[medium_funds].mean(axis=1)).dropna()
medium_ret = medium_ret.rename(columns={0:'medium'})
medium_IR = ir(2012, 2022, medium_ret, printing=True)
print(medium_IR)
ir medium -1.116
# Expensive funds
expensive_ret = pd.DataFrame(ret[expensive_funds].mean(axis=1)).dropna()
expensive_ret = expensive_ret.rename(columns={0:'expensive'})
expensive_IR = ir(2012, 2022, expensive_ret, printing=True)
print(expensive_IR)
ir expensive -1.634
alive = ret.iloc[-1].dropna().index
high_IR_funds = ir(returns=ret[alive],printing=True).head(3)
high_IR_funds
ir | |
---|---|
JENSEN GLOBAL QUALITY GROWTH FUND I | 0.764 |
VANGUARD GLBL ESG SEL STK FD ADMIRAL | 0.515 |
BROWN ADVISORY GLOBAL LEADERS FUND INVESTOR | 0.325 |
adjusted[high_IR_funds.index].plot()
(1+Mkt.loc[str(start_year):str(end_year)]).cumprod().plot();
In this section, we tried to replicate Bogle's (2002) method -- soruce from thesis (https://doi.org/10.3905/jpm.2002.319840). We used morningstar style-boxes obtained from Morningstar direct. Further, we sorted the funds into portfolios based on their style and cost. We then compared their Sharpe ratio.
def cost(x):
if x in cheap_funds:
return 'Low-Cost'
elif x in medium_funds:
return 'Medium-Cost'
elif x in expensive_funds:
return 'High-Cost'
fund_df = pd.DataFrame({'fund':fund})
fund_df.set_index('fund', inplace=True)
morningstar_data = pd.read_excel('fund_data.xlsx', sheet_name=f'{var}_INFO')
morningstar_data = morningstar_data[[0,'Equity Style Box (Long)']].set_index(0)
ret_df = pd.DataFrame({'ret':ret.mean(axis=0)*12})
exp_df = pd.DataFrame({'exp':exp.mean(axis=0)})
b_df2 = ret_df.merge(res_FFC,left_index=True, right_index=True,how='right')
b_df = exp_df.merge(b_df2,left_index=True, right_index=True, how='inner')
b_df = pd.concat([b_df,morningstar_data],axis=1)
b_df = b_df.rename(columns={'Equity Style Box (Long)':'style'})
b_df = b_df.reset_index()
b_df['cost'] = b_df['index'].apply(lambda x: cost(x))
b_df.set_index('index', inplace=True)
h_df = b_df
b_df = b_df.dropna()
b_df['cap'] = b_df['style'].apply(lambda x:x.split()[0])
b_df['type'] = b_df['style'].apply(lambda x:x.split()[1])
b_df
exp | ret | Alpha | Mkt-RF | SMB | HML | MOM | ADJ_R_SQ | style | cost | cap | type | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
index | ||||||||||||
1290 SMART BETA EQUITY FUND I | 0.953 | 0.067 | -0.003 | 0.892 | -0.387 | -0.087 | 0.067 | 0.916 | Large Blend | Medium-Cost | Large | Blend |
AB GLOBAL CORE EQUITY PORTFOLIO ADV | 0.871 | 0.046 | -0.003 | 0.960 | -0.274 | -0.033 | -0.105 | 0.919 | Large Blend | Low-Cost | Large | Blend |
AB SUSTAINABLE GLOBAL THEMATIC FUND A | 1.373 | 0.076 | -0.002 | 1.029 | 0.120 | -0.454 | -0.014 | 0.827 | Large Growth | High-Cost | Large | Growth |
AGF GLOBAL SUSTAINABLE EQUITY FUND I | 0.800 | 0.086 | 0.001 | 1.052 | 0.132 | -0.404 | 0.035 | 0.917 | Large Growth | Low-Cost | Large | Growth |
AQR GLOBAL EQ.FD.CL.I | 0.866 | 0.001 | -0.009 | 1.011 | -0.212 | 0.035 | 0.030 | 0.499 | Large Value | Low-Cost | Large | Value |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
WASATCH GLOBAL VALUE FUND INVESTOR | 1.102 | -0.017 | -0.010 | 0.996 | -0.380 | 0.484 | -0.023 | 0.514 | Large Value | Medium-Cost | Large | Value |
WILLIAM BLAIR GLOBAL LEADERS FD.CL.I | 1.092 | 0.058 | -0.005 | 1.112 | -0.152 | -0.343 | 0.023 | 0.838 | Large Growth | Medium-Cost | Large | Growth |
YORKTOWN CAPITAL APPRECIATION FUND A | 1.625 | -0.049 | -0.011 | 0.888 | -0.124 | -0.288 | -0.071 | 0.654 | Mid Growth | High-Cost | Mid | Growth |
ABRDN EMERGING MARKETS EX-CHINA FUND A | 1.543 | 0.002 | -0.008 | 0.999 | -0.402 | -0.151 | -0.087 | 0.730 | Large Blend | High-Cost | Large | Blend |
ABRDN GLOBAL EQUITY IMPACT FUND A | 1.691 | 0.041 | -0.006 | 1.056 | -0.109 | -0.147 | -0.002 | 0.842 | Large Growth | High-Cost | Large | Growth |
165 rows × 12 columns
b_df[['exp', 'ret', 'style']].groupby('style').mean()
exp | ret | |
---|---|---|
style | ||
Large Blend | 1.070 | 0.032 |
Large Growth | 1.052 | 0.028 |
Large Value | 0.995 | 0.026 |
Mid Blend | 1.850 | -0.027 |
Mid Growth | 1.217 | -0.046 |
Mid Value | 1.060 | 0.029 |
b_df = b_df.reset_index()
h_df = h_df.reset_index()
b_df['SR'] = b_df['index'].apply(lambda x: SR(ret[x]))
h_df['SR'] = h_df['index'].apply(lambda x: SR(ret[x]))
b_df = b_df.set_index('index')
h_df = h_df.set_index('index')
high_cost_df = b_df[b_df['cost'] == 'High-Cost']
med_cost_df = b_df[b_df['cost'] == 'Medium-Cost']
low_cost_df = b_df[b_df['cost'] == 'Low-Cost']
high = high_cost_df[['style','SR']].groupby('style').mean()
med = med_cost_df[['style','SR']].groupby('style').mean()
low = low_cost_df[['style','SR']].groupby('style').mean()
low = low.rename(columns={'SR':'Indv Low cost'})
med = med.rename(columns={'SR':'Indv Medium cost'})
high = high.rename(columns={'SR':'Indv High cost'})
overview = pd.concat([high,low,med],axis=1)
overview
Indv High cost | Indv Low cost | Indv Medium cost | |
---|---|---|---|
style | |||
Large Blend | 0.161 | 0.060 | 0.249 |
Large Growth | 0.196 | 0.122 | 0.132 |
Large Value | 0.195 | 0.045 | 0.187 |
Mid Blend | -0.120 | NaN | NaN |
Mid Growth | -0.004 | -0.565 | -0.452 |
Mid Value | -0.056 | 0.249 | 0.191 |
# Make the table for EW portfolios
for i in np.unique(b_df['style']):
for z in np.unique(b_df['cost']):
if len(ret[b_df[(b_df['cost'] == z) & (b_df['style'] == i)].index]) > 0:
overview.at[i, z+' EW'] = SR(ret[b_df[(b_df['cost'] == z) & (b_df['style'] == i)].index].mean(axis=1))
else:
overview.at[i, z+' EW'] = np.NaN
overview.sort_index()
Indv High cost | Indv Low cost | Indv Medium cost | High-Cost EW | Low-Cost EW | Medium-Cost EW | |
---|---|---|---|---|---|---|
style | ||||||
Large Blend | 0.161 | 0.060 | 0.249 | 0.179 | 0.281 | 0.274 |
Large Growth | 0.196 | 0.122 | 0.132 | 0.281 | 0.430 | 0.267 |
Large Value | 0.195 | 0.045 | 0.187 | 0.215 | 0.081 | 0.199 |
Mid Blend | -0.120 | NaN | NaN | -0.120 | NaN | NaN |
Mid Growth | -0.004 | -0.565 | -0.452 | 0.016 | -0.011 | -0.452 |
Mid Value | -0.056 | 0.249 | 0.191 | -0.056 | 0.249 | 0.373 |
# Medium cost funds - SR
SR(ret[b_df[b_df['cost'] == 'Medium-Cost'].index].mean(axis=1))
0.25740414336483086
# Low cost funds - SR
SR(ret[b_df[b_df['cost'] == 'Low-Cost'].index].mean(axis=1))
0.2713242009058264
# High cost funds - SR
SR(ret[b_df[b_df['cost'] == 'High-Cost'].index].mean(axis=1))
0.21620427626801553
# All Equally Weighted - SR
SR(ret[b_df.dropna().index].mean(axis=1))
0.2545661623916936
# total fund in the sample
len(b_df.dropna().index)
165
# All cost categories by style
for i in np.unique(b_df['style']):
print(i, SR(ret[b_df[(b_df['style'] == i)].index].mean(axis=1)))
Large Blend 0.24920154559541519 Large Growth 0.30574527715523997 Large Value 0.1731812460887714 Mid Blend -0.1203661342918984 Mid Growth 0.056909343672018574 Mid Value 0.29718159227254304
In this section, we converted some of our results into Excel files. We also created some latex tables from the results to make it easier to input into our thesis.
over_ = pd.concat([h_df,all_ir],axis=1)
over_[['exp','ret','style','cost','SR','ir']].to_excel(f'fund_in_{var}_overview.xlsx') # Sharpe, IR, and Style
factor(res_FFC_,FAMAC,ret,h=True, test_kit=True).to_excel(f'fund_testing_ind_in_{var}.xlsx') # Testing all funds on Carhart Regressions
factor(res_FFC_,FAMAC,ret,h=True, show_sign=True).to_excel(f'fund_famac_ind_net_in_{var}.xlsx') # Carhart Regressions Net
factor(res_FFC_,FAMAC,GROSS,h=True, show_sign=True).to_excel(f'fund_famac_ind_gross_in_{var}.xlsx') # Carhart Regressions Gross
print(over_[['exp','ret','style','cost','SR','ir']].to_latex())
\begin{tabular}{lrrllrr} \toprule {} & exp & ret & style & cost & SR & ir \\ \midrule 1290 GLOBAL TALENTS FUND A & 1.293 & 0.009 & NaN & High-Cost & 0.011 & -0.549 \\ 1290 SMART BETA EQUITY FUND I & 0.953 & 0.067 & Large Blend & Medium-Cost & 0.421 & -0.619 \\ AB GLOBAL CORE EQUITY PORTFOLIO ADV & 0.871 & 0.046 & Large Blend & Low-Cost & 0.241 & -0.702 \\ AB SUSTAINABLE GLOBAL THEMATIC FUND A & 1.373 & 0.076 & Large Growth & High-Cost & 0.405 & -0.273 \\ AGF GLOBAL EQUITY FUND I DEAD - Liquidated & 0.800 & -0.037 & NaN & Low-Cost & -0.252 & -1.570 \\ AGF GLOBAL SUSTAINABLE EQUITY FUND I & 0.800 & 0.086 & Large Growth & Low-Cost & 0.368 & 0.125 \\ AMG TRILOGY GLOBAL EQUITY FUND I & 0.914 & -0.030 & NaN & Low-Cost & -0.171 & -0.802 \\ AQR GLOBAL EQ.FD.CL.I & 0.866 & 0.001 & Large Value & Low-Cost & -0.026 & -0.681 \\ ARTIO SELECT OPPS.FD. INCO.CL.A & 1.380 & 0.046 & NaN & High-Cost & 0.340 & -1.939 \\ ADLER VALUE FUND INSTITUTIONAL & 1.255 & 0.078 & NaN & High-Cost & 0.292 & -0.047 \\ ADVISORY RESEARCH GLOBAL DIVIDEND FUND & 1.206 & 0.007 & NaN & High-Cost & 0.006 & -1.147 \\ ALGER GLOBAL FOCUS FUND A & 1.654 & 0.048 & Large Growth & High-Cost & 0.243 & -0.660 \\ ALL.BERN.GBL.VAL.FD. ADVI.CL.SHS. & 1.734 & 0.111 & NaN & High-Cost & 0.867 & -0.503 \\ ALLIANZGI BEST STYLES GLOBAL EQUITY FD.CL.R6 & 0.400 & -0.155 & NaN & Low-Cost & -0.507 & -0.889 \\ ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. & 0.600 & -0.190 & NaN & Low-Cost & -0.564 & -0.899 \\ ALPHA OPPORTUNISTIC ALTERNATIVES FUND I & 1.187 & 0.001 & NaN & High-Cost & -0.124 & -1.161 \\ AMERICAN CENTURY FOCUSED GLOBAL GROWTH FUND INV & 1.082 & 0.021 & Large Growth & Medium-Cost & 0.086 & -0.758 \\ AMER.FUND.CAP.WLD.GW.\& INC.FD.CL.A SHS. & 0.779 & 0.049 & NaN & Low-Cost & 0.305 & -1.269 \\ AMERICAN FUNDS GLOBAL INSIGHT FUND F-3 & 0.742 & 0.071 & Large Blend & Low-Cost & 0.468 & -0.664 \\ NEW ECONOMY FUND & 0.794 & 0.062 & Large Growth & Low-Cost & 0.338 & -0.436 \\ AMERICAN FUNDS NEW PERSPECTIVE FUND A & 0.757 & 0.062 & Large Growth & Low-Cost & 0.344 & -0.581 \\ ARIEL GLB.EQ.FD.INSTL. CL. & 0.973 & 0.053 & Large Value & Medium-Cost & 0.403 & -0.686 \\ ARISTOTLE VALUE EQUITY FUND I & 0.746 & 0.079 & NaN & Low-Cost & 0.380 & 0.061 \\ ARISTOTLE/SAUL GLOBAL EQUITY FUND I & 0.921 & 0.038 & Large Blend & Medium-Cost & 0.209 & -1.035 \\ ARTISAN GLOBAL DISCOVERY FUND INVESTOR & 1.405 & 0.067 & Mid Growth & High-Cost & 0.277 & -0.059 \\ ARTISAN GLOBAL EQ.FD. INVESTOR SHARES & 1.389 & 0.051 & Large Blend & High-Cost & 0.265 & -0.441 \\ ARTISAN GLB.OPPS.FD. INVR.SHS. & 1.200 & 0.080 & Large Growth & High-Cost & 0.455 & -0.197 \\ ARTISAN GLB.VAL.FD. INVESTOR SHARES & 1.305 & 0.059 & Large Value & High-Cost & 0.327 & -0.589 \\ AVE MARIA WORLD EQUITY FUND & 1.366 & 0.050 & Large Growth & High-Cost & 0.272 & -0.976 \\ BBH GLOBAL CORE SELECT CL.N & 1.259 & 0.042 & NaN & High-Cost & 0.231 & -0.952 \\ BMO GLOBAL LOW VOLT.EQ. FD.CL.I & 0.850 & -0.002 & NaN & Low-Cost & -0.058 & -1.098 \\ BMO PYRFORD GLOBAL EQUITY FUND I & 0.900 & -0.071 & NaN & Low-Cost & -0.616 & -1.392 \\ BNY MELLON GLOBAL STOCK FUND I & 0.934 & 0.047 & Large Growth & Medium-Cost & 0.274 & -0.779 \\ BNY MELLON WORLDWIDE GROWTH FUND A & 1.173 & 0.041 & Large Growth & Medium-Cost & 0.216 & -0.725 \\ BAILLIE GIFFORD GLOBAL ALPHA EQUITY FUND 2 & 0.663 & 0.017 & Large Growth & Low-Cost & 0.050 & -0.589 \\ BAILLIE GIFFORD GBL. STEWD.EQTIES.FD.I & 0.650 & 0.031 & Large Growth & Low-Cost & 0.093 & -0.424 \\ BAILLIE GIFFORD LONG TERM GLOBAL GROWTH 2 & 0.749 & 0.099 & Large Growth & Low-Cost & 0.369 & 0.044 \\ BARON GLOBAL ADVANTAGE FD.INST CL. & 1.091 & 0.112 & Large Growth & Medium-Cost & 0.501 & 0.108 \\ BLACKROCK ADVANTAGE GLOBAL FUND INVESTOR A & 1.242 & 0.008 & Large Blend & High-Cost & 0.008 & -0.820 \\ BLACKROCK GLOBAL IMPACT FUND INST & 0.845 & -0.242 & Mid Growth & Low-Cost & -1.242 & -2.584 \\ BLACKROCK UNCONSTRAINED EQUITY FUND INVESTOR A & 1.251 & -0.004 & Large Growth & High-Cost & -0.060 & -0.998 \\ BOSTON PRTNRS GLBL EQTY ADV FD INST & 0.648 & 0.050 & NaN & Low-Cost & 0.173 & -0.985 \\ BOSTON PRTNRS GLBL EQTY FD INSTL & 1.019 & 0.074 & Large Value & Medium-Cost & 0.417 & -0.441 \\ BRANDES GLOBAL EQ.FD.CL. I & 1.001 & 0.035 & Large Value & Medium-Cost & 0.169 & -0.934 \\ BRANDES GLBL OPPTYS VAL FD I & 1.150 & 0.003 & NaN & Medium-Cost & -0.025 & -1.392 \\ BROWN ADVISORY GLOBAL LEADERS FUND INVESTOR & 0.873 & 0.111 & Large Growth & Low-Cost & 0.642 & 0.325 \\ CMG MAULDIN CORE FUND I & 1.956 & -0.029 & Large Blend & High-Cost & -0.383 & -0.973 \\ CRM GLOBAL OPPORTUNITY FD - INVESTOR SHS & 1.500 & 0.071 & NaN & High-Cost & 0.569 & -0.918 \\ CALAMOS GLB.EQ.FD.CL.I & 1.150 & 0.016 & Large Growth & Medium-Cost & 0.047 & -0.713 \\ CAMBIAR GLOBAL EQUITY FUND INVESTOR & 1.069 & -0.014 & Large Growth & Medium-Cost & -0.109 & -0.945 \\ CASTLE FOCUS FD.INVESTOR SHARES & 1.360 & 0.006 & Large Value & High-Cost & -0.002 & -0.966 \\ CATALYST/MAP GLOBAL EQUITY FUND A & 1.441 & 0.055 & Large Value & High-Cost & 0.367 & -0.860 \\ CAUSEWAY CONCENTRATED EQUITY FUND INSTL & 0.850 & -0.136 & Large Blend & Low-Cost & -0.644 & -0.261 \\ CAUSEWAY GLB.VAL.FUND INSTL.CLASS & 1.027 & 0.038 & Large Blend & Medium-Cost & 0.158 & -0.606 \\ CHAUTAUQUA GLOBAL GROWTH FUND INSTITUTIONAL & 0.872 & 0.108 & Large Growth & Low-Cost & 0.578 & 0.125 \\ COLUMBIA GLOBAL VALUE FUND A & 1.154 & 0.023 & Large Value & Medium-Cost & 0.108 & -1.115 \\ COLUMBIA SELECT GLOBAL EQUITY FUND A & 1.359 & 0.076 & Large Growth & High-Cost & 0.441 & -0.347 \\ COLUMBIA SELECT GLOBAL GROWTH FUND A & 1.466 & 0.110 & NaN & High-Cost & 0.608 & 0.095 \\ COMMONWEALTH GLOBAL FD. & 2.805 & 0.029 & Large Blend & High-Cost & 0.156 & -1.390 \\ THE COOK \& BYNUM FUND & 1.554 & 0.016 & Large Value & High-Cost & 0.072 & -0.817 \\ DWS CROCI SECTOR OPPORTUNITIES FUND S & 1.200 & -0.035 & NaN & High-Cost & -0.339 & -1.253 \\ DAVIS GLB.FD.CL.A & 0.971 & 0.065 & Large Blend & Medium-Cost & 0.330 & -0.344 \\ DELAWARE GLOBAL EQUITY FUND A & 1.486 & 0.001 & Large Blend & High-Cost & -0.031 & -0.906 \\ DEL.GLB.VAL.FD.CL.A DEAD - Liquidated & 1.553 & 0.013 & Large Blend & High-Cost & 0.048 & -0.838 \\ DELAWARE IVY GLOBAL GROWTH FUND A & 1.423 & 0.016 & Large Growth & High-Cost & 0.045 & -0.606 \\ DIAMOND HILL GLOBAL FUND Y & 0.743 & 0.052 & Large Blend & Low-Cost & 0.189 & -1.084 \\ DODGE \& COX GLOBAL STOCK FUND I & 0.634 & 0.057 & Large Value & Low-Cost & 0.277 & -0.484 \\ DREYFUS STRATEGIC BETA GLOBAL EQUITY FUND I & 0.600 & 0.104 & NaN & Low-Cost & 0.987 & -1.485 \\ DRIEHAUS GLB.GW.FUND DEAD - Liquidated & 1.975 & -0.089 & NaN & High-Cost & -0.430 & -1.222 \\ ERSHARES GLBL ENTREPRENEURS FD INSTL & 1.623 & 0.015 & Mid Growth & High-Cost & 0.046 & -0.658 \\ EATON VANCE FOCUSED GLBL OPPTYS FD I & 0.952 & 0.068 & Large Growth & Medium-Cost & 0.333 & -0.596 \\ EATON VANCE HEXAVEST GLB.EQ.FD.CL.I & 0.990 & 0.030 & NaN & Medium-Cost & 0.169 & -1.331 \\ EATON VANCE RICHD.BERN. EQ.STGY.FD.CL.I & 1.025 & 0.048 & NaN & Medium-Cost & 0.304 & -0.744 \\ EPOCH GLOBAL ALL CAP FUND INSTITUTIONAL & 1.000 & -0.046 & NaN & Medium-Cost & -0.399 & -1.337 \\ FEDERATED HERMES GLOBAL EQUITY FUND IS & 0.739 & 0.055 & Large Blend & Low-Cost & 0.244 & -0.895 \\ FIDELITY ADVISOR GLOBAL CAPITAL APPREC FUND I & 1.052 & 0.072 & Large Growth & Medium-Cost & 0.402 & -0.386 \\ FIDELITY ENDURING OPPORTUNITIES FUND & 1.078 & -0.007 & Large Growth & Medium-Cost & -0.065 & -1.248 \\ FID SRS INTRINSIC OPPTYS FD & 0.477 & 0.091 & NaN & Low-Cost & 0.580 & -0.580 \\ FIDELITY WORLDWIDE FD. & 0.989 & 0.044 & Large Growth & Medium-Cost & 0.226 & -0.644 \\ FIERA CAPITAL GLOBAL EQUITY FUND INST & 0.900 & 0.079 & Large Growth & Low-Cost & 0.400 & -0.010 \\ FRANKLIN GLOBAL EQUITY FUND FUND A & 1.367 & 0.071 & Large Blend & High-Cost & 0.416 & -0.542 \\ FRANKLIN MUTUAL BEACON FUND Z & 0.802 & 0.028 & Large Value & Low-Cost & 0.140 & -0.945 \\ FRANKLIN MUTUAL GLOBAL DISCOVERY FUND Z & 0.986 & 0.009 & Large Value & Medium-Cost & 0.016 & -1.098 \\ FRANKLIN WORLD PERSPECTIVES FD.CL.A & 1.366 & 0.010 & NaN & High-Cost & 0.027 & -1.122 \\ FRONTIER MFG GLOBAL EQUITY INSTITUTIONAL & 0.800 & 0.009 & Large Growth & Low-Cost & 0.016 & -0.672 \\ FRONTIER MFG GLOBAL PLUS FUND INSTITUTIONAL & 0.800 & -0.062 & Large Growth & Low-Cost & -0.213 & -0.581 \\ FRTR MFG GLBL SUSTAINABLE FD INSTL & 0.800 & 0.006 & Large Growth & Low-Cost & 0.001 & -1.357 \\ FRONTIER ROBECO SAM GLOBAL EQUITY FUND INST & 1.200 & -0.027 & NaN & High-Cost & -0.156 & -1.020 \\ GMO GLB.FOCD.EQ.FD.CL. III & 0.801 & -0.084 & NaN & Low-Cost & -0.528 & -1.536 \\ GQG PARTNERS GLOBAL QUALITY EQUITY FUND INST & 0.750 & 0.087 & Large Blend & Low-Cost & 0.481 & -0.389 \\ GABELLI GLOBAL GROWTH FUND AAA & 1.489 & 0.045 & Large Growth & High-Cost & 0.225 & -0.607 \\ GRANITE VALUE FUND DEAD - Liquidated & 1.352 & 0.010 & NaN & High-Cost & 0.023 & -0.909 \\ GREENWICH IVY LONG-SHORT FUND INST & 1.850 & -0.027 & Mid Blend & High-Cost & -0.120 & -0.325 \\ GUARDIAN CAPITAL DIV GRO FD INST & 0.950 & 0.123 & Large Blend & Medium-Cost & 0.673 & -0.563 \\ GUARDIAN CAPITAL FNDM GLBL EQTY FD INST & 0.990 & 0.027 & Large Growth & Medium-Cost & 0.117 & -0.541 \\ GUIDE STONE GLBL IMPACT FD INSTL & 0.810 & -0.201 & Large Growth & Low-Cost & -1.248 & -1.147 \\ GUINNESS ATKINSON GLOBAL INNOVATORS FUND INVESTOR & 1.304 & 0.083 & Large Growth & High-Cost & 0.414 & -0.171 \\ HC ESG GROWTH PORTFOLIO HC STRATEGIC & 0.351 & 0.050 & NaN & Low-Cost & 0.264 & -1.379 \\ HSBC GLBL EQTY VOLATILITY FOCUSED FD I & 0.950 & -0.017 & NaN & Medium-Cost & -0.165 & -1.414 \\ HARBOR GLOBAL LEADERS FUND INSTITUTIONAL & 0.902 & 0.047 & Large Growth & Low-Cost & 0.231 & -0.517 \\ HARBOR GLB.VAL.FD.INSTL. CL. & 0.970 & 0.131 & NaN & Medium-Cost & 0.951 & -1.021 \\ HARDING LOEVNER GLOB.EQ. PRTF.ADVI.CL. & 1.163 & 0.042 & Large Growth & Medium-Cost & 0.211 & -0.652 \\ HARDING LOEVNER GLOBAL EQUITY RESEARCH PFLO INS & 0.844 & 0.005 & Large Blend & Low-Cost & -0.008 & -0.977 \\ HARTFORD CLIMATE OPPORTUNITIES FUND A & 1.131 & 0.047 & Large Growth & Medium-Cost & 0.200 & -0.514 \\ HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E & 1.480 & 0.191 & NaN & High-Cost & 1.446 & 0.392 \\ HARTFORD GLOBAL RESEARCH HLS IA & 1.029 & 0.150 & NaN & Medium-Cost & 1.186 & -0.688 \\ HOTCHKIS \& WILEY GLOBAL VALUE FD.CL.I & 1.045 & 0.033 & Large Value & Medium-Cost & 0.126 & -0.490 \\ IMPAX GLBL ENVIRON MARKETS FD INST & 1.048 & 0.084 & NaN & Medium-Cost & 0.469 & -0.246 \\ IMPAX GLBL OPPTYS FD INSTL & 0.936 & 0.102 & NaN & Medium-Cost & 0.492 & 0.161 \\ INVESCO GLOBAL CORE EQ. FD.CL.A & 1.253 & 0.015 & Large Blend & High-Cost & 0.050 & -1.064 \\ INVESCO GLOBAL FOCUS FUND Y & 1.026 & 0.071 & Large Blend & Medium-Cost & 0.342 & -0.278 \\ INVESCO GLOBAL FUND A & 1.121 & 0.043 & Large Growth & Medium-Cost & 0.194 & -0.653 \\ IVS.GLB.GW.FD.CL.A DEAD - Merged:517169 & 1.320 & -0.027 & Large Growth & High-Cost & -0.154 & -0.862 \\ INVESCO GLOBAL OPPS.FD. CL.A & 1.222 & 0.004 & NaN & High-Cost & -0.015 & -1.023 \\ IRONBRIDGE GLOBAL FUND DEAD - Liquidated & 1.000 & 0.013 & NaN & Medium-Cost & 0.056 & -1.164 \\ JOHCM GLOBAL SELECT FUND INST & 1.060 & 0.032 & Large Growth & Medium-Cost & 0.145 & -0.557 \\ JP MORG GLBL UNCONSTRAINED EQTY FD I & 0.653 & -0.015 & NaN & Low-Cost & -0.134 & -0.946 \\ JANUS HENDERSON GLOBAL RESEARCH FUND D & 0.816 & 0.069 & Large Growth & Low-Cost & 0.386 & -0.565 \\ JANUS HENDERSON GLOBAL SELECT FUND T & 0.926 & 0.052 & Large Blend & Medium-Cost & 0.257 & -0.621 \\ JANUS HENDERSON GLBL SUSTAINABLE EQTY FD D & 1.000 & -0.178 & Large Growth & Medium-Cost & -0.795 & -1.338 \\ JANUS HENDERSON GLOBAL VALUE FUND D & 0.881 & -0.011 & NaN & Low-Cost & -0.095 & -0.942 \\ JANUS PRESERVATION SERIES-GLOBAL C & 2.647 & -0.016 & NaN & High-Cost & -0.201 & -1.845 \\ JENSEN GLOBAL QUALITY GROWTH FUND I & 1.020 & -0.015 & Large Growth & Medium-Cost & -0.111 & 0.764 \\ JOHN HANCOCK FDAMENTAL GLBL FRANCHISE FD NAV & 0.877 & -0.011 & Large Blend & Low-Cost & -0.090 & -0.833 \\ JOHN HANCOCK GLOBAL EQUITY FUND NAV & 0.886 & 0.002 & Large Blend & Low-Cost & -0.029 & -0.860 \\ JOHN HANCOCK FUNDS GLB. OPPS.FD.CL.A & 1.481 & 0.017 & NaN & High-Cost & 0.083 & -1.526 \\ JHAN.FUND.III GLB. SHAREHOLDER YLD.FD.CL.I & 0.920 & 0.016 & Large Value & Low-Cost & 0.074 & -1.229 \\ JOHN HANCOCK GLOBAL THEMATIC OPPS FUND NAV & 0.840 & -0.008 & Large Growth & Low-Cost & -0.072 & -1.234 \\ JOHN HANCOCK MUTUAL SHARES FUND NAV & 1.009 & 0.116 & NaN & Medium-Cost & 1.071 & -0.707 \\ JOHN HANCOCK TECHNICAL OPPORTUNITIES FUND NAV & 1.183 & 0.025 & NaN & High-Cost & 0.091 & -0.503 \\ JUBAK GLOBAL EQ.FD. DEAD - Liquidated & 1.665 & 0.015 & NaN & High-Cost & 0.071 & -3.291 \\ LSV GLOBAL MANAGED VOLATILITY FUND INST & 0.750 & 0.031 & Large Value & Low-Cost & 0.178 & -0.904 \\ LSV GLOBAL VALUE FUND INST & 0.900 & 0.052 & Mid Value & Low-Cost & 0.249 & -0.693 \\ LAZARD EQUITY FRANCHISE PORTFOLIO INSTITUTIONAL & 0.950 & -0.011 & Mid Value & Medium-Cost & -0.066 & -0.800 \\ LAZARD GLOBAL EQUITY SELECT PORTFOLIO INSTL & 1.013 & 0.057 & Large Growth & Medium-Cost & 0.346 & -0.535 \\ LAZARD GLOBAL STRATEGIC EQUITY PORTFOLIO INST & 1.038 & -0.084 & Large Growth & Medium-Cost & -0.258 & -0.554 \\ LONGLEAF PARTNERS GLOBAL FD. & 1.333 & -0.005 & Mid Value & High-Cost & -0.056 & -0.855 \\ LORD ABBETT GLOBAL EQUITY FUND A & 0.938 & 0.023 & Large Blend & Medium-Cost & 0.090 & -0.704 \\ MFAM GLBL OPPTYS FD INVSTR & 1.208 & 0.088 & NaN & High-Cost & 0.514 & -0.417 \\ MFS BLENDED RESEARCH GLOBAL EQUITY FUND R6 & 0.583 & 0.050 & Large Blend & Low-Cost & 0.257 & -1.121 \\ MFS GLB.EQ.FD.CL.B & 1.961 & 0.064 & Large Blend & High-Cost & 0.378 & -0.786 \\ MFS GLOBAL LEADERS FD. CL.A & 1.450 & -0.001 & NaN & High-Cost & -0.049 & -1.084 \\ MAIN STAY EPOCH CAPITAL GROWTH FUND I & 0.906 & -0.002 & Large Growth & Low-Cost & -0.039 & -0.572 \\ MAINSTAY EPOCH GLB.CHO. FD.CL.I & 1.128 & 0.021 & Large Blend & Medium-Cost & 0.102 & -1.030 \\ MAINSTAY EPOCH GLB.EQ. YLD.FD.CL.I & 0.852 & 0.031 & Large Value & Low-Cost & 0.175 & -1.076 \\ MAINSTAY ICAP GLB.FD.CL. I & 0.900 & 0.045 & NaN & Low-Cost & 0.315 & -1.244 \\ MNGD ACCT SRS BLKRK GA DYN EQTY FD K & 0.505 & 0.042 & NaN & Low-Cost & 0.166 & -0.630 \\ MARSICO GLOBAL FUND INVESTOR & 1.534 & 0.048 & Large Growth & High-Cost & 0.220 & -0.418 \\ MASS MUTUAL GLOBAL FUND R5 & 0.931 & 0.014 & Large Growth & Medium-Cost & 0.039 & -0.690 \\ MONDRIAN GLOBAL EQUITY VALUE FUND & 0.740 & -0.070 & Large Value & Low-Cost & -0.412 & 0.181 \\ MORGAN STANLEY GLOBAL CONCENTRATED PORTFOLIO I & 0.990 & 0.081 & Large Growth & Medium-Cost & 0.428 & -0.246 \\ MORGAN STANLEY GLOBAL CORE PORTFOLIO I & 0.985 & 0.077 & Large Growth & Medium-Cost & 0.402 & -0.378 \\ MORGAN STANLEY INSTL.FD. GLB.INSIGHT PRTF.CL.H & 1.663 & 0.015 & NaN & High-Cost & 0.055 & -0.725 \\ MORGAN STANLEY GLOBAL SUSTAIN PORTFOLIO I & 0.963 & 0.042 & Large Growth & Medium-Cost & 0.236 & -0.458 \\ MGST.INSTL.FD.GLB.FRCH. PRTF.CL.I & 0.956 & 0.065 & Large Growth & Medium-Cost & 0.420 & -0.403 \\ MORG STAN INST GLBL PERMANENCE PFOLIO I & 0.997 & 0.032 & Large Growth & Medium-Cost & 0.112 & -0.374 \\ MORG STAN INSTL CNTRPNT GLBL I & 1.038 & -0.007 & Large Growth & Medium-Cost & -0.043 & -0.468 \\ MORG STAN INSTL GLBL INSIGHT PRT I & 1.155 & 0.007 & Large Growth & Medium-Cost & 0.004 & -0.457 \\ MORGAN STANLEY INSTL.FD. GLB.GW.PRTF.CL.I & 1.014 & 0.076 & NaN & Medium-Cost & 0.361 & -0.194 \\ MUNDOVAL FUND & 1.498 & 0.074 & Large Growth & High-Cost & 0.433 & -0.406 \\ NATIONWIDE GLBL SUSTAINABLE EQTY FD R6 & 0.981 & 0.051 & Large Growth & Medium-Cost & 0.261 & -0.683 \\ NATIXIS LOOMIS SAYLES GLOBAL GROWTH Y & 1.010 & 0.041 & Large Growth & Medium-Cost & 0.191 & -0.657 \\ NEUBERGER BERMAN FOCUS FD. & 0.922 & 0.019 & Large Growth & Medium-Cost & 0.068 & -0.733 \\ NEUBERGER BERMAN GLOBAL THEMATIC OPPS.INSTL.CL. & 1.250 & 0.044 & NaN & High-Cost & 0.399 & -1.457 \\ NINETY ONE GLOBAL FRANCHISE FUND I & 0.850 & 0.073 & Large Growth & Low-Cost & 0.382 & 0.006 \\ NORTHERN ENGAGE 360 FUND & 0.700 & 0.000 & Large Blend & Low-Cost & -0.028 & -0.893 \\ NUVEEN GLOBAL GROWTH FD. CL.A & 1.421 & 0.087 & Large Blend & High-Cost & 0.598 & -0.122 \\ NUVEEN NWQ GLOBAL ALL- CAP FUND I & 0.934 & -0.010 & NaN & Medium-Cost & -0.101 & -0.895 \\ OAKMARK GLOBAL FUND INVESTOR & 1.148 & 0.049 & Large Value & Medium-Cost & 0.208 & -0.508 \\ OAKMARK GLOBAL SELECT FUND INVESTOR & 1.152 & 0.059 & Large Blend & Medium-Cost & 0.273 & -0.490 \\ OLD WESTBURY ALL CAP ESG FUND & 1.000 & -0.003 & Large Growth & Medium-Cost & -0.043 & -1.214 \\ PF MULTI-ASSET FUND P & 0.510 & -0.021 & NaN & Low-Cost & -0.103 & -0.634 \\ PGIM JENNISON GLOBAL OPPORTUNITIES FUND Z & 1.077 & 0.118 & Large Growth & Medium-Cost & 0.568 & 0.180 \\ PIMCO EQUITIES PFR. WORLD FD.CL.A & 1.246 & 0.001 & NaN & High-Cost & -0.031 & -0.969 \\ PIMCO GLOBAL DIVIDEND FUND A & 1.185 & -0.099 & NaN & High-Cost & -0.423 & -1.053 \\ PMC DIVERSIFIED EQUITY FUND ADVISOR & 1.248 & 0.046 & Large Blend & High-Cost & 0.257 & -0.997 \\ PARVIN HEDGED EQUITY SOLARI WORLD FUND & 0.010 & -0.121 & Large Blend & Low-Cost & -1.009 & 0.142 \\ PHAEACIAN GLOBAL VALUE FUND INST & 1.169 & 0.003 & NaN & Medium-Cost & -0.020 & -0.910 \\ PION GLBL SUSTAINABLE EQTY FD A & 1.244 & 0.057 & Large Value & High-Cost & 0.319 & -0.569 \\ POLARIS GLB.VAL.FD. & 1.057 & 0.079 & Mid Value & Medium-Cost & 0.448 & -0.350 \\ POLEN GLOBAL GROWTH FUND INSTITUTIONAL & 1.074 & 0.097 & Large Growth & Medium-Cost & 0.546 & 0.008 \\ PRINCIPAL SYSTEMAT EX INTERNATIONAL FUND R-6 & 0.625 & -0.026 & Large Blend & Low-Cost & -0.185 & -1.601 \\ PURISIMA ALL-PURPOSE FD. DEAD - Liquidated & 1.500 & -0.014 & NaN & High-Cost & -16.254 & -1.049 \\ QUAKER GLOBAL TACTICAL ALLOCATION FUND ADVISOR & 2.392 & 0.060 & NaN & High-Cost & 0.476 & -0.778 \\ RBC GLOBAL OPPORTUNITIES FUND I & 0.897 & 0.098 & Large Growth & Low-Cost & 0.528 & -0.143 \\ ROCKEFELLER EQTY ALLOCTN FD INSTL & 1.209 & -0.034 & NaN & High-Cost & -0.215 & -0.848 \\ RUSSELL INVESTMENTS GLOBAL EQUITY FUND S & 1.197 & 0.008 & Large Blend & High-Cost & 0.009 & -0.831 \\ SEI INST INV GLBL MNGD VOLATILITY FD A & 0.243 & -0.003 & Large Value & Low-Cost & -0.062 & -0.892 \\ SEI INST MGD GLBL MNGD VOLATILITY FD F & 1.112 & 0.015 & Large Value & Medium-Cost & 0.070 & -0.852 \\ SGI GLOBAL EQUITY FUND I & 0.859 & 0.057 & Large Blend & Low-Cost & 0.309 & -0.396 \\ SALIENT GLOBAL EQ.FD.CL. I & 1.600 & -0.051 & NaN & High-Cost & -0.526 & -1.546 \\ SANDS CAPITAL GLBL GRO FD INSTL & 1.019 & 0.070 & Large Growth & Medium-Cost & 0.326 & -0.268 \\ SCHARF GLOBAL OPPORTUNITY FUND INST & 0.612 & 0.037 & Large Value & Low-Cost & 0.187 & -0.621 \\ SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 & 0.700 & -0.231 & NaN & Low-Cost & -0.479 & -0.706 \\ SCOUT GLOBAL EQUITY FD. DEAD - Liquidated & 1.295 & 0.042 & NaN & High-Cost & 0.213 & -0.636 \\ SEGALL BRYANT \& HAMILL GLOBAL ALL CAP FUND RTL & 0.999 & -0.012 & Large Growth & Medium-Cost & -0.107 & -0.919 \\ SELECTIVE OPPORTUNITY FUND FOUNDATION & 1.396 & 0.029 & NaN & High-Cost & 0.082 & -0.481 \\ SIRIOS FOCUS FUND INST & 1.600 & -0.154 & Large Growth & High-Cost & -0.753 & -0.503 \\ SIT ESG GROWTH FUND I & 1.056 & 0.063 & Large Blend & Medium-Cost & 0.336 & -0.553 \\ STATE STREET DEFENSIVE GLOBAL EQUITY FUND I & 0.778 & -0.011 & NaN & Low-Cost & -0.093 & -1.086 \\ STATE STREET GLOBAL VALUE SPOTLIGHT FUND K & 0.750 & -0.277 & NaN & Low-Cost & -1.493 & -1.904 \\ STRATEGIC EQUITY ALLOCATION FUND NAV & 0.529 & 0.015 & NaN & Low-Cost & 0.051 & -0.836 \\ T.ROWE PRICE GLB.LGCP. STK.FD. & 0.962 & 0.071 & NaN & Medium-Cost & 0.388 & -0.347 \\ T ROWE PRICE GLOBAL IMPACT EQUITY & 0.944 & -0.165 & Large Growth & Medium-Cost & -0.669 & -0.889 \\ T ROWE PRICE GLB.STK.FD. & 0.851 & 0.105 & Large Growth & Low-Cost & 0.578 & 0.088 \\ T ROWE PRICE GLOBAL VALUE EQUITY & 0.746 & 0.022 & Large Value & Low-Cost & 0.095 & -0.782 \\ T.ROWE PRICE INSTL. DEAD - Merged:9051FK & 0.751 & 0.042 & NaN & Low-Cost & 0.188 & -0.485 \\ T ROWE PRICE INSTL.GLB. LGCP.EQ.FD. & 0.749 & 0.063 & NaN & Low-Cost & 0.385 & -0.508 \\ T ROWE PRICE QM GLOBAL EQUITY FUND & 0.734 & 0.058 & Large Blend & Low-Cost & 0.285 & -0.538 \\ TD GLOBAL LOW VOLATILITY EQUITY FUND INST & 0.900 & -0.008 & NaN & Low-Cost & -0.110 & -0.611 \\ TIF GLB.EQ.SERIES FUND DEAD - Liquidated & 0.848 & -0.132 & NaN & Low-Cost & -0.384 & -0.609 \\ TEMPLETON GLB.OPPOR.TST. I & 1.329 & 0.033 & NaN & High-Cost & 0.184 & -1.044 \\ TEMPLETON GROWTH FD.CL.A & 1.059 & 0.033 & Large Blend & Medium-Cost & 0.164 & -1.056 \\ TEMPLETON WLD.FUND.CL.A & 1.055 & -0.007 & Large Growth & Medium-Cost & -0.078 & -1.240 \\ THORNBURG GLOBAL OPPORTUNITIES FUND I & 0.985 & 0.080 & Large Value & Medium-Cost & 0.464 & -0.226 \\ THRIVENT GLOBAL STOCK FUND A & 1.024 & 0.016 & Large Blend & Medium-Cost & 0.057 & -0.971 \\ THRIVENT LOW VOLATILITY EQUITY S & 1.099 & 0.033 & Large Blend & Medium-Cost & 0.194 & -0.614 \\ TRILLIUM ESG GLOBAL EQUITY FUND RETAIL & 1.364 & 0.059 & Large Blend & High-Cost & 0.345 & -0.702 \\ TWEEDY BROWNE INTL VALUE FUND II - CURR UNHGD & 1.367 & 0.040 & Large Value & High-Cost & 0.245 & -1.039 \\ TWEEDY BROWNE VAL.FD. & 1.369 & 0.007 & Large Value & High-Cost & 0.002 & -1.044 \\ UBS ENGAGE FOR IMPACT FUND P & 0.850 & 0.031 & Mid Growth & Low-Cost & 0.112 & -0.882 \\ US GLB.INVRS.FUND.GLB. MEGATRENDS FUND & 2.110 & 0.139 & NaN & High-Cost & 1.495 & -0.944 \\ USAA CAPITAL GROWTH FUND FUND & 1.198 & 0.057 & Large Blend & High-Cost & 0.322 & -0.668 \\ USAA SUSTAINABLE WORLD FUND FUND & 1.149 & 0.029 & Large Blend & Medium-Cost & 0.131 & -0.631 \\ UPRIGHT GW.FD. & 2.222 & 0.049 & NaN & High-Cost & 0.122 & -0.168 \\ VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV & 0.676 & 0.136 & Large Growth & Low-Cost & 0.483 & 0.280 \\ VANGUARD GLOBAL CAPITAL CYCLES FUND INVESTOR & 0.334 & -0.029 & Large Value & Low-Cost & -0.134 & -0.553 \\ VANGUARD GLBL ESG SEL STK FD ADMIRAL & 0.455 & 0.034 & Large Blend & Low-Cost & 0.157 & 0.515 \\ VANGUARD HORIZON FD. VANGD.GLB.EQ.FD. & 0.519 & 0.054 & NaN & Low-Cost & 0.302 & -0.726 \\ VICTORY NEWBRIDGE GLOBAL EQUITY FUND A & 1.400 & 0.009 & NaN & High-Cost & 0.021 & -1.038 \\ VICTORY RS GLOBAL FUND Y & 0.875 & 0.064 & Large Blend & Low-Cost & 0.378 & -0.519 \\ VIRTUS GLB.COMD.STK.FD. CL.I & 1.400 & -0.076 & NaN & High-Cost & -0.554 & -2.147 \\ VIRTUS NFJ GLOBAL SUSTAINABILITY FUND INST & 0.833 & 0.019 & Large Blend & Low-Cost & 0.062 & -0.624 \\ VIRTUS SGA GLOBAL GROWTH FUND R6 & 1.238 & 0.077 & Large Growth & High-Cost & 0.445 & -0.330 \\ VIRTUS SGA NEW LEADERS GROWTH FUND R6 & 0.912 & -0.349 & Large Growth & Low-Cost & -1.528 & -2.929 \\ VIRTUS VONTOBEL GLOBAL OPPORTUNITIES FUND A & 1.443 & 0.053 & Large Growth & High-Cost & 0.299 & -0.539 \\ VONTOBEL GLOBAL EQUITY INSTITUTIONAL FUND I & 0.900 & 0.084 & NaN & Low-Cost & 0.657 & -0.159 \\ VOYA GLBL HI DIV LOW VOLATILITY FD A & 1.201 & 0.039 & Large Value & High-Cost & 0.228 & -1.038 \\ VOYA GLOBAL OPPORTUNITIES FUND A & 1.462 & 0.104 & NaN & High-Cost & 0.801 & -1.368 \\ WCM FOCUSED GLB.GW.FD. INSTL.CL. & 1.081 & 0.045 & Large Growth & Medium-Cost & 0.220 & -0.256 \\ WASATCH GLOBAL SELECT FUND INSTITUTIONAL & 0.954 & -0.099 & Mid Growth & Medium-Cost & -0.452 & -1.263 \\ WASATCH GLOBAL VALUE FUND INVESTOR & 1.102 & -0.017 & Large Value & Medium-Cost & -0.114 & -0.765 \\ WELLS FARGO INTRINSIC WORLD EQTY FD A & 1.377 & 0.008 & NaN & High-Cost & 0.006 & -0.603 \\ WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. & 1.000 & -0.061 & NaN & Medium-Cost & -0.259 & -0.566 \\ WILLIAM BLAIR GLOBAL LEADERS FD.CL.I & 1.092 & 0.058 & Large Growth & Medium-Cost & 0.291 & -0.532 \\ WINTERGREEN FD. DEAD - Liquidated & 1.905 & -0.087 & NaN & High-Cost & -0.465 & -1.082 \\ WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL & 0.760 & 0.012 & NaN & Low-Cost & 0.042 & -1.388 \\ WORLD SELECT EQUITY FUND A & 0.344 & -0.006 & NaN & Low-Cost & -0.058 & -0.997 \\ YORKTOWN CAPITAL APPRECIATION FUND A & 1.625 & -0.049 & Mid Growth & High-Cost & -0.336 & -1.475 \\ ABRDN EMERGING MARKETS EX-CHINA FUND A & 1.543 & 0.002 & Large Blend & High-Cost & -0.023 & -1.058 \\ ABRDN GLOBAL EQUITY IMPACT FUND A & 1.691 & 0.041 & Large Growth & High-Cost & 0.206 & -0.866 \\ \bottomrule \end{tabular}
print(factor(res_FFC_,FAMAC,ret,h=True, test_kit=True).to_latex())
\begin{tabular}{llll} \toprule {} & White & BG & JB \\ \midrule 1290 GLOBAL TALENTS FUND A & False & True & False \\ 1290 SMART BETA EQUITY FUND I & True & True & False \\ AB GLOBAL CORE EQUITY PORTFOLIO ADV & True & False & False \\ AB SUSTAINABLE GLOBAL THEMATIC FUND A & True & True & False \\ AGF GLOBAL EQUITY FUND I DEAD - Liquidated & True & True & True \\ AGF GLOBAL SUSTAINABLE EQUITY FUND I & True & True & True \\ AMG TRILOGY GLOBAL EQUITY FUND I & True & True & False \\ AQR GLOBAL EQ.FD.CL.I & True & True & False \\ ARTIO SELECT OPPS.FD. INCO.CL.A & True & False & True \\ ADLER VALUE FUND INSTITUTIONAL & True & True & True \\ ADVISORY RESEARCH GLOBAL DIVIDEND FUND & True & True & False \\ ALGER GLOBAL FOCUS FUND A & True & True & False \\ ALL.BERN.GBL.VAL.FD. ADVI.CL.SHS. & True & True & True \\ ALLIANZGI BEST STYLES GLOBAL EQUITY FD.CL.R6 & False & False & False \\ ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. & True & True & False \\ ALPHA OPPORTUNISTIC ALTERNATIVES FUND I & True & True & True \\ AMERICAN CENTURY FOCUSED GLOBAL GROWTH FUND INV & True & True & False \\ AMER.FUND.CAP.WLD.GW.\& INC.FD.CL.A SHS. & True & True & False \\ AMERICAN FUNDS GLOBAL INSIGHT FUND F-3 & True & True & False \\ NEW ECONOMY FUND & True & True & False \\ AMERICAN FUNDS NEW PERSPECTIVE FUND A & True & True & False \\ ARIEL GLB.EQ.FD.INSTL. CL. & False & True & False \\ ARISTOTLE VALUE EQUITY FUND I & False & True & True \\ ARISTOTLE/SAUL GLOBAL EQUITY FUND I & True & True & False \\ ARTISAN GLOBAL DISCOVERY FUND INVESTOR & True & True & False \\ ARTISAN GLOBAL EQ.FD. INVESTOR SHARES & True & True & False \\ ARTISAN GLB.OPPS.FD. INVR.SHS. & True & True & False \\ ARTISAN GLB.VAL.FD. INVESTOR SHARES & True & True & False \\ AVE MARIA WORLD EQUITY FUND & True & True & False \\ BBH GLOBAL CORE SELECT CL.N & True & True & False \\ BMO GLOBAL LOW VOLT.EQ. FD.CL.I & True & True & False \\ BMO PYRFORD GLOBAL EQUITY FUND I & True & True & True \\ BNY MELLON GLOBAL STOCK FUND I & True & True & False \\ BNY MELLON WORLDWIDE GROWTH FUND A & True & True & False \\ BAILLIE GIFFORD GLOBAL ALPHA EQUITY FUND 2 & True & True & False \\ BAILLIE GIFFORD GBL. STEWD.EQTIES.FD.I & True & True & False \\ BAILLIE GIFFORD LONG TERM GLOBAL GROWTH 2 & True & True & False \\ BARON GLOBAL ADVANTAGE FD.INST CL. & False & True & False \\ BLACKROCK ADVANTAGE GLOBAL FUND INVESTOR A & True & True & False \\ BLACKROCK GLOBAL IMPACT FUND INST & True & True & True \\ BLACKROCK UNCONSTRAINED EQUITY FUND INVESTOR A & True & True & False \\ BOSTON PRTNRS GLBL EQTY ADV FD INST & True & True & False \\ BOSTON PRTNRS GLBL EQTY FD INSTL & True & True & False \\ BRANDES GLOBAL EQ.FD.CL. I & True & True & False \\ BRANDES GLBL OPPTYS VAL FD I & False & True & True \\ BROWN ADVISORY GLOBAL LEADERS FUND INVESTOR & False & True & True \\ CMG MAULDIN CORE FUND I & True & True & False \\ CRM GLOBAL OPPORTUNITY FD - INVESTOR SHS & True & True & True \\ CALAMOS GLB.EQ.FD.CL.I & True & True & False \\ CAMBIAR GLOBAL EQUITY FUND INVESTOR & True & True & False \\ CASTLE FOCUS FD.INVESTOR SHARES & True & True & False \\ CATALYST/MAP GLOBAL EQUITY FUND A & True & True & False \\ CAUSEWAY CONCENTRATED EQUITY FUND INSTL & True & True & True \\ CAUSEWAY GLB.VAL.FUND INSTL.CLASS & True & True & False \\ CHAUTAUQUA GLOBAL GROWTH FUND INSTITUTIONAL & True & True & False \\ COLUMBIA GLOBAL VALUE FUND A & True & True & False \\ COLUMBIA SELECT GLOBAL EQUITY FUND A & True & True & False \\ COLUMBIA SELECT GLOBAL GROWTH FUND A & True & True & False \\ COMMONWEALTH GLOBAL FD. & True & True & False \\ THE COOK \& BYNUM FUND & True & True & False \\ DWS CROCI SECTOR OPPORTUNITIES FUND S & False & True & True \\ DAVIS GLB.FD.CL.A & True & False & False \\ DELAWARE GLOBAL EQUITY FUND A & True & True & False \\ DEL.GLB.VAL.FD.CL.A DEAD - Liquidated & True & True & False \\ DELAWARE IVY GLOBAL GROWTH FUND A & False & True & False \\ DIAMOND HILL GLOBAL FUND Y & True & True & False \\ DODGE \& COX GLOBAL STOCK FUND I & True & True & False \\ DREYFUS STRATEGIC BETA GLOBAL EQUITY FUND I & True & True & False \\ DRIEHAUS GLB.GW.FUND DEAD - Liquidated & False & True & False \\ ERSHARES GLBL ENTREPRENEURS FD INSTL & True & True & False \\ EATON VANCE FOCUSED GLBL OPPTYS FD I & True & True & False \\ EATON VANCE HEXAVEST GLB.EQ.FD.CL.I & True & True & False \\ EATON VANCE RICHD.BERN. EQ.STGY.FD.CL.I & True & False & False \\ EPOCH GLOBAL ALL CAP FUND INSTITUTIONAL & True & True & False \\ FEDERATED HERMES GLOBAL EQUITY FUND IS & True & True & True \\ FIDELITY ADVISOR GLOBAL CAPITAL APPREC FUND I & True & True & False \\ FIDELITY ENDURING OPPORTUNITIES FUND & True & True & True \\ FID SRS INTRINSIC OPPTYS FD & True & True & True \\ FIDELITY WORLDWIDE FD. & True & True & False \\ FIERA CAPITAL GLOBAL EQUITY FUND INST & True & False & True \\ FRANKLIN GLOBAL EQUITY FUND FUND A & True & True & False \\ FRANKLIN MUTUAL BEACON FUND Z & True & True & False \\ FRANKLIN MUTUAL GLOBAL DISCOVERY FUND Z & True & True & False \\ FRANKLIN WORLD PERSPECTIVES FD.CL.A & True & True & False \\ FRONTIER MFG GLOBAL EQUITY INSTITUTIONAL & False & True & False \\ FRONTIER MFG GLOBAL PLUS FUND INSTITUTIONAL & True & True & False \\ FRTR MFG GLBL SUSTAINABLE FD INSTL & True & True & True \\ FRONTIER ROBECO SAM GLOBAL EQUITY FUND INST & True & True & False \\ GMO GLB.FOCD.EQ.FD.CL. III & True & True & False \\ GQG PARTNERS GLOBAL QUALITY EQUITY FUND INST & True & True & True \\ GABELLI GLOBAL GROWTH FUND AAA & True & True & False \\ GRANITE VALUE FUND DEAD - Liquidated & True & True & False \\ GREENWICH IVY LONG-SHORT FUND INST & True & True & False \\ GUARDIAN CAPITAL DIV GRO FD INST & True & True & False \\ GUARDIAN CAPITAL FNDM GLBL EQTY FD INST & True & False & True \\ GUIDE STONE GLBL IMPACT FD INSTL & False & True & True \\ GUINNESS ATKINSON GLOBAL INNOVATORS FUND INVESTOR & True & True & False \\ HC ESG GROWTH PORTFOLIO HC STRATEGIC & True & True & False \\ HSBC GLBL EQTY VOLATILITY FOCUSED FD I & True & True & True \\ HARBOR GLOBAL LEADERS FUND INSTITUTIONAL & True & True & False \\ HARBOR GLB.VAL.FD.INSTL. CL. & True & True & True \\ HARDING LOEVNER GLOB.EQ. PRTF.ADVI.CL. & True & True & False \\ HARDING LOEVNER GLOBAL EQUITY RESEARCH PFLO INS & True & True & False \\ HARTFORD CLIMATE OPPORTUNITIES FUND A & True & True & False \\ HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E & True & True & True \\ HARTFORD GLOBAL RESEARCH HLS IA & True & True & False \\ HOTCHKIS \& WILEY GLOBAL VALUE FD.CL.I & True & False & False \\ IMPAX GLBL ENVIRON MARKETS FD INST & True & True & True \\ IMPAX GLBL OPPTYS FD INSTL & True & True & True \\ INVESCO GLOBAL CORE EQ. FD.CL.A & False & True & False \\ INVESCO GLOBAL FOCUS FUND Y & True & True & False \\ INVESCO GLOBAL FUND A & True & True & False \\ IVS.GLB.GW.FD.CL.A DEAD - Merged:517169 & False & True & False \\ INVESCO GLOBAL OPPS.FD. CL.A & True & True & False \\ IRONBRIDGE GLOBAL FUND DEAD - Liquidated & True & True & False \\ JOHCM GLOBAL SELECT FUND INST & True & True & False \\ JP MORG GLBL UNCONSTRAINED EQTY FD I & True & True & False \\ JANUS HENDERSON GLOBAL RESEARCH FUND D & True & True & False \\ JANUS HENDERSON GLOBAL SELECT FUND T & True & True & False \\ JANUS HENDERSON GLBL SUSTAINABLE EQTY FD D & True & True & True \\ JANUS HENDERSON GLOBAL VALUE FUND D & True & True & False \\ JANUS PRESERVATION SERIES-GLOBAL C & True & True & False \\ JENSEN GLOBAL QUALITY GROWTH FUND I & True & True & True \\ JOHN HANCOCK FDAMENTAL GLBL FRANCHISE FD NAV & True & True & False \\ JOHN HANCOCK GLOBAL EQUITY FUND NAV & True & True & False \\ JOHN HANCOCK FUNDS GLB. OPPS.FD.CL.A & True & True & True \\ JHAN.FUND.III GLB. SHAREHOLDER YLD.FD.CL.I & True & True & False \\ JOHN HANCOCK GLOBAL THEMATIC OPPS FUND NAV & True & True & False \\ JOHN HANCOCK MUTUAL SHARES FUND NAV & True & True & False \\ JOHN HANCOCK TECHNICAL OPPORTUNITIES FUND NAV & True & True & False \\ JUBAK GLOBAL EQ.FD. DEAD - Liquidated & True & True & True \\ LSV GLOBAL MANAGED VOLATILITY FUND INST & True & True & False \\ LSV GLOBAL VALUE FUND INST & True & False & False \\ LAZARD EQUITY FRANCHISE PORTFOLIO INSTITUTIONAL & True & True & False \\ LAZARD GLOBAL EQUITY SELECT PORTFOLIO INSTL & True & True & False \\ LAZARD GLOBAL STRATEGIC EQUITY PORTFOLIO INST & True & True & False \\ LONGLEAF PARTNERS GLOBAL FD. & True & True & False \\ LORD ABBETT GLOBAL EQUITY FUND A & True & True & False \\ MFAM GLBL OPPTYS FD INVSTR & True & True & False \\ MFS BLENDED RESEARCH GLOBAL EQUITY FUND R6 & True & True & False \\ MFS GLB.EQ.FD.CL.B & False & True & False \\ MFS GLOBAL LEADERS FD. CL.A & True & True & False \\ MAIN STAY EPOCH CAPITAL GROWTH FUND I & True & True & False \\ MAINSTAY EPOCH GLB.CHO. FD.CL.I & True & True & False \\ MAINSTAY EPOCH GLB.EQ. YLD.FD.CL.I & True & False & False \\ MAINSTAY ICAP GLB.FD.CL. I & True & True & False \\ MNGD ACCT SRS BLKRK GA DYN EQTY FD K & True & True & False \\ MARSICO GLOBAL FUND INVESTOR & True & True & False \\ MASS MUTUAL GLOBAL FUND R5 & True & True & False \\ MONDRIAN GLOBAL EQUITY VALUE FUND & False & True & True \\ MORGAN STANLEY GLOBAL CONCENTRATED PORTFOLIO I & False & True & True \\ MORGAN STANLEY GLOBAL CORE PORTFOLIO I & True & False & False \\ MORGAN STANLEY INSTL.FD. GLB.INSIGHT PRTF.CL.H & True & True & False \\ MORGAN STANLEY GLOBAL SUSTAIN PORTFOLIO I & True & True & False \\ MGST.INSTL.FD.GLB.FRCH. PRTF.CL.I & True & True & False \\ MORG STAN INST GLBL PERMANENCE PFOLIO I & True & True & False \\ MORG STAN INSTL CNTRPNT GLBL I & True & True & False \\ MORG STAN INSTL GLBL INSIGHT PRT I & True & True & False \\ MORGAN STANLEY INSTL.FD. GLB.GW.PRTF.CL.I & False & True & False \\ MUNDOVAL FUND & True & True & False \\ NATIONWIDE GLBL SUSTAINABLE EQTY FD R6 & True & True & False \\ NATIXIS LOOMIS SAYLES GLOBAL GROWTH Y & True & True & False \\ NEUBERGER BERMAN FOCUS FD. & True & True & False \\ NEUBERGER BERMAN GLOBAL THEMATIC OPPS.INSTL.CL. & False & True & True \\ NINETY ONE GLOBAL FRANCHISE FUND I & True & True & True \\ NORTHERN ENGAGE 360 FUND & True & True & False \\ NUVEEN GLOBAL GROWTH FD. CL.A & True & True & True \\ NUVEEN NWQ GLOBAL ALL- CAP FUND I & False & True & False \\ OAKMARK GLOBAL FUND INVESTOR & True & True & False \\ OAKMARK GLOBAL SELECT FUND INVESTOR & True & True & False \\ OLD WESTBURY ALL CAP ESG FUND & False & True & False \\ PF MULTI-ASSET FUND P & True & True & False \\ PGIM JENNISON GLOBAL OPPORTUNITIES FUND Z & True & True & False \\ PIMCO EQUITIES PFR. WORLD FD.CL.A & True & True & False \\ PIMCO GLOBAL DIVIDEND FUND A & True & True & False \\ PMC DIVERSIFIED EQUITY FUND ADVISOR & True & True & False \\ PARVIN HEDGED EQUITY SOLARI WORLD FUND & False & True & True \\ PHAEACIAN GLOBAL VALUE FUND INST & True & True & False \\ PION GLBL SUSTAINABLE EQTY FD A & True & True & False \\ POLARIS GLB.VAL.FD. & True & True & True \\ POLEN GLOBAL GROWTH FUND INSTITUTIONAL & False & True & True \\ PRINCIPAL SYSTEMAT EX INTERNATIONAL FUND R-6 & False & True & False \\ PURISIMA ALL-PURPOSE FD. DEAD - Liquidated & True & True & False \\ QUAKER GLOBAL TACTICAL ALLOCATION FUND ADVISOR & True & False & True \\ RBC GLOBAL OPPORTUNITIES FUND I & True & False & False \\ ROCKEFELLER EQTY ALLOCTN FD INSTL & False & True & False \\ RUSSELL INVESTMENTS GLOBAL EQUITY FUND S & False & True & False \\ SEI INST INV GLBL MNGD VOLATILITY FD A & True & True & False \\ SEI INST MGD GLBL MNGD VOLATILITY FD F & True & True & False \\ SGI GLOBAL EQUITY FUND I & True & True & False \\ SALIENT GLOBAL EQ.FD.CL. I & False & True & False \\ SANDS CAPITAL GLBL GRO FD INSTL & True & True & False \\ SCHARF GLOBAL OPPORTUNITY FUND INST & True & True & False \\ SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 & True & True & False \\ SCOUT GLOBAL EQUITY FD. DEAD - Liquidated & True & True & False \\ SEGALL BRYANT \& HAMILL GLOBAL ALL CAP FUND RTL & True & True & False \\ SELECTIVE OPPORTUNITY FUND FOUNDATION & True & True & False \\ SIRIOS FOCUS FUND INST & True & True & True \\ SIT ESG GROWTH FUND I & True & True & True \\ STATE STREET DEFENSIVE GLOBAL EQUITY FUND I & True & True & False \\ STATE STREET GLOBAL VALUE SPOTLIGHT FUND K & False & True & True \\ STRATEGIC EQUITY ALLOCATION FUND NAV & True & True & False \\ T.ROWE PRICE GLB.LGCP. STK.FD. & True & True & False \\ T ROWE PRICE GLOBAL IMPACT EQUITY & False & True & True \\ T ROWE PRICE GLB.STK.FD. & True & True & False \\ T ROWE PRICE GLOBAL VALUE EQUITY & True & True & False \\ T.ROWE PRICE INSTL. DEAD - Merged:9051FK & True & True & False \\ T ROWE PRICE INSTL.GLB. LGCP.EQ.FD. & True & True & False \\ T ROWE PRICE QM GLOBAL EQUITY FUND & False & True & False \\ TD GLOBAL LOW VOLATILITY EQUITY FUND INST & True & True & False \\ TIF GLB.EQ.SERIES FUND DEAD - Liquidated & False & True & False \\ TEMPLETON GLB.OPPOR.TST. I & True & True & False \\ TEMPLETON GROWTH FD.CL.A & True & True & False \\ TEMPLETON WLD.FUND.CL.A & True & True & False \\ THORNBURG GLOBAL OPPORTUNITIES FUND I & False & True & False \\ THRIVENT GLOBAL STOCK FUND A & True & True & False \\ THRIVENT LOW VOLATILITY EQUITY S & False & True & True \\ TRILLIUM ESG GLOBAL EQUITY FUND RETAIL & True & True & False \\ TWEEDY BROWNE INTL VALUE FUND II - CURR UNHGD & False & True & False \\ TWEEDY BROWNE VAL.FD. & True & True & False \\ UBS ENGAGE FOR IMPACT FUND P & True & True & False \\ US GLB.INVRS.FUND.GLB. MEGATRENDS FUND & True & True & True \\ USAA CAPITAL GROWTH FUND FUND & True & True & False \\ USAA SUSTAINABLE WORLD FUND FUND & True & True & False \\ UPRIGHT GW.FD. & True & True & False \\ VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV & True & True & False \\ VANGUARD GLOBAL CAPITAL CYCLES FUND INVESTOR & True & True & False \\ VANGUARD GLBL ESG SEL STK FD ADMIRAL & True & True & False \\ VANGUARD HORIZON FD. VANGD.GLB.EQ.FD. & True & True & False \\ VICTORY NEWBRIDGE GLOBAL EQUITY FUND A & True & True & False \\ VICTORY RS GLOBAL FUND Y & True & True & False \\ VIRTUS GLB.COMD.STK.FD. CL.I & True & True & True \\ VIRTUS NFJ GLOBAL SUSTAINABILITY FUND INST & True & True & False \\ VIRTUS SGA GLOBAL GROWTH FUND R6 & True & True & False \\ VIRTUS SGA NEW LEADERS GROWTH FUND R6 & True & True & True \\ VIRTUS VONTOBEL GLOBAL OPPORTUNITIES FUND A & True & True & False \\ VONTOBEL GLOBAL EQUITY INSTITUTIONAL FUND I & True & True & True \\ VOYA GLBL HI DIV LOW VOLATILITY FD A & True & True & False \\ VOYA GLOBAL OPPORTUNITIES FUND A & True & True & True \\ WCM FOCUSED GLB.GW.FD. INSTL.CL. & True & True & False \\ WASATCH GLOBAL SELECT FUND INSTITUTIONAL & True & True & False \\ WASATCH GLOBAL VALUE FUND INVESTOR & True & True & False \\ WELLS FARGO INTRINSIC WORLD EQTY FD A & True & True & False \\ WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. & True & True & False \\ WILLIAM BLAIR GLOBAL LEADERS FD.CL.I & True & True & False \\ WINTERGREEN FD. DEAD - Liquidated & True & True & False \\ WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL & True & True & False \\ WORLD SELECT EQUITY FUND A & True & True & False \\ YORKTOWN CAPITAL APPRECIATION FUND A & True & True & False \\ ABRDN EMERGING MARKETS EX-CHINA FUND A & False & True & False \\ ABRDN GLOBAL EQUITY IMPACT FUND A & True & True & True \\ \bottomrule \end{tabular}
print(factor(res_FFC_,FAMAC,ret,h=True, show_sign=True).to_latex())
\begin{tabular}{llllllr} \toprule {} & Alpha & Mkt-RF & SMB & HML & MOM & ADJ\_R\_SQ \\ \midrule 1290 GLOBAL TALENTS FUND A & -0.0027 & 0.731** & 0.5809 & -0.6282*** & -0.963 & 0.489 \\ 1290 SMART BETA EQUITY FUND I & -0.0029** & 0.892*** & -0.3865*** & -0.0875* & 0.0665 & 0.916 \\ AB GLOBAL CORE EQUITY PORTFOLIO ADV & -0.0026** & 0.9597*** & -0.2743*** & -0.0334 & -0.1051* & 0.919 \\ AB SUSTAINABLE GLOBAL THEMATIC FUND A & -0.002 & 1.0291*** & 0.1198 & -0.4543*** & -0.0143 & 0.827 \\ AGF GLOBAL EQUITY FUND I DEAD - Liquidated & -0.0135** & 1.0659*** & -0.5313 & -0.2646 & 0.0233 & 0.920 \\ AGF GLOBAL SUSTAINABLE EQUITY FUND I & 0.0009 & 1.0517*** & 0.1322 & -0.4045*** & 0.0353 & 0.917 \\ AMG TRILOGY GLOBAL EQUITY FUND I & -0.0072** & 0.8686*** & -0.2615 & -0.5114 & -0.563 & 0.249 \\ AQR GLOBAL EQ.FD.CL.I & -0.0087*** & 1.0112*** & -0.212* & 0.0353 & 0.0303 & 0.499 \\ ARTIO SELECT OPPS.FD. INCO.CL.A & -0.007** & 0.9442*** & -0.1572 & 0.0648 & -0.1175 & 0.800 \\ ADLER VALUE FUND INSTITUTIONAL & -0.0012 & 1.1062*** & 0.0951 & 0.3347** & -0.0612 & 0.794 \\ ADVISORY RESEARCH GLOBAL DIVIDEND FUND & -0.0081*** & 1.0025*** & -0.19 & 0.1737* & 0.0127 & 0.624 \\ ALGER GLOBAL FOCUS FUND A & -0.0045*** & 1.0473*** & 0.2501** & -0.3899*** & 0.0462 & 0.857 \\ ALL.BERN.GBL.VAL.FD. ADVI.CL.SHS. & -0.0011 & 1.0821*** & -0.0579 & -0.0237 & -0.1477** & 0.926 \\ ALLIANZGI BEST STYLES GLOBAL EQUITY FD.CL.R6 & -0.0249** & 0.9168*** & -1.7897 & 0.0108 & 0.5311 & 0.104 \\ ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. & -0.0214* & 0.9265*** & -0.7787 & 0.2116 & -0.2717 & 0.022 \\ ALPHA OPPORTUNISTIC ALTERNATIVES FUND I & -0.0031** & 0.2565*** & -0.1518 & 0.2475** & 0.1178*** & 0.447 \\ AMERICAN CENTURY FOCUSED GLOBAL GROWTH FUND INV & -0.0071*** & 1.0134*** & -0.4206** & -0.2674*** & -0.0473 & 0.693 \\ AMER.FUND.CAP.WLD.GW.\& INC.FD.CL.A SHS. & -0.0046*** & 0.9773*** & -0.1434*** & 0.0383 & 0.0924** & 0.932 \\ AMERICAN FUNDS GLOBAL INSIGHT FUND F-3 & -0.0026** & 0.9496*** & -0.1814*** & -0.0339 & 0.0726** & 0.925 \\ NEW ECONOMY FUND & -0.0032* & 0.9962*** & 0.1649 & -0.3455*** & 0.0688 & 0.794 \\ AMERICAN FUNDS NEW PERSPECTIVE FUND A & -0.0042*** & 1.0555*** & -0.2372*** & -0.2854*** & 0.0386 & 0.884 \\ ARIEL GLB.EQ.FD.INSTL. CL. & -0.0023 & 0.7374*** & -0.2173** & 0.0942 & 0.0457 & 0.792 \\ ARISTOTLE VALUE EQUITY FUND I & -0.0003 & 1.0308*** & -0.1191 & 0.0519 & -0.0111 & 0.930 \\ ARISTOTLE/SAUL GLOBAL EQUITY FUND I & -0.0045** & 0.9609*** & -0.0118 & 0.0187 & -0.0693 & 0.847 \\ ARTISAN GLOBAL DISCOVERY FUND INVESTOR & 0.0013 & 0.9813*** & 0.3708** & -0.4199*** & 0.0007 & 0.893 \\ ARTISAN GLOBAL EQ.FD. INVESTOR SHARES & -0.0067** & 1.032*** & 0.1615 & 0.0015 & 0.4919*** & 0.664 \\ ARTISAN GLB.OPPS.FD. INVR.SHS. & -0.003 & 1.0078*** & 0.1797 & -0.307*** & 0.2607** & 0.798 \\ ARTISAN GLB.VAL.FD. INVESTOR SHARES & -0.0035** & 1.0261*** & 0.0016 & 0.4157*** & 0.0282 & 0.877 \\ AVE MARIA WORLD EQUITY FUND & -0.0052*** & 1.0902*** & -0.1927** & 0.1408** & 0.0663 & 0.921 \\ BBH GLOBAL CORE SELECT CL.N & -0.0067** & 0.9957*** & -0.3939*** & -0.0692 & 0.0273 & 0.765 \\ BMO GLOBAL LOW VOLT.EQ. FD.CL.I & -0.0081** & 0.7948*** & -0.3124* & 0.1181 & 0.2527** & 0.529 \\ BMO PYRFORD GLOBAL EQUITY FUND I & -0.0039 & 0.8275*** & -0.3602*** & -0.0615 & -0.2405 & 0.836 \\ BNY MELLON GLOBAL STOCK FUND I & -0.0042*** & 0.9216*** & -0.4691*** & -0.287*** & -0.0861 & 0.851 \\ BNY MELLON WORLDWIDE GROWTH FUND A & -0.0059*** & 0.9824*** & -0.6841*** & -0.2931*** & -0.0134 & 0.817 \\ BAILLIE GIFFORD GLOBAL ALPHA EQUITY FUND 2 & -0.0066* & 1.1205*** & 0.2166 & -0.3454*** & -0.0284 & 0.710 \\ BAILLIE GIFFORD GBL. STEWD.EQTIES.FD.I & -0.0027 & 1.0468*** & 0.6977*** & -0.6911*** & -0.0709 & 0.840 \\ BAILLIE GIFFORD LONG TERM GLOBAL GROWTH 2 & -0.0002 & 1.1482*** & 0.2505 & -0.9465*** & 0.0093 & 0.761 \\ BARON GLOBAL ADVANTAGE FD.INST CL. & 0.0011 & 1.0767*** & 0.5526*** & -0.8807*** & -0.0538 & 0.780 \\ BLACKROCK ADVANTAGE GLOBAL FUND INVESTOR A & -0.0088*** & 1.0416*** & -0.0129 & 0.1155** & 0.1633* & 0.622 \\ BLACKROCK GLOBAL IMPACT FUND INST & -0.0119** & 0.8816*** & 0.4275 & -0.3251*** & 0.0356 & 0.848 \\ BLACKROCK UNCONSTRAINED EQUITY FUND INVESTOR A & -0.0093*** & 0.9859*** & -0.2475 & -0.084 & 0.0795 & 0.643 \\ BOSTON PRTNRS GLBL EQTY ADV FD INST & -0.013 & 0.6575** & 0.9461 & -0.1105 & -0.5629 & 0.158 \\ BOSTON PRTNRS GLBL EQTY FD INSTL & -0.003** & 1.0761*** & 0.0107 & 0.4283*** & 0.0805 & 0.912 \\ BRANDES GLOBAL EQ.FD.CL. I & -0.0059*** & 1.0518*** & -0.121 & 0.4968*** & -0.0396 & 0.895 \\ BRANDES GLBL OPPTYS VAL FD I & -0.006** & 1.0017*** & 0.2331 & 0.4141*** & -0.245*** & 0.845 \\ BROWN ADVISORY GLOBAL LEADERS FUND INVESTOR & 0.001 & 0.9797*** & -0.1761* & -0.1349*** & -0.0338 & 0.936 \\ CMG MAULDIN CORE FUND I & -0.0064*** & 0.4334*** & -0.2326** & -0.1854** & 0.0201 & 0.547 \\ CRM GLOBAL OPPORTUNITY FD - INVESTOR SHS & -0.002 & 0.9768*** & 0.1022 & -0.1822 & -0.0595 & 0.900 \\ CALAMOS GLB.EQ.FD.CL.I & -0.009** & 1.1274*** & -0.0987 & -0.3482*** & 0.1154 & 0.672 \\ CAMBIAR GLOBAL EQUITY FUND INVESTOR & -0.0094** & 0.9817*** & -0.3847 & -0.1177 & -0.2313* & 0.572 \\ CASTLE FOCUS FD.INVESTOR SHARES & -0.0059*** & 0.6798*** & -0.2771* & 0.0597 & 0.0431 & 0.574 \\ CATALYST/MAP GLOBAL EQUITY FUND A & -0.0036** & 0.8672*** & -0.1111 & 0.1429*** & 0.0753 & 0.836 \\ CAUSEWAY CONCENTRATED EQUITY FUND INSTL & -0.0082 & 1.0838*** & 0.1659 & 0.4703*** & -0.1343 & 0.846 \\ CAUSEWAY GLB.VAL.FUND INSTL.CLASS & -0.005** & 1.1774*** & 0.081 & 0.4025*** & -0.2085** & 0.836 \\ CHAUTAUQUA GLOBAL GROWTH FUND INSTITUTIONAL & 0.0011 & 0.9584*** & 0.2414** & -0.2448*** & 0.0497 & 0.867 \\ COLUMBIA GLOBAL VALUE FUND A & -0.007*** & 1.0285*** & -0.2464** & 0.341*** & 0.046 & 0.865 \\ COLUMBIA SELECT GLOBAL EQUITY FUND A & -0.0027* & 0.9838*** & -0.296** & -0.4366*** & 0.0295 & 0.860 \\ COLUMBIA SELECT GLOBAL GROWTH FUND A & -0.003 & 1.1739*** & 0.0926 & -0.6278*** & -0.0399 & 0.815 \\ COMMONWEALTH GLOBAL FD. & -0.0053*** & 0.9405*** & -0.0339 & 0.0105 & -0.0156 & 0.883 \\ THE COOK \& BYNUM FUND & -0.0066*** & 0.7448*** & -0.2982** & 0.3994*** & 0.2352** & 0.602 \\ DWS CROCI SECTOR OPPORTUNITIES FUND S & -0.007** & 0.848*** & -0.1108 & -0.1838 & -0.1445 & 0.603 \\ DAVIS GLB.FD.CL.A & -0.0015 & 0.9765*** & 0.4895*** & 0.0965 & -0.0726 & 0.692 \\ DELAWARE GLOBAL EQUITY FUND A & -0.0084*** & 0.8857*** & -0.3867** & -0.0167 & 0.0947 & 0.590 \\ DEL.GLB.VAL.FD.CL.A DEAD - Liquidated & -0.0061** & 0.8516*** & -0.4603** & -0.024 & -0.0602 & 0.570 \\ DELAWARE IVY GLOBAL GROWTH FUND A & -0.0082** & 1.1126*** & -0.5035 & -0.2854 & -0.0837 & 0.598 \\ DIAMOND HILL GLOBAL FUND Y & -0.0106** & 1.0751*** & 0.3198 & -0.1513 & -0.3643 & 0.797 \\ DODGE \& COX GLOBAL STOCK FUND I & -0.0035** & 1.1041*** & -0.0878 & 0.3893*** & -0.1324 & 0.845 \\ DREYFUS STRATEGIC BETA GLOBAL EQUITY FUND I & -0.0026** & 0.9587*** & -0.2824** & -0.0681 & -0.0703 & 0.894 \\ DRIEHAUS GLB.GW.FUND DEAD - Liquidated & -0.0299* & 1.0751*** & 0.3881 & 1.4261 & 0.8723 & 0.255 \\ ERSHARES GLBL ENTREPRENEURS FD INSTL & -0.0061** & 0.9747*** & 0.5331** & -0.465*** & 0.0018 & 0.632 \\ EATON VANCE FOCUSED GLBL OPPTYS FD I & -0.0031 & 1.0434*** & -0.0829 & -0.0805 & -0.0724 & 0.906 \\ EATON VANCE HEXAVEST GLB.EQ.FD.CL.I & -0.0059*** & 0.9191*** & -0.2025* & 0.1555 & 0.07 & 0.801 \\ EATON VANCE RICHD.BERN. EQ.STGY.FD.CL.I & -0.0043*** & 0.884*** & -0.2518*** & -0.0628 & 0.0996* & 0.796 \\ EPOCH GLOBAL ALL CAP FUND INSTITUTIONAL & -0.0077*** & 0.9931*** & -0.3876*** & -0.1536 & -0.017 & 0.699 \\ FEDERATED HERMES GLOBAL EQUITY FUND IS & -0.0028** & 0.9903*** & -0.1685** & -0.0726** & 0.0304 & 0.977 \\ FIDELITY ADVISOR GLOBAL CAPITAL APPREC FUND I & -0.0032* & 1.0661*** & 0.1152 & -0.1457*** & 0.1217* & 0.848 \\ FIDELITY ENDURING OPPORTUNITIES FUND & 0.0007 & 0.9573*** & 0.1004 & -0.4107*** & -0.0818 & 0.961 \\ FID SRS INTRINSIC OPPTYS FD & -0.0009 & 0.9232*** & 0.3053*** & 0.1956** & -0.0608 & 0.870 \\ FIDELITY WORLDWIDE FD. & -0.0059*** & 1.0341*** & -0.1525 & -0.3325*** & 0.1284** & 0.792 \\ FIERA CAPITAL GLOBAL EQUITY FUND INST & -0.0018 & 0.9393*** & -0.5164*** & -0.2708*** & -0.0534 & 0.923 \\ FRANKLIN GLOBAL EQUITY FUND FUND A & -0.0025* & 1.0106*** & -0.1963** & -0.0101 & -0.0291 & 0.890 \\ FRANKLIN MUTUAL BEACON FUND Z & -0.005*** & 0.9469*** & -0.1978* & 0.2233*** & -0.1412* & 0.819 \\ FRANKLIN MUTUAL GLOBAL DISCOVERY FUND Z & -0.0066*** & 0.9154*** & -0.241** & 0.3414*** & -0.0703 & 0.793 \\ FRANKLIN WORLD PERSPECTIVES FD.CL.A & -0.0089** & 1.1152*** & -0.1011 & -0.0538 & 0.2032 & 0.782 \\ FRONTIER MFG GLOBAL EQUITY INSTITUTIONAL & -0.0078** & 0.9001*** & -0.9024*** & -0.5539** & -0.2013 & 0.549 \\ FRONTIER MFG GLOBAL PLUS FUND INSTITUTIONAL & -0.0143 & 0.9753*** & -1.0924** & -0.708* & -0.4374 & 0.305 \\ FRTR MFG GLBL SUSTAINABLE FD INSTL & -0.0056** & 0.7587*** & -0.3841*** & -0.2101*** & 0.0713 & 0.909 \\ FRONTIER ROBECO SAM GLOBAL EQUITY FUND INST & -0.0198* & 1.2541*** & -1.3542* & 0.2519 & 0.0393 & 0.465 \\ GMO GLB.FOCD.EQ.FD.CL. III & -0.0151*** & 1.1968*** & 0.3244 & -0.0324 & -0.0243 & 0.584 \\ GQG PARTNERS GLOBAL QUALITY EQUITY FUND INST & -0.0078* & 0.9566*** & -0.4707** & 0.2156* & 0.6113*** & 0.846 \\ GABELLI GLOBAL GROWTH FUND AAA & -0.0053*** & 1.0158*** & -0.3133*** & -0.6252*** & -0.009 & 0.848 \\ GRANITE VALUE FUND DEAD - Liquidated & -0.0071* & 0.8578*** & -0.0947 & 0.0725 & -0.1213 & 0.304 \\ GREENWICH IVY LONG-SHORT FUND INST & -0.0021 & 0.2313 & 0.9733* & 0.1198 & -1.1768*** & 0.314 \\ GUARDIAN CAPITAL DIV GRO FD INST & -0.0029 & 0.9141*** & -0.6718*** & -0.0396 & 0.1584*** & 0.943 \\ GUARDIAN CAPITAL FNDM GLBL EQTY FD INST & -0.0003 & 0.8865*** & -0.0605 & -0.137* & 0.0144 & 0.892 \\ GUIDE STONE GLBL IMPACT FD INSTL & -0.0023 & 0.6738*** & 0.2532*** & -0.1688*** & -0.2144*** & 0.975 \\ GUINNESS ATKINSON GLOBAL INNOVATORS FUND INVESTOR & -0.001 & 1.0652*** & -0.1871 & -0.4483*** & -0.2328** & 0.799 \\ HC ESG GROWTH PORTFOLIO HC STRATEGIC & -0.0044*** & 1.0014*** & -0.1978*** & -0.0821*** & -0.024 & 0.960 \\ HSBC GLBL EQTY VOLATILITY FOCUSED FD I & 0.0223 & -1.1357 & 1.1767 & -0.7376** & -0.7092 & 0.066 \\ HARBOR GLOBAL LEADERS FUND INSTITUTIONAL & -0.0051** & 1.0262*** & -0.2395 & -0.4763*** & 0.0143 & 0.748 \\ HARBOR GLB.VAL.FD.INSTL. CL. & 0.0013 & 1.0076*** & 0.1681 & -0.5609 & -0.3304*** & 0.853 \\ HARDING LOEVNER GLOB.EQ. PRTF.ADVI.CL. & -0.0047** & 0.9984*** & -0.0224 & -0.4132*** & -0.037 & 0.783 \\ HARDING LOEVNER GLOBAL EQUITY RESEARCH PFLO INS & -0.0057** & 0.9366*** & -0.0051 & -0.1641** & -0.0776 & 0.834 \\ HARTFORD CLIMATE OPPORTUNITIES FUND A & -0.0047 & 1.116*** & 0.0698 & -0.1285** & -0.0075 & 0.798 \\ HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E & 0.0036 & 1.113*** & 0.0748 & -0.6579*** & -0.0894 & 0.932 \\ HARTFORD GLOBAL RESEARCH HLS IA & -0.0052 & 1.0683*** & -0.2879 & 0.0808 & 0.1273 & 0.884 \\ HOTCHKIS \& WILEY GLOBAL VALUE FD.CL.I & -0.0042** & 1.2263*** & 0.0736 & 0.5972*** & -0.2162*** & 0.876 \\ IMPAX GLBL ENVIRON MARKETS FD INST & -0.0014 & 1.0622*** & 0.1435* & -0.193*** & -0.0243 & 0.890 \\ IMPAX GLBL OPPTYS FD INSTL & 0.0007 & 0.9541*** & -0.2061** & -0.211*** & -0.0389 & 0.927 \\ INVESCO GLOBAL CORE EQ. FD.CL.A & -0.0075*** & 1.0414*** & -0.3031 & 0.0061 & -0.0244 & 0.792 \\ INVESCO GLOBAL FOCUS FUND Y & -0.0026 & 1.0872*** & 0.0797 & -0.6067*** & -0.0643 & 0.819 \\ INVESCO GLOBAL FUND A & -0.0054*** & 1.1634*** & -0.1865 & -0.3737*** & -0.1654** & 0.849 \\ IVS.GLB.GW.FD.CL.A DEAD - Merged:517169 & -0.0091*** & 1.0128*** & -0.4126 & -0.488** & -0.4154* & 0.594 \\ INVESCO GLOBAL OPPS.FD. CL.A & -0.0049* & 1.132*** & -0.1336 & 0.2398* & -0.3242*** & 0.834 \\ IRONBRIDGE GLOBAL FUND DEAD - Liquidated & -0.0076** & 0.9585*** & -0.3975** & -0.3735*** & 0.0404 & 0.641 \\ JOHCM GLOBAL SELECT FUND INST & -0.0059** & 0.98*** & -0.1001 & -0.3389** & 0.1418 & 0.695 \\ JP MORG GLBL UNCONSTRAINED EQTY FD I & -0.0072** & 1.0905*** & -0.2166 & 0.1103 & -0.1327 & 0.625 \\ JANUS HENDERSON GLOBAL RESEARCH FUND D & -0.0029** & 1.054*** & -0.0808 & -0.1556** & -0.0393 & 0.901 \\ JANUS HENDERSON GLOBAL SELECT FUND T & -0.0044** & 1.0995*** & 0.139 & 0.1176 & -0.0231 & 0.815 \\ JANUS HENDERSON GLBL SUSTAINABLE EQTY FD D & 0.003*** & 1.0385*** & 0.082 & -0.2906*** & -0.1445*** & 0.991 \\ JANUS HENDERSON GLOBAL VALUE FUND D & -0.0077*** & 0.6981*** & -0.1504 & 0.2057 & -0.0825 & 0.314 \\ JANUS PRESERVATION SERIES-GLOBAL C & -0.0097*** & 0.8702*** & -0.1378 & -0.1981 & 0.0378 & 0.624 \\ JENSEN GLOBAL QUALITY GROWTH FUND I & 0.0023 & 0.8993*** & -0.4785*** & -0.1968*** & -0.0842 & 0.950 \\ JOHN HANCOCK FDAMENTAL GLBL FRANCHISE FD NAV & -0.0087*** & 1.0057*** & -0.5729*** & -0.3527*** & -0.1172 & 0.680 \\ JOHN HANCOCK GLOBAL EQUITY FUND NAV & -0.0064*** & 0.9131*** & -0.3732** & -0.0303 & -0.0366 & 0.723 \\ JOHN HANCOCK FUNDS GLB. OPPS.FD.CL.A & -0.0041 & 0.9409*** & 0.1754 & -0.1636 & -0.4761*** & 0.715 \\ JHAN.FUND.III GLB. SHAREHOLDER YLD.FD.CL.I & -0.0071*** & 0.8941*** & -0.4371*** & 0.2177*** & 0.0646 & 0.832 \\ JOHN HANCOCK GLOBAL THEMATIC OPPS FUND NAV & -0.0064** & 0.8829*** & -0.0534 & -0.226*** & -0.1182 & 0.851 \\ JOHN HANCOCK MUTUAL SHARES FUND NAV & -0.0006 & 0.7302*** & -0.2494* & 0.0035 & -0.0298 & 0.548 \\ JOHN HANCOCK TECHNICAL OPPORTUNITIES FUND NAV & -0.0126* & 1.3627*** & 0.2182 & -0.347* & 0.5207*** & 0.483 \\ JUBAK GLOBAL EQ.FD. DEAD - Liquidated & -0.0101*** & 0.95*** & 0.0243 & -0.2542 & -0.2451* & 0.809 \\ LSV GLOBAL MANAGED VOLATILITY FUND INST & -0.0052*** & 0.8209*** & -0.3277*** & 0.2706*** & 0.0998 & 0.823 \\ LSV GLOBAL VALUE FUND INST & -0.0036*** & 1.0703*** & 0.0676 & 0.4203*** & -0.0692 & 0.950 \\ LAZARD EQUITY FRANCHISE PORTFOLIO INSTITUTIONAL & -0.009* & 1.1365*** & 0.0724 & 0.3641*** & -0.1098 & 0.787 \\ LAZARD GLOBAL EQUITY SELECT PORTFOLIO INSTL & -0.0021* & 0.9207*** & -0.2496*** & -0.1388*** & 0.0489 & 0.939 \\ LAZARD GLOBAL STRATEGIC EQUITY PORTFOLIO INST & -0.0165 & 1.0159*** & -0.5196 & -0.0421 & 0.2353 & 0.146 \\ LONGLEAF PARTNERS GLOBAL FD. & -0.0061** & 1.1008*** & 0.2692* & 0.2804*** & -0.1768* & 0.791 \\ LORD ABBETT GLOBAL EQUITY FUND A & -0.0046* & 0.9716*** & -0.0068 & -0.1023 & -0.0164 & 0.819 \\ MFAM GLBL OPPTYS FD INVSTR & -0.0043* & 0.987*** & 0.0923 & -0.4527*** & 0.0057 & 0.682 \\ MFS BLENDED RESEARCH GLOBAL EQUITY FUND R6 & -0.0061* & 1.1018*** & -0.2018 & 0.0496 & -0.0525 & 0.877 \\ MFS GLB.EQ.FD.CL.B & -0.0036*** & 1.0298*** & -0.3515*** & -0.0749 & -0.0267 & 0.929 \\ MFS GLOBAL LEADERS FD. CL.A & -0.0112** & 0.9563*** & -0.8991** & 0.1136 & 0.1398 & 0.498 \\ MAIN STAY EPOCH CAPITAL GROWTH FUND I & -0.0073 & 0.8769*** & -0.3671 & -0.436*** & -0.1303 & 0.594 \\ MAINSTAY EPOCH GLB.CHO. FD.CL.I & -0.0089*** & 1.109*** & -0.3028** & -0.1471 & 0.1119 & 0.694 \\ MAINSTAY EPOCH GLB.EQ. YLD.FD.CL.I & -0.0064*** & 0.918*** & -0.3989*** & 0.2728*** & 0.1139* & 0.852 \\ MAINSTAY ICAP GLB.FD.CL. I & -0.0048** & 1.0207*** & -0.3361** & -0.0105 & -0.0214 & 0.890 \\ MNGD ACCT SRS BLKRK GA DYN EQTY FD K & -0.0032* & 1.0923*** & 0.0705 & 0.0598 & 0.0936* & 0.949 \\ MARSICO GLOBAL FUND INVESTOR & -0.0045* & 1.0156*** & -0.0255 & -0.6379*** & -0.0218 & 0.694 \\ MASS MUTUAL GLOBAL FUND R5 & -0.0081*** & 1.214*** & -0.2491 & -0.4317*** & -0.1847 & 0.739 \\ MONDRIAN GLOBAL EQUITY VALUE FUND & -0.0017 & 0.8193*** & 0.0615 & 0.3183*** & -0.3697 & 0.833 \\ MORGAN STANLEY GLOBAL CONCENTRATED PORTFOLIO I & -0.0006 & 0.929*** & 0.132 & -0.1992** & -0.0511 & 0.849 \\ MORGAN STANLEY GLOBAL CORE PORTFOLIO I & -0.0025* & 1.0194*** & -0.0167 & -0.1047 & 0.0839 & 0.913 \\ MORGAN STANLEY INSTL.FD. GLB.INSIGHT PRTF.CL.H & -0.0079* & 1.0772*** & 0.1407 & 0.2578 & 0.0318 & 0.431 \\ MORGAN STANLEY GLOBAL SUSTAIN PORTFOLIO I & -0.0038** & 0.8799*** & -0.6095*** & -0.2881*** & 0.0604 & 0.835 \\ MGST.INSTL.FD.GLB.FRCH. PRTF.CL.I & -0.0037** & 0.8676*** & -0.7792*** & -0.2523*** & 0.0958 & 0.802 \\ MORG STAN INST GLBL PERMANENCE PFOLIO I & -0.0012 & 0.9238*** & -0.0814 & -0.4213*** & -0.1743 & 0.766 \\ MORG STAN INSTL CNTRPNT GLBL I & -0.0037 & 0.9542*** & 1.0639*** & -0.8848*** & -0.1329 & 0.677 \\ MORG STAN INSTL GLBL INSIGHT PRT I & -0.0057 & 0.9899*** & 0.5523* & -1.1793*** & -0.2553 & 0.555 \\ MORGAN STANLEY INSTL.FD. GLB.GW.PRTF.CL.I & -0.0013 & 1.0125*** & 0.1078 & -0.7226*** & -0.1295 & 0.735 \\ MUNDOVAL FUND & -0.0017 & 0.9903*** & -0.3474*** & -0.0761* & -0.1433** & 0.873 \\ NATIONWIDE GLBL SUSTAINABLE EQTY FD R6 & -0.0041** & 1.0742*** & -0.0017 & -0.1042 & -0.0924 & 0.848 \\ NATIXIS LOOMIS SAYLES GLOBAL GROWTH Y & -0.0047* & 0.9118*** & -0.2857 & -0.5112*** & -0.1905* & 0.832 \\ NEUBERGER BERMAN FOCUS FD. & -0.0065** & 0.9774*** & -0.1719 & -0.398*** & -0.0804 & 0.662 \\ NEUBERGER BERMAN GLOBAL THEMATIC OPPS.INSTL.CL. & -0.004 & 0.8228*** & 0.1522 & 0.0535 & -0.1 & 0.691 \\ NINETY ONE GLOBAL FRANCHISE FUND I & -0.0011 & 0.888*** & -0.4334*** & -0.2046*** & 0.0528 & 0.941 \\ NORTHERN ENGAGE 360 FUND & -0.0069* & 0.9685*** & -0.288 & -0.2138 & -0.1964 & 0.787 \\ NUVEEN GLOBAL GROWTH FD. CL.A & -0.0034 & 1.1386*** & 0.5454*** & -0.2764* & 0.2346** & 0.855 \\ NUVEEN NWQ GLOBAL ALL- CAP FUND I & -0.0041 & 0.5978 & 0.3318 & -0.3768 & -0.7001 & 0.283 \\ OAKMARK GLOBAL FUND INVESTOR & -0.0051** & 1.2842*** & 0.1386 & 0.35*** & -0.1186* & 0.880 \\ OAKMARK GLOBAL SELECT FUND INVESTOR & -0.004** & 1.2047*** & -0.023 & 0.2502*** & -0.1533** & 0.882 \\ OLD WESTBURY ALL CAP ESG FUND & -0.013** & 0.8266*** & 0.611 & -0.4014 & -0.1473 & 0.726 \\ PF MULTI-ASSET FUND P & -0.0079 & 0.9571*** & 0.2004 & -0.2711 & -0.1215 & 0.526 \\ PGIM JENNISON GLOBAL OPPORTUNITIES FUND Z & 0.0005 & 1.1038*** & 0.2362* & -0.8173*** & 0.1002 & 0.847 \\ PIMCO EQUITIES PFR. WORLD FD.CL.A & -0.0108 & 0.9425*** & -0.6497 & 0.0114 & -0.046 & 0.334 \\ PIMCO GLOBAL DIVIDEND FUND A & -0.0196** & 1.1335*** & -0.895 & 0.2454 & -0.0877 & 0.257 \\ PMC DIVERSIFIED EQUITY FUND ADVISOR & -0.0046*** & 1.0137*** & 0.0101 & 0.0399 & 0.0331 & 0.880 \\ PARVIN HEDGED EQUITY SOLARI WORLD FUND & -0.0098** & 0.5559*** & -0.2998 & 0.1736** & -0.0567 & 0.776 \\ PHAEACIAN GLOBAL VALUE FUND INST & -0.0082** & 0.9877*** & -0.1406 & -0.1484 & -0.1494 & 0.581 \\ PION GLBL SUSTAINABLE EQTY FD A & -0.0046** & 1.044*** & 0.0199 & 0.3008*** & 0.1753** & 0.816 \\ POLARIS GLB.VAL.FD. & -0.0008 & 1.0368*** & 0.2362*** & 0.3285*** & -0.0961* & 0.936 \\ POLEN GLOBAL GROWTH FUND INSTITUTIONAL & -0.0003 & 0.9518*** & -0.2428*** & -0.4338*** & -0.0004 & 0.936 \\ PRINCIPAL SYSTEMAT EX INTERNATIONAL FUND R-6 & -0.0093** & 1.0839*** & 0.0262 & 0.1622 & 0.0776 & 0.814 \\ PURISIMA ALL-PURPOSE FD. DEAD - Liquidated & -0.0012*** & -0.0005 & -0.0005 & 0.0009 & 0.0008 & -0.081 \\ QUAKER GLOBAL TACTICAL ALLOCATION FUND ADVISOR & -0.0039** & 0.9619*** & 0.0631 & -0.2466** & 0.1114 & 0.806 \\ RBC GLOBAL OPPORTUNITIES FUND I & -0.0011 & 1.0232*** & 0.0282 & -0.2249*** & 0.0353 & 0.918 \\ ROCKEFELLER EQTY ALLOCTN FD INSTL & -0.0099** & 0.8571*** & 0.1719 & 0.4006 & 0.369 & 0.403 \\ RUSSELL INVESTMENTS GLOBAL EQUITY FUND S & -0.0086*** & 1.0222*** & -0.5349* & 0.0324 & -0.0326 & 0.648 \\ SEI INST INV GLBL MNGD VOLATILITY FD A & -0.0071*** & 0.7658*** & -0.4157** & 0.0699 & 0.0233 & 0.690 \\ SEI INST MGD GLBL MNGD VOLATILITY FD F & -0.0066*** & 0.7353*** & -0.4484*** & -0.0474 & 0.1437 & 0.590 \\ SGI GLOBAL EQUITY FUND I & -0.0038 & 0.89*** & 0.0719 & -0.1476 & 0.1863* & 0.568 \\ SALIENT GLOBAL EQ.FD.CL. I & -0.007* & 0.8377*** & 0.0662 & 0.0156 & -0.0008 & 0.659 \\ SANDS CAPITAL GLBL GRO FD INSTL & -0.0024 & 1.0974*** & 0.3586*** & -0.7166*** & -0.0649 & 0.832 \\ SCHARF GLOBAL OPPORTUNITY FUND INST & -0.0044* & 0.9091*** & -0.3707** & 0.053 & -0.0568 & 0.735 \\ SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 & -0.0323 & 0.6926* & -1.9447 & -0.6 & 0.57 & -0.030 \\ SCOUT GLOBAL EQUITY FD. DEAD - Liquidated & -0.0054 & 0.968*** & -0.5006 & -0.5682 & -0.2042 & 0.354 \\ SEGALL BRYANT \& HAMILL GLOBAL ALL CAP FUND RTL & -0.0091*** & 0.8817*** & -0.5867*** & -0.1309 & -0.0537 & 0.545 \\ SELECTIVE OPPORTUNITY FUND FOUNDATION & -0.0082 & 0.7957*** & 1.01* & -0.4018 & -0.3972 & 0.366 \\ SIRIOS FOCUS FUND INST & -0.004 & 0.8971*** & -0.4002 & -0.1915 & 0.0024 & 0.804 \\ SIT ESG GROWTH FUND I & -0.003*** & 0.9803*** & -0.3943*** & -0.1361*** & 0.0027 & 0.970 \\ STATE STREET DEFENSIVE GLOBAL EQUITY FUND I & -0.0135** & 0.8303*** & -0.8352** & -0.0956 & 0.0886 & 0.362 \\ STATE STREET GLOBAL VALUE SPOTLIGHT FUND K & -0.0204 & 1.2237*** & -0.9384 & -0.3582 & -0.5046 & 0.642 \\ STRATEGIC EQUITY ALLOCATION FUND NAV & -0.0072** & 0.9752*** & -0.1445 & -0.0593 & -0.0071 & 0.625 \\ T.ROWE PRICE GLB.LGCP. STK.FD. & -0.002 & 1.0063*** & 0.0681 & -0.3587*** & -0.0612 & 0.815 \\ T ROWE PRICE GLOBAL IMPACT EQUITY & 0.0027 & 1.0697*** & 0.0408 & -0.4487*** & 0.0508 & 0.951 \\ T ROWE PRICE GLB.STK.FD. & 0.0011 & 1.0314*** & 0.2476* & -0.3565*** & -0.0829 & 0.846 \\ T ROWE PRICE GLOBAL VALUE EQUITY & -0.0052** & 1.0109*** & -0.1145 & 0.2434*** & 0.0266 & 0.797 \\ T.ROWE PRICE INSTL. DEAD - Merged:9051FK & -0.0089* & 1.2649*** & -0.1361 & -0.3904* & 0.0839 & 0.531 \\ T ROWE PRICE INSTL.GLB. LGCP.EQ.FD. & -0.0057** & 1.1264*** & -0.1701 & -0.0845 & 0.1229 & 0.677 \\ T ROWE PRICE QM GLOBAL EQUITY FUND & -0.0047* & 1.0091*** & -0.5142* & -0.1384 & -0.0532 & 0.857 \\ TD GLOBAL LOW VOLATILITY EQUITY FUND INST & -0.005 & 0.6051*** & -0.5364*** & -0.0587 & -0.0301 & 0.244 \\ TIF GLB.EQ.SERIES FUND DEAD - Liquidated & -0.0139** & 0.4619 & -1.5302 & 1.8038 & 0.4336 & 0.112 \\ TEMPLETON GLB.OPPOR.TST. I & -0.0073*** & 1.1346*** & -0.1514 & 0.543** & -0.0586 & 0.765 \\ TEMPLETON GROWTH FD.CL.A & -0.0054*** & 1.0258*** & -0.1389 & 0.2739*** & -0.0676 & 0.885 \\ TEMPLETON WLD.FUND.CL.A & -0.0078*** & 0.9982*** & -0.2176* & 0.081 & -0.2392*** & 0.781 \\ THORNBURG GLOBAL OPPORTUNITIES FUND I & -0.0012 & 0.9773*** & 0.1832 & 0.2171** & 0.0517 & 0.767 \\ THRIVENT GLOBAL STOCK FUND A & -0.0073*** & 1.0022*** & -0.2961** & -0.1309* & -0.0332 & 0.746 \\ THRIVENT LOW VOLATILITY EQUITY S & -0.0046*** & 0.76*** & -0.3599*** & -0.0381 & 0.1501** & 0.868 \\ TRILLIUM ESG GLOBAL EQUITY FUND RETAIL & -0.0034** & 0.9877*** & -0.2553** & -0.2064*** & -0.048 & 0.883 \\ TWEEDY BROWNE INTL VALUE FUND II - CURR UNHGD & -0.0043*** & 0.8925*** & -0.1145* & 0.3121*** & 0.0301 & 0.890 \\ TWEEDY BROWNE VAL.FD. & -0.0069*** & 0.8538*** & -0.3444*** & 0.1647*** & -0.0257 & 0.687 \\ UBS ENGAGE FOR IMPACT FUND P & -0.0047* & 1.0107*** & 0.3681** & -0.0061 & -0.0064 & 0.869 \\ US GLB.INVRS.FUND.GLB. MEGATRENDS FUND & -0.0004 & 0.7248*** & -0.0269 & -0.1839 & 0.0757 & 0.722 \\ USAA CAPITAL GROWTH FUND FUND & -0.0041*** & 1.0236*** & -0.2245** & 0.0049 & 0.0345 & 0.854 \\ USAA SUSTAINABLE WORLD FUND FUND & -0.0057** & 0.9374*** & -0.3901** & -0.1958** & -0.0601 & 0.612 \\ UPRIGHT GW.FD. & -0.0018 & 1.2487*** & 1.2237** & -0.0043 & -0.3799 & 0.346 \\ VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV & 0.0043 & 1.0992*** & 0.4517 & -0.6362*** & 0.0472 & 0.773 \\ VANGUARD GLOBAL CAPITAL CYCLES FUND INVESTOR & -0.0066 & 0.8073*** & 0.7427** & 0.3653* & -0.1848 & 0.269 \\ VANGUARD GLBL ESG SEL STK FD ADMIRAL & -0.0007 & 0.9526*** & -0.2616** & 0.1154*** & -0.1499* & 0.929 \\ VANGUARD HORIZON FD. VANGD.GLB.EQ.FD. & -0.0037*** & 1.0084*** & -0.0254 & -0.1515* & -0.0345 & 0.856 \\ VICTORY NEWBRIDGE GLOBAL EQUITY FUND A & -0.0084*** & 1.0045*** & -0.5182* & -0.3364 & -0.0662 & 0.557 \\ VICTORY RS GLOBAL FUND Y & -0.0026* & 0.9414*** & -0.1746*** & -0.134*** & -0.0356 & 0.808 \\ VIRTUS GLB.COMD.STK.FD. CL.I & -0.0121** & 0.907*** & 0.7082** & -0.0444 & -0.4814* & 0.579 \\ VIRTUS NFJ GLOBAL SUSTAINABILITY FUND INST & -0.0066** & 1.0058*** & -0.5602* & -0.4574*** & -0.2573 & 0.722 \\ VIRTUS SGA GLOBAL GROWTH FUND R6 & -0.0021 & 0.9875*** & -0.211* & -0.3999*** & -0.0392 & 0.875 \\ VIRTUS SGA NEW LEADERS GROWTH FUND R6 & -0.0074 & 1.0396*** & 0.7234*** & -0.1307 & -0.3144* & 0.911 \\ VIRTUS VONTOBEL GLOBAL OPPORTUNITIES FUND A & -0.0043** & 0.9498*** & -0.3506*** & -0.33*** & 0.032 & 0.780 \\ VONTOBEL GLOBAL EQUITY INSTITUTIONAL FUND I & -0.0022 & 0.911*** & -0.5083*** & -0.3251** & 0.0977 & 0.820 \\ VOYA GLBL HI DIV LOW VOLATILITY FD A & -0.005*** & 0.9343*** & -0.1962*** & 0.2214*** & 0.055 & 0.866 \\ VOYA GLOBAL OPPORTUNITIES FUND A & -0.0023 & 1.0412*** & 0.0552 & -0.0317 & -0.2262*** & 0.948 \\ WCM FOCUSED GLB.GW.FD. INSTL.CL. & -0.0022 & 0.913*** & -0.0051 & -0.5502*** & -0.0012 & 0.814 \\ WASATCH GLOBAL SELECT FUND INSTITUTIONAL & -0.0034 & 0.9263*** & 0.3178 & -0.5481*** & -0.1921 & 0.783 \\ WASATCH GLOBAL VALUE FUND INVESTOR & -0.0099*** & 0.9959*** & -0.3803** & 0.484*** & -0.0227 & 0.514 \\ WELLS FARGO INTRINSIC WORLD EQTY FD A & -0.0079** & 0.934*** & 0.0624 & 0.1582 & -0.1615 & 0.310 \\ WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. & -0.0087 & 0.8087*** & 0.5069 & -0.2319 & -0.3736 & 0.067 \\ WILLIAM BLAIR GLOBAL LEADERS FD.CL.I & -0.0048** & 1.1124*** & -0.1523 & -0.3435*** & 0.0231 & 0.838 \\ WINTERGREEN FD. DEAD - Liquidated & -0.0178** & 0.9245*** & -0.3377 & 0.2656 & 0.4163 & 0.200 \\ WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL & -0.0116* & 1.0017*** & 0.1846 & 0.203 & -0.0667 & 0.540 \\ WORLD SELECT EQUITY FUND A & -0.0072** & 1.0749*** & -0.164 & 0.1963** & -0.0977 & 0.877 \\ YORKTOWN CAPITAL APPRECIATION FUND A & -0.0112*** & 0.888*** & -0.1239 & -0.2877*** & -0.0713 & 0.654 \\ ABRDN EMERGING MARKETS EX-CHINA FUND A & -0.0083*** & 0.999*** & -0.4016* & -0.1507 & -0.0873 & 0.730 \\ ABRDN GLOBAL EQUITY IMPACT FUND A & -0.0055*** & 1.0556*** & -0.1086 & -0.1468* & -0.0023 & 0.842 \\ \bottomrule \end{tabular}
print(factor(res_FFC_,FAMAC,GROSS,h=True, show_sign=True).to_latex())
\begin{tabular}{llllllr} \toprule {} & Alpha & Mkt-RF & SMB & HML & MOM & ADJ\_R\_SQ \\ \midrule 1290 GLOBAL TALENTS FUND A & -0.0016 & 0.731** & 0.5816 & -0.6273*** & -0.9627 & 0.489 \\ 1290 SMART BETA EQUITY FUND I & -0.0021 & 0.892*** & -0.3855*** & -0.0876* & 0.0662 & 0.916 \\ AB GLOBAL CORE EQUITY PORTFOLIO ADV & -0.0019 & 0.9597*** & -0.2741*** & -0.0339 & -0.1054* & 0.919 \\ AB SUSTAINABLE GLOBAL THEMATIC FUND A & -0.0009 & 1.0293*** & 0.1207 & -0.4544*** & -0.0143 & 0.828 \\ AGF GLOBAL EQUITY FUND I DEAD - Liquidated & -0.0128* & 1.0659*** & -0.5313 & -0.2646 & 0.0233 & 0.920 \\ AGF GLOBAL SUSTAINABLE EQUITY FUND I & 0.0015 & 1.0517*** & 0.1322 & -0.4045*** & 0.0353 & 0.917 \\ AMG TRILOGY GLOBAL EQUITY FUND I & -0.0065** & 0.8694*** & -0.2619 & -0.5093 & -0.5612 & 0.249 \\ AQR GLOBAL EQ.FD.CL.I & -0.0079*** & 1.0113*** & -0.2117* & 0.0354 & 0.0305 & 0.499 \\ ARTIO SELECT OPPS.FD. INCO.CL.A & -0.0059* & 0.9443*** & -0.157 & 0.0654 & -0.1172 & 0.800 \\ ADLER VALUE FUND INSTITUTIONAL & -0.0002 & 1.1062*** & 0.0951 & 0.3346** & -0.0612 & 0.794 \\ ADVISORY RESEARCH GLOBAL DIVIDEND FUND & -0.0071** & 1.003*** & -0.1906 & 0.1756* & 0.0142 & 0.624 \\ ALGER GLOBAL FOCUS FUND A & -0.0032* & 1.0482*** & 0.2499** & -0.388*** & 0.0482 & 0.857 \\ ALL.BERN.GBL.VAL.FD. ADVI.CL.SHS. & 0.0004 & 1.0822*** & -0.056 & -0.0269 & -0.1498** & 0.925 \\ ALLIANZGI BEST STYLES GLOBAL EQUITY FD.CL.R6 & -0.0246** & 0.9168*** & -1.7897 & 0.0108 & 0.5311 & 0.104 \\ ALLIANZGI GLB.MGD.VOLT. FD.INSTL.CL. & -0.0209* & 0.9265*** & -0.7787 & 0.2116 & -0.2717 & 0.022 \\ ALPHA OPPORTUNISTIC ALTERNATIVES FUND I & -0.0021 & 0.2567*** & -0.1527 & 0.249** & 0.1189*** & 0.447 \\ AMERICAN CENTURY FOCUSED GLOBAL GROWTH FUND INV & -0.0062** & 1.0134*** & -0.4205** & -0.2673*** & -0.0472 & 0.693 \\ AMER.FUND.CAP.WLD.GW.\& INC.FD.CL.A SHS. & -0.004*** & 0.9774*** & -0.1432*** & 0.0384 & 0.0925** & 0.932 \\ AMERICAN FUNDS GLOBAL INSIGHT FUND F-3 & -0.002* & 0.9498*** & -0.1804*** & -0.0341 & 0.0725** & 0.925 \\ NEW ECONOMY FUND & -0.0026 & 0.9963*** & 0.165 & -0.3455*** & 0.069 & 0.793 \\ AMERICAN FUNDS NEW PERSPECTIVE FUND A & -0.0035** & 1.0556*** & -0.2371*** & -0.2854*** & 0.0386 & 0.884 \\ ARIEL GLB.EQ.FD.INSTL. CL. & -0.0015 & 0.7377*** & -0.2167** & 0.0946 & 0.0461 & 0.791 \\ ARISTOTLE VALUE EQUITY FUND I & 0.0004 & 1.0308*** & -0.119 & 0.0514 & -0.0114 & 0.930 \\ ARISTOTLE/SAUL GLOBAL EQUITY FUND I & -0.0037** & 0.9607*** & -0.011 & 0.0183 & -0.0697 & 0.847 \\ ARTISAN GLOBAL DISCOVERY FUND INVESTOR & 0.0024 & 0.9813*** & 0.3702** & -0.4203*** & 0.0006 & 0.893 \\ ARTISAN GLOBAL EQ.FD. INVESTOR SHARES & -0.0055* & 1.0321*** & 0.1616 & 0.0012 & 0.4922*** & 0.664 \\ ARTISAN GLB.OPPS.FD. INVR.SHS. & -0.002 & 1.008*** & 0.1797 & -0.3067*** & 0.2612** & 0.798 \\ ARTISAN GLB.VAL.FD. INVESTOR SHARES & -0.0024 & 1.0263*** & 0.0017 & 0.4161*** & 0.0287 & 0.877 \\ AVE MARIA WORLD EQUITY FUND & -0.0041*** & 1.0903*** & -0.192** & 0.1411** & 0.0666 & 0.921 \\ BBH GLOBAL CORE SELECT CL.N & -0.0056** & 0.9957*** & -0.3941*** & -0.0694 & 0.0272 & 0.765 \\ BMO GLOBAL LOW VOLT.EQ. FD.CL.I & -0.0074* & 0.7948*** & -0.3124* & 0.1181 & 0.2527** & 0.529 \\ BMO PYRFORD GLOBAL EQUITY FUND I & -0.0031 & 0.8275*** & -0.3602*** & -0.0615 & -0.2405 & 0.836 \\ BNY MELLON GLOBAL STOCK FUND I & -0.0034** & 0.9216*** & -0.4692*** & -0.2872*** & -0.0862 & 0.851 \\ BNY MELLON WORLDWIDE GROWTH FUND A & -0.0049** & 0.9824*** & -0.684*** & -0.2931*** & -0.0133 & 0.817 \\ BAILLIE GIFFORD GLOBAL ALPHA EQUITY FUND 2 & -0.006 & 1.1205*** & 0.2166 & -0.3455*** & -0.0285 & 0.710 \\ BAILLIE GIFFORD GBL. STEWD.EQTIES.FD.I & -0.0022 & 1.0468*** & 0.6977*** & -0.6911*** & -0.0709 & 0.840 \\ BAILLIE GIFFORD LONG TERM GLOBAL GROWTH 2 & 0.0004 & 1.1481*** & 0.2506 & -0.9468*** & 0.0091 & 0.761 \\ BARON GLOBAL ADVANTAGE FD.INST CL. & 0.002 & 1.0768*** & 0.5537*** & -0.8806*** & -0.0536 & 0.780 \\ BLACKROCK ADVANTAGE GLOBAL FUND INVESTOR A & -0.0077** & 1.0418*** & -0.0115 & 0.1156** & 0.1637* & 0.622 \\ BLACKROCK GLOBAL IMPACT FUND INST & -0.0112** & 0.8816*** & 0.4276 & -0.3251*** & 0.0356 & 0.848 \\ BLACKROCK UNCONSTRAINED EQUITY FUND INVESTOR A & -0.0083*** & 0.9861*** & -0.2473 & -0.0839 & 0.0796 & 0.643 \\ BOSTON PRTNRS GLBL EQTY ADV FD INST & -0.0125 & 0.6575** & 0.9441 & -0.1099 & -0.5617 & 0.158 \\ BOSTON PRTNRS GLBL EQTY FD INSTL & -0.0022 & 1.0765*** & 0.011 & 0.4291*** & 0.0812 & 0.912 \\ BRANDES GLOBAL EQ.FD.CL. I & -0.005*** & 1.0518*** & -0.121 & 0.4968*** & -0.0396 & 0.895 \\ BRANDES GLBL OPPTYS VAL FD I & -0.005* & 1.0017*** & 0.2331 & 0.4141*** & -0.245*** & 0.845 \\ BROWN ADVISORY GLOBAL LEADERS FUND INVESTOR & 0.0017 & 0.9797*** & -0.1762* & -0.1346*** & -0.0336 & 0.936 \\ CMG MAULDIN CORE FUND I & -0.0048*** & 0.4343*** & -0.2276* & -0.1812* & 0.0239 & 0.546 \\ CRM GLOBAL OPPORTUNITY FD - INVESTOR SHS & -0.0008 & 0.9768*** & 0.1022 & -0.1822 & -0.0595 & 0.900 \\ CALAMOS GLB.EQ.FD.CL.I & -0.0081** & 1.1274*** & -0.0989 & -0.3481*** & 0.1156 & 0.672 \\ CAMBIAR GLOBAL EQUITY FUND INVESTOR & -0.0085** & 0.9817*** & -0.3839 & -0.1172 & -0.2311* & 0.571 \\ CASTLE FOCUS FD.INVESTOR SHARES & -0.0048** & 0.68*** & -0.2772* & 0.0599 & 0.0435 & 0.574 \\ CATALYST/MAP GLOBAL EQUITY FUND A & -0.0024 & 0.8671*** & -0.1107 & 0.1424*** & 0.0751 & 0.836 \\ CAUSEWAY CONCENTRATED EQUITY FUND INSTL & -0.0075 & 1.0838*** & 0.1659 & 0.4703*** & -0.1343 & 0.846 \\ CAUSEWAY GLB.VAL.FUND INSTL.CLASS & -0.0041 & 1.1775*** & 0.0813 & 0.4018*** & -0.2088** & 0.836 \\ CHAUTAUQUA GLOBAL GROWTH FUND INSTITUTIONAL & 0.0018 & 0.9583*** & 0.2412** & -0.2451*** & 0.0494 & 0.867 \\ COLUMBIA GLOBAL VALUE FUND A & -0.006*** & 1.0285*** & -0.2464** & 0.3409*** & 0.0459 & 0.865 \\ COLUMBIA SELECT GLOBAL EQUITY FUND A & -0.0015 & 0.9838*** & -0.2956** & -0.4369*** & 0.0293 & 0.860 \\ COLUMBIA SELECT GLOBAL GROWTH FUND A & -0.0018 & 1.1741*** & 0.0928 & -0.6257*** & -0.0388 & 0.815 \\ COMMONWEALTH GLOBAL FD. & -0.0029** & 0.9412*** & -0.0306 & 0.0112 & -0.0147 & 0.884 \\ THE COOK \& BYNUM FUND & -0.0053** & 0.7452*** & -0.2982** & 0.4001*** & 0.2362** & 0.602 \\ DWS CROCI SECTOR OPPORTUNITIES FUND S & -0.006* & 0.848*** & -0.1108 & -0.1838 & -0.1445 & 0.603 \\ DAVIS GLB.FD.CL.A & -0.0007 & 0.9766*** & 0.4897*** & 0.0965 & -0.0724 & 0.692 \\ DELAWARE GLOBAL EQUITY FUND A & -0.0072** & 0.886*** & -0.3864** & -0.0166 & 0.0951 & 0.590 \\ DEL.GLB.VAL.FD.CL.A DEAD - Liquidated & -0.0048* & 0.8515*** & -0.4601** & -0.0233 & -0.06 & 0.570 \\ DELAWARE IVY GLOBAL GROWTH FUND A & -0.0071** & 1.1127*** & -0.5032 & -0.2855 & -0.0836 & 0.598 \\ DIAMOND HILL GLOBAL FUND Y & -0.0099** & 1.0751*** & 0.3198 & -0.1515 & -0.3645 & 0.797 \\ DODGE \& COX GLOBAL STOCK FUND I & -0.003* & 1.1041*** & -0.0878 & 0.3893*** & -0.1323 & 0.845 \\ DREYFUS STRATEGIC BETA GLOBAL EQUITY FUND I & -0.0021* & 0.9587*** & -0.2824** & -0.0681 & -0.0703 & 0.894 \\ DRIEHAUS GLB.GW.FUND DEAD - Liquidated & -0.0283* & 1.0754*** & 0.3887 & 1.4269 & 0.8729 & 0.255 \\ ERSHARES GLBL ENTREPRENEURS FD INSTL & -0.0048** & 0.9747*** & 0.5335** & -0.4656*** & 0.0016 & 0.632 \\ EATON VANCE FOCUSED GLBL OPPTYS FD I & -0.0023 & 1.0434*** & -0.0829 & -0.0806 & -0.0724 & 0.906 \\ EATON VANCE HEXAVEST GLB.EQ.FD.CL.I & -0.0051** & 0.9192*** & -0.2025* & 0.1565 & 0.0708 & 0.801 \\ EATON VANCE RICHD.BERN. EQ.STGY.FD.CL.I & -0.0034** & 0.8841*** & -0.2517** & -0.0628 & 0.0998* & 0.796 \\ EPOCH GLOBAL ALL CAP FUND INSTITUTIONAL & -0.0069** & 0.9931*** & -0.3876*** & -0.1536 & -0.017 & 0.699 \\ FEDERATED HERMES GLOBAL EQUITY FUND IS & -0.0022* & 0.9903*** & -0.1686** & -0.0726** & 0.0304 & 0.977 \\ FIDELITY ADVISOR GLOBAL CAPITAL APPREC FUND I & -0.0023 & 1.0661*** & 0.1158 & -0.1459*** & 0.1216* & 0.848 \\ FIDELITY ENDURING OPPORTUNITIES FUND & 0.0016 & 0.9571*** & 0.1004 & -0.411*** & -0.0823 & 0.961 \\ FID SRS INTRINSIC OPPTYS FD & -0.0005 & 0.923*** & 0.3071*** & 0.1991** & -0.0584 & 0.870 \\ FIDELITY WORLDWIDE FD. & -0.0051*** & 1.0343*** & -0.1524 & -0.332*** & 0.1287** & 0.792 \\ FIERA CAPITAL GLOBAL EQUITY FUND INST & -0.001 & 0.9393*** & -0.5164*** & -0.2708*** & -0.0534 & 0.923 \\ FRANKLIN GLOBAL EQUITY FUND FUND A & -0.0014 & 1.0106*** & -0.1957** & -0.01 & -0.0289 & 0.890 \\ FRANKLIN MUTUAL BEACON FUND Z & -0.0043** & 0.947*** & -0.1978* & 0.2235*** & -0.141* & 0.819 \\ FRANKLIN MUTUAL GLOBAL DISCOVERY FUND Z & -0.0058*** & 0.9155*** & -0.241** & 0.3417*** & -0.0701 & 0.793 \\ FRANKLIN WORLD PERSPECTIVES FD.CL.A & -0.0077* & 1.1151*** & -0.1009 & -0.0543 & 0.2029 & 0.782 \\ FRONTIER MFG GLOBAL EQUITY INSTITUTIONAL & -0.0071** & 0.9001*** & -0.9024*** & -0.5539** & -0.2013 & 0.549 \\ FRONTIER MFG GLOBAL PLUS FUND INSTITUTIONAL & -0.0136 & 0.9753*** & -1.0924** & -0.708* & -0.4374 & 0.305 \\ FRTR MFG GLBL SUSTAINABLE FD INSTL & -0.0049* & 0.7587*** & -0.3841*** & -0.2101*** & 0.0713 & 0.909 \\ FRONTIER ROBECO SAM GLOBAL EQUITY FUND INST & -0.0188* & 1.2541*** & -1.3542* & 0.2519 & 0.0393 & 0.465 \\ GMO GLB.FOCD.EQ.FD.CL. III & -0.0144*** & 1.1969*** & 0.3247 & -0.0319 & -0.024 & 0.584 \\ GQG PARTNERS GLOBAL QUALITY EQUITY FUND INST & -0.0072* & 0.9566*** & -0.4707** & 0.2156* & 0.6113*** & 0.846 \\ GABELLI GLOBAL GROWTH FUND AAA & -0.0041** & 1.0158*** & -0.3128*** & -0.6268*** & -0.0096 & 0.848 \\ GRANITE VALUE FUND DEAD - Liquidated & -0.006 & 0.8578*** & -0.0947 & 0.0724 & -0.1213 & 0.304 \\ GREENWICH IVY LONG-SHORT FUND INST & -0.0006 & 0.2313 & 0.9733* & 0.1198 & -1.1768*** & 0.314 \\ GUARDIAN CAPITAL DIV GRO FD INST & -0.0021 & 0.9141*** & -0.6718*** & -0.0396 & 0.1584*** & 0.943 \\ GUARDIAN CAPITAL FNDM GLBL EQTY FD INST & 0.0005 & 0.8865*** & -0.0605 & -0.137* & 0.0144 & 0.892 \\ GUIDE STONE GLBL IMPACT FD INSTL & -0.0017 & 0.6738*** & 0.2532*** & -0.1688*** & -0.2144*** & 0.975 \\ GUINNESS ATKINSON GLOBAL INNOVATORS FUND INVESTOR & 0.0001 & 1.0655*** & -0.1873 & -0.4478*** & -0.2323** & 0.799 \\ HC ESG GROWTH PORTFOLIO HC STRATEGIC & -0.0041*** & 1.0014*** & -0.1976*** & -0.0819*** & -0.0239 & 0.960 \\ HSBC GLBL EQTY VOLATILITY FOCUSED FD I & 0.0231 & -1.1357 & 1.1767 & -0.7376** & -0.7092 & 0.066 \\ HARBOR GLOBAL LEADERS FUND INSTITUTIONAL & -0.0044* & 1.0263*** & -0.2395 & -0.4762*** & 0.0145 & 0.748 \\ HARBOR GLB.VAL.FD.INSTL. CL. & 0.0021 & 1.0075*** & 0.1678 & -0.5611 & -0.3305*** & 0.853 \\ HARDING LOEVNER GLOB.EQ. PRTF.ADVI.CL. & -0.0037* & 0.9985*** & -0.0221 & -0.4132*** & -0.0369 & 0.783 \\ HARDING LOEVNER GLOBAL EQUITY RESEARCH PFLO INS & -0.005** & 0.9365*** & -0.0054 & -0.1644** & -0.0778 & 0.834 \\ HARTFORD CLIMATE OPPORTUNITIES FUND A & -0.0037 & 1.1161*** & 0.0698 & -0.1281** & -0.0072 & 0.798 \\ HARTFORD GLB.GW.FD.CL.A DEAD - Merged:30913E & 0.0048** & 1.113*** & 0.0748 & -0.6579*** & -0.0894 & 0.932 \\ HARTFORD GLOBAL RESEARCH HLS IA & -0.0043 & 1.0684*** & -0.2878 & 0.0809 & 0.1275 & 0.884 \\ HOTCHKIS \& WILEY GLOBAL VALUE FD.CL.I & -0.0034* & 1.2263*** & 0.0739 & 0.597*** & -0.2163*** & 0.876 \\ IMPAX GLBL ENVIRON MARKETS FD INST & -0.0005 & 1.0623*** & 0.144* & -0.193*** & -0.0241 & 0.890 \\ IMPAX GLBL OPPTYS FD INSTL & 0.0014 & 0.9541*** & -0.2062** & -0.2107*** & -0.0388 & 0.927 \\ INVESCO GLOBAL CORE EQ. FD.CL.A & -0.0065*** & 1.0413*** & -0.3028 & 0.0062 & -0.0244 & 0.792 \\ INVESCO GLOBAL FOCUS FUND Y & -0.0017 & 1.0872*** & 0.08 & -0.6069*** & -0.0644 & 0.819 \\ INVESCO GLOBAL FUND A & -0.0044** & 1.1635*** & -0.1862 & -0.3737*** & -0.1653** & 0.849 \\ IVS.GLB.GW.FD.CL.A DEAD - Merged:517169 & -0.008** & 1.013*** & -0.4124 & -0.4876** & -0.4148* & 0.593 \\ INVESCO GLOBAL OPPS.FD. CL.A & -0.0039 & 1.1321*** & -0.132 & 0.2427* & -0.323*** & 0.833 \\ IRONBRIDGE GLOBAL FUND DEAD - Liquidated & -0.0067** & 0.9585*** & -0.3975** & -0.3735*** & 0.0404 & 0.641 \\ JOHCM GLOBAL SELECT FUND INST & -0.005** & 0.98*** & -0.0999 & -0.3393** & 0.1416 & 0.695 \\ JP MORG GLBL UNCONSTRAINED EQTY FD I & -0.0066* & 1.0896*** & -0.2127 & 0.1093 & -0.1322 & 0.626 \\ JANUS HENDERSON GLOBAL RESEARCH FUND D & -0.0022* & 1.0543*** & -0.0804 & -0.1549** & -0.0389 & 0.901 \\ JANUS HENDERSON GLOBAL SELECT FUND T & -0.0036* & 1.0995*** & 0.139 & 0.1177 & -0.023 & 0.815 \\ JANUS HENDERSON GLBL SUSTAINABLE EQTY FD D & 0.0038*** & 1.0385*** & 0.082 & -0.2906*** & -0.1445*** & 0.991 \\ JANUS HENDERSON GLOBAL VALUE FUND D & -0.0069*** & 0.6984*** & -0.1506 & 0.2069 & -0.0814 & 0.314 \\ JANUS PRESERVATION SERIES-GLOBAL C & -0.0075*** & 0.8701*** & -0.1378 & -0.1987 & 0.0376 & 0.624 \\ JENSEN GLOBAL QUALITY GROWTH FUND I & 0.0032 & 0.8993*** & -0.4785*** & -0.1968*** & -0.0842 & 0.950 \\ JOHN HANCOCK FDAMENTAL GLBL FRANCHISE FD NAV & -0.008*** & 1.0057*** & -0.573*** & -0.3527*** & -0.1171 & 0.680 \\ JOHN HANCOCK GLOBAL EQUITY FUND NAV & -0.0056** & 0.9131*** & -0.373** & -0.0303 & -0.0366 & 0.723 \\ JOHN HANCOCK FUNDS GLB. OPPS.FD.CL.A & -0.0029 & 0.9409*** & 0.1754 & -0.1633 & -0.4761*** & 0.715 \\ JHAN.FUND.III GLB. SHAREHOLDER YLD.FD.CL.I & -0.0063*** & 0.8943*** & -0.4366*** & 0.2179*** & 0.0648 & 0.832 \\ JOHN HANCOCK GLOBAL THEMATIC OPPS FUND NAV & -0.0057* & 0.8829*** & -0.0534 & -0.226*** & -0.1182 & 0.851 \\ JOHN HANCOCK MUTUAL SHARES FUND NAV & 0.0002 & 0.7302*** & -0.2498* & 0.0038 & -0.0294 & 0.548 \\ JOHN HANCOCK TECHNICAL OPPORTUNITIES FUND NAV & -0.0116* & 1.3633*** & 0.2199 & -0.3443* & 0.5225*** & 0.483 \\ JUBAK GLOBAL EQ.FD. DEAD - Liquidated & -0.0088*** & 0.9501*** & 0.0241 & -0.2547 & -0.2451* & 0.809 \\ LSV GLOBAL MANAGED VOLATILITY FUND INST & -0.0046** & 0.8209*** & -0.3277*** & 0.2706*** & 0.0998 & 0.823 \\ LSV GLOBAL VALUE FUND INST & -0.0028** & 1.0703*** & 0.0676 & 0.4203*** & -0.0692 & 0.950 \\ LAZARD EQUITY FRANCHISE PORTFOLIO INSTITUTIONAL & -0.0082* & 1.1365*** & 0.0724 & 0.3641*** & -0.1098 & 0.787 \\ LAZARD GLOBAL EQUITY SELECT PORTFOLIO INSTL & -0.0012 & 0.9206*** & -0.2489*** & -0.1397*** & 0.0483 & 0.939 \\ LAZARD GLOBAL STRATEGIC EQUITY PORTFOLIO INST & -0.0157 & 1.0158*** & -0.5193 & -0.0425 & 0.235 & 0.146 \\ LONGLEAF PARTNERS GLOBAL FD. & -0.005** & 1.1007*** & 0.2701* & 0.2801*** & -0.1771* & 0.790 \\ LORD ABBETT GLOBAL EQUITY FUND A & -0.0038 & 0.9716*** & -0.007 & -0.1025 & -0.0165 & 0.819 \\ MFAM GLBL OPPTYS FD INVSTR & -0.0033 & 0.9873*** & 0.0925 & -0.451*** & 0.0072 & 0.682 \\ MFS BLENDED RESEARCH GLOBAL EQUITY FUND R6 & -0.0057 & 1.1018*** & -0.2015 & 0.0497 & -0.0525 & 0.877 \\ MFS GLB.EQ.FD.CL.B & -0.002* & 1.03*** & -0.3512*** & -0.0747 & -0.0262 & 0.929 \\ MFS GLOBAL LEADERS FD. CL.A & -0.01* & 0.9563*** & -0.8991** & 0.1136 & 0.1398 & 0.498 \\ MAIN STAY EPOCH CAPITAL GROWTH FUND I & -0.0066 & 0.8769*** & -0.3671 & -0.4361*** & -0.1302 & 0.594 \\ MAINSTAY EPOCH GLB.CHO. FD.CL.I & -0.008** & 1.1094*** & -0.303** & -0.1457 & 0.1129 & 0.694 \\ MAINSTAY EPOCH GLB.EQ. YLD.FD.CL.I & -0.0057*** & 0.9181*** & -0.399*** & 0.2728*** & 0.114* & 0.852 \\ MAINSTAY ICAP GLB.FD.CL. I & -0.004* & 1.0207*** & -0.3361** & -0.0105 & -0.0214 & 0.890 \\ MNGD ACCT SRS BLKRK GA DYN EQTY FD K & -0.0028 & 1.0923*** & 0.0705 & 0.0597 & 0.0936* & 0.949 \\ MARSICO GLOBAL FUND INVESTOR & -0.0032 & 1.0156*** & -0.025 & -0.6381*** & -0.0219 & 0.694 \\ MASS MUTUAL GLOBAL FUND R5 & -0.0073** & 1.2139*** & -0.2491 & -0.4318*** & -0.1848 & 0.739 \\ MONDRIAN GLOBAL EQUITY VALUE FUND & -0.001 & 0.8193*** & 0.0615 & 0.3183*** & -0.3697 & 0.833 \\ MORGAN STANLEY GLOBAL CONCENTRATED PORTFOLIO I & 0.0002 & 0.929*** & 0.132 & -0.1992** & -0.0511 & 0.849 \\ MORGAN STANLEY GLOBAL CORE PORTFOLIO I & -0.0017 & 1.0194*** & -0.0167 & -0.1046 & 0.0839 & 0.913 \\ MORGAN STANLEY INSTL.FD. GLB.INSIGHT PRTF.CL.H & -0.0065 & 1.077*** & 0.141 & 0.2575 & 0.0315 & 0.431 \\ MORGAN STANLEY GLOBAL SUSTAIN PORTFOLIO I & -0.003* & 0.8798*** & -0.609*** & -0.2882*** & 0.0604 & 0.835 \\ MGST.INSTL.FD.GLB.FRCH. PRTF.CL.I & -0.0029* & 0.8676*** & -0.7791*** & -0.2524*** & 0.0958 & 0.802 \\ MORG STAN INST GLBL PERMANENCE PFOLIO I & -0.0004 & 0.9238*** & -0.0815 & -0.4213*** & -0.1743 & 0.766 \\ MORG STAN INSTL CNTRPNT GLBL I & -0.0028 & 0.9542*** & 1.0639*** & -0.8847*** & -0.1328 & 0.677 \\ MORG STAN INSTL GLBL INSIGHT PRT I & -0.0047 & 0.9901*** & 0.5525* & -1.1794*** & -0.2549 & 0.555 \\ MORGAN STANLEY INSTL.FD. GLB.GW.PRTF.CL.I & -0.0005 & 1.0128*** & 0.1079 & -0.722*** & -0.1287 & 0.735 \\ MUNDOVAL FUND & -0.0005 & 0.9904*** & -0.3474*** & -0.0762* & -0.1433** & 0.873 \\ NATIONWIDE GLBL SUSTAINABLE EQTY FD R6 & -0.0032* & 1.0745*** & -0.0016 & -0.1038 & -0.092 & 0.848 \\ NATIXIS LOOMIS SAYLES GLOBAL GROWTH Y & -0.0039 & 0.9118*** & -0.2856 & -0.5115*** & -0.1907* & 0.832 \\ NEUBERGER BERMAN FOCUS FD. & -0.0057** & 0.9775*** & -0.1718 & -0.398*** & -0.0804 & 0.662 \\ NEUBERGER BERMAN GLOBAL THEMATIC OPPS.INSTL.CL. & -0.003 & 0.8228*** & 0.1522 & 0.0535 & -0.1 & 0.691 \\ NINETY ONE GLOBAL FRANCHISE FUND I & -0.0004 & 0.888*** & -0.4334*** & -0.2046*** & 0.0528 & 0.941 \\ NORTHERN ENGAGE 360 FUND & -0.0063* & 0.9685*** & -0.288 & -0.2138 & -0.1964 & 0.787 \\ NUVEEN GLOBAL GROWTH FD. CL.A & -0.0022 & 1.1386*** & 0.5454*** & -0.2762* & 0.2347** & 0.855 \\ NUVEEN NWQ GLOBAL ALL- CAP FUND I & -0.0033 & 0.5973 & 0.3314 & -0.3776 & -0.701 & 0.282 \\ OAKMARK GLOBAL FUND INVESTOR & -0.0041** & 1.2843*** & 0.1387 & 0.3499*** & -0.1187* & 0.880 \\ OAKMARK GLOBAL SELECT FUND INVESTOR & -0.003* & 1.2048*** & -0.0227 & 0.2502*** & -0.1533** & 0.882 \\ OLD WESTBURY ALL CAP ESG FUND & -0.0122* & 0.8266*** & 0.611 & -0.4014 & -0.1473 & 0.726 \\ PF MULTI-ASSET FUND P & -0.0075 & 0.9571*** & 0.2004 & -0.2711 & -0.1215 & 0.526 \\ PGIM JENNISON GLOBAL OPPORTUNITIES FUND Z & 0.0014 & 1.104*** & 0.2371* & -0.8171*** & 0.1008 & 0.847 \\ PIMCO EQUITIES PFR. WORLD FD.CL.A & -0.0097 & 0.9426*** & -0.6497 & 0.0117 & -0.0459 & 0.334 \\ PIMCO GLOBAL DIVIDEND FUND A & -0.0186** & 1.1335*** & -0.895 & 0.2453 & -0.0878 & 0.257 \\ PMC DIVERSIFIED EQUITY FUND ADVISOR & -0.0036** & 1.0138*** & 0.0107 & 0.0397 & 0.0331 & 0.880 \\ PARVIN HEDGED EQUITY SOLARI WORLD FUND & -0.0098** & 0.5559*** & -0.2998 & 0.1736** & -0.0567 & 0.776 \\ PHAEACIAN GLOBAL VALUE FUND INST & -0.0072* & 0.9873*** & -0.1403 & -0.1496 & -0.1507 & 0.581 \\ PION GLBL SUSTAINABLE EQTY FD A & -0.0036* & 1.044*** & 0.0201 & 0.3007*** & 0.1753** & 0.816 \\ POLARIS GLB.VAL.FD. & 0.0001 & 1.0373*** & 0.2361*** & 0.3294*** & -0.0949* & 0.936 \\ POLEN GLOBAL GROWTH FUND INSTITUTIONAL & 0.0006 & 0.9518*** & -0.2423*** & -0.4342*** & -0.0007 & 0.936 \\ PRINCIPAL SYSTEMAT EX INTERNATIONAL FUND R-6 & -0.0088** & 1.0839*** & 0.0263 & 0.162 & 0.0776 & 0.814 \\ PURISIMA ALL-PURPOSE FD. DEAD - Liquidated & 0.0 & -0.0005 & -0.0005 & 0.0009 & 0.0008 & -0.081 \\ QUAKER GLOBAL TACTICAL ALLOCATION FUND ADVISOR & -0.002 & 0.9634*** & 0.0626 & -0.2425** & 0.1133 & 0.805 \\ RBC GLOBAL OPPORTUNITIES FUND I & -0.0003 & 1.0232*** & 0.0292 & -0.2254*** & 0.035 & 0.918 \\ ROCKEFELLER EQTY ALLOCTN FD INSTL & -0.0089* & 0.8571*** & 0.1721 & 0.401 & 0.3691 & 0.403 \\ RUSSELL INVESTMENTS GLOBAL EQUITY FUND S & -0.0076** & 1.0222*** & -0.5346* & 0.0317 & -0.0329 & 0.648 \\ SEI INST INV GLBL MNGD VOLATILITY FD A & -0.0069** & 0.7658*** & -0.4157** & 0.0699 & 0.0233 & 0.690 \\ SEI INST MGD GLBL MNGD VOLATILITY FD F & -0.0056*** & 0.7353*** & -0.4484*** & -0.0474 & 0.1437 & 0.590 \\ SGI GLOBAL EQUITY FUND I & -0.0031 & 0.8901*** & 0.0719 & -0.1474 & 0.1866* & 0.568 \\ SALIENT GLOBAL EQ.FD.CL. I & -0.0057 & 0.8377*** & 0.0662 & 0.0156 & -0.0008 & 0.659 \\ SANDS CAPITAL GLBL GRO FD INSTL & -0.0016 & 1.0975*** & 0.3588*** & -0.7165*** & -0.0647 & 0.832 \\ SCHARF GLOBAL OPPORTUNITY FUND INST & -0.0039 & 0.9092*** & -0.3708** & 0.0538 & -0.0564 & 0.735 \\ SCHRODER GLOBAL MULTI- CAP EQUITY FUND R6 & -0.0317 & 0.6926* & -1.9447 & -0.6 & 0.57 & -0.030 \\ SCOUT GLOBAL EQUITY FD. DEAD - Liquidated & -0.0043 & 0.9685*** & -0.5015 & -0.5674 & -0.2031 & 0.354 \\ SEGALL BRYANT \& HAMILL GLOBAL ALL CAP FUND RTL & -0.0082*** & 0.8819*** & -0.5868*** & -0.1307 & -0.0534 & 0.545 \\ SELECTIVE OPPORTUNITY FUND FOUNDATION & -0.0071 & 0.7948*** & 1.0079* & -0.4026 & -0.3982 & 0.365 \\ SIRIOS FOCUS FUND INST & -0.0027 & 0.8971*** & -0.4002 & -0.1915 & 0.0024 & 0.804 \\ SIT ESG GROWTH FUND I & -0.0021* & 0.9803*** & -0.3935*** & -0.1361*** & 0.0029 & 0.970 \\ STATE STREET DEFENSIVE GLOBAL EQUITY FUND I & -0.0129** & 0.8303*** & -0.8348** & -0.0955 & 0.0887 & 0.363 \\ STATE STREET GLOBAL VALUE SPOTLIGHT FUND K & -0.0198 & 1.2237*** & -0.9384 & -0.3582 & -0.5046 & 0.642 \\ STRATEGIC EQUITY ALLOCATION FUND NAV & -0.0068** & 0.9752*** & -0.1446 & -0.0594 & -0.0072 & 0.625 \\ T.ROWE PRICE GLB.LGCP. STK.FD. & -0.0012 & 1.0063*** & 0.0683 & -0.3591*** & -0.0612 & 0.815 \\ T ROWE PRICE GLOBAL IMPACT EQUITY & 0.0035 & 1.0697*** & 0.041 & -0.4487*** & 0.0509 & 0.951 \\ T ROWE PRICE GLB.STK.FD. & 0.0018 & 1.0315*** & 0.2479* & -0.3566*** & -0.0829 & 0.846 \\ T ROWE PRICE GLOBAL VALUE EQUITY & -0.0045** & 1.0109*** & -0.1142 & 0.2432*** & 0.0263 & 0.797 \\ T.ROWE PRICE INSTL. DEAD - Merged:9051FK & -0.0082* & 1.2649*** & -0.1361 & -0.3905* & 0.0839 & 0.531 \\ T ROWE PRICE INSTL.GLB. LGCP.EQ.FD. & -0.0051* & 1.1264*** & -0.17 & -0.0845 & 0.123 & 0.677 \\ T ROWE PRICE QM GLOBAL EQUITY FUND & -0.0041 & 1.0091*** & -0.5142* & -0.1383 & -0.0531 & 0.857 \\ TD GLOBAL LOW VOLATILITY EQUITY FUND INST & -0.0042 & 0.6051*** & -0.5364*** & -0.0587 & -0.0301 & 0.244 \\ TIF GLB.EQ.SERIES FUND DEAD - Liquidated & -0.0132* & 0.4618 & -1.5302 & 1.8033 & 0.4333 & 0.112 \\ TEMPLETON GLB.OPPOR.TST. I & -0.0062*** & 1.1346*** & -0.1513 & 0.5433** & -0.0584 & 0.765 \\ TEMPLETON GROWTH FD.CL.A & -0.0045*** & 1.0259*** & -0.1388 & 0.274*** & -0.0675 & 0.885 \\ TEMPLETON WLD.FUND.CL.A & -0.0069*** & 0.9982*** & -0.2175* & 0.081 & -0.2392*** & 0.781 \\ THORNBURG GLOBAL OPPORTUNITIES FUND I & -0.0004 & 0.9774*** & 0.1832 & 0.2172** & 0.0518 & 0.767 \\ THRIVENT GLOBAL STOCK FUND A & -0.0065*** & 1.0023*** & -0.2959** & -0.1309* & -0.0331 & 0.746 \\ THRIVENT LOW VOLATILITY EQUITY S & -0.0037** & 0.7599*** & -0.3601*** & -0.0396 & 0.1496** & 0.868 \\ TRILLIUM ESG GLOBAL EQUITY FUND RETAIL & -0.0023 & 0.9878*** & -0.2552** & -0.2064*** & -0.0478 & 0.883 \\ TWEEDY BROWNE INTL VALUE FUND II - CURR UNHGD & -0.0032** & 0.8926*** & -0.1144* & 0.3121*** & 0.0301 & 0.890 \\ TWEEDY BROWNE VAL.FD. & -0.0058** & 0.8539*** & -0.3443*** & 0.1648*** & -0.0256 & 0.687 \\ UBS ENGAGE FOR IMPACT FUND P & -0.004 & 1.0107*** & 0.3681** & -0.0061 & -0.0064 & 0.869 \\ US GLB.INVRS.FUND.GLB. MEGATRENDS FUND & 0.0014 & 0.7246*** & -0.0281 & -0.1842 & 0.0755 & 0.722 \\ USAA CAPITAL GROWTH FUND FUND & -0.0031** & 1.0237*** & -0.2238** & 0.0049 & 0.0347 & 0.854 \\ USAA SUSTAINABLE WORLD FUND FUND & -0.0047* & 0.9376*** & -0.3898** & -0.1956** & -0.0597 & 0.612 \\ UPRIGHT GW.FD. & 0.0 & 1.2487*** & 1.2238** & -0.0049 & -0.3802 & 0.346 \\ VANGD.BAIL GIFF GL POSITIVE IPCT.STK.FD INV & 0.0049 & 1.0992*** & 0.4517 & -0.6358*** & 0.0475 & 0.773 \\ VANGUARD GLOBAL CAPITAL CYCLES FUND INVESTOR & -0.0063 & 0.8072*** & 0.7428** & 0.3652* & -0.1849 & 0.269 \\ VANGUARD GLBL ESG SEL STK FD ADMIRAL & -0.0003 & 0.9526*** & -0.2616** & 0.1154*** & -0.1498* & 0.929 \\ VANGUARD HORIZON FD. VANGD.GLB.EQ.FD. & -0.0032** & 1.0084*** & -0.0251 & -0.1516* & -0.0345 & 0.856 \\ VICTORY NEWBRIDGE GLOBAL EQUITY FUND A & -0.0073** & 1.0045*** & -0.5182* & -0.3364 & -0.0662 & 0.557 \\ VICTORY RS GLOBAL FUND Y & -0.0018 & 0.9414*** & -0.1736*** & -0.134*** & -0.0356 & 0.808 \\ VIRTUS GLB.COMD.STK.FD. CL.I & -0.0109* & 0.907*** & 0.7082** & -0.0444 & -0.4814* & 0.579 \\ VIRTUS NFJ GLOBAL SUSTAINABILITY FUND INST & -0.0059* & 1.0058*** & -0.5597* & -0.4582*** & -0.2577 & 0.722 \\ VIRTUS SGA GLOBAL GROWTH FUND R6 & -0.0011 & 0.9881*** & -0.2103* & -0.3992*** & -0.0372 & 0.875 \\ VIRTUS SGA NEW LEADERS GROWTH FUND R6 & -0.0067 & 1.0396*** & 0.7234*** & -0.1306 & -0.3143* & 0.911 \\ VIRTUS VONTOBEL GLOBAL OPPORTUNITIES FUND A & -0.0031* & 0.95*** & -0.3504*** & -0.3298*** & 0.0323 & 0.779 \\ VONTOBEL GLOBAL EQUITY INSTITUTIONAL FUND I & -0.0015 & 0.911*** & -0.5083*** & -0.3251** & 0.0977 & 0.820 \\ VOYA GLBL HI DIV LOW VOLATILITY FD A & -0.004*** & 0.9346*** & -0.1953*** & 0.2215*** & 0.0555 & 0.866 \\ VOYA GLOBAL OPPORTUNITIES FUND A & -0.0011 & 1.0414*** & 0.0559 & -0.0308 & -0.2255*** & 0.949 \\ WCM FOCUSED GLB.GW.FD. INSTL.CL. & -0.0013 & 0.9126*** & -0.0062 & -0.5512*** & -0.0015 & 0.814 \\ WASATCH GLOBAL SELECT FUND INSTITUTIONAL & -0.0026 & 0.9263*** & 0.3178 & -0.5481*** & -0.1921 & 0.783 \\ WASATCH GLOBAL VALUE FUND INVESTOR & -0.009** & 0.9959*** & -0.3803** & 0.484*** & -0.0227 & 0.514 \\ WELLS FARGO INTRINSIC WORLD EQTY FD A & -0.0067** & 0.9341*** & 0.0624 & 0.1585 & -0.1612 & 0.310 \\ WESTWOOD GLOBAL EQUITY FD.INSTL.SHS. & -0.0078 & 0.8087*** & 0.5069 & -0.2319 & -0.3736 & 0.067 \\ WILLIAM BLAIR GLOBAL LEADERS FD.CL.I & -0.0039* & 1.1125*** & -0.1521 & -0.3437*** & 0.0233 & 0.838 \\ WINTERGREEN FD. DEAD - Liquidated & -0.0162** & 0.9244*** & -0.3375 & 0.2652 & 0.416 & 0.200 \\ WINTON GLOBAL EQUITY PORTFOLIO INSTITUTIONAL & -0.011 & 1.0017*** & 0.1846 & 0.203 & -0.0667 & 0.540 \\ WORLD SELECT EQUITY FUND A & -0.0069** & 1.075*** & -0.1639 & 0.1967** & -0.0974 & 0.877 \\ YORKTOWN CAPITAL APPRECIATION FUND A & -0.0099*** & 0.8887*** & -0.1225 & -0.2884*** & -0.071 & 0.654 \\ ABRDN EMERGING MARKETS EX-CHINA FUND A & -0.007*** & 0.9989*** & -0.4017* & -0.1508 & -0.0874 & 0.730 \\ ABRDN GLOBAL EQUITY IMPACT FUND A & -0.0041** & 1.0545*** & -0.1115 & -0.1532* & -0.0052 & 0.842 \\ \bottomrule \end{tabular}
In this section, we removed outliers from our main dataset and performed some of the analyses already conducted above.
no_outlier = res_FFC[(res_FFC['Alpha'] > res_FFC['Alpha'].quantile(0.05)) & (res_FFC['Alpha'] < res_FFC['Alpha'].quantile(0.95))]
no_outlier_GROSS = res_FFC_GROSS[(res_FFC_GROSS['Alpha'] > res_FFC_GROSS['Alpha'].quantile(0.05)) & (res_FFC_GROSS['Alpha'] < res_FFC_GROSS['Alpha'].quantile(0.95))]
no_outlier_outliers = res_FFC_GROSS[(res_FFC_GROSS['Alpha'] < res_FFC_GROSS['Alpha'].quantile(0.05)) | (res_FFC_GROSS['Alpha'] > res_FFC_GROSS['Alpha'].quantile(0.95))]
no_outliers_outliers = pd.concat([pd.DataFrame(exp.mean()),no_outlier_outliers],axis=1).dropna()
no_outliers = pd.concat([pd.DataFrame(exp.mean()),no_outlier],axis=1).dropna()
no_outliers_GROSS = pd.concat([pd.DataFrame(exp.mean()),no_outlier_GROSS],axis=1).dropna()
robust_funds = no_outliers.index
cheap_fund_no_outliers = [i for i in no_outliers.index if i in cheap_funds]
medium_fund_no_outliers = [i for i in no_outliers.index if i in medium_funds]
expensive_fund_no_outliers = [i for i in no_outliers.index if i in expensive_funds]
reg(no_outliers_GROSS[0]/100, (no_outliers_GROSS['Alpha']+1)**12-1, h=True)
OLS Regression Results ============================================================================== Dep. Variable: Alpha R-squared: 0.009 Model: OLS Adj. R-squared: 0.005 Method: Least Squares F-statistic: 2.023 Date: Sun, 25 Jun 2023 Prob (F-statistic): 0.156 Time: 15:39:07 Log-Likelihood: 445.92 No. Observations: 225 AIC: -887.8 Df Residuals: 223 BIC: -881.0 Df Model: 1 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0598 0.007 -8.529 0.000 -0.074 -0.046 0 0.8681 0.610 1.422 0.155 -0.328 2.065 ============================================================================== Omnibus: 3.926 Durbin-Watson: 1.878 Prob(Omnibus): 0.140 Jarque-Bera (JB): 3.829 Skew: -0.273 Prob(JB): 0.147 Kurtosis: 2.667 Cond. No. 269. ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
reg(no_outliers[0]/100, (no_outliers['Alpha']+1)**12-1, h=True)
OLS Regression Results ============================================================================== Dep. Variable: Alpha R-squared: 0.000 Model: OLS Adj. R-squared: -0.004 Method: Least Squares F-statistic: 0.001005 Date: Sun, 25 Jun 2023 Prob (F-statistic): 0.975 Time: 15:39:07 Log-Likelihood: 448.24 No. Observations: 225 AIC: -892.5 Df Residuals: 223 BIC: -885.7 Df Model: 1 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0605 0.007 -8.573 0.000 -0.074 -0.047 0 -0.0192 0.606 -0.032 0.975 -1.207 1.169 ============================================================================== Omnibus: 3.965 Durbin-Watson: 1.764 Prob(Omnibus): 0.138 Jarque-Bera (JB): 3.866 Skew: -0.274 Prob(JB): 0.145 Kurtosis: 2.667 Cond. No. 270. ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
from scipy.interpolate import UnivariateSpline
# Plotting and uses a basic Regression line based on the output from the Regression above
coef = reg(no_outliers_GROSS[0]/100, (no_outliers_GROSS['Alpha']+1)**12-1, returns=True)
plt.xlabel('Expense ratio')
plt.ylabel('Annualized 4-Factor Alpha')
line = lambda x: coef.params['const']+x*coef.params[0]
plt.scatter(no_outliers_GROSS[0]/100, (no_outliers_GROSS['Alpha']+1)**12-1,label='Fund',color='grey')
plt.scatter(no_outliers_outliers[0]/100, (no_outliers_outliers['Alpha']+1)**12-1,color='red',label='Outlier')
# Plotting Non-parametric line
spl = UnivariateSpline(no_outliers_GROSS.sort_values(0)[0]/100,(no_outliers_GROSS.sort_values(0)['Alpha']+1)**12-1)
v = np.linspace(0.2,2,100)/100
ys = spl(v)
plt.plot(v,ys, label='Non-parametric line')
plt.plot(v,line(v), color='black', label='Linear Regression line')
plt.ylim(-0.3,0.2)
plt.xlim(0.1/100, 2.2/100)
plt.axvline(x=cheap/100, c='g', ls='--',label='Low/Medium cost')
plt.axvline(x=medium/100, c='y', ls='--',label='Medium/High cost')
plt.title(f'Carhart 4 Alpha on Expense Ratio')
plt.legend()
<matplotlib.legend.Legend at 0x7fa650b9ab80>
EW(FAMAC, returns=ret[robust_funds],h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.912 Model: OLS Adj. R-squared: 0.909 Method: Least Squares F-statistic: 242.5 Date: Sun, 25 Jun 2023 Prob (F-statistic): 3.69e-58 Time: 15:39:07 Log-Likelihood: 386.05 No. Observations: 131 AIC: -762.1 Df Residuals: 126 BIC: -747.7 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0050 0.001 -4.336 0.000 -0.007 -0.003 Mkt-RF 0.9803 0.035 28.411 0.000 0.913 1.048 SMB -0.1094 0.077 -1.419 0.156 -0.260 0.042 HML -0.1023 0.042 -2.413 0.016 -0.185 -0.019 MOM -0.0248 0.036 -0.687 0.492 -0.096 0.046 ============================================================================== Omnibus: 107.281 Durbin-Watson: 2.149 Prob(Omnibus): 0.000 Jarque-Bera (JB): 773.186 Skew: -3.027 Prob(JB): 1.27e-168 Kurtosis: 13.247 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa600cff970>
EW(FAMAC, returns=ret[cheap_fund_no_outliers],h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.897 Model: OLS Adj. R-squared: 0.893 Method: Least Squares F-statistic: 223.0 Date: Sun, 25 Jun 2023 Prob (F-statistic): 3.85e-56 Time: 15:39:07 Log-Likelihood: 376.63 No. Observations: 131 AIC: -743.3 Df Residuals: 126 BIC: -728.9 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0048 0.001 -4.121 0.000 -0.007 -0.003 Mkt-RF 0.9653 0.035 27.505 0.000 0.896 1.034 SMB -0.1438 0.081 -1.773 0.076 -0.303 0.015 HML -0.0830 0.047 -1.782 0.075 -0.174 0.008 MOM -0.0244 0.039 -0.622 0.534 -0.101 0.053 ============================================================================== Omnibus: 99.076 Durbin-Watson: 2.267 Prob(Omnibus): 0.000 Jarque-Bera (JB): 596.367 Skew: -2.810 Prob(JB): 3.17e-130 Kurtosis: 11.814 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa611c5b160>
EW(FAMAC, returns=ret[medium_fund_no_outliers],h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.907 Model: OLS Adj. R-squared: 0.904 Method: Least Squares F-statistic: 266.6 Date: Sun, 25 Jun 2023 Prob (F-statistic): 1.86e-60 Time: 15:39:07 Log-Likelihood: 378.49 No. Observations: 131 AIC: -747.0 Df Residuals: 126 BIC: -732.6 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0046 0.001 -3.823 0.000 -0.007 -0.002 Mkt-RF 1.0041 0.036 27.737 0.000 0.933 1.075 SMB -0.1113 0.077 -1.438 0.151 -0.263 0.040 HML -0.1385 0.042 -3.275 0.001 -0.221 -0.056 MOM -0.0357 0.035 -1.008 0.314 -0.105 0.034 ============================================================================== Omnibus: 109.601 Durbin-Watson: 2.185 Prob(Omnibus): 0.000 Jarque-Bera (JB): 855.806 Skew: -3.072 Prob(JB): 1.46e-186 Kurtosis: 13.911 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa600c8efd0>
EW(FAMAC, returns=ret[expensive_fund_no_outliers],h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.913 Model: OLS Adj. R-squared: 0.910 Method: Least Squares F-statistic: 233.6 Date: Sun, 25 Jun 2023 Prob (F-statistic): 2.93e-57 Time: 15:39:07 Log-Likelihood: 389.12 No. Observations: 131 AIC: -768.2 Df Residuals: 126 BIC: -753.9 Df Model: 4 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0057 0.001 -4.703 0.000 -0.008 -0.003 Mkt-RF 0.9665 0.034 28.640 0.000 0.900 1.033 SMB -0.0854 0.082 -1.043 0.297 -0.246 0.075 HML -0.0786 0.045 -1.756 0.079 -0.166 0.009 MOM -0.0130 0.041 -0.316 0.752 -0.094 0.068 ============================================================================== Omnibus: 96.467 Durbin-Watson: 1.956 Prob(Omnibus): 0.000 Jarque-Bera (JB): 544.089 Skew: -2.748 Prob(JB): 7.12e-119 Kurtosis: 11.335 Cond. No. 69.3 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa600906c70>
In this section, we ran the Fama-french five-factor regression on our dataset. This is a part of the appendix in our thesis, therefor the section is last in our code.
res_FF5 = factor(res_FF5_,FAMA5,ret,h=True)
res_FF5_GROSS = factor(res_FF5_,FAMA5,GROSS,h=True)
res_FF5_level = factor(res_FF5_,FAMA5,ret,h=True,level=0.1)
res_FF5_GROSS_level = factor(res_FF5_,FAMA5,GROSS,h=True,level=0.1)
print(f'''There are {len(res_FF5)} individual funds, from these {len(res_FF5[res_FF5['Alpha'] > 0])} generated alpha if we looking
at after fee numbers
Before fee there are {len(res_FF5_GROSS[res_FF5_GROSS['Alpha'] > 0])} funds''')
print(f'''There are {len(res_FF5)} individual funds, from these {len(res_FF5[res_FF5['Alpha'] < 0])} negative alpha if we looking
at after fee numbers
Before fee there are {len(res_FF5_GROSS[res_FF5_GROSS['Alpha'] < 0])} funds''')
print(f'''
10% significance
There are {len(res_FF5_level)} individual funds, from these {len(res_FF5_level[res_FF5_level['Alpha'] > 0])} generated alpha if we looking
at after fee numbers
Before fee there are {len(res_FF5_GROSS_level[res_FF5_GROSS_level['Alpha'] > 0])} funds''')
print(f'''There are {len(res_FF5_level)} individual funds, from these {len(res_FF5_level[res_FF5_level['Alpha'] < 0])} negative alpha if we looking
at after fee numbers
Before fee there are {len(res_FF5_GROSS_level[res_FF5_GROSS_level['Alpha'] < 0])} funds''')
There are 251 individual funds, from these 25 generated alpha if we looking at after fee numbers Before fee there are 38 funds There are 251 individual funds, from these 226 negative alpha if we looking at after fee numbers Before fee there are 213 funds 10% significance There are 251 individual funds, from these 5 generated alpha if we looking at after fee numbers Before fee there are 7 funds There are 251 individual funds, from these 159 negative alpha if we looking at after fee numbers Before fee there are 125 funds
res_FF5.describe()
Alpha | Mkt-RF | SMB | HML | RMW | CMA | ADJ_R_SQ | |
---|---|---|---|---|---|---|---|
count | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 |
mean | -0.005 | 0.951 | -0.131 | 0.091 | 0.039 | -0.317 | 0.734 |
std | 0.005 | 0.172 | 0.455 | 0.475 | 0.703 | 0.641 | 0.211 |
min | -0.033 | -0.061 | -1.939 | -1.050 | -2.936 | -3.276 | -0.054 |
25% | -0.008 | 0.889 | -0.332 | -0.157 | -0.242 | -0.602 | 0.645 |
50% | -0.005 | 0.971 | -0.161 | 0.056 | 0.012 | -0.293 | 0.813 |
75% | -0.002 | 1.037 | 0.042 | 0.244 | 0.253 | 0.060 | 0.878 |
max | 0.009 | 1.524 | 4.176 | 3.252 | 4.839 | 1.570 | 0.992 |
res_FF5_GROSS.describe()
Alpha | Mkt-RF | SMB | HML | RMW | CMA | ADJ_R_SQ | |
---|---|---|---|---|---|---|---|
count | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 | 251.000 |
mean | -0.005 | 0.951 | -0.131 | 0.091 | 0.038 | -0.317 | 0.734 |
std | 0.005 | 0.172 | 0.455 | 0.475 | 0.703 | 0.641 | 0.211 |
min | -0.032 | -0.061 | -1.939 | -1.050 | -2.936 | -3.276 | -0.054 |
25% | -0.007 | 0.889 | -0.332 | -0.157 | -0.241 | -0.603 | 0.645 |
50% | -0.004 | 0.971 | -0.161 | 0.056 | 0.011 | -0.293 | 0.813 |
75% | -0.001 | 1.037 | 0.042 | 0.244 | 0.253 | 0.058 | 0.878 |
max | 0.009 | 1.524 | 4.176 | 3.252 | 4.839 | 1.570 | 0.992 |
EW(FAMA5,h=True)
EW(FAMA5,returns=GROSS,h=True)
Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.914 Model: OLS Adj. R-squared: 0.911 Method: Least Squares F-statistic: 258.5 Date: Sun, 25 Jun 2023 Prob (F-statistic): 4.08e-64 Time: 15:39:11 Log-Likelihood: 387.82 No. Observations: 131 AIC: -763.6 Df Residuals: 125 BIC: -746.4 Df Model: 5 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0049 0.001 -4.224 0.000 -0.007 -0.003 Mkt-RF 0.9577 0.042 23.062 0.000 0.876 1.039 SMB -0.1746 0.073 -2.379 0.017 -0.318 -0.031 HML 0.0243 0.063 0.388 0.698 -0.099 0.147 RMW -0.0441 0.108 -0.407 0.684 -0.257 0.168 CMA -0.2896 0.167 -1.738 0.082 -0.616 0.037 ============================================================================== Omnibus: 97.964 Durbin-Watson: 2.200 Prob(Omnibus): 0.000 Jarque-Bera (JB): 590.137 Skew: -2.764 Prob(JB): 7.14e-129 Kurtosis: 11.806 Cond. No. 141. ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction Equaly weighted OLS Regression Results ============================================================================== Dep. Variable: EW-RF R-squared: 0.914 Model: OLS Adj. R-squared: 0.911 Method: Least Squares F-statistic: 257.6 Date: Sun, 25 Jun 2023 Prob (F-statistic): 4.94e-64 Time: 15:39:11 Log-Likelihood: 387.72 No. Observations: 131 AIC: -763.4 Df Residuals: 125 BIC: -746.2 Df Model: 5 Covariance Type: HAC ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0039 0.001 -3.415 0.001 -0.006 -0.002 Mkt-RF 0.9578 0.042 23.051 0.000 0.876 1.039 SMB -0.1745 0.073 -2.375 0.018 -0.318 -0.030 HML 0.0241 0.063 0.384 0.701 -0.099 0.147 RMW -0.0449 0.109 -0.413 0.680 -0.258 0.168 CMA -0.2896 0.167 -1.735 0.083 -0.617 0.037 ============================================================================== Omnibus: 97.938 Durbin-Watson: 2.197 Prob(Omnibus): 0.000 Jarque-Bera (JB): 589.302 Skew: -2.764 Prob(JB): 1.08e-128 Kurtosis: 11.798 Cond. No. 141. ============================================================================== Notes: [1] Standard Errors are heteroscedasticity and autocorrelation robust (HAC) using 1 lags and without small sample correction
<statsmodels.regression.linear_model.RegressionResultsWrapper at 0x7fa6115fd2b0>