#PROJECT-4: Mutual Fund(Indian) Performance based on Five Key Indicators

knitr::opts_chunk$set(root.dir = "C:/Users/rsman/Documents/PERS FOLDERS/RAJDEEP/INVESTMENTS/ANALYSIS/DATA")
library(lubridate)
library(stringr)
library(pander)
library(data.table)
library(xlsx)
library(dplyr)
library(scales)
library(ggplot2)
library(Quandl)
library(tabulizer)
library(knitr)
library(kableExtra)
library(formattable)
library(DT)
library(rio)
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(root.dir = "C:/Users/rsman/Documents/PERS FOLDERS/RAJDEEP/INVESTMENTS/ANALYSIS/DATA")
getwd()

[1] “C:/Users/rsman/Documents/PERS FOLDERS/RAJDEEP/INVESTMENTS/ANALYSIS/DATA”

###Functions
colFmt1 = function(x,color){
  outputFormat = knitr::opts_knit$get("rmarkdown.pandoc.to")
  if(outputFormat == 'latex')
    paste("\\textcolor{",color,"}{",x,"}",sep="")
  else if(outputFormat == 'html')
    paste("<font color='",color,"'>",x,"</font>",sep="")
  else
    x
}

colFmt = function(x,color){
  outputFormat = knitr::opts_knit$get("rmarkdown.pandoc.to")
  if(outputFormat == 'html')
    paste("<font color='",color,"'>",x,"</font>",sep="")
  else
    x
}

makeCharac <- function(rx.vr){
  new.vr <- as.character(rx.vr)
  return(new.vr)
}

makeNumeric <- function(rx.vr){
  new.vr <- as.numeric(rx.vr)
  return(new.vr)
}


###End Functions

CWD <- "C:/Users/rsman/Documents/PERS FOLDERS/RAJDEEP/INVESTMENTS/ANALYSIS/DATA/"
setwd("C:/Users/rsman/Documents/PERS FOLDERS/RAJDEEP/INVESTMENTS/ANALYSIS/DATA")
CWD <- getwd()
knitr::opts_chunk$set(echo = TRUE)
pandoc.header(colFmt("Section-1: MF Performance using Valuresearchonline Data", 'red'), 1, 'setext')

Section-1: MF Performance using Valuresearchonline Data

data.org <- function(rx.df){
  rx.df <- rx.df[-1:-5,]
  for (ctr in 1: ncol(rx.df)) {
    rx.df[,ctr]<- makeCharac(rx.df[,ctr])
    }
  
  colnames(rx.df) <- rx.df[1,]
  rx.df <- rx.df[-1,]
  return(rx.df)
  
}

vr.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_snapshot.csv"), header = FALSE))
vr_x.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_snapshot_1.csv"), header = FALSE))
vr_y.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_snapshot_2.csv"), header = FALSE))
vr.df <- rbind(vr.df, vr_x.df, vr_y.df)
vr.df <- data.org(vr.df)

vr2.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_returns.csv"), header = FALSE))
vr2.df <- data.org(vr2.df)
vr2_lt.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_returns_lt.csv"), header = FALSE))
vr2_lt.df <- data.org(vr2_lt.df)
vr2.df <- merge(vr2.df, vr2_lt.df, by.x = "Fund Name", by.y = "Fund Name")

vr2_x.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_returns_1.csv"), header = FALSE))
vr2_x.df <- data.org(vr2_x.df)
vr2_x_lt.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_returns_1_lt.csv"), header = FALSE))
vr2_x_lt.df <- data.org(vr2_x_lt.df)
vr2_x.df <- merge(vr2_x.df, vr2_x_lt.df, by.x = "Fund Name", by.y = "Fund Name")


vr2_y.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_returns_2.csv"), header = FALSE))
vr2_y.df <- data.org(vr2_y.df)
vr2_y_lt.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_returns_2_lt.csv"), header = FALSE))
vr2_y_lt.df <- data.org(vr2_y_lt.df)
vr2_y.df <- merge(vr2_y.df, vr2_y_lt.df, by.x = "Fund Name", by.y = "Fund Name")

vr2.df <- rbind(vr2.df, vr2_x.df, vr2_y.df)

vr3.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_risk.csv"), header = FALSE))
vr3_x.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_risk_1.csv"), header = FALSE))
vr3_y.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_risk_2.csv"), header = FALSE))
vr3.df <- rbind(vr3.df, vr3_x.df, vr3_y.df)
vr3.df <- data.org(vr3.df)

vr4.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_portfolio.csv"), header = FALSE))
vr4_x.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_portfolio_1.csv"), header = FALSE))
vr4_y.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_portfolio_2.csv"), header = FALSE))
vr4.df <- rbind(vr4.df, vr4_x.df, vr4_y.df)
vr4.df <- data.org(vr4.df)

vr5.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_nav.csv"), header = FALSE))
vr5_x.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_nav_1.csv"), header = FALSE))
vr5_y.df <- as.data.frame(read.csv(paste0(CWD,"/PERFORMANCE/vr_nav_2.csv"), header = FALSE))
vr5.df <- rbind(vr5.df, vr5_x.df, vr5_y.df)

analysis.df <- as.data.frame(read.xlsx(paste0(CWD,"/PERFORMANCE/ratio_analysis.xlsx"), sheetIndex = 1, header = TRUE))





vr.df <- merge(vr.df, vr2.df, by.x = "Fund Name", by.y = "Fund Name")
vr.df <- merge(vr.df, vr3.df, by.x = "Fund Name", by.y = "Fund Name")
vr.df <- merge(vr.df, vr4.df, by.x = "Fund Name", by.y = "Fund Name")

rm(vr2.df)
rm(vr3.df)
rm(vr4.df)

r_sq.vr <- as.numeric(as.character(analysis.df[analysis.df$type=="r_sq",2]))
beta.vr <- as.numeric(as.character(analysis.df[analysis.df$type=="beta",2]))
alpha.vr <- as.numeric(as.character(analysis.df[analysis.df$type=="alpha",2]))
sharpe_ratio.vr <- as.numeric(as.character(analysis.df[analysis.df$type=="sharpe_ratio",2]))
expense_ratio.vr <- as.numeric(as.character(analysis.df[analysis.df$type=="expense_ratio",2]))*100
max.values <- c(r_sq.vr, beta.vr, alpha.vr, sharpe_ratio.vr, expense_ratio.vr)

r_sq.min <- as.numeric(as.character(analysis.df[analysis.df$type=="r_sq",3]))
beta.min <- as.numeric(as.character(analysis.df[analysis.df$type=="beta",3]))
alpha.min <- as.numeric(as.character(analysis.df[analysis.df$type=="alpha",3]))
sharpe_ratio.min <- as.numeric(as.character(analysis.df[analysis.df$type=="sharpe_ratio",3]))
expense_ratio.min <- as.numeric(as.character(analysis.df[analysis.df$type=="expense_ratio",3]))*100
min.values <- c(r_sq.min, beta.min, alpha.min, sharpe_ratio.min, expense_ratio.min)

########

aa.mf <- vr.df

aa.mf$`R-Squared` <- makeNumeric(aa.mf$`R-Squared`)
aa.mf$Beta <- makeNumeric(aa.mf$Beta)
aa.mf$Alpha <- makeNumeric(aa.mf$Alpha)
aa.mf$`Sharpe Ratio` <- makeNumeric(aa.mf$`Sharpe Ratio`)
aa.mf$`Expense Ratio (%)` <- makeNumeric(aa.mf$`Expense Ratio (%)`)
aa.mf$`1 Yr Ret (%).x` <- makeNumeric(aa.mf$`1 Yr Ret (%).x`)
aa.mf$`3 Yr Ret (%)` <- makeNumeric(aa.mf$`3 Yr Ret (%)`)
aa.mf$`5 Yr Ret (%)` <- makeNumeric(aa.mf$`5 Yr Ret (%)`)
aa.mf$`10 Yr Ret (%)` <- makeNumeric(aa.mf$`10 Yr Ret (%)`)
aa.mf$`Net Assests (Cr).x`<- makeNumeric(aa.mf$`Net Assests (Cr).x`)

#Remove all NA from aa.mf
if (nrow(aa.mf[is.na(aa.mf$`Expense Ratio (%)`),])>0) {
  aa.mf <- aa.mf[-which(is.na(aa.mf$`Expense Ratio (%)`)),]
}

if (nrow(aa.mf[is.na(aa.mf$`R-Squared`),])>0) {
  aa.mf <- aa.mf[-which(is.na(aa.mf$`R-Squared`)),]
}

if (nrow(aa.mf[is.na(aa.mf$`Sharpe Ratio`),])>0) {
  aa.mf <- aa.mf[-which(is.na(aa.mf$`Sharpe Ratio`)),]
}

if (nrow(aa.mf[is.na(aa.mf$Alpha),])>0) {
  aa.mf <- aa.mf[-which(is.na(aa.mf$Alpha)),]
}

if (nrow(aa.mf[is.na(aa.mf$Beta),])>0) {
  aa.mf <- aa.mf[-which(is.na(aa.mf$Beta)),]
}

vr.df.new <- aa.mf
vr.df.new$Launch <- gsub(",","",vr.df.new$Launch)
vr.df.new$Launch <- gsub(" ","/",vr.df.new$Launch)
#vr.df.new$Launch <- as.Date(vr.df.new$Launch, "%m/%d/%Y")
vr.df.new$Launch <- mdy(vr.df.new$Launch)


#aa.mf <- vr.df
aa.mf$rank1 <- as.numeric(substr(aa.mf$`1 Yr Rank.x`,1,unlist(str_locate(aa.mf$`1 Yr Rank.x`,"/"))[,1]-1))
aa.mf <- aa.mf[-which(is.na(aa.mf$rank1)),]
selected.mf <- aa.mf[aa.mf$rank1 <=10,]
selected.mf <- aa.mf

r_sq.avg <- mean(selected.mf$`R-Squared`)
beta.avg <- mean(selected.mf$Beta)
alpha.avg <- mean(selected.mf$Alpha)
sharpe_ratio.avg <- mean(selected.mf$`Sharpe Ratio`)
expense_ratio.avg <- mean(selected.mf$`Expense Ratio (%)`)
avg.values <- c(r_sq.avg, beta.avg, alpha.avg, sharpe_ratio.avg, expense_ratio.avg)
tmp.df <- data.frame(matrix(ncol =1, nrow =0))
tmp.df <- rbind(tmp.df, r_sq.avg, beta.avg, alpha.avg, sharpe_ratio.avg, expense_ratio.avg)
colnames(tmp.df) <- c("avg")
analysis.df <- cbind(analysis.df, tmp.df)

##### old loc


mf.filter <- function(mf.rx, values.rx ){
  
  rsq.rx<- values.rx[1]
  beta.rx <- values.rx[2] 
  alpha.rx <- values.rx[3]
  shrpe.rx <- values.rx[4]
  exp.rx <- values.rx[5]
  
  mf.rx <- mf.rx[mf.rx$`R-Squared`>=rsq.rx,]
  mf.rx <- mf.rx[mf.rx$Beta >= beta.rx,]
  mf.rx <- mf.rx[mf.rx$Alpha>= alpha.rx,]
  mf.rx <- mf.rx[mf.rx$`Sharpe Ratio`>= shrpe.rx,]
  mf.rx <- mf.rx[mf.rx$`Expense Ratio (%)`<= exp.rx,]
  
  return(mf.rx)
  
}

pandoc.header(colFmt("1A: MF's filtered on optimal values of R-Sq, Alpha, Beta, Sharpe Ratio & Exp-Ratio", 'blue'), 1, 'setext')

1A: MF’s filtered on optimal values of R-Sq, Alpha, Beta, Sharpe Ratio & Exp-Ratio

#knitr::kable(analysis.df, caption = colFmt("Filter Values", "blue"))

##$$$$$
paste(colFmt( "Rations/Values used to Compare Mutual Funds (Average Value is based on Present Market Status", "blue"))

[1] “Rations/Values used to Compare Mutual Funds (Average Value is based on Present Market Status

analysis.df[1:5, 1:4] %>%
  mutate(
    Ser.No = row.names(.),
    Factor = (type),
    Max.Value = (value),
    Min.Value = (min),
    Average.Value =(avg)
  ) %>%
  select(Ser.No,Factor, Max.Value, Min.Value, Average.Value) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = F) %>%
  column_spec(5, width = "3cm")
Ser.No Factor Max.Value Min.Value Average.Value
1 r_sq 0.750 0.600 0.6567132
2 beta 1.100 1.000 0.7907319
3 alpha 2.000 1.400 -0.5170326
4 sharpe_ratio 1.500 0.750 0.4065336
5 expense_ratio 0.015 0.025 1.2116833
##$$$$$


##Filter with max values
top.mf<- mf.filter(aa.mf, max.values)
rownames(top.mf) <- NULL
row.ctr <- nrow(top.mf)
paste(colFmt( "Mutual Funds Meeting the Maximum Criteria", "blue"))

[1] “Mutual Funds Meeting the Maximum Criteria

top.mf[1:row.ctr,c(1,37,35,36,33,6,7,22)] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = (`Fund Name`),
    R_Sq = (`R-Squared`),
    Beta = (Beta),
    Alpha = (Alpha),
    Sharpe_Ratio = (`Sharpe Ratio`),
    Exp_Ratio = (`Expense Ratio (%)`),
    Return_1Yr =(`1 Yr Ret (%).x`),
    Return_5Yr =(`5 Yr Ret (%)`),
    
  ) %>%
  select(Ser.No,Fund, R_Sq, Beta, Alpha, Sharpe_Ratio, Exp_Ratio, Return_1Yr, Return_5Yr) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = F)
Ser.No Fund R_Sq Beta Alpha Sharpe_Ratio Exp_Ratio Return_1Yr Return_5Yr
NA NA NA NA NA NA NA NA NA
##filter with min values
top.mf<- mf.filter(aa.mf, min.values)
rownames(top.mf) <- NULL
row.ctr <- nrow(top.mf)
paste(colFmt( "Mutual Funds Meeting the Minimum Criteria", "blue"))

[1] “Mutual Funds Meeting the Minimum Criteria

top.mf[1:row.ctr,c(1,37,35,36,33,6,7,22)] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = (`Fund Name`),
    R_Sq = (`R-Squared`),
    Beta = (Beta),
    Alpha = (Alpha),
    Sharpe_Ratio = (`Sharpe Ratio`),
    Exp_Ratio = (`Expense Ratio (%)`),
    Return_1Yr =(`1 Yr Ret (%).x`),
    Return_5Yr =(`5 Yr Ret (%)`),
    
  ) %>%
  select(Ser.No,Fund, R_Sq, Beta, Alpha, Sharpe_Ratio, Exp_Ratio, Return_1Yr, Return_5Yr) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T)
Ser.No Fund R_Sq Beta Alpha Sharpe_Ratio Exp_Ratio Return_1Yr Return_5Yr
1 Axis Dynamic Bond Fund - Direct Plan 0.66 1.28 1.92 1.23 0.22 14.58 10.39
2 ICICI Prudential All Seasons Bond Fund - Direct Plan 0.67 1.07 1.48 1.18 0.77 12.96 10.64
3 ICICI Prudential Bond Fund - Direct Plan 0.60 1.13 1.42 1.07 0.61 13.83 9.54
4 Kotak Dynamic Bond Fund - Direct Plan 0.64 1.09 2.51 1.52 0.45 12.21 10.72
5 Kotak Dynamic Bond Fund - Regular Plan 0.63 1.09 1.90 1.30 1.08 11.48 10.04
6 L&T Triple Ace Bond Fund 0.69 1.60 1.70 1.06 0.62 13.74 8.97
7 L&T Triple Ace Bond Fund - Direct Plan 0.69 1.61 1.99 1.13 0.30 14.11 9.62
8 Mirae Asset Dynamic Bond Fund - Direct Plan 0.65 1.23 1.99 1.26 0.46 12.80 NA
9 SBI Magnum Income Fund - Direct Plan 0.61 1.13 1.72 1.19 0.86 13.90 10.15
##filter wiht average values
top.mf<- mf.filter(aa.mf, avg.values)
rownames(top.mf) <- NULL
paste(colFmt( "Mutual Funds Meeting the Average Criteria", "blue"))

[1] “Mutual Funds Meeting the Average Criteria

row.ctr <- nrow(top.mf)
top.mf[1:row.ctr,c(1,37,35,36,33,6,7,22)] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = (`Fund Name`),
    R_Sq = (`R-Squared`),
    Beta = (Beta),
    Alpha = (Alpha),
    Sharpe_Ratio = (`Sharpe Ratio`),
    Exp_Ratio = (`Expense Ratio (%)`),
    Return_1Yr =(`1 Yr Ret (%).x`),
    Return_5Yr =(`5 Yr Ret (%)`),
    
  ) %>%
  select(Ser.No,Fund, R_Sq, Beta, Alpha, Sharpe_Ratio, Exp_Ratio, Return_1Yr, Return_5Yr) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T)
Ser.No Fund R_Sq Beta Alpha Sharpe_Ratio Exp_Ratio Return_1Yr Return_5Yr
1 Aditya Birla Sun Life Income Fund 0.81 1.65 -0.38 0.55 0.72 11.90 8.74
2 Aditya Birla Sun Life Income Fund - Direct Plan 0.81 1.65 0.33 0.75 0.25 12.62 9.59
3 Axis Dynamic Bond Fund 0.66 1.28 1.15 0.97 0.65 13.95 9.45
4 Axis Dynamic Bond Fund - Direct Plan 0.66 1.28 1.92 1.23 0.22 14.58 10.39
5 BNP Paribas Flexi Debt Fund - Direct Plan 0.80 1.18 0.19 0.73 0.65 10.46 9.00
6 Canara Robeco Dynamic Bond Fund - Direct Plan 0.82 1.45 -0.30 0.57 0.88 10.23 9.09
7 Canara Robeco Income Fund - Direct Plan 0.78 1.35 1.04 1.00 0.80 11.92 9.47
8 Edelweiss Dynamic Bond Fund - Direct Plan 0.74 1.41 0.93 0.92 0.24 8.33 8.68
9 Edelweiss Dynamic Bond Fund - Regular Plan 0.74 1.40 0.28 0.72 0.99 7.48 7.88
10 HSBC Flexi Debt Fund - Direct Plan 0.85 1.53 -0.18 0.62 0.96 10.39 8.52
11 ICICI Prudential All Seasons Bond Fund - Direct Plan 0.67 1.07 1.48 1.18 0.77 12.96 10.64
12 ICICI Prudential Constant Maturity Gilt Fund 0.86 0.84 1.62 1.12 0.33 13.82 11.06
13 ICICI Prudential Constant Maturity Gilt Fund - Direct Plan 0.86 0.84 1.83 1.17 0.17 14.03 11.32
14 IDFC Dynamic Bond Fund - Direct Plan 0.82 1.73 1.36 1.03 0.98 14.44 10.50
15 IDFC Government Securities Fund - Investment Plan - Direct Plan 0.89 0.83 1.44 1.11 0.54 15.04 11.12
16 IDFC Government Securities Fund - Investment Plan - Regular Plan 0.89 0.82 0.85 0.96 1.16 14.37 10.45
17 Kotak Bond Fund - Direct Plan 0.79 1.57 0.38 0.76 0.80 12.79 9.35
18 Kotak Gilt Investment - Direct Plan 0.85 0.82 0.18 0.78 0.45 12.71 10.51
19 Kotak Gilt Investment Provident Fund and Trust Plan - Direct Plan 0.85 0.83 0.19 0.79 0.40 12.71 10.57
20 L&T Flexi Bond Fund - Direct Plan 0.83 1.34 1.21 1.09 0.96 12.19 9.87
21 L&T Triple Ace Bond Fund 0.69 1.60 1.70 1.06 0.62 13.74 8.97
22 L&T Triple Ace Bond Fund - Direct Plan 0.69 1.61 1.99 1.13 0.30 14.11 9.62
23 LIC MF Bond Fund 0.85 1.41 -0.38 0.55 1.08 10.50 7.80
24 LIC MF Bond Fund - Direct Plan 0.85 1.43 0.20 0.75 0.18 11.24 8.41
25 Nippon India Dynamic Bond Fund - Direct Plan 0.79 1.60 -0.26 0.58 0.25 10.62 9.09
26 Nippon India Income Fund - Direct Plan 0.85 1.77 0.91 0.92 1.02 12.48 10.02
27 PGIM India Dynamic Bond Fund - Direct Plan 0.83 1.39 1.07 1.03 0.82 10.55 10.10
28 Quantum Dynamic Bond Fund - Direct Plan 0.74 1.18 0.21 0.71 0.56 10.21 9.33
29 Quantum Dynamic Bond Fund - Regular Plan 0.74 1.18 0.10 0.67 0.68 10.07 9.21
30 SBI Dynamic Bond Fund - Direct Plan 0.78 1.46 1.31 1.06 1.04 12.82 10.51
31 Tata Digital India Fund - Direct Plan 0.91 0.98 -0.17 0.62 1.13 4.09 NA
32 Union Dynamic Bond Fund - Direct Plan 0.85 1.44 -0.01 0.67 1.10 11.65 8.27
aa.mf$plus_ctr <- 0 
aa.mf$plus_factors <- ""


filter_ctr <- function(a1.mf, values.rx ){
  
  a1.mf$plus_ctr <- 0 
  a1.mf$plus_factors <- ""
  
  rsq.vx<- values.rx[1]
  beta.vx <- values.rx[2] 
  alpha.vx <- values.rx[3]
  sharpe_ratio.vx <- values.rx[4]
  expense_ratio.vx <- values.rx[5]
  
  a1.mf[a1.mf$`R-Squared` >= rsq.vx,]$plus_ctr <- 1
  a1.mf[a1.mf$`R-Squared` >= rsq.vx,]$plus_factors <- "R_Sq"
  
  a1.mf[a1.mf$Beta >= beta.vx,]$plus_ctr <- a1.mf[a1.mf$Beta >= beta.vx,]$plus_ctr +1
  a1.mf[a1.mf$Beta >= beta.vx,]$plus_factors <- paste0(a1.mf[a1.mf$Beta >= beta.vx,]$plus_factors,"-Beta")
  
  a1.mf[a1.mf$Alpha >= alpha.vx,]$plus_ctr <- a1.mf[a1.mf$Alpha >= alpha.vx,]$plus_ctr +1
  a1.mf[a1.mf$Alpha >= alpha.vx,]$plus_factors <- paste0(a1.mf[a1.mf$Alpha >= alpha.vx,]$plus_factors,"-Alpha")
  
  a1.mf[a1.mf$`Sharpe Ratio` >= sharpe_ratio.vx,]$plus_ctr <- a1.mf[a1.mf$`Sharpe Ratio` >= sharpe_ratio.vx,]$plus_ctr +1
  a1.mf[a1.mf$`Sharpe Ratio` >= sharpe_ratio.vx,]$plus_factors <- 
    paste0(a1.mf[a1.mf$`Sharpe Ratio` >= sharpe_ratio.vx,]$plus_ctr,"-Sharpe_Ratio")
  
  a1.mf[a1.mf$`Expense Ratio (%)` <= expense_ratio.vx,]$plus_ctr <- a1.mf[a1.mf$`Expense Ratio (%)` <= expense_ratio.vx,]$plus_ctr +1
  a1.mf[a1.mf$`Expense Ratio (%)` <= expense_ratio.vx,]$plus_factors <- 
    paste0(a1.mf[a1.mf$`Expense Ratio (%)` <= expense_ratio.vx,]$plus_factors, "-Exp_Ratio")
  
  a1.mf <- a1.mf[order(a1.mf$`5 Yr Ret (%)`, decreasing = TRUE),]
  
  return(a1.mf)

  
}

pandoc.header(colFmt("1B: MF's filtered on Four out of Five Criteria", 'blue'), 1, 'setext')

1B: MF’s filtered on Four out of Five Criteria

top.mf <- filter_ctr(aa.mf, max.values)
top.mf <- top.mf[top.mf$plus_ctr >= 4,]
rownames(top.mf) <- NULL
value.string <- paste0("R-Sq:",analysis.df$value[1],", Beta:-",
                       analysis.df$value[2],", Alpha:-",
                       analysis.df$value[3],", Sharpe Ratio:-",
                       analysis.df$value[4],", Expense Ratio:-",
                       analysis.df$value[5])

value.string <- paste("MF's Meeting Max Values of Four our of Five Criteria ",  value.string)
row.ctr <- nrow(top.mf)
paste(colFmt(value.string, "blue"))

[1] “MF’s Meeting Max Values of Four our of Five Criteria R-Sq:0.75, Beta:-1.1, Alpha:-2, Sharpe Ratio:-1.5, Expense Ratio:-0.015

top.mf[1:row.ctr,c(1,37,35,36,33,6,7,22)] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = ('Fund Name'),
    R_Sq = color_tile("white", "orange")(`R-Squared`),
    Beta = color_tile("white", "green")(Beta),
    Alpha = color_tile("white", "blue")(Alpha),
    Sharpe_Ratio = color_tile("white", "purple")(`Sharpe Ratio`),
    Exp_Ratio = (`Expense Ratio (%)`),
    Return_1Yr =color_tile("white", "red")(`1 Yr Ret (%).x`),
    Return_5Yr =color_tile("white", "red")(`5 Yr Ret (%)`),
    
  ) %>%
  select(Ser.No,Fund, R_Sq, Beta, Alpha, Sharpe_Ratio, Exp_Ratio, Return_1Yr, Return_5Yr) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T) %>%
  scroll_box(width = "100%", height = "300px")
Ser.No Fund R_Sq Beta Alpha Sharpe_Ratio Exp_Ratio Return_1Yr Return_5Yr
1 Fund Name 0.87 0.76 3.82 1.72 0.47 13.83 11.67
2 Fund Name 0.87 0.76 3.72 1.70 0.60 13.68 11.53
3 Fund Name 0.06 2.55 7.64 1.56 0.20 14.83 9.64
4 Fund Name 0.05 1.61 5.22 1.61 0.35 12.06 9.60
5 Fund Name 0.10 2.40 6.56 1.71 0.23 11.92 9.36
6 Fund Name 0.04 1.50 5.33 1.56 0.29 12.12 9.36
7 Fund Name 0.11 2.62 6.78 1.61 0.31 13.20 9.35
8 Fund Name 0.07 1.54 5.18 1.95 0.31 12.10 9.30
9 Fund Name 0.04 1.19 4.81 2.00 0.28 12.28 9.27
10 Fund Name 0.13 2.67 6.57 1.56 0.29 12.94 9.24
11 Fund Name 0.12 2.37 6.90 2.04 0.26 11.47 9.14
12 Fund Name 0.11 2.32 6.67 1.97 0.31 11.91 9.11
13 Fund Name 0.10 2.40 6.29 1.56 0.17 12.88 9.06
14 Fund Name 0.08 2.10 5.81 1.51 0.28 11.90 9.06
15 Fund Name 0.12 2.96 7.70 1.67 0.30 13.27 9.00
16 Fund Name 0.12 2.12 5.59 1.70 0.34 11.91 9.00
17 Fund Name 0.04 1.46 4.95 1.55 0.21 12.64 8.99
18 Fund Name 0.10 2.40 6.19 1.53 0.58 11.56 8.92
19 Fund Name 0.12 2.51 6.88 1.87 0.77 11.47 8.91
20 Fund Name 0.07 1.75 5.39 1.75 0.28 12.02 8.90
21 Fund Name 0.11 2.32 6.41 1.83 0.62 11.57 8.86
22 Fund Name 0.15 2.22 5.92 1.98 0.25 11.99 8.84
23 Fund Name 0.10 2.04 5.41 1.56 0.29 11.66 8.83
24 Fund Name 0.06 1.63 4.96 1.53 0.40 12.25 8.82
25 Fund Name 0.06 1.31 5.07 2.22 0.28 10.85 8.81
26 Fund Name 0.05 1.19 4.08 1.70 0.37 11.02 8.80
27 Fund Name 0.12 2.96 7.42 1.56 0.65 12.88 8.76
28 Fund Name 0.03 1.12 4.27 1.63 0.21 12.33 8.75
29 Fund Name 0.04 1.20 4.16 1.60 0.95 11.55 8.50
30 Fund Name 0.15 2.21 5.42 1.67 0.75 11.45 8.30
31 Fund Name 0.28 1.18 3.81 3.70 0.13 8.15 8.14
32 Fund Name 0.38 1.16 3.49 3.89 0.11 7.43 8.13
33 Fund Name 0.06 1.31 4.49 1.83 0.83 10.26 8.13
34 Fund Name 0.28 1.19 3.64 3.41 0.28 7.99 7.86
35 Fund Name 0.39 1.18 3.08 3.07 0.66 6.94 7.61
36 Fund Name 0.19 1.23 3.47 2.48 0.22 7.77 7.27
37 Fund Name 0.16 1.22 2.88 1.59 0.29 7.20 7.27
38 Fund Name 0.20 1.23 3.23 2.18 0.43 7.53 7.00
39 Fund Name 0.94 1.10 4.74 -0.36 1.44 -20.80 0.28
top.mf <- filter_ctr(aa.mf, min.values)
top.mf <- top.mf[top.mf$plus_ctr >= 4,]
rownames(top.mf) <- NULL
value.string <- paste0("R-Sq:",analysis.df$min[1],", Beta:-",
                       analysis.df$min[2],", Alpha:-",
                       analysis.df$min[3],", Sharpe Ratio:-",
                       analysis.df$min[4],", Expense Ratio:-",
                       analysis.df$min[5])
value.string <- paste("MF's Meeting Min Values of Four our of Five Criteria ",  value.string)
row.ctr <- nrow(top.mf)
paste(colFmt(value.string, "blue"))

[1] “MF’s Meeting Min Values of Four our of Five Criteria R-Sq:0.6, Beta:-1, Alpha:-1.4, Sharpe Ratio:-0.75, Expense Ratio:-0.025

top.mf[1:row.ctr,c(1,37,35,36,33,6,7,22)] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = ('Fund Name'),
    R_Sq = color_tile("white", "orange")(`R-Squared`),
    Beta = color_tile("white", "green")(Beta),
    Alpha = color_tile("white", "blue")(Alpha),
    Sharpe_Ratio = color_tile("white", "purple")(`Sharpe Ratio`),
    Exp_Ratio = (`Expense Ratio (%)`),
    Return_1Yr =color_tile("white", "red")(`1 Yr Ret (%).x`),
    Return_5Yr =color_tile("white", "red")(`5 Yr Ret (%)`),
    
  ) %>%
  select(Ser.No,Fund, R_Sq, Beta, Alpha, Sharpe_Ratio, Exp_Ratio, Return_1Yr, Return_5Yr) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T) %>%
  scroll_box(width = "100%", height = "300px")
Ser.No Fund R_Sq Beta Alpha Sharpe_Ratio Exp_Ratio Return_1Yr Return_5Yr
1 Fund Name 0.95 1.02 2.55 0.11 0.86 3.58 13.06
2 Fund Name 0.95 1.01 1.67 0.07 1.87 2.56 12.09
3 Fund Name 0.92 0.77 1.63 1.20 0.62 13.39 11.81
4 Fund Name 0.87 0.76 3.82 1.72 0.47 13.83 11.67
5 Fund Name 0.87 0.76 3.72 1.70 0.60 13.68 11.53
6 Fund Name 0.86 0.84 1.83 1.17 0.17 14.03 11.32
7 Fund Name 0.74 0.61 2.97 1.57 0.34 12.02 11.21
8 Fund Name 0.89 0.83 1.44 1.11 0.54 15.04 11.12
9 Fund Name 0.86 0.84 1.62 1.12 0.33 13.82 11.06
10 Fund Name 0.15 6.20 11.27 0.81 1.58 11.42 10.85
11 Fund Name 0.74 0.61 2.64 1.47 0.64 11.68 10.83
12 Fund Name 0.64 1.09 2.51 1.52 0.45 12.21 10.72
13 Fund Name 0.67 1.07 1.48 1.18 0.77 12.96 10.64
14 Fund Name 0.78 1.46 1.31 1.06 1.04 12.82 10.51
15 Fund Name 0.82 1.73 1.36 1.03 0.98 14.44 10.50
16 Fund Name 0.66 1.28 1.92 1.23 0.22 14.58 10.39
17 Fund Name 0.88 1.04 6.13 0.21 0.90 4.14 10.33
18 Fund Name 0.61 1.13 1.72 1.19 0.86 13.90 10.15
19 Fund Name 0.83 1.39 1.07 1.03 0.82 10.55 10.10
20 Fund Name 0.63 1.09 1.90 1.30 1.08 11.48 10.04
21 Fund Name 0.85 1.77 0.91 0.92 1.02 12.48 10.02
22 Fund Name 0.84 1.76 0.69 0.86 1.34 12.81 9.97
23 Fund Name 0.67 1.07 0.78 0.91 1.34 12.23 9.88
24 Fund Name 0.83 1.34 1.21 1.09 0.96 12.19 9.87
25 Fund Name 0.68 0.59 1.99 1.25 0.86 10.76 9.83
26 Fund Name 0.94 1.02 2.87 0.13 0.92 0.61 9.80
27 Fund Name 0.78 1.47 0.57 0.82 1.66 12.14 9.74
28 Fund Name 0.06 2.55 7.64 1.56 0.20 14.83 9.64
29 Fund Name 0.82 1.73 0.62 0.83 1.77 13.56 9.63
30 Fund Name 0.69 1.61 1.99 1.13 0.30 14.11 9.62
31 Fund Name 0.05 1.61 5.22 1.61 0.35 12.06 9.60
32 Fund Name 0.81 1.65 0.33 0.75 0.25 12.62 9.59
33 Fund Name 0.02 1.02 4.42 1.72 0.40 12.45 9.59
34 Fund Name 0.47 1.29 1.47 0.90 0.50 16.20 9.55
35 Fund Name 0.55 1.02 1.64 1.15 0.28 13.30 9.55
36 Fund Name 0.60 1.13 1.42 1.07 0.61 13.83 9.54
37 Fund Name 0.78 1.35 1.04 1.00 0.80 11.92 9.47
38 Fund Name 0.66 1.28 1.15 0.97 0.65 13.95 9.45
39 Fund Name 0.61 1.13 0.95 0.91 1.47 13.21 9.40
40 Fund Name 0.10 2.40 6.56 1.71 0.23 11.92 9.36
41 Fund Name 0.04 1.50 5.33 1.56 0.29 12.12 9.36
42 Fund Name 0.79 1.57 0.38 0.76 0.80 12.79 9.35
43 Fund Name 0.11 2.62 6.78 1.61 0.31 13.20 9.35
44 Fund Name 0.06 2.56 7.38 1.46 0.55 14.43 9.33
45 Fund Name 0.68 0.59 1.51 1.11 1.36 10.26 9.31
46 Fund Name 0.07 1.54 5.18 1.95 0.31 12.10 9.30
47 Fund Name 0.02 1.21 4.64 1.28 0.36 12.22 9.29
48 Fund Name 0.05 1.61 4.92 1.46 0.67 11.71 9.27
49 Fund Name 0.04 1.19 4.81 2.00 0.28 12.28 9.27
50 Fund Name 0.02 1.15 3.82 1.16 0.37 10.74 9.27
51 Fund Name 0.13 2.67 6.57 1.56 0.29 12.94 9.24
52 Fund Name 0.65 0.89 1.95 1.50 0.75 12.35 9.21
53 Fund Name 0.12 2.37 6.90 2.04 0.26 11.47 9.14
54 Fund Name 0.11 2.32 6.67 1.97 0.31 11.91 9.11
55 Fund Name 0.70 1.21 0.42 0.76 1.44 12.96 9.08
56 Fund Name 0.10 2.40 6.29 1.56 0.17 12.88 9.06
57 Fund Name 0.08 2.10 5.81 1.51 0.28 11.90 9.06
58 Fund Name 0.83 1.34 0.41 0.81 1.62 11.43 9.02
59 Fund Name 0.11 2.61 6.40 1.46 0.80 12.68 9.02
60 Fund Name 0.12 2.96 7.70 1.67 0.30 13.27 9.00
61 Fund Name 0.12 2.12 5.59 1.70 0.34 11.91 9.00
62 Fund Name 0.04 1.51 5.00 1.41 0.61 11.77 8.99
63 Fund Name 0.04 1.46 4.95 1.55 0.21 12.64 8.99
64 Fund Name 0.60 1.13 0.86 0.87 1.08 13.25 8.98
65 Fund Name 0.69 1.60 1.70 1.06 0.62 13.74 8.97
66 Fund Name 0.46 1.05 1.80 1.09 0.40 9.09 8.93
67 Fund Name 0.10 2.40 6.19 1.53 0.58 11.56 8.92
68 Fund Name 0.88 1.04 4.62 0.15 2.29 2.64 8.92
69 Fund Name 0.12 2.51 6.88 1.87 0.77 11.47 8.91
70 Fund Name 0.13 2.66 6.26 1.42 0.56 12.62 8.90
71 Fund Name 0.07 1.75 5.39 1.75 0.28 12.02 8.90
72 Fund Name 0.02 1.15 3.42 0.97 0.82 10.24 8.89
73 Fund Name 0.02 1.21 4.19 1.10 0.81 11.72 8.88
74 Fund Name 0.11 2.32 6.41 1.83 0.62 11.57 8.86
75 Fund Name 0.15 2.22 5.92 1.98 0.25 11.99 8.84
76 Fund Name 0.10 2.04 5.41 1.56 0.29 11.66 8.83
77 Fund Name 0.06 1.63 4.96 1.53 0.40 12.25 8.82
78 Fund Name 0.06 1.31 5.07 2.22 0.28 10.85 8.81
79 Fund Name 0.05 1.19 4.08 1.70 0.37 11.02 8.80
80 Fund Name 0.08 1.74 4.80 1.48 0.34 11.57 8.80
81 Fund Name 0.12 2.96 7.42 1.56 0.65 12.88 8.76
82 Fund Name 0.03 1.03 3.62 1.28 1.51 11.61 8.75
83 Fund Name 0.03 1.12 4.27 1.63 0.21 12.33 8.75
84 Fund Name 0.74 1.41 0.93 0.92 0.24 8.33 8.68
85 Fund Name 0.10 2.41 5.89 1.38 0.56 12.44 8.61
86 Fund Name 0.02 1.11 3.93 1.09 0.35 12.27 8.59
87 Fund Name 0.08 2.11 5.30 1.27 0.78 11.37 8.52
88 Fund Name 0.04 1.20 4.16 1.60 0.95 11.55 8.50
89 Fund Name 0.04 1.46 4.53 1.34 0.61 12.19 8.48
90 Fund Name 0.16 1.85 4.07 1.39 0.13 5.72 8.42
91 Fund Name 0.85 1.43 0.20 0.75 0.18 11.24 8.41
92 Fund Name 0.98 1.01 1.40 0.02 0.94 -2.51 8.40
93 Fund Name 0.12 2.13 5.04 1.38 0.84 11.35 8.40
94 Fund Name 0.07 1.53 4.34 1.45 1.13 11.18 8.35
95 Fund Name 0.07 1.76 4.90 1.49 0.80 11.45 8.34
96 Fund Name 0.94 1.02 1.58 0.07 1.86 -0.47 8.30
97 Fund Name 0.15 2.21 5.42 1.67 0.75 11.45 8.30
98 Fund Name 0.03 1.11 3.83 1.38 0.55 11.87 8.27
99 Fund Name 0.07 1.09 3.83 2.20 0.12 9.72 8.20
100 Fund Name 0.97 1.00 2.54 0.12 1.08 -3.83 8.17
101 Fund Name 0.28 1.18 3.81 3.70 0.13 8.15 8.14
102 Fund Name 0.38 1.16 3.49 3.89 0.11 7.43 8.13
103 Fund Name 0.06 1.31 4.49 1.83 0.83 10.26 8.13
104 Fund Name 0.08 1.75 4.10 1.10 1.14 10.68 8.09
105 Fund Name 0.05 1.20 3.36 1.23 1.02 10.26 8.02
106 Fund Name 0.10 2.04 4.67 1.17 0.92 10.90 7.99
107 Fund Name 0.06 1.62 4.11 1.10 1.25 11.30 7.98
108 Fund Name 0.18 2.90 5.95 1.24 0.23 10.16 7.97
109 Fund Name 0.28 1.09 3.43 3.59 0.23 7.55 7.94
110 Fund Name 0.02 1.11 3.29 0.83 0.95 11.38 7.89
111 Fund Name 0.18 2.89 5.84 1.18 0.36 10.02 7.88
112 Fund Name 0.28 1.19 3.64 3.41 0.28 7.99 7.86
113 Fund Name 0.39 1.18 3.08 3.07 0.66 6.94 7.61
114 Fund Name 0.28 1.09 3.10 3.02 0.53 7.22 7.58
115 Fund Name 0.07 1.08 3.07 1.56 1.00 8.80 7.45
116 Fund Name 0.07 1.10 2.76 1.18 0.27 7.91 7.29
117 Fund Name 0.19 1.23 3.47 2.48 0.22 7.77 7.27
118 Fund Name 0.16 1.22 2.88 1.59 0.29 7.20 7.27
119 Fund Name 0.20 1.23 3.23 2.18 0.43 7.53 7.00
120 Fund Name 0.99 1.00 1.70 0.08 0.10 -4.36 6.82
121 Fund Name 0.99 1.00 1.52 0.07 0.30 -4.60 6.64
122 Fund Name 0.92 1.00 7.42 -0.24 1.94 -11.45 3.02
123 Fund Name 0.92 1.00 6.81 -0.26 2.37 -11.94 2.37
124 Fund Name 0.94 1.10 4.74 -0.36 1.44 -20.80 0.28
125 Fund Name 0.89 1.01 4.36 -0.35 1.79 -17.06 NA
126 Fund Name 0.65 1.23 1.99 1.26 0.46 12.80 NA
127 Fund Name 0.64 1.24 0.65 0.80 1.38 11.64 NA
128 Fund Name 0.98 1.00 4.17 0.14 0.45 0.83 NA
129 Fund Name 0.98 1.00 2.75 0.08 1.89 -0.76 NA
130 Fund Name 0.87 1.07 5.29 0.17 0.88 6.01 NA
131 Fund Name 0.87 1.07 4.50 0.14 1.38 5.48 NA
top.mf <- filter_ctr(aa.mf, avg.values)
top.mf <- top.mf[top.mf$plus_ctr >= 4,]
rownames(top.mf) <- NULL
value.string <- paste0("R-Sq:",round(analysis.df$avg[1], digits = 2),", Beta:-",
                       round(analysis.df$avg[2], digits = 2),", Alpha:-",
                       round(analysis.df$avg[3], digits = 2),", Sharpe Ratio:-",
                       round(analysis.df$avg[4], digits = 2),", Expense Ratio:-",
                       round(analysis.df$avg[5], digits = 2))
value.string <- paste("MF's Meeting Average Values of Four our of Five Criteria ",  value.string)
row.ctr <- nrow(top.mf)
paste(colFmt(value.string, "blue"))

[1] “MF’s Meeting Average Values of Four our of Five Criteria R-Sq:0.66, Beta:-0.79, Alpha:–0.52, Sharpe Ratio:-0.41, Expense Ratio:-1.21

top.mf[1:row.ctr,c(1,37,35,36,33,6,7,22)] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = ('Fund Name'),
    R_Sq = color_tile("white", "orange")(`R-Squared`),
    Beta = color_tile("white", "green")(Beta),
    Alpha = color_tile("white", "blue")(Alpha),
    Sharpe_Ratio = color_tile("white", "purple")(`Sharpe Ratio`),
    Exp_Ratio = (`Expense Ratio (%)`),
    Return_1Yr =color_tile("white", "red")(`1 Yr Ret (%).x`),
    Return_5Yr =color_tile("white", "red")(`5 Yr Ret (%)`),
    
  ) %>%
  select(Ser.No,Fund, R_Sq, Beta, Alpha, Sharpe_Ratio, Exp_Ratio, Return_1Yr, Return_5Yr) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T) %>%
  scroll_box(width = "100%", height = "300px")
Ser.No Fund R_Sq Beta Alpha Sharpe_Ratio Exp_Ratio Return_1Yr Return_5Yr
1 Fund Name 0.95 1.02 2.55 0.11 0.86 3.58 13.06
2 Fund Name 0.79 0.90 0.51 0.61 1.67 9.80 12.46
3 Fund Name 0.92 0.77 1.63 1.20 0.62 13.39 11.81
4 Fund Name 0.87 0.76 3.82 1.72 0.47 13.83 11.67
5 Fund Name 0.79 0.90 -0.42 0.56 2.64 8.79 11.54
6 Fund Name 0.87 0.76 3.72 1.70 0.60 13.68 11.53
7 Fund Name 0.82 0.91 6.94 0.28 0.88 11.10 11.45
8 Fund Name 0.86 0.84 1.83 1.17 0.17 14.03 11.32
9 Fund Name 0.74 0.61 2.97 1.57 0.34 12.02 11.21
10 Fund Name 0.89 0.83 1.44 1.11 0.54 15.04 11.12
11 Fund Name 0.86 0.84 1.62 1.12 0.33 13.82 11.06
12 Fund Name 0.83 0.78 0.48 0.85 0.58 12.50 11.02
13 Fund Name 0.74 0.61 2.64 1.47 0.64 11.68 10.83
14 Fund Name 0.86 0.74 0.63 0.91 0.50 13.08 10.82
15 Fund Name 0.90 0.82 11.80 0.10 0.92 2.03 10.82
16 Fund Name 0.74 0.71 0.48 0.81 0.58 14.01 10.78
17 Fund Name 0.91 0.95 1.03 0.00 0.57 2.35 10.77
18 Fund Name 0.64 1.09 2.51 1.52 0.45 12.21 10.72
19 Fund Name 0.93 0.92 5.41 0.10 1.16 -16.13 10.72
20 Fund Name 0.90 0.82 0.25 0.64 1.84 7.49 10.70
21 Fund Name 0.88 0.79 1.24 1.06 0.56 14.31 10.69
22 Fund Name 0.67 1.07 1.48 1.18 0.77 12.96 10.64
23 Fund Name 0.85 0.83 0.19 0.79 0.40 12.71 10.57
24 Fund Name 0.85 0.82 0.18 0.78 0.45 12.71 10.51
25 Fund Name 0.78 1.46 1.31 1.06 1.04 12.82 10.51
26 Fund Name 0.82 1.73 1.36 1.03 0.98 14.44 10.50
27 Fund Name 0.90 0.93 4.69 0.18 0.65 2.87 10.45
28 Fund Name 0.89 0.82 0.85 0.96 1.16 14.37 10.45
29 Fund Name 0.83 0.78 -0.10 0.71 1.18 11.83 10.41
30 Fund Name 0.66 1.28 1.92 1.23 0.22 14.58 10.39
31 Fund Name 0.94 0.92 2.63 0.08 0.90 0.96 10.38
32 Fund Name 0.88 1.04 6.13 0.21 0.90 4.14 10.33
33 Fund Name 0.77 0.71 0.28 0.78 0.65 11.69 10.30
34 Fund Name 0.92 0.81 8.21 0.15 0.70 1.53 10.27
35 Fund Name 0.86 0.74 0.09 0.77 0.95 12.57 10.24
36 Fund Name 0.87 0.72 0.18 0.80 0.57 11.71 10.22
37 Fund Name 0.86 0.87 5.09 0.21 0.85 0.42 10.20
38 Fund Name 0.74 0.72 -0.04 0.68 1.01 13.50 10.17
39 Fund Name 0.61 1.13 1.72 1.19 0.86 13.90 10.15
40 Fund Name 0.83 1.39 1.07 1.03 0.82 10.55 10.10
41 Fund Name 0.87 0.79 0.52 0.88 1.09 13.66 10.04
42 Fund Name 0.63 1.09 1.90 1.30 1.08 11.48 10.04
43 Fund Name 0.85 1.77 0.91 0.92 1.02 12.48 10.02
44 Fund Name 0.77 0.71 0.00 0.70 0.93 11.35 9.99
45 Fund Name 0.84 1.76 0.69 0.86 1.34 12.81 9.97
46 Fund Name 0.83 0.69 0.91 0.98 0.76 12.14 9.95
47 Fund Name 0.87 0.94 -0.75 0.59 0.30 12.91 9.92
48 Fund Name 0.67 1.07 0.78 0.91 1.34 12.23 9.88
49 Fund Name 0.83 1.34 1.21 1.09 0.96 12.19 9.87
50 Fund Name 0.91 0.98 -0.05 -0.01 0.77 0.74 9.83
51 Fund Name 0.68 0.59 1.99 1.25 0.86 10.76 9.83
52 Fund Name 0.94 1.02 2.87 0.13 0.92 0.61 9.80
53 Fund Name 0.78 1.47 0.57 0.82 1.66 12.14 9.74
54 Fund Name 0.87 0.94 -0.99 0.54 0.51 12.66 9.66
55 Fund Name 0.06 2.55 7.64 1.56 0.20 14.83 9.64
56 Fund Name 0.82 1.73 0.62 0.83 1.77 13.56 9.63
57 Fund Name 0.69 1.61 1.99 1.13 0.30 14.11 9.62
58 Fund Name 0.79 0.76 0.17 0.75 0.22 13.21 9.61
59 Fund Name 0.05 1.61 5.22 1.61 0.35 12.06 9.60
60 Fund Name 0.81 1.65 0.33 0.75 0.25 12.62 9.59
61 Fund Name 0.02 1.02 4.42 1.72 0.40 12.45 9.59
62 Fund Name 0.47 1.29 1.47 0.90 0.50 16.20 9.55
63 Fund Name 0.55 1.02 1.64 1.15 0.28 13.30 9.55
64 Fund Name 0.60 1.13 1.42 1.07 0.61 13.83 9.54
65 Fund Name 0.68 1.54 1.19 0.19 0.34 10.70 9.51
66 Fund Name 0.78 1.35 1.04 1.00 0.80 11.92 9.47
67 Fund Name 0.66 1.28 1.15 0.97 0.65 13.95 9.45
68 Fund Name 0.88 0.86 -1.46 0.42 0.24 9.03 9.44
69 Fund Name 0.10 2.40 6.56 1.71 0.23 11.92 9.36
70 Fund Name 0.04 1.50 5.33 1.56 0.29 12.12 9.36
71 Fund Name 0.79 1.57 0.38 0.76 0.80 12.79 9.35
72 Fund Name 0.11 2.62 6.78 1.61 0.31 13.20 9.35
73 Fund Name 0.06 2.56 7.38 1.46 0.55 14.43 9.33
74 Fund Name 0.74 1.18 0.21 0.71 0.56 10.21 9.33
75 Fund Name 0.87 0.88 -1.33 0.45 0.79 9.62 9.33
76 Fund Name 0.07 1.54 5.18 1.95 0.31 12.10 9.30
77 Fund Name 0.02 1.21 4.64 1.28 0.36 12.22 9.29
78 Fund Name 0.02 0.90 4.88 2.10 0.34 12.44 9.28
79 Fund Name 0.05 1.61 4.92 1.46 0.67 11.71 9.27
80 Fund Name 0.04 1.19 4.81 2.00 0.28 12.28 9.27
81 Fund Name 0.02 1.15 3.82 1.16 0.37 10.74 9.27
82 Fund Name 0.13 2.67 6.57 1.56 0.29 12.94 9.24
83 Fund Name 0.65 0.89 1.95 1.50 0.75 12.35 9.21
84 Fund Name 0.74 1.18 0.10 0.67 0.68 10.07 9.21
85 Fund Name 0.93 0.89 -1.02 0.54 0.27 10.33 9.20
86 Fund Name 0.97 0.86 4.24 0.23 1.04 5.77 9.19
87 Fund Name 0.84 1.76 0.01 0.68 1.97 12.12 9.17
88 Fund Name 0.12 2.37 6.90 2.04 0.26 11.47 9.14
89 Fund Name 0.55 1.03 1.24 1.00 0.51 13.06 9.14
90 Fund Name 0.83 0.90 0.38 0.17 1.15 9.03 9.13
91 Fund Name 0.85 1.77 0.13 0.71 1.75 11.65 9.13
92 Fund Name 0.87 0.62 0.43 0.88 0.44 9.24 9.13
93 Fund Name 0.82 0.53 -0.38 0.59 0.49 11.40 9.12
94 Fund Name 0.11 2.32 6.67 1.97 0.31 11.91 9.11
95 Fund Name 0.88 0.93 0.34 0.05 0.87 3.11 9.11
96 Fund Name 0.92 0.75 -0.39 0.66 1.03 10.23 9.09
97 Fund Name 0.82 1.45 -0.30 0.57 0.88 10.23 9.09
98 Fund Name 0.79 1.60 -0.26 0.58 0.25 10.62 9.09
99 Fund Name 0.70 1.21 0.42 0.76 1.44 12.96 9.08
100 Fund Name 0.96 0.85 2.40 -0.01 1.00 3.97 9.07
101 Fund Name 0.84 0.87 0.85 0.24 1.05 8.35 9.07
102 Fund Name 0.79 0.76 -0.32 0.63 0.68 12.70 9.06
103 Fund Name 0.46 1.28 0.98 0.77 1.11 15.46 9.06
104 Fund Name 0.10 2.40 6.29 1.56 0.17 12.88 9.06
105 Fund Name 0.08 2.10 5.81 1.51 0.28 11.90 9.06
106 Fund Name 0.99 0.98 0.85 0.04 0.65 -3.79 9.04
107 Fund Name 0.83 1.34 0.41 0.81 1.62 11.43 9.02
108 Fund Name 0.11 2.61 6.40 1.46 0.80 12.68 9.02
109 Fund Name 0.80 1.18 0.19 0.73 0.65 10.46 9.00
110 Fund Name 0.12 2.96 7.70 1.67 0.30 13.27 9.00
111 Fund Name 0.12 2.12 5.59 1.70 0.34 11.91 9.00
112 Fund Name 0.04 1.51 5.00 1.41 0.61 11.77 8.99
113 Fund Name 0.04 1.46 4.95 1.55 0.21 12.64 8.99
114 Fund Name 0.60 1.13 0.86 0.87 1.08 13.25 8.98
115 Fund Name 0.69 1.60 1.70 1.06 0.62 13.74 8.97
116 Fund Name 0.83 1.39 0.15 0.72 1.78 9.69 8.95
117 Fund Name 0.86 0.58 1.30 0.43 0.73 7.56 8.93
118 Fund Name 0.46 1.05 1.80 1.09 0.40 9.09 8.93
119 Fund Name 0.10 2.40 6.19 1.53 0.58 11.56 8.92
120 Fund Name 0.12 2.51 6.88 1.87 0.77 11.47 8.91
121 Fund Name 0.13 2.66 6.26 1.42 0.56 12.62 8.90
122 Fund Name 0.07 1.75 5.39 1.75 0.28 12.02 8.90
123 Fund Name 0.02 1.15 3.42 0.97 0.82 10.24 8.89
124 Fund Name 0.02 1.21 4.19 1.10 0.81 11.72 8.88
125 Fund Name 0.11 2.32 6.41 1.83 0.62 11.57 8.86
126 Fund Name 0.15 2.22 5.92 1.98 0.25 11.99 8.84
127 Fund Name 0.10 2.04 5.41 1.56 0.29 11.66 8.83
128 Fund Name 0.06 1.63 4.96 1.53 0.40 12.25 8.82
129 Fund Name 0.06 1.31 5.07 2.22 0.28 10.85 8.81
130 Fund Name 0.60 0.95 0.17 0.64 0.16 10.98 8.81
131 Fund Name 0.05 1.19 4.08 1.70 0.37 11.02 8.80
132 Fund Name 0.08 1.74 4.80 1.48 0.34 11.57 8.80
133 Fund Name 0.39 0.86 0.52 0.65 0.20 12.36 8.78
134 Fund Name 0.12 2.96 7.42 1.56 0.65 12.88 8.76
135 Fund Name 0.68 1.54 0.40 0.13 0.75 10.26 8.76
136 Fund Name 0.89 0.95 -0.25 -0.02 1.00 -1.31 8.75
137 Fund Name 0.03 1.12 4.27 1.63 0.21 12.33 8.75
138 Fund Name 0.81 1.65 -0.38 0.55 0.72 11.90 8.74
139 Fund Name 0.90 0.85 4.13 0.17 0.93 0.49 8.73
140 Fund Name 0.98 0.95 1.16 0.01 0.72 -4.91 8.73
141 Fund Name 0.87 0.62 -0.06 0.73 0.72 8.73 8.71
142 Fund Name 0.02 0.90 4.38 1.82 0.81 11.91 8.71
143 Fund Name 0.74 1.41 0.93 0.92 0.24 8.33 8.68
144 Fund Name 0.10 2.41 5.89 1.38 0.56 12.44 8.61
145 Fund Name 0.02 1.11 3.93 1.09 0.35 12.27 8.59
146 Fund Name 0.85 1.53 -0.18 0.62 0.96 10.39 8.52
147 Fund Name 0.08 2.11 5.30 1.27 0.78 11.37 8.52
148 Fund Name 0.78 1.34 0.07 0.68 1.88 10.72 8.51
149 Fund Name 0.04 1.20 4.16 1.60 0.95 11.55 8.50
150 Fund Name 0.04 1.46 4.53 1.34 0.61 12.19 8.48
151 Fund Name 0.96 0.96 0.63 0.02 0.90 1.12 8.43
152 Fund Name 0.16 1.85 4.07 1.39 0.13 5.72 8.42
153 Fund Name 0.96 0.99 0.43 -0.03 0.77 -7.44 8.42
154 Fund Name 0.90 1.68 -0.30 0.61 1.23 10.38 8.41
155 Fund Name 0.85 1.43 0.20 0.75 0.18 11.24 8.41
156 Fund Name 0.98 1.01 1.40 0.02 0.94 -2.51 8.40
157 Fund Name 0.12 2.13 5.04 1.38 0.84 11.35 8.40
158 Fund Name 0.07 0.80 3.73 3.16 0.28 9.25 8.39
159 Fund Name 0.07 1.53 4.34 1.45 1.13 11.18 8.35
160 Fund Name 0.86 0.93 0.62 0.07 0.89 4.48 8.34
161 Fund Name 0.07 1.76 4.90 1.49 0.80 11.45 8.34
162 Fund Name 0.15 2.21 5.42 1.67 0.75 11.45 8.30
163 Fund Name 0.21 0.90 3.24 3.84 0.24 7.50 8.28
164 Fund Name 0.07 0.91 3.68 2.61 0.35 9.25 8.27
165 Fund Name 0.03 1.11 3.83 1.38 0.55 11.87 8.27
166 Fund Name 0.91 0.83 1.30 0.12 1.03 0.82 8.27
167 Fund Name 0.85 1.44 -0.01 0.67 1.10 11.65 8.27
168 Fund Name 0.97 0.92 0.97 -0.07 0.63 -2.28 8.25
169 Fund Name 0.96 1.05 0.09 0.00 0.97 -1.33 8.23
170 Fund Name 0.85 0.75 1.60 0.41 0.79 11.23 8.22
171 Fund Name 0.09 0.91 3.49 2.80 0.28 8.90 8.21
172 Fund Name 0.45 1.04 1.28 0.92 0.90 8.54 8.21
173 Fund Name 0.07 1.09 3.83 2.20 0.12 9.72 8.20
174 Fund Name 0.97 1.00 2.54 0.12 1.08 -3.83 8.17
175 Fund Name 0.28 1.18 3.81 3.70 0.13 8.15 8.14
176 Fund Name 0.38 1.16 3.49 3.89 0.11 7.43 8.13
177 Fund Name 0.06 1.31 4.49 1.83 0.83 10.26 8.13
178 Fund Name 0.97 0.96 2.14 0.09 1.04 -2.04 8.12
179 Fund Name 0.25 0.86 3.03 4.07 0.33 6.88 8.10
180 Fund Name 0.08 1.75 4.10 1.10 1.14 10.68 8.09
181 Fund Name 0.93 0.99 3.18 0.10 1.00 2.13 8.07
182 Fund Name 0.12 0.94 3.57 3.12 0.39 9.05 8.06
183 Fund Name 0.39 0.86 -0.06 0.44 0.60 11.92 8.05
184 Fund Name 0.05 1.20 3.36 1.23 1.02 10.26 8.02
185 Fund Name 0.09 0.91 3.29 2.57 0.50 8.66 8.01
186 Fund Name 0.10 2.04 4.67 1.17 0.92 10.90 7.99
187 Fund Name 0.19 0.87 3.26 3.90 0.34 7.91 7.99
188 Fund Name 0.18 2.90 5.95 1.24 0.23 10.16 7.97
189 Fund Name 0.94 0.89 1.24 0.02 0.94 1.45 7.95
190 Fund Name 0.96 0.98 2.17 0.05 0.54 7.31 7.95
191 Fund Name 0.07 0.81 3.31 2.63 0.58 8.92 7.94
192 Fund Name 0.28 1.09 3.43 3.59 0.23 7.55 7.94
193 Fund Name 0.94 0.84 8.19 0.51 1.35 37.50 7.94
194 Fund Name 0.13 0.91 3.23 2.89 0.32 8.27 7.90
195 Fund Name 0.02 1.11 3.29 0.83 0.95 11.38 7.89
196 Fund Name 0.07 0.91 3.36 2.28 0.65 8.92 7.89
197 Fund Name 0.25 0.85 2.82 3.68 0.58 6.62 7.88
198 Fund Name 0.74 1.40 0.28 0.72 0.99 7.48 7.88
199 Fund Name 0.18 2.89 5.84 1.18 0.36 10.02 7.88
200 Fund Name 0.28 1.19 3.64 3.41 0.28 7.99 7.86
201 Fund Name 0.14 0.99 3.35 2.82 1.04 8.43 7.84
202 Fund Name 0.95 0.88 0.67 0.08 1.09 -0.30 7.84
203 Fund Name 0.21 0.90 2.73 2.93 0.89 6.90 7.82
204 Fund Name 0.85 1.41 -0.38 0.55 1.08 10.50 7.80
205 Fund Name 0.91 0.93 0.82 0.04 0.91 5.47 7.79
206 Fund Name 0.16 0.82 3.29 3.92 0.15 8.39 7.75
207 Fund Name 0.85 1.45 -0.32 0.57 1.51 11.34 7.69
208 Fund Name 0.13 0.91 3.00 2.61 0.55 8.02 7.68
209 Fund Name 0.93 0.88 3.67 0.14 1.19 1.20 7.65
210 Fund Name 0.96 0.85 3.65 0.15 0.82 2.40 7.63
211 Fund Name 0.39 1.18 3.08 3.07 0.66 6.94 7.61
212 Fund Name 0.18 0.95 2.70 2.38 0.20 7.38 7.60
213 Fund Name 0.33 0.83 3.05 4.99 0.17 7.36 7.59
214 Fund Name 0.19 0.87 2.87 3.23 0.78 7.43 7.59
215 Fund Name 0.28 1.09 3.10 3.02 0.53 7.22 7.58
216 Fund Name 0.88 0.88 1.29 0.32 0.74 7.91 7.56
217 Fund Name 0.16 0.82 3.09 3.57 0.35 8.17 7.54
218 Fund Name 0.34 0.84 2.99 4.83 0.26 7.27 7.53
219 Fund Name 0.87 0.83 1.56 0.13 0.92 6.96 7.52
220 Fund Name 0.07 1.08 3.07 1.56 1.00 8.80 7.45
221 Fund Name 0.88 1.18 0.24 0.14 1.21 5.18 7.45
222 Fund Name 0.97 0.96 1.12 0.01 1.03 -3.61 7.44
223 Fund Name 0.97 0.95 -0.28 -0.06 0.99 -7.69 7.33
224 Fund Name 0.91 0.97 1.27 0.01 0.80 -2.41 7.31
225 Fund Name 0.07 1.10 2.76 1.18 0.27 7.91 7.29
226 Fund Name 0.19 1.23 3.47 2.48 0.22 7.77 7.27
227 Fund Name 0.16 1.22 2.88 1.59 0.29 7.20 7.27
228 Fund Name 0.95 0.98 0.45 0.01 1.17 -2.23 7.21
229 Fund Name 0.94 1.05 0.40 0.01 1.00 -6.79 7.11
230 Fund Name 0.98 0.94 -0.36 -0.02 1.10 -5.55 7.04
231 Fund Name 0.99 0.99 2.02 0.10 0.07 -3.91 7.04
232 Fund Name 0.99 0.99 2.03 0.10 0.07 -3.88 7.03
233 Fund Name 0.20 1.23 3.23 2.18 0.43 7.53 7.00
234 Fund Name 0.94 0.84 7.31 0.47 2.07 36.36 7.00
235 Fund Name 0.99 0.99 1.95 0.10 0.08 -3.83 6.99
236 Fund Name 0.18 0.95 2.03 1.37 1.02 6.56 6.92
237 Fund Name 0.98 0.96 0.09 0.01 1.14 -0.62 6.84
238 Fund Name 0.98 0.91 0.39 -0.03 0.93 -3.79 6.83
239 Fund Name 0.99 1.00 1.70 0.08 0.10 -4.36 6.82
240 Fund Name 0.99 0.99 1.82 0.09 0.28 -4.14 6.81
241 Fund Name 0.98 0.97 1.79 0.09 0.05 -3.69 6.79
242 Fund Name 0.99 1.00 0.70 0.04 0.07 -5.64 6.71
243 Fund Name 0.99 1.00 1.52 0.07 0.30 -4.60 6.64
244 Fund Name 0.97 0.93 0.74 -0.01 0.70 -6.55 6.63
245 Fund Name 0.97 0.85 1.04 -0.34 0.92 -17.86 6.58
246 Fund Name 0.98 0.98 1.78 0.09 0.10 -3.96 6.55
247 Fund Name 0.07 1.08 2.07 0.62 0.85 7.25 6.53
248 Fund Name 0.16 1.23 2.14 0.73 1.00 6.43 6.51
249 Fund Name 0.97 0.93 0.83 0.03 0.92 -2.98 6.47
250 Fund Name 0.96 0.87 5.07 -0.19 0.94 -18.46 6.47
251 Fund Name 0.98 0.98 1.28 0.06 0.59 -2.03 6.46
252 Fund Name 1.00 1.00 0.66 0.03 0.05 -5.39 6.40
253 Fund Name 1.00 1.00 0.63 0.03 0.10 -5.46 6.38
254 Fund Name 1.00 1.00 0.52 0.03 0.05 -5.40 6.35
255 Fund Name 0.99 0.99 0.63 0.03 0.15 -4.95 6.29
256 Fund Name 1.00 1.00 0.73 0.04 0.05 -5.42 6.29
257 Fund Name 0.98 0.97 1.35 0.07 1.00 -4.36 6.26
258 Fund Name 1.00 1.00 0.55 0.03 0.09 -5.58 6.24
259 Fund Name 1.00 1.00 -0.22 -0.01 0.14 -5.61 6.23
260 Fund Name 1.00 1.00 0.52 0.03 0.10 -5.62 6.20
261 Fund Name 0.99 0.99 0.50 0.03 0.30 -5.11 6.16
262 Fund Name 1.00 0.99 -0.18 -0.01 0.46 -5.00 6.13
263 Fund Name 1.00 1.00 0.46 0.02 0.10 -5.86 6.11
264 Fund Name 1.00 1.00 0.45 0.02 0.17 -5.69 6.11
265 Fund Name 0.98 0.98 1.33 0.07 0.58 -4.09 6.09
266 Fund Name 0.99 0.98 0.37 0.02 0.05 -5.52 6.09
267 Fund Name 1.00 1.00 0.59 0.03 0.14 -5.59 6.05
268 Fund Name 0.96 0.87 5.57 -0.17 0.80 -3.41 6.01
269 Fund Name 0.96 0.92 1.07 -0.07 0.65 -1.03 5.96
270 Fund Name 1.00 1.01 0.23 0.01 0.28 -6.14 5.96
271 Fund Name 0.99 0.96 0.29 0.02 0.74 -5.62 5.96
272 Fund Name 1.00 1.00 0.27 0.01 0.10 -5.44 5.95
273 Fund Name 1.00 1.00 0.28 0.02 0.30 -6.03 5.94
274 Fund Name 0.99 0.98 1.10 0.06 0.34 -4.50 5.92
275 Fund Name 0.99 1.00 0.27 0.01 0.30 -5.58 5.88
276 Fund Name 0.99 0.99 0.33 0.02 0.10 -5.66 5.87
277 Fund Name 0.94 0.83 0.59 -0.01 1.19 1.67 5.64
278 Fund Name 1.00 0.99 -0.20 -0.01 0.26 -6.00 5.62
279 Fund Name 0.99 1.00 0.16 0.01 0.05 -5.73 5.62
280 Fund Name 0.99 0.98 -0.01 0.00 1.00 -5.99 5.59
281 Fund Name 0.98 0.98 0.88 0.04 1.08 -4.39 5.57
282 Fund Name 1.00 0.98 -0.14 0.00 0.33 -5.45 5.54
283 Fund Name 1.00 1.00 -0.14 0.00 0.45 -5.80 5.54
284 Fund Name 0.99 1.00 -0.04 0.00 0.48 -5.63 5.54
285 Fund Name 1.00 1.01 -0.19 -0.01 0.68 -6.55 5.47
286 Fund Name 0.87 0.88 13.08 0.04 0.88 -0.05 5.46
287 Fund Name 1.00 0.99 -0.37 -0.02 0.58 -5.60 5.29
288 Fund Name 0.97 1.10 1.00 0.00 1.09 -3.30 5.25
289 Fund Name 0.99 0.95 -0.07 0.00 1.09 -5.85 5.24
290 Fund Name 0.95 0.92 1.15 -0.07 0.72 12.40 5.21
291 Fund Name 0.99 0.99 -0.43 -0.02 1.14 -6.54 5.14
292 Fund Name 0.96 0.90 2.38 -0.29 1.11 -4.70 5.02
293 Fund Name 0.95 0.92 3.73 -0.24 0.69 -10.37 2.16
294 Fund Name 0.95 0.93 0.43 -0.36 1.09 -11.39 1.67
295 Fund Name 0.90 0.95 9.73 -0.13 0.57 -15.55 1.19
296 Fund Name 0.91 0.88 8.37 -0.16 1.09 -4.95 -1.02
297 Fund Name 0.89 0.85 1.34 0.12 1.07 4.00 NA
298 Fund Name 0.90 1.32 -0.13 0.10 1.02 3.04 NA
299 Fund Name 0.90 0.81 0.11 0.01 0.28 0.03 NA
300 Fund Name 0.99 1.01 -0.33 -0.11 0.12 -27.16 NA
301 Fund Name 1.00 1.00 0.69 0.03 0.05 -5.50 NA
302 Fund Name 0.99 0.99 2.04 0.10 0.05 -3.92 NA
303 Fund Name 1.00 0.99 0.69 0.04 0.06 -5.14 NA
304 Fund Name 0.99 0.98 1.99 0.10 0.20 -3.66 NA
305 Fund Name 1.00 1.00 -0.03 0.00 0.26 -4.95 NA
306 Fund Name 1.00 1.00 0.68 0.03 0.10 -5.27 NA
307 Fund Name 0.99 0.99 2.07 0.10 0.10 -3.93 NA
308 Fund Name 0.96 0.93 1.12 0.01 0.86 2.02 NA
309 Fund Name 0.65 1.23 1.99 1.26 0.46 12.80 NA
310 Fund Name 0.98 0.89 1.42 0.13 0.45 1.11 NA
311 Fund Name 0.98 1.00 4.17 0.14 0.45 0.83 NA
312 Fund Name 0.92 0.88 -0.70 0.61 0.10 10.87 NA
313 Fund Name 1.00 1.00 0.70 0.04 0.07 -5.48 NA
314 Fund Name 0.87 1.07 5.29 0.17 0.88 6.01 NA
315 Fund Name 0.96 0.98 0.08 -0.38 1.21 -17.71 NA
316 Fund Name 0.96 0.97 0.06 -0.38 1.21 -17.66 NA
317 Fund Name 0.89 0.84 2.55 0.00 1.08 -12.30 NA
318 Fund Name 0.91 0.98 -0.17 0.62 1.13 4.09 NA
319 Fund Name 0.93 0.81 4.48 0.33 1.20 32.40 NA
320 Fund Name 1.00 1.00 0.69 0.03 0.07 -5.49 NA
321 Fund Name 0.99 0.99 2.06 0.10 0.07 -3.87 NA
pandoc.header(colFmt("1C: MF's filtered on Return and Holdings", 'blue'), 1, 'setext')

1C: MF’s filtered on Return and Holdings

top.mf <- aa.mf[, c(1,7,20,22,24,44)]
top.mf <- top.mf[order(top.mf, decreasing = TRUE),]
top.mf$aax <- top.mf$`10 Yr Ret (%)`
top.mf <- top.mf[1:15,]

rownames(top.mf) <- NULL
value.string <- paste("Top 15 MF's with highest 10 Year Return ")
row.ctr <- nrow(top.mf)
paste(colFmt(value.string, "blue"))

[1] “Top 15 MF’s with highest 10 Year Return

top.mf[1:row.ctr,] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = (`Fund Name`),
    Return_1_Yr = color_tile("white", "orange")(`1 Yr Ret (%).x`),
    Return_3_Yr = color_tile("white", "green")(`3 Yr Ret (%)`),
    Return_5_Yr = color_tile("white", "blue")(`5 Yr Ret (%)`),
    Return_Ten_Yr = color_tile("white", "red")(aax),
    NAV = color_tile("white", "purple")(`Net Assests (Cr).y`)
    
  ) %>%
  select(Ser.No,Fund, Return_1_Yr, Return_3_Yr,Return_5_Yr,Return_Ten_Yr, NAV) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T) %>%
  scroll_box(width = "100%", height = "300px")
Ser.No Fund Return_1_Yr Return_3_Yr Return_5_Yr Return_Ten_Yr NAV
1 UTI Value Opportunities Fund - Regular Plan -2.40 2.51 3.98 8.93 4,017
2 UTI Value Opportunities Fund - Direct Plan -1.79 3.24 4.73 NA 4,017
3 UTI Unit Linked Insurance Plan - Direct Plan 3.33 2.75 5.79 NA 4,260
4 UTI Unit Linked Insurance Plan 2.65 2.14 5.17 7.29 4,260
5 UTI Ultra Short Term Fund - Regular Plan 6.44 5.40 6.53 7.60 1,296
6 UTI Ultra Short Term Fund - Direct 7.06 6.02 7.15 NA 1,296
7 UTI Treasury Advantage Fund - Regular Plan 8.87 3.55 5.49 7.30 1,865
8 UTI Treasury Advantage Fund - Direct Plan 8.99 3.69 5.64 NA 1,865
9 UTI Transportation and Logistics Fund - Regular Plan -8.07 -10.98 -1.21 11.70 1,113
10 UTI Transportation and Logistics Fund - Direct Plan -7.15 -9.96 -0.07 NA 1,113
11 UTI Short Term Income Fund - Regular Plan 12.13 3.79 5.91 7.81 1,669
12 UTI Short Term Income Fund - Direct Plan 12.57 4.26 6.41 NA 1,669
13 UTI Sensex Exchange Traded Fund -3.87 6.13 NA NA 7,521
14 UTI Retirement Benefit Pension Fund - Regular Plan 0.77 0.93 5.11 6.85 2,745
15 UTI Retirement Benefit Pension Fund - Direct Plan 1.44 1.53 5.75 NA 2,745
top.mf <- aa.mf[, c(1,7,20,22,24,44)]
top.mf <- top.mf[order(top.mf$`5 Yr Ret (%)`, decreasing = TRUE),]
top.mf$aax <- top.mf$`10 Yr Ret (%)`
top.mf <- top.mf[1:15,]

rownames(top.mf) <- NULL
value.string <- paste("Top 15 MF's with highest 5 Year Return ")
row.ctr <- nrow(top.mf)
paste(colFmt(value.string, "blue"))

[1] “Top 15 MF’s with highest 5 Year Return

top.mf[1:row.ctr,] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = (`Fund Name`),
    Return_1_Yr = color_tile("white", "orange")(`1 Yr Ret (%).x`),
    Return_3_Yr = color_tile("white", "green")(`3 Yr Ret (%)`),
    Return_5_Yr = color_tile("white", "blue")(`5 Yr Ret (%)`),
    Return_Ten_Yr = color_tile("white", "red")(aax),
    NAV = color_tile("white", "purple")(`Net Assests (Cr).y`)
    
  ) %>%
  select(Ser.No,Fund, Return_1_Yr, Return_3_Yr,Return_5_Yr,Return_Ten_Yr, NAV) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T) %>%
  scroll_box(width = "100%", height = "300px")
Ser.No Fund Return_1_Yr Return_3_Yr Return_5_Yr Return_Ten_Yr NAV
1 Mirae Asset Emerging Bluechip Fund - Direct Plan 3.58 5.83 13.06 NA 9,834
2 Aditya Birla Sun Life Digital India Fund - Direct Plan 9.80 16.63 12.46 NA 413.00
3 Mirae Asset Emerging Bluechip Fund - Regular Plan 2.56 4.91 12.09 NA 9,834
4 Parag Parikh Long Term Equity Fund - Direct Plan 14.21 11.63 11.92 NA 3,514
5 Nippon India Gilt Securities Fund - Direct Plan 13.39 10.52 11.81 NA 1,452
6 IDFC Government Securities Fund - Constant Maturity Plan - Direct Plan 13.83 12.93 11.67 NA 259.00
7 SBI Tax Advantage Fund - Series II 7.94 5.61 11.61 NA 24.00
8 Aditya Birla Sun Life Digital India Fund 8.79 15.54 11.54 10.88 413.00
9 IDFC Government Securities Fund - Constant Maturity Plan - Regular Plan 13.68 12.82 11.53 9.68 259.00
10 SBI Tax Advantage Fund - Series III - Direct Plan 11.10 9.17 11.45 NA 20.00
11 ICICI Prudential Constant Maturity Gilt Fund - Direct Plan 14.03 11.03 11.32 NA 229.00
12 SBI Magnum Constant Maturity Fund - Direct Plan 12.02 11.38 11.21 NA 735.00
13 Parag Parikh Long Term Equity Fund - Regular Plan 13.24 10.84 11.20 NA 3,514
14 IDFC Government Securities Fund - Investment Plan - Direct Plan 15.04 10.62 11.12 NA 1,066
15 ICICI Prudential Constant Maturity Gilt Fund 13.82 10.79 11.06 NA 229.00
top.mf <- aa.mf[, c(1,7,20,22,24,44)]
top.mf <- top.mf[order(top.mf$`3 Yr Ret (%)`, decreasing = TRUE),]
top.mf$aax <- top.mf$`10 Yr Ret (%)`
top.mf <- top.mf[1:15,]

rownames(top.mf) <- NULL
value.string <- paste("Top 15 MF's with highest 3 Year Return ")
row.ctr <- nrow(top.mf)
paste(colFmt(value.string, "blue"))

[1] “Top 15 MF’s with highest 3 Year Return

top.mf[1:row.ctr,] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = (`Fund Name`),
    Return_1_Yr = color_tile("white", "orange")(`1 Yr Ret (%).x`),
    Return_3_Yr = color_tile("white", "green")(`3 Yr Ret (%)`),
    Return_5_Yr = color_tile("white", "blue")(`5 Yr Ret (%)`),
    Return_Ten_Yr = color_tile("white", "red")(aax),
    NAV = color_tile("white", "purple")(`Net Assests (Cr).y`)
    
  ) %>%
  select(Ser.No,Fund, Return_1_Yr, Return_3_Yr,Return_5_Yr,Return_Ten_Yr, NAV) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T) %>%
  scroll_box(width = "100%", height = "300px")
Ser.No Fund Return_1_Yr Return_3_Yr Return_5_Yr Return_Ten_Yr NAV
1 Tata Digital India Fund - Direct Plan 4.09 17.70 NA NA 364.00
2 SBI Technology Opportunities Fund - Direct Plan 7.49 16.78 10.70 NA 178.00
3 Aditya Birla Sun Life Digital India Fund - Direct Plan 9.80 16.63 12.46 NA 413.00
4 Tata Digital India Fund - Regular Plan 2.37 15.71 NA NA 364.00
5 SBI Technology Opportunities Fund 6.66 15.60 9.67 12.38 178.00
6 Aditya Birla Sun Life Digital India Fund 8.79 15.54 11.54 10.88 413.00
7 ICICI Prudential Technology Fund - Direct Plan 3.13 14.09 9.68 NA 379.00
8 Nippon India Pharma Fund - Direct Plan 37.50 13.91 7.94 NA 3,093
9 ICICI Prudential Technology Fund 2.50 13.15 8.78 13.80 379.00
10 IDFC Government Securities Fund - Constant Maturity Plan - Direct Plan 13.83 12.93 11.67 NA 259.00
11 Nippon India Pharma Fund 36.36 12.93 7.00 13.56 3,093
12 IDFC Government Securities Fund - Constant Maturity Plan - Regular Plan 13.68 12.82 11.53 9.68 259.00
13 Parag Parikh Long Term Equity Fund - Direct Plan 14.21 11.63 11.92 NA 3,514
14 SBI Magnum Constant Maturity Fund - Direct Plan 12.02 11.38 11.21 NA 735.00
15 ICICI Prudential Constant Maturity Gilt Fund - Direct Plan 14.03 11.03 11.32 NA 229.00
top.mf <- aa.mf[, c(1,7,20,22,24,44)]
top.mf <- top.mf[order(top.mf$`1 Yr Ret (%).x`, decreasing = TRUE),]
top.mf$aax <- top.mf$`10 Yr Ret (%)`
top.mf <- top.mf[1:15,]

rownames(top.mf) <- NULL
value.string <- paste("Top 15 MF's with highest 1 Year Return ")
row.ctr <- nrow(top.mf)
paste(colFmt(value.string, "blue"))

[1] “Top 15 MF’s with highest 1 Year Return

top.mf[1:row.ctr,] %>%
  mutate(
    Ser.No = row.names(.),
    Fund = (`Fund Name`),
    Return_1_Yr = color_tile("white", "orange")(`1 Yr Ret (%).x`),
    Return_3_Yr = color_tile("white", "green")(`3 Yr Ret (%)`),
    Return_5_Yr = color_tile("white", "blue")(`5 Yr Ret (%)`),
    Return_Ten_Yr = color_tile("white", "red")(aax),
    NAV = color_tile("white", "purple")(`Net Assests (Cr).y`)
    
  ) %>%
  select(Ser.No,Fund, Return_1_Yr, Return_3_Yr,Return_5_Yr,Return_Ten_Yr, NAV) %>%
  kable(escape = F) %>%
  kable_styling("hover", full_width = T) %>%
  scroll_box(width = "100%", height = "300px")
Ser.No Fund Return_1_Yr Return_3_Yr Return_5_Yr Return_Ten_Yr NAV
1 SBI Healthcare Opportunities Fund - Direct Plan 38.23 6.03 1.64 NA 1,154
2 Nippon India Pharma Fund - Direct Plan 37.50 13.91 7.94 NA 3,093
3 UTI Healthcare Fund - Direct Plan 37.30 8.78 3.03 NA 481.00
4 SBI Healthcare Opportunities Fund 36.77 4.85 0.46 13.38 1,154
5 Nippon India Pharma Fund 36.36 12.93 7.00 13.56 3,093
6 UTI Healthcare Fund - Regular Plan 36.03 7.70 2.04 11.08 481.00
7 Tata India Pharma & HealthCare Fund - Direct Plan 32.40 10.53 NA NA 241.00
8 Tata India Pharma & HealthCare Fund - Regular Plan 30.39 8.68 NA NA 241.00
9 JM Low Duration Fund - Direct Plan 18.32 6.49 7.17 NA 32.00
10 JM Low Duration Fund 18.20 6.39 7.05 8.01 32.00
11 DSP Strategic Bond Fund - Direct Plan 16.20 9.21 9.55 NA 1,190
12 DSP Strategic Bond Fund - Regular Plan 15.46 8.66 9.06 9.04 1,190
13 PGIM India Short Maturity Fund - Direct Plan 15.43 5.12 7.09 NA 33.00
14 IDFC Government Securities Fund - Investment Plan - Direct Plan 15.04 10.62 11.12 NA 1,066
15 Edelweiss Banking and PSU Debt Fund - Direct Plan 14.83 10.64 9.64 NA 259.00
#print(dfSummary(top.mf[,c(1,29, 27,28,25, 5,14,18)]), max.tbl.height = 300, method = "render", footnote = NA)
knitr::opts_chunk$set(echo = TRUE)
pandoc.header(colFmt("Section-2: Interactive Tables-Debt Funds", 'red'), 1, 'setext')

Section-2: Interactive Tables-Debt Funds

pandoc.header(colFmt("2A: Values Table:- R-Sq, Alpha, Beta, Sharpe Ratio & Exp-Ratio", 'blue'), 1, 'setext')

2A: Values Table:- R-Sq, Alpha, Beta, Sharpe Ratio & Exp-Ratio

disp.df <- vr.df.new[grep("DT-", vr.df.new$Category),c(1,3,4,5,29,27,28,25)]
datatable(disp.df[order(disp.df$Category),], filter = "top", options = list(scrollY = '300px'), rownames = FALSE )
pandoc.header(colFmt("2B: Performance and Ranking Table", 'blue'), 1, 'setext')

2B: Performance and Ranking Table

disp.df <- vr.df.new[grep("DT-", vr.df.new$Category),c(1,3,16,17,18,19,20,21,22,24)]
datatable(disp.df[order(disp.df$`10 Yr Ret (%)`, disp.df$`5 Yr Ret (%)`, decreasing = TRUE),], 
          filter = "top", options = list(scrollY = '300px'), rownames = FALSE )
pandoc.header(colFmt("2C: Turnover and Risks Table", 'blue'), 1, 'setext')

2C: Turnover and Risks Table

disp.df <- vr.df.new[grep("DT-", vr.df.new$Category),c(1,3,4,8,9,23,31,32,33,34)]
datatable(disp.df[order(disp.df$Category),], filter = "top", options = list(scrollY = '300px'), rownames = FALSE )
knitr::opts_chunk$set(echo = TRUE)
pandoc.header(colFmt("Section-3: Interactive Tables-Equity Funds", 'red'), 1, 'setext')

Section-3: Interactive Tables-Equity Funds

pandoc.header(colFmt("3A: Values Table:- R-Sq, Alpha, Beta, Sharpe Ratio & Exp-Ratio", 'blue'), 1, 'setext')

3A: Values Table:- R-Sq, Alpha, Beta, Sharpe Ratio & Exp-Ratio

disp.df <- vr.df.new[grep("EQ-", vr.df.new$Category),c(1,3,4,5,29,27,28,25)]
datatable(disp.df[order(disp.df$Category),], filter = "top", options = list(scrollY = '300px'), rownames = FALSE )
pandoc.header(colFmt("3B: Performance and Ranking Table", 'blue'), 1, 'setext')

3B: Performance and Ranking Table

disp.df <- vr.df.new[grep("EQ-", vr.df.new$Category),c(1,3,16,17,18,19,20,21,22,24)]
datatable(disp.df[order(disp.df$`10 Yr Ret (%)`, disp.df$`5 Yr Ret (%)`, decreasing = TRUE),], 
          filter = "top", options = list(scrollY = '300px'), rownames = FALSE )
pandoc.header(colFmt("3C: Turnover and Risks Table", 'blue'), 1, 'setext')

3C: Turnover and Risks Table

disp.df <- vr.df.new[grep("EQ-", vr.df.new$Category),c(1,3,4,8,9,23,31,32,33,34)]
datatable(disp.df[order(disp.df$Category),], filter = "top", options = list(scrollY = '300px'), rownames = FALSE )
knitr::opts_chunk$set(echo = TRUE)
pandoc.header(colFmt("Section-4: Interactive Tables-Hybrid Funds", 'red'), 1, 'setext')

Section-4: Interactive Tables-Hybrid Funds

pandoc.header(colFmt("4A: Values Table:- R-Sq, Alpha, Beta, Sharpe Ratio & Exp-Ratio", 'blue'), 1, 'setext')

4A: Values Table:- R-Sq, Alpha, Beta, Sharpe Ratio & Exp-Ratio

disp.df <- vr.df.new[grep("HY-", vr.df.new$Category),c(1,3,4,5,29,27,28,25)]
datatable(disp.df[order(disp.df$Category),], filter = "top", options = list(scrollY = '300px'), rownames = FALSE )
pandoc.header(colFmt("4B: Performance and Ranking Table", 'blue'), 1, 'setext')

4B: Performance and Ranking Table

disp.df <- vr.df.new[grep("HY-", vr.df.new$Category),c(1,3,16,17,18,19,20,21,22,24)]
datatable(disp.df[order(disp.df$`10 Yr Ret (%)`, disp.df$`5 Yr Ret (%)`, decreasing = TRUE),], 
          filter = "top", options = list(scrollY = '300px'), rownames = FALSE )
pandoc.header(colFmt("4C: Turnover and Risks Table", 'blue'), 1, 'setext')

4C: Turnover and Risks Table

disp.df <- vr.df.new[grep("HY-", vr.df.new$Category),c(1,3,4,8,9,23,31,32,33,34)]
datatable(disp.df[order(disp.df$Category),], filter = "top", options = list(scrollY = '300px'), rownames = FALSE )