Interface PortfolioOptimizationAlgorithm

  • All Known Implementing Classes:
    Lai2010OptimizationAlgorithm, NMSAAM, TopNOptimizationAlgorithm

    public interface PortfolioOptimizationAlgorithm
    Computes the optimal weights based only on returns. In general, portfolio optimization takes in more parameters than just the return matrix. Those parameters, such as risk parameters, constraints, are usually fixed. We can fix them in the constructors. Therefore, this API takes only the variable parameters that can change between calls.
    • Method Detail

      • getOptimalWeights

        Vector getOptimalWeights​(Matrix returns,
                                 Vector weights0,
                                 PortfolioOptimizationAlgorithm.SymbolLookup symbolLookup,
                                 LocalDateTimeInterval interval)
                          throws Exception
        Computes the optimal weights for the products using returns.
        Parameters:
        returns - the returns of the products
        weights0 - the initial/current/original weights
        symbolLookup - the lookup service for product symbols and indices
        interval - the time interval of the returns matrix
        Returns:
        the optimal weights
        Throws:
        Exception - if fail to compute optimal weights