Добавим несколько функций в наш код.
- Код: выделить все
x<-read.csv(file = file.choose(),sep=",",as.is = TRUE)
y<-sapply(x[2:5],as.numeric)
ts.plot(y)
yc<-y[,4]
z<-density(yc)
plot(z)
z2=rnorm(10000)
plot(density(z2))
acf(yc)
yl<-y[,3]
acf(yl)
yh<-y[,2]
acf(yh)
yo<-y[,1]
acf(yo)
ym<-(y[,2]+y[,3])/2
acf(ym,lag.max = 100)
Здесь добавлены следующие функии:
расчет распределения для исходных данных,
расчет распределения для случайных,
расчет автокорелляции для цен открытия, максимума, минимума, закрытия и для средней цены.
Теперь запустим этот код на евро минутках.
Картинка нормального распределения.
Как видим почти идеальный колокол. Это говорит что данные случайны. И это не удивительно, эта картинка строилась на случайных данных.
Теперь картинка распределения евро.
Повод задуматься, а случайны ли эти данные.
Давайте проверим автокорелляцию. Корреляция показывает зависимость одних данных от других. Высокий коэффициент (1) говорит о том что зависимость есть и она высока.
Как видим коэффициент близок к 1 на протяжение 100 баров. Т.е. будущая цена сильно зависит от прошлых цен практически на протяжении 100 баров.
Рынок предсказуем даже на минутках.
Вы сами можете проверить свои любимые пары и таймфреймы. Только выберите длинную историю.