graph LR
finquant_portfolio["finquant.portfolio"]
finquant_efficient_frontier["finquant.efficient_frontier"]
finquant_monte_carlo["finquant.monte_carlo"]
finquant_minimise_fun["finquant.minimise_fun"]
finquant_portfolio -- "invokes" --> finquant_efficient_frontier
finquant_portfolio -- "invokes" --> finquant_monte_carlo
finquant_efficient_frontier -- "utilizes" --> finquant_minimise_fun
finquant_monte_carlo -- "utilizes" --> finquant_minimise_fun
The Portfolio Optimization subsystem encompasses the core algorithms and utilities responsible for identifying optimal risk-return trade-offs and simulating portfolio performance.
Serves as the central orchestrator and primary interface for users to access portfolio optimization and simulation capabilities. It manages portfolio data and invokes the specific optimization and simulation engines. This component is fundamental as it embodies the project's architectural bias towards a centralized Portfolio object.
Related Classes/Methods:
Implements algorithms to calculate and visualize the Efficient Frontier. It identifies portfolios that offer the highest expected return for a given level of risk or the lowest risk for a given expected return, a cornerstone of modern portfolio theory. This component is critical for its direct application of optimization principles.
Related Classes/Methods:
Provides the functionality for performing Monte Carlo simulations to generate a large number of random portfolios. This component is essential for exploring the risk-return landscape through simulation, complementing deterministic optimization methods.
Related Classes/Methods:
A utility component that encapsulates the mathematical objective functions and constraints required by the optimization algorithms. These functions define what the optimizers aim to minimize (e.g., volatility) or maximize (e.g., Sharpe ratio). It is a foundational component, providing the mathematical backbone for both efficient_frontier and monte_carlo.
Related Classes/Methods: