ML is about optimizing objective functions. In algorithmic trading, the objectives are the return and the risk of the overall investment portfolio, typically relative to a benchmark (which may be cash or the risk-free interest rate).
There are several metrics to evaluate these objectives. We will briefly review the most commonly-used metrics and how to compute them using the pyfolio library, which is also used by zipline and Quantopian. We will also review how to apply these metrics on Quantopian when testing an algorithmic trading strategy.
We'll use some simple notations: let R be the time series of one-period simple portfolio returns, R=(r1, ..., rT), from dates 1 to T, and Rf =(rf1, ..., rfT) be the matching time series of risk-free rates, so that Re=R-Rf =(r1-rf1,..., rT-rfT) is the excess return.