2012-04-19 4 views
1

Я пытаюсь запустить код с Data Mining With R book. Он в основном принимает данные кавычек для индекса SP500 (GSPC) и строит предсказательную функцию (T.ind) для прогнозирования кавычек в течение следующих n дней.R data mining синтаксис

library(DMwR) 
#load S&P500 Dataset 
data(GSPC) 

# Create a Prediction function T based on which Buy/Sell/Hold decision 
# will be taken. target variation margin is 2.5% 
T.ind <- function(quotes,tgt.margin=0.025,n.days=10) { 
    v <- apply(HLC(quotes),1,mean) 
    r <- matrix(NA,ncol=n.days,nrow=NROW(quotes)) 

    for(x in 1:n.days) { 
    r[,x] <- Next(Delt(v,k=x),x) 
    } 

    x <- apply(r,1,function(x) sum(x[x > tgt.margin | x < -tgt.margin])) 

    if (is.xts(quotes)) 
    xts(x,time(quotes)) 
    else 
    x 
} 

#Plot candle chart for 3 months of Index with Avg. price and Parameter T. 
candleChart(last(GSPC,'3 months'),theme='white',TA=NULL) 

addAvgPrice <- newTA(FUN=avgPrice,col=1,legend='AvgPrice') 
addT.ind <- newTA(FUN=T.ind,col='red',legend='tgtRet') 
addT.ind() 

Мой вопрос заключается в том, как T.ind вызывается из вызова функции newTA(). Как значения котировок из выбранного периода переходят в функцию T.ind. Пожалуйста, дайте мне знать.

+1

Введите 'addT.ind' в командной строке R и посмотрите на функцию. В третьей строке показано, как вызывается T.ind. – BenBarnes

ответ

3

Это довольно похоже на участки решетки или ggolot2, но без знаков «+». Однако операция, эквивалентная «добавлению функции», доставляется через побочные эффекты. Сюжет не просто 2D-дисплей, но и объект в рабочей области. Когда вы вызываете addT.ind(), его эффекты применяются к текущему активному объекту диаграммы, который имеет данные, собранные HLC() в контексте наличия неявного доступа к результатам продукта candleChart().

+0

Спасибо, что было полезно – Amey