This course aims to explore the Markowitz portfolio optimization in its many variations and extensions, with special emphasis on R programming. Contents of the course include: Modern portfolio theory, Parametrization of return, risk and dependencies, Portfolio optimization, Portfolio simulations: Historical simulation o Monte Carlo simulation, practical application of the material given during the lectures.