Методы машинного обучения для моделирования и прогнозирования финансовых временных рядов
Классические подходы к анализу финансовых рынков, алгоритмы машинного обучения. Модель ансамблей классификационных деревьев для прогнозирования динамики финансовых временных рядов. Выбор алгоритма для анализа данных. Практическая реализация модели.
Рубрика | Экономико-математическое моделирование |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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