Chapter 15. Form : 6. Portfolio Optimization

This dynamic form is about portfolio optimization from the perspective of computational finance and financial engineering. Thus the main emphasis here is to briefly introduce the concepts and to give the user a set of powerful tools to solve the problems in the field of portfolio optimization. It provides a way to optimize a portfolio of assets. The goal is to determine the asset weights that minimize the risk for a desired return or, alternatively, that maximize the return for a given risk.

After determining the optimal weights it is advisable to conduct a performance analysis on the optimal portfolio. However, before you can optimize a portfolio, you have to create an environment which specifies a portfolio from the beginning and defines all the parameters and values that are required to perform the optimization. In the provided form, one describes the portfolio environment including the specification of all parameters describing the portfolio, the selection and description of the assets data set for which we want to optimize the portfolio, and to set the constraints under which the portfolio will be optimized.

Any timeseries already loaded by the user within the R environment (using commands or whatever) compliant with a xts, zoo or timeSeries timeseries can be used as a constituent. Moreover, the user can use the Manage assets (10) dynamic form to load constituents which is the preferred way since it loads additional data such as the name of the asset, its currency, etc.

A new "6. Portfolio Optimization" form can be added to the workspace by using Form → 6. Portfolio Optimization ()

The theory behind the portfolio optimization algorithms available within this dynamic form is presented in the chapter Chapter 17, Portfolio Optimization theory.

15.1. Concepts

15.1.1. Working with returns

The portfolio optimization procedure works with returns instead of asset values. The whole optimization procedure is most often used to optimize (thus maximize) returns. In other cases it is intended to optimize (thus minimize) risk (hence volatility, i.e. the variance of returns). Section 17.1.1, “Asset returns” discusses how asset returns are computed.

The portfolio score function (i.e. the value to be optimized) is most often a question of minimizing the risk (the variance, covariance, whatever...) or maximizing the portfolio return. Section 17.1.2, “Portfolio return” discusses how the portfolio return is computed from asset returns.

15.1.2. rMetrics

The Portfolio (15) dynamic form uses several functions and methods provided by Rmetrics to compute basic statistics of financial time series from S4 timeSeries objects. These include summary and basic statistics, drawdown statistics, sample mean and covariance estimation, quantile and risk estimation, amongst others. Moreover, there are functions to compute column statistics and cumulated column statistics, which are very important tools used by the portfolio optimization procedure.

15.2. UI

A newly created "6. Portfolio Optimization" dynamic form looks as shown on Figure 15.1, “New '6. Portfolio Optimization' dynamic form”.

Figure 15.1. New '6. Portfolio Optimization' dynamic form

New '6. Portfolio Optimization' dynamic form


15.3. Loaded constituents

In AirXCell and R financial packages in general, data sets are represented by S4 timeSeries objects. These objects are used to represent financial data for portfolio optimization. Returns for a price or index series are computed by the Portfolio (15) dynamic form when optimizing portfolio from the selected assets.

This first section of the screen shows the loaded assets available as portfolio constituents. Constituents can be selected one at a time using the checkbox on the right-most column of the constituents list or all together using the buttons on the bottom of the list.

15.3.1. Weight constraints

In addition to viewing and selecting constituents, the list enables the user to specify a minimum weight in percentage and a maximum weight for each constituent. This is the most simple form of constraints that can be specified on the target portfolio.

15.3.2. Price to use

The loaded assets from the quantmod - Manage Assets (10) form usually provide five different quotes : daily Open and Close, daily High and Low and Adjustedprice.

The user can choose what price she wants to use to compute the returns. The price to use is chosen globally, i.e. the same one is used for every asset.

15.3.3. Working date range

As described below for Mean-Variance (Markovitz) and Mean-conditional value at risk portfolios, the optimization algorithms work with mean, variance or covariance, etc. values computed from the asset returns.

By default, the timeseries considered for computing these values are taken into account starting with the latest start date of every asset timeseries and ending with the earliest end date. The user can however choose a subset of that default period by specifying here different dates.

15.4. Portfolio Specification

To compose and optimize a portfolio of assets we first have to specify it. This process includes choosing the kind of portfolio model we want to investigate, choosing the required portfolio parameter settings, and choosing which type of programming solver (linear, quadratic, nonlinear) should be applied.

15.4.1. Portfolio currency

The user can choose amongst every supported currency as the portfolio currency. A portfolio is inevitably computed in a specific currency, the default is USD (US Dollar). Assets can be loaded in any currency. Whenever the portfolio contains an asset loaded in a different currency that the portfolio currency, it is first converted in the target portfolio currency before being taken into account for the returns calculation. Any FOREX (See Chapter 11, Form : 2. Manage FOREX) required for such a conversion is loaded automatically and transparently.

15.4.2. Optimizer (= Portfolio type)

  • Mean-Variance (Markowitz) : Modern portfolio theory[5] proposes how rational investors use diversification to optimize their portfolio(s) of risky assets. The basic concepts of the theory go back to Markowitz’s idea of diversification and the efficient portfolio frontier. His model considers asset returns as a random variable, and models a portfolio as a weighted combination of assets. Being a random variable, a portfolio’s returns have an expected mean and variance. In this model, return and risk are estimated by the sample mean and the sample standard deviation of the asset returns.

    The problem of minimizing the covariance risk for a given target return with optional box and group constraints is a quadratic programming problem with linear constraints. The opposite case, fixing the risk and maximizing the return, has a linear objective function with quadratic constraints. This second problem is much more complex than the first one. If we have even more complex constraints, i.e. nonlinear constraints, we need a new class of solvers called non-linear constrained portfolio problem. This allows us to handle the case of linear and quadratic objective functions with non-linear constraints. In all three cases we speak of Markowitz’ portfolio optimization problem, although they require different classes of solvers with increasing complexity.

    The theory behind the optimization algorithm for Markowitz' Mean-Variance portfolio is presented in details in the next chapter Chapter 17, Portfolio Optimization theory in section Markowitz Portfolio Theory.

  • Mean-conditional value at risk : An alternative risk measure to the covariance is the Conditional Value at Risk, CVaR, which is also known as mean excess loss, mean shortfall or tail Value at Risk, VaR. For a given time horizon and confidence level, CVaR is the conditional expectation of the loss above VaR for the time horizon and the confidence level under consideration.

    In the mean-CVaR portfolio model, covariance risk is now replaced by the conditional Value at Risk [1] [4] as the risk measure. In contrast to the mean-variance portfolio optimization problem, we no longer restrict the set of assets to have a multivariate elliptically contoured distribution.

    The theory behind the optimization algorithm for Mean-conditional value at risk portfolios is presented in details in the Chapter 17, Portfolio Optimization theory, Mean-CVaR Portfolio Theory.

15.4.3. Score

The two available options are either minimizing the portfolio’s risk for a given target return or maximizing the portfolio’s return for a given target risk. In the default case of the meanvariance portfolio, the target risk is calculated from the sample covariance (or an alternative measure, e.g. a robust covariance estimate). The target return is computed by the sample mean of the assets if not otherwise specified.

15.4.4. Score - Important note regarding target return and target risk.

The optimization procedure needs to start with a feasible solution. In addition, it can only optimize one single score function at a time[10]. This means that it can either optimite returns or risks, not both at a time. There is however a trick to optimize both at a time which consists in using the return / risk ratio as the score function.

The single score functions limitation implies that the optimizier requires a predefined target acceptable risk when maximizing the return or a predefined target return when minimizing risks.

In the current version of the Portfolio dynamic form, the user has two choices to specifiy the predefined acceptable risk (in the case of a return maximization) or the predefined target return (in the case of a risk minimization):

  • The default choice for both these settings is to use the values computed from the Feasible portfolio (15.5.2). This is an easy go since the user does not need to worry about these values but it might be uneffective since the values from the feasible portfolio (initial solution) might well be suboptimal.

    The user can also uncheck the usage of the default values and input its own values. Giving feasible specific values can well be very tricky so the best approach here is to do a first run by using the default values, see what values have been used and then from here guess the values that might be more optimal and input them here.

15.4.5. Solver

The name of the default solver used for the optimization of the mean-variance Markowitz portfolio, which is the default portfolio, is a quadratic programming (QP) solver. This solver implements the approach of QP Goldfarb and Idnani[9].

For mean-CVaR portfolio optimization, one should use a linear programming (LP) solver. This solver uses R’s interface to the GNU linear programing kit (GLPK).

It is very important to be careful when modifying specification settings, because there are settings that are incompatible with others. For example, if you want to minimize the covariance risk for a mean-variance portfolio, you cannot assign a linear programming solver.

Currently we are working on implementing more consistency checks for the specification settings, so that the user wont have to worry about creating conflicting settings. However, this has not been fully implemented in the current version of the Portfolio dynamic form.

15.4.6. Estimator

  • Minimum covariance determinant : This method estimates a robust mean and covariance by the minimum covariance determinant estimator. The Minimum Covariance Determinant method consists in searching for the half of the data that is most tightly clustered together amongst all subsets containig half of the data, as measured by the generalized variance. Recall that for the determinant of the variance (the generalized variance) to be relatively small, it must be the case that there are no outliers.

  • Minimum volume ellipsoid : This method is used for robust outlier detection in multivariate space. The algorithm takes subsamples of the dataset and calculates the Volume of the Ellipsoid representing that subsample. Outliers increase the volume dramatically, so the Minimum Volume Ellipsoid (MVE) will correspond with the actual core of the dataset. After this, data points exceeding the cut-off value for the Mahalanobis distance will be designated outliers and are discarded. The MVE is implemented in R's recommended package MASS.

  • Orthogonalized Gnanadesikan-Kettenring : The "OGK" method computes the orthogonalized pairwise covariance matrix estimate described in Maronna & Zamar (2002). The estimator is implemented in the contributed R package robustbase .

  • Shrinkage : The "shrink" method provides robust covariance estimation by the shrinkage method [12]. The shrinkage function is implemented in the contributed R package corpcor.

  • Bagged : The "bagged" method provides a variance-reduced estimator of the covariance matrix using bootstrap aggregation, hence the name "bagged"[13]. "bagged" was implemented in a previous version of the contributed R package corpcor.

15.4.7. Constraints

Constraints define restrictions and boundary conditions on the weights and functional measures, depending on, or derived from, the portfolio weights. Constraints are defined by a character string or a vector of character strings. The formal style of these strings can be used like a language to express lower and upper bounds on the ranges of weights that have to be satisfied for box, group, covariance risk budgets and general non-linear constraint settings.

In order to simplify the process, however, two specific cases of constraints definition are supported by the system out of the box, i.e. without the user requiring the hassle of defining manually the constraints using the constraint language. These are the following :

  • Short : short constraints, sets lower and upper bounds of weights as box constraints ranging between minus and plus infinity for all assets. The setting allows for unlimited negative and positive weights. In this case, the mean-variance portfolio optimization problem can be solved analytically.

  • Long Only : long-only constraints, sets lower and upper bounds of weights as box constraints. Long-only positions reflect the fact that all weights are allowed to be between zero and one. Do not confuse this setting with box constraints, where the weights are restricted by arbitrary negative and/or positive lower and upper bounds.

We introduce here the rules to express constraints as strings and introduce the functions used to create a summary for all the constraints.

  • LongOnly : long-only constraints [0,1]

  • Short : unlimited short selling, [-Inf,Inf]

  • minW[<...>]=<...> : lower box bounds = lower bounds of weights for box constraints

    Example : minW[1:3] = 0.1

  • maxw[<...>]=<...> : upper box bounds = upper bounds of weights for box constraints

    Example : maxW[c(1, 3)] = c(0.5, 0.6)

  • eqsumW[<...>]=<...> : equality group constraints

    Example : eqsumW[c(\"SPI\", \"SII\")]=0.6

  • minsumW[<...>]=<...> : lower group bounds

    Example : minsumW[c(2, 3)]=0.2

  • maxsumW[<...>]=<...> : upper group bounds

    Example : maxsumW[1:nAssets]=0.7

  • minB[<...>]=<...> : lower covariance risk budget bounds

    Example : minB[1:nAssets]=-Inf

  • maxB[<...>]=<...> : upper covariance risk budget bounds

    Example : maxB[c(1, 2:nAssets)]=c(0.5, rep(0.6, times=2))

  • listF=list(<...>) : list of non-linear functions

  • minf[<...>]=<...> : lower bounds of non-linear functions

  • maxf[<...>]=<...> : upper bounds of non-linear functions

15.4.8. Show Assets / Returns

When selected, this causes the execution of the form to end up with Data Frame module instances to be created and added to the workspace in order to display either the assets composing the portfolio themselves or the returns computed from the assets.

15.4.9. Chart Assets / Returns

When selected, this causes the execution of the form to end up with new graphs being added to the workspace. These graphs shows the assets composing the portfolio or the returns computed from the assets.

15.5. Portfolio Optimization

After we have set the data, specified the portfolio settings, and defined the constraints, we are ready to optimize the portfolio. The portfolio optimization functions take the data, the specifications and the constraints as inputs.

15.5.1. Run Optimization

Here, the user can choose whether he wants to run the optimization algorithm or not. Running the optimization algorithm is a prerequisite to the features available below such as Portfolio Analysis . It is however possible to disable the optimization procedure. This is useful for instance when the user is in a constituent selection phase and simply wants to display or charts the assets or the returns without running the optimizer yet.

15.5.2. Feasible portfolio

The portfolio optimization procedure needs to start with a feasible solution, i.e. an initial portfolio. In our case, the single feasible solution currently supported by the Portfolio (15) dynamic form is an Equally weighted portfolio, i.e. a portfolio where each and every consituent has a equals weight. This situation is kind of like a portfolio where any analyst bough the same volume of security, for instance 1k USD of IBM, 1k USD of Microsoft, and so on.

The initial weights of the feasible portfolio can be chartted using the related checkbox. The result is shown on Figure 15.2, “Equally weighting portfolio example”.

Figure 15.2. Equally weighting portfolio example

Equally weighting portfolio example


In adition, in the textual results window, the feasible portfolio is displayed:

 --------------------------------------------------------------------------------    
                                                                                     
 INITIAL FEASIBLE SOLUTION                                                           
 -------------------------                                                           
                                                                                     
 Feasible portfolio:                                                                 
                                                                                     
                                                                                        
 Title:                                                                                  
  CVAR Feasible Portfolio                                                                
  Estimator:         covEstimator                                                        
  Solver:            solveRglpk                                                          
  Optimize:          minRisk                                                             
  Constraints:       LongOnly                                                            
                                                                                        
 Portfolio Weights:                                                                      
   AAPL    ABB     CS    HMC    HPQ    IBM     MS     SI    SNE    UBS   YHOO            
 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909            
                                                                                        
 Covariance Risk Budgets:                                                                
   AAPL    ABB     CS    HMC    HPQ    IBM     MS     SI    SNE    UBS   YHOO            
 0.0722 0.1031 0.1089 0.0635 0.0715 0.0519 0.1297 0.0947 0.0725 0.1441 0.0878            
                                                                                        
 Target Return and Risks:                                                                
   mean     mu    Cov  Sigma   CVaR    VaR                                               
 0.0001 0.0001 0.0195 0.0195 0.0471 0.0293                                               
                                                                                        
 Description:                                                                            
  Tue Jun 26 10:08:03 2012 by user:
            

15.5.3. Target portfolio

Markowitz' Modern portfolio theory states that an investor may choose to exchange risk for return along a curve known as the Efficient frontier. Since it is inefficient to incur a given level of risk when one can rearrange the portfolio to achieve a greater expected return for the same risk, there is a strong motivation to optimize.

The Portfolio Optimization algorithm calculates the optimal capital weightings for a set of assets that gives the highest return for the least risk, or the lowest risk for a target return. The ability to apply optimization analysis to a portfolio of assets represents an excellent framework for driving capital allocation, investment, and divestment decisions.

  • Efficient : Maximize returns or minimize risks according to the setting given on the portfolio specification.

    When maximizing returns, the optimizer currently only assumes a target accpetable risk value as computed for the initial feasible portfolio (equally weighted).

    When minimizing the risk, the optimizer currently only assumes a target return value as computed for the initial feasible portfolio (equally weighted).

  • Maximum possible ratio return/risk at all : computes the portfolio with the highest return/risk ratio

  • Minimum possible risk at all : computes the portfolio with the lowest risk at all

The resulting weights of the optimized portfolio can be chartted using the related checkbox. The result is shown on Figure 15.3, “Optimized portfolio example”.

Figure 15.3. Optimized portfolio example

Optimized portfolio example


In adition, in the textual results window, the target optimized portfolio is displayed:

 --------------------------------------------------------------------------------    
                                                                                     
 OPTIMIZED SOLUTION                                                                  
 ------------------                                                                  
                                                                                     
 Target portfolio specs:                                                             
 -----------------------                                                             
                                                                                     
                                                                                        
 Model List:                                                                           
  Type:                      CVAR                                                        
  Optimize:                  minRisk                                                     
  Estimator:                 covEstimator                                                
  Tail Risk:                 list()                                                      
  Params:                    alpha = 0.05 a = 1                                          
                                                                                        
 Portfolio List:                                                                       
  Portfolio Weights:         NA                                                          
  Target Return:             1e-04                                                       
  Target Risk:               NA                                                          
  Risk-Free Rate:            0                                                           
  Number of Frontier Points: 50                                                          
  Status:                    NA                                                          
                                                                                        
 Optim List:                                                                           
  Solver:                    solveRglpk                                                  
  Objective:                 list()                                                      
  Options:                   meq = 2                                                     
  Control:                   list()                                                      
  Trace:                     FALSE                                                       
                                                                                        
 Message List:                                                                         
  List:                      NULL                                                        
                                                                                     
 Target portfolio:                                                                   
 -----------------                                                                   
                                                                                     
                                                                                        
 Title:                                                                                  
  CVAR Efficient Portfolio                                                               
  Estimator:         covEstimator                                                        
  Solver:            solveRglpk                                                          
  Optimize:          minRisk                                                             
  Constraints:       LongOnly                                                            
                                                                                        
 Portfolio Weights:                                                                      
   AAPL    ABB     CS    HMC    HPQ    IBM     MS     SI    SNE    UBS   YHOO            
 0.0000 0.0000 0.0000 0.1474 0.0635 0.5649 0.0000 0.0000 0.2242 0.0000 0.0000            
                                                                                        
 Covariance Risk Budgets:                                                                
   AAPL    ABB     CS    HMC    HPQ    IBM     MS     SI    SNE    UBS   YHOO            
 0.0000 0.0000 0.0000 0.1407 0.0627 0.5308 0.0000 0.0000 0.2658 0.0000 0.0000            
                                                                                        
 Target Return and Risks:                                                                
   mean     mu    Cov  Sigma   CVaR    VaR                                               
 0.0001 0.0001 0.0151 0.0151 0.0357 0.0241                                               
                                                                                        
 Description:                                                                            
  Tue Jun 26 10:08:05 2012 by user:             
            

15.6. Portfolio Analysis

15.6.1. Portfolio frontier

The efficient frontier together with the minimum variance locus form the upper border and lower border lines of the feasible set. To the right the feasible set is determined by the envelope of all pairwise asset frontiers. The region outside of the feasible set is unachievable by holding risky assets alone. No portfolios can be constructed corresponding to the points in this region. Points below the frontier are suboptimal. Thus, a rational investor will hold a portfolio only on the frontier.

The portfolio frontier feature on the Portfolio (15) dynamic form computes the whole efficient frontier of a portfolio and shows the result in a graphical way. For the default settings with long-only constraints, the range spans all values equidistantly ranging from the asset with the lowest return up to the asset with the highest return. Allowing for box, group and other more complex constraints the range of the frontier will be downsized, i.e. the length of the frontier becomes shorter and shorter. Bear in mind that it is possible for the constraints to be too strong, and that a frontier might not even exist at all.

Number of Frontier Points : the number of points to be tried when seaking for the frontier.

The resulting efficient frontier can be chartted using the related checkbox. The result is shown on figure Figure 15.4, “Efficient frontier example”.

Figure 15.4. Efficient frontier example

Efficient frontier example
Efficient frontier example


In adition, in the textual results window, the efficient frontier is displayed:

 --------------------------------------------------------------------------------    
                                                                                     
 PORTFOLIO FRONTIER                                                                  
 ------------------                                                                  
                                                                                     
 Portfolio Frontier:                                                                 
                                                                                     
                                                                                        
 Title:                                                                                  
  MV Portfolio Frontier                                                                  
  Estimator:         covEstimator                                                        
  Solver:            solveRquadprog                                                      
  Optimize:          minRisk                                                             
  Constraints:       LongOnly                                                            
  Portfolio Points:  5 of 49                                                             
                                                                                        
 Portfolio Weights:                                                                      
      AAPL    ABB     CS    HMC    HPQ    IBM     MS     SI    SNE    UBS   YHOO         
 1  0.0000 0.0000 0.0000 0.0000 0.0713 0.0000 0.0000 0.0000 0.9089 0.0198 0.0000         
 13 0.0000 0.0000 0.0000 0.1056 0.1091 0.4858 0.0000 0.0000 0.2996 0.0000 0.0000         
 25 0.1852 0.0000 0.0000 0.2272 0.0000 0.5876 0.0000 0.0000 0.0000 0.0000 0.0000         
 37 0.5907 0.0000 0.0000 0.0868 0.0000 0.3226 0.0000 0.0000 0.0000 0.0000 0.0000         
 49 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000         
                                                                                        
 Covariance Risk Budgets:                                                                
      AAPL    ABB     CS    HMC    HPQ    IBM     MS     SI    SNE    UBS   YHOO         
 1  0.0000 0.0000 0.0000 0.0000 0.0365 0.0000 0.0000 0.0000 0.9489 0.0146 0.0000         
 13 0.0000 0.0000 0.0000 0.0959 0.1109 0.4236 0.0000 0.0000 0.3696 0.0000 0.0000         
 25 0.2270 0.0000 0.0000 0.2123 0.0000 0.5606 0.0000 0.0000 0.0000 0.0000 0.0000         
 37 0.7694 0.0000 0.0000 0.0453 0.0000 0.1853 0.0000 0.0000 0.0000 0.0000 0.0000         
 49 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000         
                                                                                        
 Target Return and Risks:                                                                
       mean      mu     Cov   Sigma    CVaR     VaR                                      
 1  -0.0005 -0.0005  0.0221  0.0221  0.0516  0.0339                                      
 13  0.0000  0.0000  0.0155  0.0155  0.0365  0.0248                                      
 25  0.0005  0.0005  0.0151  0.0151  0.0357  0.0235                                      
 37  0.0010  0.0010  0.0190  0.0190  0.0427  0.0294                                      
 49  0.0015  0.0015  0.0258  0.0258  0.0567  0.0395                                      
                                                                                        
 Description:                                                                            
  Fri Jun 29 12:55:12 2012 by user:                                                      
 bench ~ AAPL + ABB + CS + HMC + HPQ + IBM + MS + SI + SNE + UBS +                       
     YHOO
            

15.6.2. Portfolio backtesting

Backtesting is a key component of portfolio management and it is often used to assess and compare different statistical models. Portfolio backtesting is accomplished by reconstructing, with historical data, trades that would have occurred in the past using rules defined by a given strategy. The underlying theory is that any strategy that worked well in the past is likely to work well in the future.

The backtesting results offer statistics that can be used to gauge the effectiveness of the strategy. However, the results achieved from the backtest are highly dependent on the movements of the tested period. Therefore, it is often a good idea to backtest over a long time frame that encompasses several different types of market conditions.

Window Horizon (in months) : The number of months to be taken into accoun in the past to compute the mean (returns), variance and covariance. At each rebalancing point in time, only that amount of data in the past are taken into consideration in the calculations.

Number of months smothing : The number of months to be taken into accoun by the Exponential Moving Average (EMA) smoother. The intent in smoothing is to avoid too many changes in weights each month (avoid to many buy / sell orders).

The resulting backtest can be chartted using the related checkbox. The result is shown on Figure 15.5, “Portfolio backtesting example”.

Figure 15.5. Portfolio backtesting example

Portfolio backtesting example
Portfolio backtesting example


In adition, in the textual results window, the backtesting is displayed:

 --------------------------------------------------------------------------------           
                                                                                            
 PORTFOLIO BACKTESTING                                                                      
 ---------------------                                                                      
                                                                                            
 Portfolio Back-test - specs:                                                               
                                                                                            
                                                                                               
 Model List:                                                                                  
  Type:                      CVAR                                                               
  Optimize:                  maxReturn                                                          
  Estimator:                 covEstimator                                                       
  Tail Risk:                 list()                                                             
  Params:                    alpha = 0.05 a = 1                                                 
                                                                                               
 Portfolio List:                                                                              
  Portfolio Weights:         NA                                                                 
  Target Return:             NA                                                                 
  Target Risk:               0.02925016                                                         
  Risk-Free Rate:            0                                                                  
  Number of Frontier Points: 50                                                                 
  Status:                    NA                                                                 
                                                                                               
 Optim List:                                                                                  
  Solver:                    solveRglpk                                                         
  Objective:                 list()                                                             
  Options:                   meq = 2                                                            
  Control:                   list()                                                             
  Trace:                     FALSE                                                              
                                                                                               
 Message List:                                                                                
  List:                      NULL                                                               
                                                                                            
 Portfolio Back-test - constraints:                                                         
                                                                                            
 "LongOnly"            "maxW[\\"AAPL\\"] = NA" "minW[\\"AAPL\\"] = NA"           
 "maxW[\\"ABB\\"] = NA"  "minW[\\"ABB\\"] = NA"  "maxW[\\"CS\\"] = NA"         
 "minW[\\"CS\\"] = NA"   "maxW[\\"HMC\\"] = NA"  "minW[\\"HMC\\"] = NA"        
 "maxW[\\"HPQ\\"] = NA"  "minW[\\"HPQ\\"] = NA"  "maxW[\\"IBM\\"] = NA"        
 "minW[\\"IBM\\"] = NA"  "maxW[\\"MS\\"] = NA"   "minW[\\"MS\\"] = NA"         
 "maxW[\\"SI\\"] = NA"   "minW[\\"SI\\"] = NA"   "maxW[\\"SNE\\"] = NA"        
 "minW[\\"SNE\\"] = NA"  "maxW[\\"UBS\\"] = NA"  "minW[\\"UBS\\"] = NA"        
 "maxW[\\"YHOO\\"] = NA" "minW[\\"YHOO\\"] = NA"                                   
                                                                                            
 Portfolio Back-test - specifications:                                                      
                                                                                            
                                                                                               
 Backtest Specification:                                                                      
                                                                                               
  Windows Function:            equidistWindows                                                  
  Windows Params:                                                                             
   - horizon                   18m                                                              
                                                                                               
  Strategy Function:           maxreturnStrategy                                                
  Strategy Params:                                                                            
                                                                                               
  Smoother Function:           emaSmoother                                                      
  Smoother Params:                                                                            
   - doubleSmoothing           TRUE                                                             
   - lambda                    4m                                                               
   - skip                      0                                                                
   - initialWeights            0.090 0.090 0.090 0.090 0.090 0.090 0.090 0.090 0.090 0.090 0.090
                                                                                               
  Messages:                                                                                     
                                                                                               
                                                                                            
 Portfolio Back-test - benchmark name:                                                      
                                                                                            
 "bench"                                                                                  
                                                                                            
 Portfolio Back-test - asset names:                                                         
                                                                                            
 "AAPL" "ABB"  "CS"   "HMC"  "HPQ"  "IBM"  "MS"   "SI"   "SNE"  "UBS"  
 "YHOO"                                                                                  
                                                                                            
 Portfolio Back-test - weights head :                                                       
                                                                                            
                  AAPL        ABB         CS       HMC        HPQ       IBM                     
 2002-09-30 0.02296009 0.02332558 0.02535847 0.2467281 0.06571699 0.2824776                     
 2002-10-31 0.02466763 0.01220238 0.02837879 0.2577551 0.09897073 0.2995721                     
 2002-11-30 0.01961186 0.00000000 0.00000000 0.2251096 0.00000000 0.2471409                     
 2002-12-31 0.01961186 0.00000000 0.00000000 0.2251096 0.00000000 0.2471409                     
 2003-01-31 0.03455937 0.00000000 0.00000000 0.2147919 0.00000000 0.2475617                     
 2003-02-28 0.03455937 0.00000000 0.00000000 0.2147919 0.00000000 0.2475617                     
                   MS         SI       SNE        UBS YHOO                                      
 2002-09-30 0.0147636 0.03338133 0.2600091 0.02527917    0                                      
 2002-10-31 0.0000000 0.04144408 0.2095620 0.02744724    0                                      
 2002-11-30 0.0000000 0.00000000 0.2569992 0.25113849    0                                      
 2002-12-31 0.0000000 0.00000000 0.2569992 0.25113849    0                                      
 2003-01-31 0.0000000 0.00000000 0.2590124 0.24407464    0                                      
 2003-02-28 0.0000000 0.00000000 0.2590124 0.24407464    0                                      
                                                                                            
 Portfolio Back-test - weights tail :                                                       
                                                                                            
                 AAPL ABB CS        HMC HPQ       IBM MS SI SNE UBS       YHOO                  
 2011-11-30 0.2920445   0  0 0.02565682   0 0.5999402  0  0   0   0 0.08235847                  
 2011-12-31 0.2944144   0  0 0.06190774   0 0.5396281  0  0   0   0 0.10404975                  
 2012-01-31 0.2944144   0  0 0.06190774   0 0.5396281  0  0   0   0 0.10404975                  
 2012-02-29 0.3484549   0  0 0.02749320   0 0.4641493  0  0   0   0 0.15990266                  
 2012-03-31 0.3484549   0  0 0.02749320   0 0.4641493  0  0   0   0 0.15990266                  
 2012-04-30 0.3243516   0  0 0.01870868   0 0.4966401  0  0   0   0 0.16029959                  
                                                                                            
 Portfolio Back-test - smooth-Weights head :                                                
                                                                                            
                  AAPL        ABB         CS        HMC        HPQ        IBM                   
 2002-09-30 0.09090909 0.09090909 0.09090909 0.09090909 0.09090909 0.09090909                   
 2002-10-31 0.08031046 0.07831602 0.08090424 0.11760445 0.09219895 0.12429518                   
 2002-11-30 0.06678317 0.06125195 0.06435782 0.14441560 0.07791147 0.15596948                   
 2002-12-31 0.05436594 0.04530857 0.04810385 0.16697865 0.06030214 0.18195965                   
 2003-01-31 0.04672669 0.03231958 0.03455581 0.18275147 0.04431444 0.20181244                   
 2003-02-28 0.04202978 0.02247242 0.02414959 0.19355615 0.03146856 0.21627932                   
                    MS         SI        SNE        UBS       YHOO                              
 2002-09-30 0.09090909 0.09090909 0.09090909 0.09090909 0.09090909                              
 2002-10-31 0.07636364 0.08299469 0.10989355 0.08075519 0.07636364                              
 2002-11-30 0.05890909 0.06686635 0.14026486 0.10436112 0.05890909                              
 2002-12-31 0.04320000 0.05036154 0.16987602 0.13634363 0.04320000                              
 2003-01-31 0.03063273 0.03636196 0.19479786 0.16509429 0.03063273                              
 2003-02-28 0.02120727 0.02550419 0.21404406 0.18808139 0.02120727                              
                                                                                            
 Portfolio Back-test - smooth-Weights tail :                                                
                                                                                            
                 AAPL          ABB           CS        HMC         HPQ       IBM                
 2011-11-30 0.1312886 1.903126e-15 7.173486e-13 0.03874068 0.020047315 0.7238668                
 2011-12-31 0.1748905 1.158519e-15 4.379652e-13 0.04003042 0.013792779 0.6833972                
 2012-01-31 0.2097111 7.050979e-16 2.673128e-13 0.04399510 0.009334302 0.6458251                
 2012-02-29 0.2444455 4.290505e-16 1.631079e-13 0.04278208 0.006235762 0.6032310                
 2012-03-31 0.2735914 2.610253e-16 9.949685e-14 0.03989917 0.004122565 0.5656441                
 2012-04-30 0.2922055 1.587722e-16 6.067738e-14 0.03547084 0.002702204 0.5410721                
                      MS           SI        SNE          UBS       YHOO                        
 2011-11-30 2.839639e-11 4.948800e-09 0.06772726 2.005366e-11 0.01832943                        
 2011-12-31 1.743915e-11 3.043044e-09 0.05111445 1.226762e-11 0.03677463                        
 2012-01-31 1.070428e-11 1.870085e-09 0.03695553 7.501827e-12 0.05417893                        
 2012-02-29 6.567043e-12 1.148606e-09 0.02594543 4.585849e-12 0.07736027                        
 2012-03-31 4.026910e-12 7.050968e-10 0.01783053 2.802361e-12 0.09891233                        
 2012-04-30 2.468157e-12 4.326179e-10 0.01205628 1.711928e-12 0.11649304                        
                                                                                            
 ...
 ...
 ...                                                    
 ...                                                            
                                                                                            
 Portfolio Back-test - statistics:                                                          
                                                                                            
                      Portfolio    Benchmark                                                    
 Total Return        1.19925503  0.964008542                                                    
 Mean Return         0.01042830  0.008382683                                                    
 StandardDev Return  0.05415594  0.066536889                                                    
 Maximum Loss       -0.25290984 -0.240140032