Class MeanVarianceOptimizer
java.lang.Object
org.drip.portfolioconstruction.allocator.MeanVarianceOptimizer
- Direct Known Subclasses:
ConstrainedMeanVarianceOptimizer,QuadraticMeanVarianceOptimizer
public abstract class MeanVarianceOptimizer
extends java.lang.Object
MeanVarianceOptimizer exposes Portfolio Construction using Mean Variance Optimization Techniques.
- Module = Portfolio Core Module
- Library = Asset Allocation Analytics
- Project = Portfolio Construction under Allocation Constraints
- Package = MVO Based Portfolio Allocation Construction
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description MeanVarianceOptimizer() -
Method Summary
Modifier and Type Method Description abstract HoldingsAllocationallocate(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties)Allocate the Optimal Portfolio Weights given the Portfolio Construction ParametersMarkovitzBulletefficientFrontier(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties, int frontierSampleUnits)Generate the Efficient Frontier given the Portfolio Construction Parametersabstract HoldingsAllocationglobalMinimumVarianceAllocate(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties)Allocate the Global Minimum Variance Portfolio without any Returns Constraints in the Parametersabstract HoldingsAllocationlongOnlyMaximumReturnsAllocate(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties)Allocate the Long-Only Maximum Returns PortfolioMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
MeanVarianceOptimizer
public MeanVarianceOptimizer()
-
-
Method Details
-
longOnlyMaximumReturnsAllocate
public abstract HoldingsAllocation longOnlyMaximumReturnsAllocate(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties)Allocate the Long-Only Maximum Returns Portfolio- Parameters:
portfolioConstructionParameters- The Portfolio Construction ParametersassetUniverseStatisticalProperties- The Asset Universe Statistical Properties Instance- Returns:
- The Long-Only Maximum Returns Portfolio
-
globalMinimumVarianceAllocate
public abstract HoldingsAllocation globalMinimumVarianceAllocate(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties)Allocate the Global Minimum Variance Portfolio without any Returns Constraints in the Parameters- Parameters:
portfolioConstructionParameters- The Portfolio Construction ParametersassetUniverseStatisticalProperties- The Asset Universe Statistical Properties Instance- Returns:
- The Global Minimum Variance Portfolio
-
allocate
public abstract HoldingsAllocation allocate(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties)Allocate the Optimal Portfolio Weights given the Portfolio Construction Parameters- Parameters:
portfolioConstructionParameters- The Portfolio Construction ParametersassetUniverseStatisticalProperties- The Asset Universe Statistical Properties Instance- Returns:
- The Optimal Portfolio
-
efficientFrontier
public MarkovitzBullet efficientFrontier(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties, int frontierSampleUnits)Generate the Efficient Frontier given the Portfolio Construction Parameters- Parameters:
portfolioConstructionParameters- The Portfolio Construction ParametersassetUniverseStatisticalProperties- The Asset Universe Statistical Properties InstancefrontierSampleUnits- The Number of Frontier Sample Units- Returns:
- The Efficient Frontier
-