Created by James Lim - 2016-04-14

Description of Problem

Here we attempt to select unit trusts fund based on past 3 years performance.

Scope of work

What I am attempting to resolve here is to determine the variables or predictors that AFFECT returns. In another words, what information should we look for inside a fact sheets that helps us to make a better decision to select funds.

Source of Data

  1. I based my source data from individual companies fund fact sheets which can be downloaded from this site

  2. Data is collected from Year 2013 to Year 2015.

  3. Calendar Returns, 3 years (Sharpe and Volatibility) ratio, Fund Name, Risk Rating were captured only. Closing Price of unit trust is irrelevant here

  4. Compounding Returns or video of compound returns

Definition of variables

  1. Fund refers to fund of names

  2. returns refers to annualized compound returns. This is a derived value.

  3. return_sd refers to compound returns / standard deviation. The return/risk ratio is a measure of risk-adjusted performance. It is calculated as the average return divided by the standard deviation of subperiod returns over a given period. A higher return/risk ratio means better fund performance relative to fund volatility on a risk-adjusted basis. This is a derived value.

  4. sd refers to standard deviation or volatibility.

  5. Risk refers to risk category of a unit trusts fund.

  6. Risk adjusted returns This is a derived value.

Correlation data

##                           sharpe         sd risk_adjusted_returns
## sharpe                 1.0000000 -0.1733819             0.8756372
## sd                    -0.1733819  1.0000000            -0.2500832
## risk_adjusted_returns  0.8756372 -0.2500832             1.0000000

Ranking of variables used on the correlation Data

##                    sd risk_adjusted_returns 
##            0.01613969            0.75281896

Graphic relationships between variables

## Guessing formula = risk_adjusted_returns ~ sharpe

Principal Component Analysis (PCA) - Relationships among the variables

## Importance of components:
##                           Comp.1    Comp.2    Comp.3
## Standard deviation     1.4029893 0.9543638 0.3475782
## Proportion of Variance 0.6561264 0.3036034 0.0402702
## Cumulative Proportion  0.6561264 0.9597298 1.0000000
## 
## Loadings:
##                       Comp.1 Comp.2 Comp.3
## sharpe                 0.669  0.256 -0.698
## sd                    -0.296  0.953       
## risk_adjusted_returns  0.682  0.163  0.713

Create Table for Management View

For the purpose of this discussion, let’s classify the returns into good, bad, and average .This will classify all return into bad, average or good, depending on whether their returns are less than, equal to, or greater than 4.5% respectively. Let’s look at the distribution again.

## The following object is masked _by_ .GlobalEnv:
## 
##     subsetdata_results
##                                    
##                                     Overall     
##   n                                  551        
##   risk (%)                                      
##      1                                12 ( 2.2) 
##      10                               88 (16.0) 
##      2                                12 ( 2.2) 
##      3                                30 ( 5.4) 
##      4                                70 (12.7) 
##      5                                31 ( 5.6) 
##      6                                25 ( 4.5) 
##      7                                41 ( 7.4) 
##      8                               125 (22.7) 
##      9                               117 (21.2) 
##   subsetdata_results (%)                        
##      average                         151 (27.4) 
##      bad                             144 (26.1) 
##      good                            256 (46.5) 
##   risk_adjusted_returns (mean (sd)) 3.73 (7.83)
##                                    Stratified by risk
##                                     1              10            2             3           
##   n                                    12             88            12           30        
##   risk_adjusted_returns (mean (sd))  1.40 (0.79)    2.94 (12.52)  1.90 (3.72)  3.48 (2.25) 
##   sharpe (mean (sd))                -0.29 (0.52)   -0.07 (0.76)  -0.13 (0.86)  0.15 (0.47) 
##   sd (mean (sd))                     2.79 (1.24)   16.02 (5.94)   4.14 (1.86)  4.95 (1.25) 
##   subsetdata_results (%)                                                                   
##      average                           12 (100.0)     10 (11.4)      6 (50.0)    17 (56.7) 
##      bad                                0 (  0.0)     29 (33.0)      3 (25.0)     1 ( 3.3) 
##      good                               0 (  0.0)     49 (55.7)      3 (25.0)    12 (40.0) 
##                                    Stratified by risk
##                                     4             5             6            7            
##   n                                    70            31           25            41        
##   risk_adjusted_returns (mean (sd))  2.35 (3.22)   2.08 (3.86)  5.33 (2.56)   8.58 (4.31) 
##   sharpe (mean (sd))                -0.13 (0.61)  -0.10 (0.50)  0.07 (0.34)   0.27 (0.41) 
##   sd (mean (sd))                     5.73 (1.68)   6.89 (1.95)  7.87 (1.61)  10.22 (1.84) 
##   subsetdata_results (%)                                                                  
##      average                           33 (47.1)     12 (38.7)     9 (36.0)      8 (19.5) 
##      bad                               17 (24.3)     10 (32.3)     1 ( 4.0)      2 ( 4.9) 
##      good                              20 (28.6)      9 (29.0)    15 (60.0)     31 (75.6) 
##                                    Stratified by risk
##                                     8             9             p      test
##   n                                   125           117                    
##   risk_adjusted_returns (mean (sd))  7.20 (6.50)   0.34 (8.40)  <0.001     
##   sharpe (mean (sd))                 0.13 (0.49)  -0.25 (0.48)  <0.001     
##   sd (mean (sd))                    13.24 (2.33)  17.55 (4.10)  <0.001     
##   subsetdata_results (%)                                        <0.001     
##      average                           26 (20.8)     18 (15.4)             
##      bad                               20 (16.0)     61 (52.1)             
##      good                              79 (63.2)     38 (32.5)

.

Supervised, Unsupervised, Reinforce Learning

1. Supervised : Linear Regression

Let’s put all variables together to determine which variables/predictors affect the Returns (response) most.

## 
## Call:
## lm(formula = risk_adjusted_returns ~ sharpe + sd, data = corr_data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.0868  -1.8327   0.5647   2.1033  15.4171 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  5.74936    0.36156  15.902  < 2e-16 ***
## sharpe      11.62031    0.27757  41.864  < 2e-16 ***
## sd          -0.13527    0.02737  -4.943 1.03e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.705 on 548 degrees of freedom
## Multiple R-squared:  0.7767, Adjusted R-squared:  0.7759 
## F-statistic:   953 on 2 and 548 DF,  p-value: < 2.2e-16

lm(risk_adjusted_returns ~ sharpe + sd , data=corr_data) - Adjusted R-squared: 77.59%

Which variable is most important in the Linear Model equation

##     sharpe         sd 
## 0.95333013 0.04666987

lm(risk_adjusted_returns ~ sharpe , data=corr_data) - Adjusted R-squared: 76.63%

We will select a regression model that has highest Adjusted R-squared value. An R-squared value of 1 means that it is a perfect prediction model, and an R-squared value of 0 means that it is of no improvement over the baseline model.

2. Supervised : Random Forest algorithm

## Confusion Matrix and Statistics
## 
##          
## pred      average bad good
##   average      35   3    4
##   bad           8  33    0
##   good          3   0   80
## 
## Overall Statistics
##                                          
##                Accuracy : 0.8916         
##                  95% CI : (0.834, 0.9345)
##     No Information Rate : 0.506          
##     P-Value [Acc > NIR] : < 2.2e-16      
##                                          
##                   Kappa : 0.826          
##  Mcnemar's Test P-Value : NA             
## 
## Statistics by Class:
## 
##                      Class: average Class: bad Class: good
## Sensitivity                  0.7609     0.9167      0.9524
## Specificity                  0.9417     0.9385      0.9634
## Pos Pred Value               0.8333     0.8049      0.9639
## Neg Pred Value               0.9113     0.9760      0.9518
## Prevalence                   0.2771     0.2169      0.5060
## Detection Rate               0.2108     0.1988      0.4819
## Detection Prevalence         0.2530     0.2470      0.5000
## Balanced Accuracy            0.8513     0.9276      0.9579

Learning Vector Quantization (LVQ)

We are interested in the classification accuracy as the metric we are optimizing.

## Loading required package: class
## ROC curve variable importance
## 
##   variables are sorted by maximum importance across the classes
##        average    bad   good
## sharpe  0.9525 0.9998 0.9998
## sd      0.7990 0.7990 0.7089
## risk    0.6371 0.6371 0.5903

Features Selection

## 
## Recursive feature selection
## 
## Outer resampling method: Cross-Validated (10 fold) 
## 
## Resampling performance over subset size:
## 
##  Variables  RMSE Rsquared RMSESD RsquaredSD Selected
##          1 4.025   0.7398 0.5475    0.08472         
##          2 1.818   0.9478 0.3616    0.02271        *
##          3 2.175   0.9374 0.3877    0.02403         
## 
## The top 2 variables (out of 2):
##    sharpe, sd
## [1] "sharpe" "sd"

Display Funds in Order of Returns

Risk category from 1 to 10 (1 being lowest risk, 10 being riskiest)

## Source: local data frame [10 x 4]
## 
##                                    fund risk_adjusted_returns sharpe    sd
##                                   (chr)                 (dbl)  (dbl) (dbl)
## 1      Fullerton Short Term Int Rt C S$             2.5748127  -0.13  1.09
## 2      Eastspring Inv UT SG Select Bd A             2.0820012   0.08  3.54
## 3        PineBridge Singapore Bond Fund             1.9675716   0.08  2.99
## 4   Nikko AM Shenton ShortTerm Bond(S$)             1.9267824  -0.91  0.68
## 5            United Singapore Bond Fund             1.7745470   0.03  3.03
## 6  Legg Mason WA Spore Bond Class A SGD             1.7523369  -0.07  3.42
## 7         Manulife Singapore Bond A SGD             1.6518206  -0.04  3.21
## 8               Deutsche Lion Bond Cl A             1.3281038  -1.70  0.62
## 9          LionGlobal Spore Fixed Inc-A             0.9644281  -0.22  3.58
## 10     Schroder SG Fixed Income Fd CL A             0.5119784  -0.14  4.07
## Source: local data frame [10 x 4]
## 
##                                               fund risk_adjusted_returns sharpe    sd
##                                              (chr)                 (dbl)  (dbl) (dbl)
## 1                      PIMCO Glb Bond Cl E Acc USD              6.736274   0.71  5.37
## 2             Parvest Money Market Classic Cap USD              4.779042   0.35  4.64
## 3                 Legg Mason WA US MM Cl A USD Acc              4.685757   0.38  4.80
## 4                  PIMCO Glb Bond Cl E Inc GBP Hed              4.321703   0.32  6.47
## 5                         United SGD Fund Cl A Acc              3.247270   0.57  0.94
## 6          LionGlobal Short Duration Bond Cl A SGD              3.197077   0.09  1.66
## 7                 Fullerton SGD Income Fd Cl B SGD              3.095198   0.17  2.57
## 8                   Legg Mason WA Global Bond Trst              2.735416   0.35  3.93
## 9                Legg Mason BW Global FI A Acc USD              1.151728  -0.14  4.66
## 10 Fidelity Glb Inflation-linked Bond A SGD Hedged             -2.224324  -1.87  2.54
## Source: local data frame [10 x 4]
## 
##                                                fund risk_adjusted_returns sharpe    sd
##                                               (chr)                 (dbl)  (dbl) (dbl)
## 1                    Fidelity Asian Bond AMDIST USD              7.492445   0.87  5.85
## 2                 Blackrock Global Corp Bond A6 USD              6.648355   0.85  5.23
## 3                 Schroder ISF Glb Co Bnd A Acc USD              6.184422   0.67  4.66
## 4             JPM Global Corporate Bond A (Mth) USD              6.085141   0.57  6.07
## 5              PIMCO Glb Inv Gr Credit Cl E Acc USD              6.068448   0.60  5.15
## 6                     Fidelity US Dollar Bond A USD              5.805279   0.68  5.72
## 7            Eastspring Inv US High Inv Grade Bd AS              5.283514   0.57  5.38
## 8             Eastspring Inv US Inv Grade Bd SGD AS              5.255536   0.48  5.15
## 9  NATIXIS IF Loomis Sayles Multisector Inc R/D USD              5.107676   0.21  4.87
## 10        Eastspring Inv US High Inv Grade Bd USD A              5.107644   0.68  5.59
## Source: local data frame [10 x 4]
## 
##                                          fund risk_adjusted_returns sharpe    sd
##                                         (chr)                 (dbl)  (dbl) (dbl)
## 1                    LionGlobal Asia Bond SGD              7.510537   0.95  4.52
## 2                  NN (L) Asian Debt HC P USD              7.332240   1.02  4.77
## 3                  Aviva Inv Glb HY Bd Am USD              7.252954   0.84  4.73
## 4                   Aviva Inv Glb HY Bd A USD              7.250605   0.85  4.64
## 5           Blackrock Asian Tiger Bond A6 USD              7.021774   0.82  5.52
## 6  Threadneedle (Lux) US$ High Inc Bd AUP USD              6.565042   0.59  5.75
## 7            HGIF Glb High Income Bond AM USD              6.425026   0.52  5.98
## 8              Eastspring Inv Asian Bd SGD AS              6.409740   1.03  4.14
## 9       PIMCO US High Yield Bond Cl E Acc USD              6.147787   0.60  5.30
## 10    Wells Fargo US High Yield Bond Cl A USD              5.972566   0.34  6.65
## Source: local data frame [10 x 4]
## 
##                                          fund risk_adjusted_returns sharpe    sd
##                                         (chr)                 (dbl)  (dbl) (dbl)
## 1        JPM Global Income Fund A (mth) USD-H              9.050569   0.45  8.76
## 2                Fidelity Asian HY AMDIST USD              7.276689   0.88  4.13
## 3                 Aviva Inv Glb Convert A USD              7.267389   0.44  5.28
## 4     Blackrock Global Multi-Asset Inc A6 USD              7.054722   0.59  5.01
## 5         Eastspring Inv Asian HY Bd SGD ASDM              6.899269   0.76  4.79
## 6               United Renminbi Bond Fund SGD              5.232152   0.24  5.50
## 7               United Renminbi Bond Fund USD              5.058727   0.21  5.45
## 8                  Parvest Conv Bond Asia USD              4.945559   0.30  4.45
## 9  Schroder ISF Glb Multi-Asset Inc A Dis USD              4.761867   0.06  5.58
## 10               Parvest Conv Bond Europe EUR              4.392487   0.01  8.47
## Source: local data frame [10 x 4]
## 
##                                             fund risk_adjusted_returns sharpe    sd
##                                            (chr)                 (dbl)  (dbl) (dbl)
## 1               HSBC Portfolios WorldSel 5 ACUSD              9.006607   0.23 11.14
## 2                Blackrock Glb Allocation A2 USD              8.734949   0.62  6.40
## 3                 Allianz Oriental Inc Cl AT SGD              8.450568   0.35 11.35
## 4                  First State Glb Balanced Fund              8.079874   0.57  7.17
## 5                   First State Glb Balanced US$              7.912527   0.56  6.84
## 6  PineBridge Glb Dynamic Asset Allocation A USD              7.704751   0.20  9.67
## 7            AB FCP I Dynamic Diversified-AX SGD              7.451324   0.38  6.23
## 8           FTIF-Templeton Glb Bal Fd A(acc) SGD              7.058700   0.15  8.58
## 9         JPMorgan Asia Pacific Income USD A mth              6.909633   0.20  7.71
## 10   JPMorgan Asia Pacific Income Fund SGD A Mth              6.899493   0.21  7.49
## Source: local data frame [10 x 4]
## 
##                                              fund risk_adjusted_returns sharpe    sd
##                                             (chr)                 (dbl)  (dbl) (dbl)
## 1             Fidelity Gbl Dividend A-MINC(G) SGD              14.20576   0.86 10.14
## 2                  Fidelity FPS Global Growth USD              13.70230   0.66 12.39
## 3  Nikko AM Shenton Glb Opportunities - SGD Class              13.40669   0.60 11.07
## 4                     Infinity Global Stock Index              12.99435   0.69  9.50
## 5       Stewart Investors Glb Emg Mkts Leaders Fd              12.81905   0.73  9.93
## 6              AB SICAV I Thematic Research-A SGD              12.21450   0.63 11.40
## 7               Blackrock Glb Dynamic Eqty A2 USD              12.20180   0.59 10.82
## 8                   AB FCP I Glb Eqty Blend-A SGD              12.17308   0.57 10.60
## 9          HGIF Economic Scale Index Glb Eq A SGD              12.10204   0.48 11.75
## 10             AB SICAV I Thematic Research-A USD              12.00905   0.59 11.87
## Source: local data frame [10 x 4]
## 
##                                               fund risk_adjusted_returns sharpe    sd
##                                              (chr)                 (dbl)  (dbl) (dbl)
## 1                           Fidelity America A USD              20.51423   1.35  9.87
## 2                           Fidelity America A SGD              20.33887   1.13 11.42
## 3               FTIF-Franklin US Opp Fd A(acc) SGD              18.62067   0.83 14.12
## 4         Wells Fargo US Large Cap Gth Fd Cl A USD              18.10720   0.72 13.86
## 5  Threadneedle (Lux) US Contrarian Core Eq AU USD              17.66593   0.97 10.91
## 6                      Infinity US 500 Stock Index              17.35947   1.12  9.44
## 7      Neuberger Berman US Multicap Opp A USD1 Acc              16.86785   0.93 10.83
## 8       PineBridge US Large Cap Research Enh A USD              16.80522   0.96 11.25
## 9       Legg Mason Clearbridge Val Fd Cl A Acc-SGD              16.39757   0.69 12.94
## 10          Wells Fargo US Premier Gth Fd Cl A USD              16.23768   0.68 14.26
## Source: local data frame [10 x 4]
## 
##                                             fund risk_adjusted_returns sharpe    sd
##                                            (chr)                 (dbl)  (dbl) (dbl)
## 1           Blackrock World Healthscience A2 USD              24.95625   1.29 14.09
## 2                 Legg Mason Opps Fund A Acc USD              20.56068   0.64 19.51
## 3                First State Regional India Fund              18.92323   0.77 20.17
## 4  Legg Mason Clearbridge US Agg Growth Cl A USD              16.93169   0.73 13.54
## 5                         Fidelity Germany A EUR              13.11915   0.37 14.42
## 6      Amundi Glb Luxury and Lifestyle SGD Cl AS              11.67665   0.52 12.54
## 7                   Aberdeen India Opportunities              11.53375   0.45 20.15
## 8               Aberdeen India Opportunities USD              11.51103   0.46 18.16
## 9                           Fidelity Italy A EUR              11.49274   0.27 20.95
## 10                   Blackrock India Fund A2 USD              11.21810   0.46 20.58
## Source: local data frame [10 x 4]
## 
##                                              fund risk_adjusted_returns sharpe    sd
##                                             (chr)                 (dbl)  (dbl) (dbl)
## 1               Fidelity Global Health Care A EUR              22.14974   1.02 14.34
## 2               AB SICAV I Intl Health Care-A SGD              21.20640   1.15 10.82
## 3                Fidelity Global Technology A EUR              20.51078   0.87 14.92
## 4        Blackrock US Small and Midcap Opp A2 EUR              18.24294   0.85 13.12
## 5        Blackrock US Small and Midcap Opp A2 USD              18.04435   0.85 12.85
## 6         Henderson Hzn Pan Europn Prop Eq-A2 EUR              17.88280   1.14 13.78
## 7         Henderson Hzn Pan Europn Prop Eq-A2 EUR              17.61732   0.91 15.06
## 8     Parvest Eq Europe Small Cap Classic Cap EUR              17.20027   0.86 13.36
## 9                     Henderson European Prop Sec              17.09206   1.08 13.76
## 10 Threadneedle (Lux) Pan Euro Sm Cap Opp ASH SGD              17.04323   0.78 13.80