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 HoldingsAllocation
allocate(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties)
Allocate the Optimal Portfolio Weights given the Portfolio Construction ParametersMarkovitzBullet
efficientFrontier(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties, int frontierSampleUnits)
Generate the Efficient Frontier given the Portfolio Construction Parametersabstract HoldingsAllocation
globalMinimumVarianceAllocate(HoldingsAllocationControl portfolioConstructionParameters, AssetUniverseStatisticalProperties assetUniverseStatisticalProperties)
Allocate the Global Minimum Variance Portfolio without any Returns Constraints in the Parametersabstract HoldingsAllocation
longOnlyMaximumReturnsAllocate(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
-