Quantitative asset management companies have long struggled with the decision on whether to build portfolio optimization models or buy off-the-shelf packages. To cater to their ever changing investment and risk management needs, portfolio management groups are striving to build robust portfolio management solutions that are transparent, easy to adopt and are easily extendible. At MathWorks, we have worked with many portfolio management groups who have adopted MATLAB and associated toolboxes to build portfolio management systems. These groups like the flexibility of building and extending models in an environment that is transparent, robust and customizable. They also like the ability to try out new research ideas with minimal effort before using these models in their investment decision making process. In this article, we will discuss the various portfolio optimization functions that are available in MATLAB and the Financial Toolboxes. In particular, we will focus on the new object-oriented approach to construct portfolios and discuss how this architecture lends easily to build and extend applications. We will discuss the object-oriented implementations of the Portfolio objects in MATLAB and then demonstrate through a case study a sample implementation of the Black-Litterman optimization approach . We will illustrate how the out-of-the box portfolio functionality can be easily extended to implement alternate portfolio construction approaches.