Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168765
Image: ubuntu2004
stock_symbol = 'IBM' stock = finance.Stock(stock_symbol) csv = stock.yahoo() P = stock.close() P.plot()
# Обчислимо прибутковості... ret=P.log().diffs() ret.plot()
# Нормалізуємо прибутковості... sigma=ret.standard_deviation() ret_norm=ret.scale(1/sigma) ret_norm.plot() # На наступному рисунку "1" на шкалі y відповідає середньоквадратичному відхиленню. Таким чином, можна порівнювати ряди різних акцій.
# Далі перейдемо до обчислення волатильності. Для цього необхідно виконати наступні дії: # 1) обчислити модуль нормалізованих волатильностей: abs_ret_norm=ret_norm.abs() abs_ret_norm.plot()
# 2) Здійснимо згладжування модуля прибутковостей з вікном 100: vol=abs_ret_norm.simple_moving_average(10); vol.plot() # Отриманий часовий ряд називається волатильністю. Волатильність є мірою мінливості часового ряду # Як видно з графіку, волатильність підвищується під час кризи
# Дослідимо автокореляцію вхідного часового ряду, прибутковостей та модуля прибутковостей autocorr=[] for i in range (1000): autocorr.append(P.autocorrelation(i)) finance.TimeSeries(autocorr).plot()
# Також дослідимо розподіл нормалізованих прибутковостей та порівняємо їх з Гауссовим ret_norm.plot_histogram(50)