INNER CODE UNIT · Python

tracking_error

dmarienko/QuantTradingResearch · models/helpers.py:13

def tracking_error(benchmark, tracker, mode='returns'):
    """
    Tracking error in percents
    """
    # we want to compare only common date intervals so bit filtering here
    if mode.startswith('price'):
        # converting to returns
        f = pd.concat((benchmark.pct_change(), tracker.pct_change()), axis=1, keys=['X', 'Y']).dropna()
    else:
        # data already contains returns so not need to convert it
        f = pd.concat((benchmark, tracker), axis=1, keys=['X', 'Y']).dropna()
    return 100 * np.std(f.X - f.Y, ddof=1)


def prices_to_returns(prices):
    return prices.pct_change()[1:] # drop first inf

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…