Автокореляція

Аналіз часових рядів у Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Що таке автокореляція?

  • Кореляція часового ряду з його зсунутою копією
  • Також зветься серійною кореляцією
  • Автокореляція першого лага
Аналіз часових рядів у Python

Інтерпретація автокореляції

  • Повернення до середнього — від'ємна автокореляція
Аналіз часових рядів у Python

Інтерпретація автокореляції

  • Моментум або слідкування за трендом — додатна автокореляція

Аналіз часових рядів у Python

Трейдери використовують автокореляцію, щоб заробляти

  • Окремі акції
    • Історично мають від'ємну автокореляцію
    • Вимірюються на коротких горизонтах (дні)
    • Стратегія: купувати лузерів і продавати переможців
  • Товари та валюти
    • Історично мають додатну автокореляцію
    • Вимірюються на довших горизонтах (місяці)
    • Стратегія: купувати переможців і продавати лузерів
Аналіз часових рядів у Python

Приклад додатної автокореляції: валютні курси

  • Використайте денні курси $\yen$/$ у датафреймі df з FRED
  • Перетворіть індекс на datetime
# Convert index to datetime
df.index = pd.to_datetime(df.index)

# Downsample from daily to monthly data df = df.resample(rule='M').last()
# Compute returns from prices df['Return'] = df['Price'].pct_change()
# Compute autocorrelation autocorrelation = df['Return'].autocorr() print("The autocorrelation is: ",autocorrelation)
The autocorrelation is: 0.0567
Аналіз часових рядів у Python

Давайте потренуємось!

Аналіз часових рядів у Python

Preparing Video For Download...