Class PortfolioOptimizer
java.lang.Object
org.episteme.social.economics.PortfolioOptimizer
Portfolio optimization using Modern Portfolio Theory (Markowitz).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic final recordstatic final record -
Method Summary
Modifier and TypeMethodDescriptiongenerateEfficientFrontier(List<PortfolioOptimizer.Asset> assets, Real[][] correlations, int numPoints) Generates efficient frontier points.static Real[][]identityCorrelation(int n) Creates correlation matrix (simplified: assumes given correlations).static PortfolioOptimizer.PortfoliooptimizeMaxSharpe(List<PortfolioOptimizer.Asset> assets, Real[][] correlations, Real riskFreeRate) Optimizes portfolio for maximum Sharpe ratio.static PortfolioOptimizer.PortfoliooptimizeMinVolatility(List<PortfolioOptimizer.Asset> assets, Real[][] correlations, Real targetReturn) Optimizes portfolio for minimum volatility given target return.static RealportfolioReturn(List<PortfolioOptimizer.Asset> assets, Real[] weights) Calculates portfolio return.static RealportfolioVolatility(List<PortfolioOptimizer.Asset> assets, Real[] weights, Real[][] correlationMatrix) Calculates portfolio volatility.static RealsharpeRatio(Real portfolioReturn, Real volatility, Real riskFreeRate) Calculates Sharpe Ratio.
-
Method Details
-
portfolioReturn
Calculates portfolio return. -
portfolioVolatility
public static Real portfolioVolatility(List<PortfolioOptimizer.Asset> assets, Real[] weights, Real[][] correlationMatrix) Calculates portfolio volatility. -
sharpeRatio
-
optimizeMaxSharpe
public static PortfolioOptimizer.Portfolio optimizeMaxSharpe(List<PortfolioOptimizer.Asset> assets, Real[][] correlations, Real riskFreeRate) Optimizes portfolio for maximum Sharpe ratio. -
optimizeMinVolatility
public static PortfolioOptimizer.Portfolio optimizeMinVolatility(List<PortfolioOptimizer.Asset> assets, Real[][] correlations, Real targetReturn) Optimizes portfolio for minimum volatility given target return. -
generateEfficientFrontier
public static List<PortfolioOptimizer.EfficientFrontierPoint> generateEfficientFrontier(List<PortfolioOptimizer.Asset> assets, Real[][] correlations, int numPoints) Generates efficient frontier points. -
identityCorrelation
Creates correlation matrix (simplified: assumes given correlations).
-