Задание № 1
Определение характеристик распределения доходностей ценных бумаг
Шаг 1: Загрузка данных о доходностях ценных бумаг
> library(fBasics) # загружаем статистический пакет fBasics
> da=read.table("ex1_data.txt",header=T) # загрузим исходные данные о простых дневных доходностях акций компании American Express (axp), взвешенного индекса CRSP (vw), равновзвешенного фондового индекса CRSP (ew) и составного индекса S&P 1500 (sp).
> head(da) # Просмотрим первые шесть строк загруженных данных:
date axp vw ew sp
1 2001-09-04 0.000824 -0.001658 -0.005708 -0.000565
2 2001-09-05 0.007682 -0.003242 -0.008926 -0.001059
3 2001-09-06 -0.039477 -0.020733 -0.014187 -0.022390
4 2001-09-07 -0.019274 -0.017769 -0.011476 -0.018637
5 2001-09-10 0.011850 0.003513 -0.007368 0.006226
6 2001-09-17 -0.135961 -0.050714 -0.042398 -0.049216
> mmm<-da[,5] # загрузка простых дневных доходностей индекса S&P 500
Шаг 2: Рассчитаем описательные статистики
> basicStats(mmm) # Вычисляем базовые статистики mmm
Результат:
Nobs 2535.000000 # Размер (длинна) временного ряда
NAs 0.000000 # Количество пропущенных значений
Minimum - 0.090350 # Минимальное значение доходностиMaximum 0.115800 # Максимальное значение доходности1. Quartile - 0.005798 # 25-ый перцентиль3. Quartile 0.006117 # 75-ый перцентильMean 0.000094 # Математическое ожидание выборкиMedian 0.000700 # Медиана выборкиSum 0.238869 # Сумма выборкиSE Mean 0.000274 # СКО выборки = кв. корень(вариац. выб./размер выборки)LCL Mean - 0.000442 # нижняя граница 95% доверительного интервалаUCL Mean 0.000631 # верхняя граница 95% доверительного интервалаVariance 0.000190 # Вариация выборкиStdev 0.013779 # СКО выборкиSkewness 0.008152 # Асимметрия выборкиKurtosis 8.532667 # Эксцесс выборки
# Рассчитаем вручную выборочные моменты различных порядков:
> mean(mmm) # выборочное математическое ожидание
[1] 9.42284e-05> var(mmm) # выборочная вариация
[1] 0.0001898641> stdev(mmm) # выборочное СКО
[1] 0.01377912
Шаг 3: Элементарные тесты на нормальность:
> t.test(mmm) # t-тест на равенство нулю математического ожидания доходностей индекса S&P 1500
# Результат:
One Sample t-test
data: mmm
t = 0.34431, df = 2534, p-value = 0.7306alternative hypothesis: true mean is not equal to 095 percent confidence interval: -0.0004424177 0.0006308745sample estimates: mean of x 9.42284e-05альтернативная гипотеза: настоящее математическое ожидание не равно нулю.
95% доверительный интервал:
-0.0004424177 0.0006308745 # (сравните с рассчитанными выше базовыми статистиками)p-value > 0.05; значит мы не можем отклонить нулевую гипотезу о равенстве нулю математического ожидания с 95% уровнем доверительной вероятности.
> s3=skewness(mmm) # расчёт параметра скошенности распределения дневных доходностей фондового индекса
> T=length(mmm) # количество дневных доходностей
> T
[1] 2535
> t3=s3/sqrt(6/T) # тест на скошенность распределения
> t3
[1] 0.593333
> pp=2*(1-pnorm(t3)) # рассчитываем p-value
> pp
[1] 0.8669282 # мы не можем отклонить нулевую гипотезу о симметричностираспределения.
> s4=kurtosis(mmm)
> t4=s4/sqrt(24/T) # тест на эксцесс распределения
> t4
[1] 87.69366 # значение очень велико, следовательно, отклоняем нулевую гипотезу онормальности распределения, распределение имеет толстые хвосты.
> normalTest(mmm,method="jb") # тест Харке-Бера на нормальность
Title: Jarque - Bera Normalality TestTest Results: STATISTIC: X-squared: 7706.6246 P VALUE: Asymptotic p Value: < 2.2e-16 Description: Tue Sep 04 19:04:40 2018 by user: imoto# p-value Менее 5% следовательно, гипотезу о нормальности распределения можно отклонить.
Задание 2
Визуализация финансовой информации
Шаг 1: Загрузка данных о доходностях ценных бумаг:
> library(fBasics)
> da=read.table("ex1_data.txt ",header=T) # Load data
> mmm=da[,5] # выбираем дневные доходности индекса S&P 1500
# построим гистограмму доходностей индекса
> hist(mmm,nclass=30)
Результат:
> d1=density(mmm) # строим эмпирическую функцию плотности распределения доходностей акций индекса S&P1500
> range(mmm) # максимальное и минимальное значение дневных доходностей индекса
[1] -0.09035 0.11580> x=seq(-.1,.1,.001) # создадим последовательность x от -0.1 до 0.1 с шагом 0.001.
Шаг 2: Построение функции распределения
# следующие команды рисуют график плотности вероятности
> y1=dnorm(x,mean(mmm),stdev(mmm)) # построим функцию плотности нормального распределения с первым и вторым моментом, совпадающими с соотв. моментами распределения доходностей индекса S&P1500.
> plot(d1$x,d1$y,xlab="rtn",ylab="density",type="l") # построим график эмпирической плотности распределения доходностей индекса S&P1500
> lines(x,y1,lty=2) # построим график функции плотности распределения y1
# Результат:
# Какие выводы можно сделать из построенного графика?