Методы машинного обучения для моделирования и прогнозирования финансовых временных рядов

Классические подходы к анализу финансовых рынков, алгоритмы машинного обучения. Модель ансамблей классификационных деревьев для прогнозирования динамики финансовых временных рядов. Выбор алгоритма для анализа данных. Практическая реализация модели.

Рубрика Экономико-математическое моделирование
Вид дипломная работа
Язык русский
Дата добавления 21.09.2016
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Cl.lag3.Px.SP500 <- lag(Cl(SP500.M15), k=3)

Cl.lag4.Px.SP500 <- lag(Cl(SP500.M15), k=4)

Cl.lag5.Px.SP500 <- lag(Cl(SP500.M15), k=5)

Cl.lag6.Px.SP500 <- lag(Cl(SP500.M15), k=6)

Cl.lag7.Px.SP500 <- lag(Cl(SP500.M15), k=7)

Cl.lag8.Px.SP500 <- lag(Cl(SP500.M15), k=8)

Cl.lag9.Px.SP500 <- lag(Cl(SP500.M15), k=9)

Cl.lag10.Px.SP500 <- lag(Cl(SP500.M15), k=10)

Cl.lag11.Px.SP500 <- lag(Cl(SP500.M15), k=11)

Cl.lag12.Px.SP500 <- lag(Cl(SP500.M15), k=12)

Cl.lag13.Px.SP500 <- lag(Cl(SP500.M15), k=13)

Cl.lag14.Px.SP500 <- lag(Cl(SP500.M15), k=14)

dCl.Px.SP500 <- (Cl.Px.SP500 - Cl.lag1.Px.SP500)/Cl.lag1.Px.SP500

dCl.lag2.Px.SP500 <- (Cl.Px.SP500 - Cl.lag2.Px.SP500)/Cl.lag2.Px.SP500

dCl.lag3.Px.SP500 <- (Cl.Px.SP500 - Cl.lag3.Px.SP500)/Cl.lag3.Px.SP500

dCl.lag4.Px.SP500 <- (Cl.Px.SP500 - Cl.lag4.Px.SP500)/Cl.lag4.Px.SP500

dCl.lag5.Px.SP500 <- (Cl.Px.SP500 - Cl.lag5.Px.SP500)/Cl.lag5.Px.SP500

dCl.lag6.Px.SP500 <- (Cl.Px.SP500 - Cl.lag6.Px.SP500)/Cl.lag6.Px.SP500

dCl.lag7.Px.SP500 <- (Cl.Px.SP500 - Cl.lag7.Px.SP500)/Cl.lag7.Px.SP500

dCl.lag8.Px.SP500 <- (Cl.Px.SP500 - Cl.lag8.Px.SP500)/Cl.lag8.Px.SP500

dCl.lag9.Px.SP500 <- (Cl.Px.SP500 - Cl.lag9.Px.SP500)/Cl.lag9.Px.SP500

dCl.lag10.Px.SP500 <- (Cl.Px.SP500 - Cl.lag10.Px.SP500)/Cl.lag10.Px.SP500

dCl.lag11.Px.SP500 <- (Cl.Px.SP500 - Cl.lag11.Px.SP500)/Cl.lag11.Px.SP500

dCl.lag12.Px.SP500 <- (Cl.Px.SP500 - Cl.lag12.Px.SP500)/Cl.lag12.Px.SP500

dCl.lag13.Px.SP500 <- (Cl.Px.SP500 - Cl.lag13.Px.SP500)/Cl.lag13.Px.SP500

dCl.lag14.Px.SP500 <- (Cl.Px.SP500 - Cl.lag14.Px.SP500)/Cl.lag14.Px.SP500

High.Px.SP500 <- Hi(SP500.M15)

Low.Px.SP500 <- Lo(SP500.M15)

Vo.SP500 <- Vo(SP500.M15)

# Fixing ejections in Vo.SP500

ejections <- which(Vo.SP500 == 0)

replace.list <- c(length(ejections))

for(i in(1 : length(ejections))){

replace.list[i]<- mean(Vo.SP500[(ejections[i] - 5) : ejections[i]])

}

Vo.SP500 <-replace(Vo.SP500, ejections, replace.list)

rm(i, ejections, replace.list)

Vo.lag1.SP500 <- lag(Vo.SP500, k=1)

Vo.lag2.SP500 <- lag(Vo.SP500, k=2)

Vo.lag3.SP500 <- lag(Vo.SP500, k=3)

Vo.lag4.SP500 <- lag(Vo.SP500, k=4)

Vo.lag5.SP500 <- lag(Vo.SP500, k=5)

Vo.lag6.SP500 <- lag(Vo.SP500, k=6)

Vo.lag7.SP500 <- lag(Vo.SP500, k=7)

Vo.lag8.SP500 <- lag(Vo.SP500, k=8)

Vo.lag9.SP500 <- lag(Vo.SP500, k=9)

Vo.lag10.SP500 <- lag(Vo.SP500, k=10)

Vo.lag11.SP500 <- lag(Vo.SP500, k=11)

Vo.lag12.SP500 <- lag(Vo.SP500, k=12)

Vo.lag13.SP500 <- lag(Vo.SP500, k=13)

Vo.lag14.SP500 <- lag(Vo.SP500, k=14)

dVo.Px.SP500 <- (Vo.SP500 - Vo.lag1.SP500)/Vo.lag1.SP500

dVo.lag2.SP500 <- (Vo.SP500 - Vo.lag2.SP500)/Vo.lag2.SP500

dVo.lag3.SP500 <- (Vo.SP500 - Vo.lag3.SP500)/Vo.lag3.SP500

dVo.lag4.SP500 <- (Vo.SP500 - Vo.lag4.SP500)/Vo.lag4.SP500

dVo.lag5.SP500 <- (Vo.SP500 - Vo.lag5.SP500)/Vo.lag5.SP500

dVo.lag6.SP500 <- (Vo.SP500 - Vo.lag6.SP500)/Vo.lag6.SP500

dVo.lag7.SP500 <- (Vo.SP500 - Vo.lag7.SP500)/Vo.lag7.SP500

dVo.lag8.SP500 <- (Vo.SP500 - Vo.lag8.SP500)/Vo.lag8.SP500

dVo.lag9.SP500 <- (Vo.SP500 - Vo.lag9.SP500)/Vo.lag9.SP500

dVo.lag10.SP500 <- (Vo.SP500 - Vo.lag10.SP500)/Vo.lag10.SP500

dVo.lag11.SP500 <- (Vo.SP500 - Vo.lag11.SP500)/Vo.lag11.SP500

dVo.lag12.SP500 <- (Vo.SP500 - Vo.lag12.SP500)/Vo.lag12.SP500

dVo.lag13.SP500 <- (Vo.SP500 - Vo.lag13.SP500)/Vo.lag13.SP500

dVo.lag14.SP500 <- (Vo.SP500 - Vo.lag14.SP500)/Vo.lag14.SP500

MACD.Open.SP500 <- MACD(SP500.M15[,'SP500.Open'],nFast = 12, nSlow = 26,

nSig = 9, maType = "EMA")

MACD.Volume.SP500 <- MACD(SP500.M15[,'SP500.Volume'],nFast = 12, nSlow = 26,

nSig = 9, maType = "EMA")

Stoch.SP500 <- stoch(data.stoch, nFastK = 5, nFastD = 3, nSlowD = 3,

maType = "EMA", bounded = FALSE,smooth = 3)

RSI.Open.SP500 <- RSI(SP500.M15[,'SP500.Open'], n = 14, maType = "SMA")

RSI.Close.SP500 <- RSI(SP500.M15[,'SP500.Close'], n = 14, maType = "SMA")

# Fixing Stoch shotness

Stoch.Missing.Row <- Stoch[nrow(Stoch),]

Stoch.NASDAQ <- rbind(Stoch, Stoch.Missing.Row)

rm(Stoch.Missing.Row)

Stoch.Missing.Row <- Stoch.NASDAQ[nrow(Stoch.NASDAQ),]

Stoch.NASDAQ <- rbind(Stoch.NASDAQ, Stoch.Missing.Row)

rm(Stoch.Missing.Row)

Stoch.Missing.Row <- Stoch.SP500[nrow(Stoch.SP500),]

Stoch.NASDAQ <- rbind(Stoch.SP500, Stoch.Missing.Row)

rm(Stoch.Missing.Row)

# Grouping data

Data.AAPL <- cbind(Op.Px,

Op.lag1.Px,

Op.lag2.Px,

Op.lag3.Px,

Op.lag4.Px,

Op.lag5.Px,

Op.lag6.Px,

Op.lag7.Px,

Op.lag8.Px,

Op.lag9.Px,

Op.lag10.Px,

Op.lag11.Px,

Op.lag12.Px,

Op.lag13.Px,

Op.lag14.Px,

dOp.Px,

dOp.lag2.Px,

dOp.lag3.Px,

dOp.lag4.Px,

dOp.lag5.Px,

dOp.lag6.Px,

dOp.lag7.Px,

dOp.lag8.Px,

dOp.lag9.Px,

dOp.lag10.Px,

dOp.lag11.Px,

dOp.lag12.Px,

dOp.lag13.Px,

dOp.lag14.Px,

Cl.Px,

Cl.lag1.Px,

Cl.lag2.Px,

Cl.lag3.Px,

Cl.lag4.Px,

Cl.lag5.Px,

Cl.lag6.Px,

Cl.lag7.Px,

Cl.lag8.Px,

Cl.lag9.Px,

Cl.lag10.Px,

Cl.lag11.Px,

Cl.lag12.Px,

Cl.lag13.Px,

Cl.lag14.Px,

dCl.Px,

dCl.lag2.Px,

dCl.lag3.Px,

dCl.lag4.Px,

dCl.lag5.Px,

dCl.lag6.Px,

dCl.lag7.Px,

dCl.lag8.Px,

dCl.lag9.Px,

dCl.lag10.Px,

dCl.lag11.Px,

dCl.lag12.Px,

dCl.lag13.Px,

dCl.lag14.Px,

High.Px,

Low.Px,

Vo,

Vo.lag1,

Vo.lag2,

Vo.lag3,

Vo.lag4,

Vo.lag5,

Vo.lag6,

Vo.lag7,

Vo.lag8,

Vo.lag9,

Vo.lag10,

Vo.lag11,

Vo.lag12,

Vo.lag13,

Vo.lag14,

dVo.Px,

dVo.lag2,

dVo.lag3,

dVo.lag4,

dVo.lag5,

dVo.lag6,

dVo.lag7,

dVo.lag8,

dVo.lag9,

dVo.lag10,

dVo.lag11,

dVo.lag12,

dVo.lag13,

dVo.lag14,

MACD.Open,

MACD.Volume,

Stoch,

RSI.Open,

RSI.Close)

Data.NASDAQ <- cbind(dOp.Px.NASDAQ,

dOp.lag2.Px.NASDAQ,

dOp.lag3.Px.NASDAQ,

dOp.lag4.Px.NASDAQ,

dOp.lag5.Px.NASDAQ,

dOp.lag6.Px.NASDAQ,

dOp.lag7.Px.NASDAQ,

dOp.lag8.Px.NASDAQ,

dOp.lag9.Px.NASDAQ,

dOp.lag10.Px.NASDAQ,

dOp.lag11.Px.NASDAQ,

dOp.lag12.Px.NASDAQ,

dOp.lag13.Px.NASDAQ,

dOp.lag14.Px.NASDAQ,

dCl.Px.NASDAQ,

dCl.lag2.Px.NASDAQ,

dCl.lag3.Px.NASDAQ,

dCl.lag4.Px.NASDAQ,

dCl.lag5.Px.NASDAQ,

dCl.lag6.Px.NASDAQ,

dCl.lag7.Px.NASDAQ,

dCl.lag8.Px.NASDAQ,

dCl.lag9.Px.NASDAQ,

dCl.lag10.Px.NASDAQ,

dCl.lag11.Px.NASDAQ,

dCl.lag12.Px.NASDAQ,

dCl.lag13.Px.NASDAQ,

dCl.lag14.Px.NASDAQ)

Data.SP500 <- cbind(dOp.Px.SP500,

dOp.lag2.Px.SP500,

dOp.lag3.Px.SP500,

dOp.lag4.Px.SP500,

dOp.lag5.Px.SP500,

dOp.lag6.Px.SP500,

dOp.lag7.Px.SP500,

dOp.lag8.Px.SP500,

dOp.lag9.Px.SP500,

dOp.lag10.Px.SP500,

dOp.lag11.Px.SP500,

dOp.lag12.Px.SP500,

dOp.lag13.Px.SP500,

dOp.lag14.Px.SP500,

dCl.Px.SP500,

dCl.lag2.Px.SP500,

dCl.lag3.Px.SP500,

dCl.lag4.Px.SP500,

dCl.lag5.Px.SP500,

dCl.lag6.Px.SP500,

dCl.lag7.Px.SP500,

dCl.lag8.Px.SP500,

dCl.lag9.Px.SP500,

dCl.lag10.Px.SP500,

dCl.lag11.Px.SP500,

dCl.lag12.Px.SP500,

dCl.lag13.Px.SP500,

dCl.lag14.Px.SP500,

Vo.SP500,

Vo.lag1.SP500,

Vo.lag2.SP500,

Vo.lag3.SP500,

Vo.lag4.SP500,

Vo.lag5.SP500,

Vo.lag6.SP500,

Vo.lag7.SP500,

Vo.lag8.SP500,

Vo.lag9.SP500,

Vo.lag10.SP500,

Vo.lag11.SP500,

Vo.lag12.SP500,

Vo.lag13.SP500,

Vo.lag14.SP500,

dVo.Px.SP500,

dVo.lag2.SP500,

dVo.lag3.SP500,

dVo.lag4.SP500,

dVo.lag5.SP500,

dVo.lag6.SP500,

dVo.lag7.SP500,

dVo.lag8.SP500,

dVo.lag9.SP500,

dVo.lag10.SP500,

dVo.lag11.SP500,

dVo.lag12.SP500,

dVo.lag13.SP500,

dVo.lag14.SP500)

# Renaming columns

names(Data.AAPL)<- c('Op.Px',

'Op.lag1.Px',

'Op.lag2.Px',

'Op.lag3.Px',

'Op.lag4.Px',

'Op.lag5.Px',

'Op.lag6.Px',

'Op.lag7.Px',

'Op.lag8.Px',

'Op.lag9.Px',

'Op.lag10.Px',

'Op.lag11.Px',

'Op.lag12.Px',

'Op.lag13.Px',

'Op.lag14.Px',

'dOp.Px',

'dOp.lag2.Px',

'dOp.lag3.Px',

'dOp.lag4.Px',

'dOp.lag5.Px',

'dOp.lag6.Px',

'dOp.lag7.Px',

'dOp.lag8.Px',

'dOp.lag9.Px',

'dOp.lag10.Px',

'dOp.lag11.Px',

'dOp.lag12.Px',

'dOp.lag13.Px',

'dOp.lag14.Px',

'Cl.Px',

'Cl.lag1.Px',

'Cl.lag2.Px',

'Cl.lag3.Px',

'Cl.lag4.Px',

'Cl.lag5.Px',

'Cl.lag6.Px',

'Cl.lag7.Px',

'Cl.lag8.Px',

'Cl.lag9.Px',

'Cl.lag10.Px',

'Cl.lag11.Px',

'Cl.lag12.Px',

'Cl.lag13.Px',

'Cl.lag14.Px',

'dCl.Px',

'dCl.lag2.Px',

'dCl.lag3.Px',

'dCl.lag4.Px',

'dCl.lag5.Px',

'dCl.lag6.Px',

'dCl.lag7.Px',

'dCl.lag8.Px',

'dCl.lag9.Px',

'dCl.lag10.Px',

'dCl.lag11.Px',

'dCl.lag12.Px',

'dCl.lag13.Px',

'dCl.lag14.Px',

'High.Px',

'Low.Px',

'Vo',

'Vo.lag1',

'Vo.lag2',

'Vo.lag3',

'Vo.lag4',

'Vo.lag5',

'Vo.lag6',

'Vo.lag7',

'Vo.lag8',

'Vo.lag9',

'Vo.lag10',

'Vo.lag11',

'Vo.lag12',

'Vo.lag13',

'Vo.lag14',

'dVo.Px',

'dVo.lag2',

'dVo.lag3',

'dVo.lag4',

'dVo.lag5',

'dVo.lag6',

'dVo.lag7',

'dVo.lag8',

'dVo.lag9',

'dVo.lag10',

'dVo.lag11',

'dVo.lag12',

'dVo.lag13',

'dVo.lag14',

'MACD.Open',

'MACD.Open.signal',

'MACD.Volume',

'MACD.Volume.signal',

'Stoch.fastK',

'Stoch.fastD',

'Stoch.slowD',

'RSI.Open',

'RSI.Close')

names(Data.NASDAQ)<- c('dOp.Px.NASDAQ',

'dOp.lag2.Px.NASDAQ',

'dOp.lag3.Px.NASDAQ',

'dOp.lag4.Px.NASDAQ',

'dOp.lag5.Px.NASDAQ',

'dOp.lag6.Px.NASDAQ',

'dOp.lag7.Px.NASDAQ',

'dOp.lag8.Px.NASDAQ',

'dOp.lag9.Px.NASDAQ',

'dOp.lag10.Px.NASDAQ',

'dOp.lag11.Px.NASDAQ',

'dOp.lag12.Px.NASDAQ',

'dOp.lag13.Px.NASDAQ',

'dOp.lag14.Px.NASDAQ',

'dCl.Px.NASDAQ',

'dCl.lag2.Px.NASDAQ',

'dCl.lag3.Px.NASDAQ',

'dCl.lag4.Px.NASDAQ',

'dCl.lag5.Px.NASDAQ',

'dCl.lag6.Px.NASDAQ',

'dCl.lag7.Px.NASDAQ',

'dCl.lag8.Px.NASDAQ',

'dCl.lag9.Px.NASDAQ',

'dCl.lag10.Px.NASDAQ',

'dCl.lag11.Px.NASDAQ',

'dCl.lag12.Px.NASDAQ',

'dCl.lag13.Px.NASDAQ',

'dCl.lag14.Px.NASDAQ')

names(Data.SP500)<- c('dOp.Px.SP500',

'dOp.lag2.Px.SP500',

'dOp.lag3.Px.SP500',

'dOp.lag4.Px.SP500',

'dOp.lag5.Px.SP500',

'dOp.lag6.Px.SP500',

'dOp.lag7.Px.SP500',

'dOp.lag8.Px.SP500',

'dOp.lag9.Px.SP500',

'dOp.lag10.Px.SP500',

'dOp.lag11.Px.SP500',

'dOp.lag12.Px.SP500',

'dOp.lag13.Px.SP500',

'dOp.lag14.Px.SP500',

'dCl.Px.SP500',

'dCl.lag2.Px.SP500',

'dCl.lag3.Px.SP500',

'dCl.lag4.Px.SP500',

'dCl.lag5.Px.SP500',

'dCl.lag6.Px.SP500',

'dCl.lag7.Px.SP500',

'dCl.lag8.Px.SP500',

'dCl.lag9.Px.SP500',

'dCl.lag10.Px.SP500',

'dCl.lag11.Px.SP500',

'dCl.lag12.Px.SP500',

'dCl.lag13.Px.SP500',

'dCl.lag14.Px.SP500',

'Vo.SP500',

'Vo.lag1.SP500',

'Vo.lag2.SP500',

'Vo.lag3.SP500',

'Vo.lag4.SP500',

'Vo.lag5.SP500',

'Vo.lag6.SP500',

'Vo.lag7.SP500',

'Vo.lag8.SP500',

'Vo.lag9.SP500',

'Vo.lag10.SP500',

'Vo.lag11.SP500',

'Vo.lag12.SP500',

'Vo.lag13.SP500',

'Vo.lag14.SP500',

'dVo.Px.SP500',

'dVo.lag2.SP500',

'dVo.lag3.SP500',

'dVo.lag4.SP500',

'dVo.lag5.SP500',

'dVo.lag6.SP500',

'dVo.lag7.SP500',

'dVo.lag8.SP500',

'dVo.lag9.SP500',

'dVo.lag10.SP500',

'dVo.lag11.SP500',

'dVo.lag12.SP500',

'dVo.lag13.SP500',

'dVo.lag14.SP500')

# Removing excessive variables from the environment

rm(Op.Px, Op.lag1.Px,

Op.lag2.Px,

Op.lag3.Px,

Op.lag4.Px,

Op.lag5.Px,

Op.lag6.Px,

Op.lag7.Px,

Op.lag8.Px,

Op.lag9.Px,

Op.lag10.Px,

Op.lag11.Px,

Op.lag12.Px,

Op.lag13.Px,

Op.lag14.Px,

dOp.Px,

dOp.lag2.Px,

dOp.lag3.Px,

dOp.lag4.Px,

dOp.lag5.Px,

dOp.lag6.Px,

dOp.lag7.Px,

dOp.lag8.Px,

dOp.lag9.Px,

dOp.lag10.Px,

dOp.lag11.Px,

dOp.lag12.Px,

dOp.lag13.Px,

dOp.lag14.Px,

Cl.Px,

Cl.lag1.Px,

Cl.lag2.Px,

Cl.lag3.Px,

Cl.lag4.Px,

Cl.lag5.Px,

Cl.lag6.Px,

Cl.lag7.Px,

Cl.lag8.Px,

Cl.lag9.Px,

Cl.lag10.Px,

Cl.lag11.Px,

Cl.lag12.Px,

Cl.lag13.Px,

Cl.lag14.Px,

dCl.Px,

dCl.lag2.Px,

dCl.lag3.Px,

dCl.lag4.Px,

dCl.lag5.Px,

dCl.lag6.Px,

dCl.lag7.Px,

dCl.lag8.Px,

dCl.lag9.Px,

dCl.lag10.Px,

dCl.lag11.Px,

dCl.lag12.Px,

dCl.lag13.Px,

dCl.lag14.Px,

High.Px,

Low.Px,

Vo,

Vo.lag1,

Vo.lag2,

Vo.lag3,

Vo.lag4,

Vo.lag5,

Vo.lag6,

Vo.lag7,

Vo.lag8,

Vo.lag9,

Vo.lag10,

Vo.lag11,

Vo.lag12,

Vo.lag13,

Vo.lag14,

dVo.Px,

dVo.lag2,

dVo.lag3,

dVo.lag4,

dVo.lag5,

dVo.lag6,

dVo.lag7,

dVo.lag8,

dVo.lag9,

dVo.lag10,

dVo.lag11,

dVo.lag12,

dVo.lag13,

dVo.lag14,

MACD.Open,

MACD.Volume,

Stoch,

RSI.Open,

RSI.Close,

Op.Px.NASDAQ,

Op.lag1.Px.NASDAQ,

Op.lag2.Px.NASDAQ,

Op.lag3.Px.NASDAQ,

Op.lag4.Px.NASDAQ,

Op.lag5.Px.NASDAQ,

Op.lag6.Px.NASDAQ,

Op.lag7.Px.NASDAQ,

Op.lag8.Px.NASDAQ,

Op.lag9.Px.NASDAQ,

Op.lag10.Px.NASDAQ,

Op.lag11.Px.NASDAQ,

Op.lag12.Px.NASDAQ,

Op.lag13.Px.NASDAQ,

Op.lag14.Px.NASDAQ,

dOp.Px.NASDAQ,

dOp.lag2.Px.NASDAQ,

dOp.lag3.Px.NASDAQ,

dOp.lag4.Px.NASDAQ,

dOp.lag5.Px.NASDAQ,

dOp.lag6.Px.NASDAQ,

dOp.lag7.Px.NASDAQ,

dOp.lag8.Px.NASDAQ,

dOp.lag9.Px.NASDAQ,

dOp.lag10.Px.NASDAQ,

dOp.lag11.Px.NASDAQ,

dOp.lag12.Px.NASDAQ,

dOp.lag13.Px.NASDAQ,

dOp.lag14.Px.NASDAQ,

Cl.Px.NASDAQ,

Cl.lag1.Px.NASDAQ,

Cl.lag2.Px.NASDAQ,

Cl.lag3.Px.NASDAQ,

Cl.lag4.Px.NASDAQ,

Cl.lag5.Px.NASDAQ,

Cl.lag6.Px.NASDAQ,

Cl.lag7.Px.NASDAQ,

Cl.lag8.Px.NASDAQ,

Cl.lag9.Px.NASDAQ,

Cl.lag10.Px.NASDAQ,

Cl.lag11.Px.NASDAQ,

Cl.lag12.Px.NASDAQ,

Cl.lag13.Px.NASDAQ,

Cl.lag14.Px.NASDAQ,

dCl.Px.NASDAQ,

dCl.lag2.Px.NASDAQ,

dCl.lag3.Px.NASDAQ,

dCl.lag4.Px.NASDAQ,

dCl.lag5.Px.NASDAQ,

dCl.lag6.Px.NASDAQ,

dCl.lag7.Px.NASDAQ,

dCl.lag8.Px.NASDAQ,

dCl.lag9.Px.NASDAQ,

dCl.lag10.Px.NASDAQ,

dCl.lag11.Px.NASDAQ,

dCl.lag12.Px.NASDAQ,

dCl.lag13.Px.NASDAQ,

dCl.lag14.Px.NASDAQ,

Vo.NASDAQ,

High.Px.NASDAQ,

Low.Px.NASDAQ,

MACD.Open.NASDAQ,

Stoch.NASDAQ,

RSI.Open.NASDAQ,

RSI.Close.NASDAQ,

Op.Px.SP500,

Op.lag1.Px.SP500,

Op.lag2.Px.SP500,

Op.lag3.Px.SP500,

Op.lag4.Px.SP500,

Op.lag5.Px.SP500,

Op.lag6.Px.SP500,

Op.lag7.Px.SP500,

Op.lag8.Px.SP500,

Op.lag9.Px.SP500,

Op.lag10.Px.SP500,

Op.lag11.Px.SP500,

Op.lag12.Px.SP500,

Op.lag13.Px.SP500,

Op.lag14.Px.SP500,

dOp.Px.SP500,

dOp.lag2.Px.SP500,

dOp.lag3.Px.SP500,

dOp.lag4.Px.SP500,

dOp.lag5.Px.SP500,

dOp.lag6.Px.SP500,

dOp.lag7.Px.SP500,

dOp.lag8.Px.SP500,

dOp.lag9.Px.SP500,

dOp.lag10.Px.SP500,

dOp.lag11.Px.SP500,

dOp.lag12.Px.SP500,

dOp.lag13.Px.SP500,

dOp.lag14.Px.SP500,

Cl.Px.SP500,

Cl.lag1.Px.SP500,

Cl.lag2.Px.SP500,

Cl.lag3.Px.SP500,

Cl.lag4.Px.SP500,

Cl.lag5.Px.SP500,

Cl.lag6.Px.SP500,

Cl.lag7.Px.SP500,

Cl.lag8.Px.SP500,

Cl.lag9.Px.SP500,

Cl.lag10.Px.SP500,

Cl.lag11.Px.SP500,

Cl.lag12.Px.SP500,

Cl.lag13.Px.SP500,

Cl.lag14.Px.SP500,

dCl.Px.SP500,

dCl.lag2.Px.SP500,

dCl.lag3.Px.SP500,

dCl.lag4.Px.SP500,

dCl.lag5.Px.SP500,

dCl.lag6.Px.SP500,

dCl.lag7.Px.SP500,

dCl.lag8.Px.SP500,

dCl.lag9.Px.SP500,

dCl.lag10.Px.SP500,

dCl.lag11.Px.SP500,

dCl.lag12.Px.SP500,

dCl.lag13.Px.SP500,

dCl.lag14.Px.SP500,

High.Px.SP500,

Low.Px.SP500,

Vo.SP500,

Vo.lag1.SP500,

Vo.lag2.SP500,

Vo.lag3.SP500,

Vo.lag4.SP500,

Vo.lag5.SP500,

Vo.lag6.SP500,

Vo.lag7.SP500,

Vo.lag8.SP500,

Vo.lag9.SP500,

Vo.lag10.SP500,

Vo.lag11.SP500,

Vo.lag12.SP500,

Vo.lag13.SP500,

Vo.lag14.SP500,

dVo.Px.SP500,

dVo.lag2.SP500,

dVo.lag3.SP500,

dVo.lag4.SP500,

dVo.lag5.SP500,

dVo.lag6.SP500,

dVo.lag7.SP500,

dVo.lag8.SP500,

dVo.lag9.SP500,

dVo.lag10.SP500,

dVo.lag11.SP500,

dVo.lag12.SP500,

dVo.lag13.SP500,

dVo.lag14.SP500,

MACD.Open.SP500,

MACD.Volume.SP500,

Stoch.SP500,

RSI.Open.SP500,

RSI.Close.SP500,

data.stoch,

data.stoch.NASDAQ,

data.stoch.SP500,

kTimeframe)

# Fixing tails of lagging and fixing fix of shortness xD

Data.AAPL <- Data.AAPL[complete.cases(Data.AAPL[1:(nrow(Data.AAPL) - 1),]),]

Data.NASDAQ <- Data.NASDAQ[complete.cases(Data.NASDAQ[1:(nrow(Data.NASDAQ) - 1),]),]

Data.SP500 <- Data.SP500[complete.cases(Data.SP500[1:(nrow(Data.SP500) - 1),]),]

# Combaning data

Data <- cbind(Data.AAPL, Data.SP500)

Data <- Data[complete.cases(Data),]

#============================================Visualization=====================

par(col = "black", bty = "l")

plot(AAPL.M1$AAPL.Close, type = "l", main = "Timeframe composition",

xlab = "time", ylab = "quote")

lines(AAPL.M15$AAPL.Close,col = "red")

rm(AAPL.M1, AAPL.M15, Data.AAPL, Data.NASDAQ, Data.SP500, NASDAQ.M1,

NASDAQ.M15, SP500.M1, SP500.M15, timeframe)

save.image("I:/DataMining/#PROJECTS/Diplom/DATA/Data.tidyed.RData")

Приложение 2

#Establishing library

library(quantmod)

library(FSelector)

#Loading tydied data

load("I:/DataMining/#PROJECTS/Diplom/DATA/Data.tidyed.RData")

#====================================================Filtering=================

# Linear correlations

lin.corr <- linear.correlation(dCl.Px ~ Op.Px + Op.lag1.Px + Op.lag2.Px + Op.lag3.Px + Op.lag4.Px + Op.lag5.Px + Op.lag6.Px + Op.lag7.Px + Op.lag8.Px + Op.lag9.Px + Op.lag10.Px + Op.lag11.Px +Op.lag12.Px + Op.lag13.Px + Op.lag14.Px + dOp.Px + dOp.lag2.Px + dOp.lag3.Px + dOp.lag4.Px + dOp.lag5.Px + dOp.lag6.Px + dOp.lag7.Px + dOp.lag8.Px + dOp.lag9.Px + dOp.lag10.Px + dOp.lag11.Px + dOp.lag12.Px + dOp.lag13.Px + dOp.lag14.Px + Cl.Px + Cl.lag1.Px + Cl.lag2.Px + Cl.lag3.Px + Cl.lag4.Px + Cl.lag5.Px + Cl.lag6.Px + Cl.lag7.Px +Cl.lag8.Px + Cl.lag9.Px + Cl.lag10.Px+ Cl.lag11.Px + Cl.lag12.Px + Cl.lag13.Px + Cl.lag14.Px + dCl.lag2.Px + dCl.lag3.Px + dCl.lag4.Px + dCl.lag5.Px + dCl.lag6.Px + dCl.lag7.Px + dCl.lag8.Px + dCl.lag9.Px + dCl.lag10.Px + dCl.lag11.Px + dCl.lag12.Px + dCl.lag13.Px + dCl.lag14.Px + High.Px + Low.Px + Vo + Vo.lag1 + Vo.lag2 + Vo.lag3 + Vo.lag4 + Vo.lag5 + Vo.lag6 + Vo.lag7 + Vo.lag8 + Vo.lag9 + Vo.lag10 + Vo.lag11 + Vo.lag12 + Vo.lag13 + Vo.lag14 + dVo.Px + dVo.lag2 + dVo.lag3 + dVo.lag4 + dVo.lag5 + dVo.lag6 + dVo.lag7 + dVo.lag8 + dVo.lag9 + dVo.lag10 + dVo.lag11 + dVo.lag12 + dVo.lag13 + dVo.lag14 + MACD.Open + MACD.Open.signal + MACD.Volume + MACD.Volume.signal + Stoch.fastK + Stoch.fastD + Stoch.slowD + RSI.Open + RSI.Close + dOp.Px.SP500 + dOp.lag2.Px.SP500 + dOp.lag3.Px.SP500 + dOp.lag4.Px.SP500 + dOp.lag5.Px.SP500+ dOp.lag6.Px.SP500 + dOp.lag7.Px.SP500 + dOp.lag8.Px.SP500 + dOp.lag9.Px.SP500 + dOp.lag10.Px.SP500 + dOp.lag11.Px.SP500 + dOp.lag12.Px.SP500 + dOp.lag13.Px.SP500 + dOp.lag14.Px.SP500 + dCl.Px.SP500 + dCl.lag2.Px.SP500 + dCl.lag3.Px.SP500 + dCl.lag4.Px.SP500 + dCl.lag5.Px.SP500 + dCl.lag6.Px.SP500 + dCl.lag7.Px.SP500 + dCl.lag8.Px.SP500 + dCl.lag9.Px.SP500+ dCl.lag10.Px.SP500 + dCl.lag11.Px.SP500 + dCl.lag12.Px.SP500 + dCl.lag13.Px.SP500 + dCl.lag14.Px.SP500 + Vo.SP500+ Vo.lag1.SP500 + Vo.lag2.SP500 + Vo.lag3.SP500 + Vo.lag4.SP500 + Vo.lag5.SP500 + Vo.lag6.SP500 + Vo.lag7.SP500+ Vo.lag8.SP500 + Vo.lag9.SP500 + Vo.lag10.SP500 + Vo.lag11.SP500 + Vo.lag12.SP500 + Vo.lag13.SP500 + Vo.lag14.SP500+ dVo.Px.SP500 + dVo.lag2.SP500 + dVo.lag3.SP500 + dVo.lag4.SP500 + dVo.lag5.SP500 + dVo.lag6.SP500 + dVo.lag7.SP500+ dVo.lag8.SP500 + dVo.lag9.SP500 + dVo.lag10.SP500 + dVo.lag11.SP500 + dVo.lag12.SP500 + dVo.lag13.SP500+ dVo.lag14.SP500,data = Data)

# Information entropy

information.entropy <- information.gain(dCl.Px ~ Op.Px + Op.lag1.Px + Op.lag2.Px + Op.lag3.Px + Op.lag4.Px + Op.lag5.Px + Op.lag6.Px + Op.lag7.Px + Op.lag8.Px + Op.lag9.Px + Op.lag10.Px + Op.lag11.Px +Op.lag12.Px + Op.lag13.Px + Op.lag14.Px + dOp.Px + dOp.lag2.Px + dOp.lag3.Px + dOp.lag4.Px + dOp.lag5.Px + dOp.lag6.Px + dOp.lag7.Px + dOp.lag8.Px + dOp.lag9.Px + dOp.lag10.Px + dOp.lag11.Px + dOp.lag12.Px + dOp.lag13.Px + dOp.lag14.Px + Cl.Px + Cl.lag1.Px + Cl.lag2.Px + Cl.lag3.Px + Cl.lag4.Px + Cl.lag5.Px + Cl.lag6.Px + Cl.lag7.Px +Cl.lag8.Px + Cl.lag9.Px + Cl.lag10.Px+ Cl.lag11.Px + Cl.lag12.Px + Cl.lag13.Px + Cl.lag14.Px + dCl.lag2.Px + dCl.lag3.Px + dCl.lag4.Px + dCl.lag5.Px + dCl.lag6.Px + dCl.lag7.Px + dCl.lag8.Px + dCl.lag9.Px + dCl.lag10.Px + dCl.lag11.Px + dCl.lag12.Px + dCl.lag13.Px + dCl.lag14.Px + High.Px + Low.Px + Vo + Vo.lag1 + Vo.lag2 + Vo.lag3 + Vo.lag4 + Vo.lag5 + Vo.lag6 + Vo.lag7 + Vo.lag8 + Vo.lag9 + Vo.lag10 + Vo.lag11 + Vo.lag12 + Vo.lag13 + Vo.lag14 + dVo.Px + dVo.lag2 + dVo.lag3 + dVo.lag4 + dVo.lag5 + dVo.lag6 + dVo.lag7 + dVo.lag8 + dVo.lag9 + dVo.lag10 + dVo.lag11 + dVo.lag12 + dVo.lag13 + dVo.lag14 + MACD.Open + MACD.Open.signal + MACD.Volume + MACD.Volume.signal + Stoch.fastK + Stoch.fastD + Stoch.slowD + RSI.Open + RSI.Close + dOp.Px.SP500 + dOp.lag2.Px.SP500 + dOp.lag3.Px.SP500 + dOp.lag4.Px.SP500 + dOp.lag5.Px.SP500+ dOp.lag6.Px.SP500 + dOp.lag7.Px.SP500 + dOp.lag8.Px.SP500 + dOp.lag9.Px.SP500 + dOp.lag10.Px.SP500 + dOp.lag11.Px.SP500 + dOp.lag12.Px.SP500 + dOp.lag13.Px.SP500 + dOp.lag14.Px.SP500 + dCl.Px.SP500 + dCl.lag2.Px.SP500 + dCl.lag3.Px.SP500 + dCl.lag4.Px.SP500 + dCl.lag5.Px.SP500 + dCl.lag6.Px.SP500 + dCl.lag7.Px.SP500 + dCl.lag8.Px.SP500 + dCl.lag9.Px.SP500+ dCl.lag10.Px.SP500 + dCl.lag11.Px.SP500 + dCl.lag12.Px.SP500 + dCl.lag13.Px.SP500 + dCl.lag14.Px.SP500 + Vo.SP500 + Vo.lag1.SP500 + Vo.lag2.SP500 + Vo.lag3.SP500 + Vo.lag4.SP500 + Vo.lag5.SP500 + Vo.lag6.SP500 + Vo.lag7.SP500 + Vo.lag8.SP500 + Vo.lag9.SP500 + Vo.lag10.SP500 + Vo.lag11.SP500 + Vo.lag12.SP500 + Vo.lag13.SP500 + Vo.lag14.SP500 + dVo.Px.SP500 + dVo.lag2.SP500 + dVo.lag3.SP500 + dVo.lag4.SP500 + dVo.lag5.SP500 + dVo.lag6.SP500 + dVo.lag7.SP500+ dVo.lag8.SP500 + dVo.lag9.SP500 + dVo.lag10.SP500 + dVo.lag11.SP500 + dVo.lag12.SP500 + dVo.lag13.SP500 + dVo.lag14.SP500,data = Data)

#====================================================Data output===============

names(lin.corr)<- c('linear correlation')

names(information.entropy)<- c(' informational entropy')

data.output <- cbind(lin.corr, information.entropy)

write.table(data.output,file = "I:/DataMining/#PROJECTS/Diplom/Materials/Feature selection.txt", sep = " ")

featured.variables <- c('dOp.Px',

'dOp.lag2.Px',

'dCl.lag2.Px',

'dCl.lag3.Px',

'dCl.lag4.Px',

'dCl.lag5.Px',

'dCl.lag6.Px',

'dCl.lag7.Px',

'dCl.lag8.Px',

'dCl.lag9.Px',

'dCl.lag10.Px',

'dCl.lag11.Px',

'dCl.lag12.Px',

'Vo',

'Stoch.fastK',

'Stoch.fastD',

'RSI.Close',

'dCl.Px.SP500',

'dCl.lag2.Px.SP500',

'dCl.lag3.Px.SP500',

'dCl.lag4.Px.SP500')

rm(information.entropy, lin.corr, data.output)

Data.featured <- Data[,featured.variables]

Data.featured <- cbind(Data$dCl.Px, Data.featured)

#====================================================Visualization=============

# Visualization correlations

panel.cor <- function(x, y, digits = 2, pref = "", cex.cor){

usr <- par("usr");on.exit(par(usr))

par(usr = c(0,1,0,1))

r <- abs(cor(x, y, use = "complete.obs"))

txt <- format(c(r,0.123456789), digits = digits)[1]

txt <- paste(pref, txt, sep="")

if(missing(cex.cor)) cex <- 0.8/strwidth(txt)

text(0.5,0.5, txt, cex = cex * r)

}

pairs(dCl.Px ~ dOp.Px + dOp.lag2.Px + dCl.lag2.Px + dCl.lag3.Px + Vo +

Stoch.fastK + Stoch.fastD + RSI.Close + dCl.lag2.Px.SP500 +

dCl.lag3.Px.SP500 + dCl.lag4.Px.SP500,data = Data,

lower.panel = panel.smooth, upper.panel = panel.cor)

rm(panel.cor)

Приложение 3

# Establishing library

library(rpart)

library(adabag)

library(parallel)

# Loading tydied data

load("I:/DataMining/#PROJECTS/Diplom/DATA/Data.tidyed.RData")

# Creating dataframe

dF <- data.frame(Data[1:520, featured.variables])# 1:6551 is a range of 2005 year

# Checking NA's

which(is.na(dF))

kN <- 501# Range of valuation. Need for comparibility

kM <- 3# Range of prediction

parametr.valuation <- expand.grid(kN, n = c(300,350,400,450,500),

kM,

parameter.maxdepth = c(8:24),

mfinal = 30)

index <- c(1:100)# Range of application of the function

index.par <- (1:nrow(parametr.valuation))# Range of valuation in grid

FunFitAndPred <- function(dF, index.par, index){

# Function split rolling window on train and test parts. Next step is modeling

# using rpart algorithms the model on the train sample. Futhermore this model

# boosts in ADAboost algorithm. Last step is predicting tests on the both

# samples - test and train.

#

# Agrs:

# dF: dataframe, where rolling window exist.

# index.par: index of matrix in global environment, which include sets of

# parameters. Set of parameters uses for fitting and modelling.

# index: index of dataframe, establishing rolling window position

#

# Returns:

# vector of errors in train and test sample

par<- parametr.valuation[index.par,]

# Routing parameters

N <- as.numeric(par[1])

n <- as.numeric(par[2])

m <- as.numeric(par[3])

control<- rpart.control(maxdepth = as.numeric(par[4]), xval = 0)

mfinal <- as.numeric(par[5])

# Training sample

train <- dF[(kN - n - 1 + index):(kN - 1 + index),]

train.predictand <- factor(ifelse(tail(train$dCl.Px, -1)>0,1,0),

levels = c(1,0))

train.predictand <- as.matrix(train.predictand)

colnames(train.predictand)<- c('predictand')

train.predictors <- head(train[,c(1:21)], -1)

train.data <- cbind(train.predictand, train.predictors)

# Fiting tree and ADAboosting

fit <- boosting(predictand ~ dOp.Px + dOp.lag2.Px + dCl.lag2.Px + dCl.lag3.Px

+ dCl.lag4.Px + dCl.lag5.Px + dCl.lag6.Px + dCl.lag7.Px

+ dCl.lag8.Px + dCl.lag9.Px + dCl.lag10.Px + dCl.lag11.Px

+ dCl.lag12.Px + Vo + Stoch.fastK + Stoch.fastD + RSI.Close

+ dCl.Px.SP500 + dCl.lag2.Px.SP500 + dCl.lag3.Px.SP500

+ dCl.lag4.Px.SP500,data = train.data, mfinal = mfinal,

coeflearn = 'Breiman',control = control)

# Test sample

test <- dF[(kN + index):(kN + kM + index),]

test.predictand <- factor(ifelse(tail(test$dCl.Px, -1)>0,1,0),

levels = c(1,0))

test.predictand <- as.matrix(test.predictand)

colnames(test.predictand)<- c('predictand')

test.predictors <- head(test[,c(1:21)], -1)

test.data <- cbind(test.predictand, test.predictors)

# Predicting

train.predict <- predict(fit, train.data)

test.predict <- predict(fit, test.data)

output <- c(test.predict[6])

print("PROCESSING")

return(output)

}

# Evaluating model

FunEval <- function(dF, index.par){

# Function evaluates model function FunFitandPred in loop.

#

# Agrs:

# dF: dataframe, where rolling window exist.

# index.par: index of matrix in global environment, which include sets of

# parameters. Set of parameters uses for fitting and modelling.

#

# Returns:

# list of vector of predictions with current used set of parameters

internal.loop <- as.character(sapply(index, FunFitAndPred, dF = dF,

index.par= index.par))

print("==================LOOP==================")

return(internal.loop)

}

optim.grid <- lapply(index.par, FunEval, dF = dF)

# Counting performance

time.FunFitandPred <- system.time(FunFitAndPred(dF = dF, index.par = 1,

index =1))

time.lapply.index <- system.time(lapply(index, FunFitAndPred, dF = dF,

index.par = index.par))

time.sapply.index <- system.time(sapply(index, FunFitAndPred, dF = dF,

index.par = index.par))

time.as.character.sapply.index <- system.time(as.character(sapply(index,

FunFitAndPred,

dF = dF,

index.par = index.par)))

time.optim.grid <- system.time(lapply(index.par, FunEval, dF = dF))

# Counting av efficient

optim.result.1 <- as.numeric(optim.grid[[1]])

for(i in1:84){

optim.result.0 <- as.numeric(optim.grid[[i+1]])

optim.result.1 <-rbind(optim.result.1, optim.result.0)

}

optim.result <- optim.result.1

rm(i, optim.result.1, optim.result.0)

optim.result <- as.data.frame(t(optim.result))

colnames(optim.result)<- 1:85

rownames(optim.result)<- 1:100

optim.result.mean <- as.data.frame(colMeans(optim.result))

optim.set.parameters.index <- which(optim.result.mean == min(optim.result.mean))

optim.set.parameters <- parametr.valuation[optim.set.parameters.index,]

rm(optim.result, optim.result.mean, kM, kN, index, index.par, parametr.valuation)

save.image("I:/DataMining/#PROJECTS/Diplom/DATA/Data.optimized.RData")

Приложение 4

# Establishing library

library(rpart)

library(adabag)

library(parallel)

# Loading data

load("I:/DataMining/#PROJECTS/Diplom/DATA/Data.optimized.RData")

# Model parameters

kN.optim <- 501# Range of valuation. Need for comparibility

kn.optim <- 500

kM.optim <- 3# Range of prediction

kparameter.maxdepth.optim = 17

kmfinal.optim = 30

index.optim <- c(101:2101)# Range of application of the function

FunFitAndPredOptimized <- function(dF, index.optim){

# Function split rolling window on train and test parts. Next step is modeling

# using rpart algorithms the model on the train sample. Futhermore this model

# boosts in ADAboost algorithm. Last step is predicting tests on the both

# samples - test and train.

#

# Agrs:

# dF: dataframe, where rolling window exist.

#

# index: index of dataframe, establishing rolling window position

#

# Returns:

# vector of errors in train and test sample

# Routing parameters

N <- kN.optim

n <- kn.optim

m <- kM.optim

control<- rpart.control(maxdepth = kparameter.maxdepth.optim, xval = 0)

mfinal <- kmfinal.optim

# Training sample

train <- dF[(N - n - 1 + index.optim):(N - 1 + index.optim),]

train.predictand <- factor(ifelse(tail(train$dCl.Px, -1)>0,1,0),

levels = c(1,0))

train.predictand <- as.matrix(train.predictand)

colnames(train.predictand)<- c('predictand')

train.predictors <- head(train[,c(1:21)], -1)

train.data <- cbind(train.predictand, train.predictors)

# Fiting tree and ADAboosting

fit <- boosting(predictand ~ dOp.Px + dOp.lag2.Px + dCl.lag2.Px + dCl.lag3.Px

+ dCl.lag4.Px + dCl.lag5.Px + dCl.lag6.Px + dCl.lag7.Px

+ dCl.lag8.Px + dCl.lag9.Px + dCl.lag10.Px + dCl.lag11.Px

+ dCl.lag12.Px + Vo + Stoch.fastK + Stoch.fastD + RSI.Close

+ dCl.Px.SP500 + dCl.lag2.Px.SP500 + dCl.lag3.Px.SP500

+ dCl.lag4.Px.SP500,data = train.data, mfinal = mfinal,

coeflearn = 'Breiman',control = control)

# Test sample

test <- dF[(N + index.optim):(N + m + index.optim),]

test.predictand <- factor(ifelse(tail(test$dCl.Px, -1)>0,1,0),

levels = c(1,0))

test.predictand <- as.matrix(test.predictand)

colnames(test.predictand)<- c('predictand')

test.predictors <- head(test[,c(1:21)], -1)

test.data <- cbind(test.predictand, test.predictors)

# Predicting

train.predict <- predict(fit, train.data)

test.predict <- predict(fit, test.data)

output <- c(test.predict[6])

print("PROCESSING")

return(output)

}

model.error <- sapply(index.optim, FunFitAndPredOptimized, dF = dF)

model.error.0 <- as.numeric(model.error[[1]])

for(i in1:2000){

model.error.1 <- as.numeric(model.error[[i+1]])

model.error.0 <-rbind(model.error.0, model.error.1)

}

model.error <- model.error.0

rm(i, model.error.1, model.error.0)

av.error <- colMeans(as.data.frame(model.error))

Размещено на Allbest.ru


Подобные документы

  • Теоретические выкладки в области теории хаоса. Методы, которые используются в математике, для прогнозирования стохастических рядов. Анализ финансовых рядов и рядов Twitter, связь между сентиметными графиками и поведением временного финансового ряда.

    курсовая работа [388,9 K], добавлен 01.07.2017

  • Основные элементы эконометрического анализа временных рядов. Задачи анализа и их первоначальная обработка. Решение задач кратко- и среднесрочного прогноза значений временного ряда. Методы нахождения параметров уравнения тренда. Метод наименьших квадратов.

    контрольная работа [37,6 K], добавлен 03.06.2009

  • Статистические методы анализа одномерных временных рядов, решение задач по анализу и прогнозированию, построение графика исследуемого показателя. Критерии выявления компонент рядов, проверка гипотезы о случайности ряда и значения стандартных ошибок.

    контрольная работа [325,2 K], добавлен 13.08.2010

  • Влияние девальвации национальной валюты на цены активов и процентных ставок на фондовый рынок. Анализ отраслевых взаимосвязей и закономерностей в динамике биржевых индикаторов и множества других временных рядов. Оценка моделей методом "rolling window".

    дипломная работа [1,7 M], добавлен 06.11.2015

  • Структурные компоненты детерминированной составляющей. Основная цель статистического анализа временных рядов. Экстраполяционное прогнозирование экономических процессов. Выявление аномальных наблюдений, а также построение моделей временных рядов.

    курсовая работа [126,0 K], добавлен 11.03.2014

  • Расчет суммы издержек для плана выпуска продукции. Коэффициенты линейного уравнения парной регрессии. Характеристика графической интерпретации результатов. Развитие экономических процессов. Особенности эконометрического моделирования временных рядов.

    контрольная работа [723,3 K], добавлен 22.02.2011

  • Временные ряды и их характеристики. Факторы, влияющие на значения временного ряда. Тренд и сезонные составляющие. Декомпозиция временных рядов. Метод экспоненциального сглаживания. Построение регрессионной модели. Числовые характеристики переменных.

    контрольная работа [1,6 M], добавлен 18.06.2012

  • Изучение особенностей стационарных временных рядов и их применения. Параметрические тесты стационарности. Тестирование математического ожидания, дисперсии и коэффициентов автокорреляции. Проведение тестов Манна-Уитни, Сиджела-Тьюки, Вальда-Вольфовитца.

    курсовая работа [451,7 K], добавлен 06.12.2014

  • Создание комбинированных моделей и методов как современный способ прогнозирования. Модель на основе ARIMA для описания стационарных и нестационарных временных рядов при решении задач кластеризации. Модели авторегрессии AR и применение коррелограмм.

    презентация [460,1 K], добавлен 01.05.2015

  • Анализ временных рядов с помощью статистического пакета "Minitab". Механизм изменения уровней ряда. Trend Analysis – анализ линии тренда с аппроксимирующими кривыми (линейная, квадратическая, экспоненциальная, логистическая). Декомпозиция временного ряда.

    методичка [1,2 M], добавлен 21.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.