So, what are we doing here? What is this all about? As we heard about earlier, our work in this lesson builds upon previous lessons. While we’ll still develop trading strategies with large baskets of stocks and use optimization to find combinations of weights on stocks to seek the highest return for a given level of risk, we’ll now learn how to develop models of portfolio returns and risk and add these into our optimization framework. Before, we always talked about the distribution of future log returns and it’s mean and standard deviation like these were numbers, we can just read off of a list somewhere. But in general, this is not the case. Otherwise, all this would be easy. In addition, we aren’t going to explicitly model returns in the way you might expect. The problem with explicit estimation of returns is that these estimates are very noisy and noise causes unnecessary trading which we want to avoid because trades are costly. Instead, we will focus on what Jonathan mentioned earlier. Drivers of mean returns and drivers of volatility and these will be the bases of our model. Drivers of mean returns are alpha factors and drivers of volatility or risk factors. We’ll come up with a way to quantify these concepts. In the next few lessons, we’ll learn about factors, how to create and improve them, and how they fit into the model. We will also explore advanced portfolio optimization using factors. We’ve actually seen some ideas for factors earlier in this course without explicitly calling them factors. For example, factors can be based on momentum, or fundamental information. When we can process the data in such a way that they have the potential to provide predictive information about the future movement of stocks, we call these factors. But what is a factor? A factor is a list of numerical values one assign to each stock in our stock universe that is derived to potentially be predictive of an aspect of the performance of the stocks in the future. In essence, factors are signals that help suggest where to place bets in a portfolio of stocks and further suggest what the relative magnitudes of those bets should be. Factors are the basis of quantitative portfolio management, as the search for effective trading strategies starts with a search for factors that drive stock movements. This lesson will introduce you to an example of a factor and show you how to standardize it so that it can be interpreted as a set of weights for a theoretical portfolio. After that, we’ll walk you through an open source Python library, Zipline which we’ll use throughout the module. You’ll also use it in the project to create and evaluate factors encode. Zipline is a Pythonic algorithmic trading library. It’s an event-driven system for back-testing. If you start work at a fund or a bank, it’s likely that you will learn proprietary software packages that are built in-house and these will be unique to the firm that you work at. Learning how to use the open source packages in this program, will give you practice in learning and using custom libraries such as the ones that you may use on the job. By the end of this lesson, you’ll have hands on practice with implementing your first factor in code which will serve as a foundation for the rest of the module.