R을 사용하여 데이터 마이닝에서 주식 예측 사례 연구를 복제하려고합니다. 두 개 이상의 주식을 처리 할 수 있도록 일부 코드를 루프 내에 배치하려고합니다. . 그러나, 루프 내에서 작동하도록 specifyModel 함수를 가져 오는 방법을 알아낼 수 없습니다. 각 주식에 대한 기술적 인 지표를 계산하고 궁극적으로 무작위 포리스트를 사용하여 가장 유용한 지표를 선택하려고합니다. 다음은 몇 가지 예제 코드입니다.루프 내에서 quantmod 패키지의 specifyModel 사용
library(quantmod)
# The list of stocks I want to investigate
stock.symbols = c("MMM", "IBM")
# Download daily stock prices to global environment
getSymbols(stock.symbols, src = "yahoo", quotes = c("Open", "High", "Low", "Close", "Volume", "Adjusted"), from = "2011-01-01", to = "2012-01-01")
# "Custom" indicator functions
myAroon = function(x) aroon(Cl(x))[,1]
myADX = function(x) ADX(HLC=x)[,4]
# Try to create quantmod model for each stock
for(i in stock.symbols)
{
my.model = specifyModel(Cl(MMM) ~ myAroon(MMM) + myADX(MMM)) # this line works - looks up MMM in global environment
# my.model = specifyModel(Cl(i) ~ myAroon(i) + myADX(i)) # I would like something like this
}
나는 당신이 그 기호, 예를 들어 "MMM"에 의해 주식을 참조하면, specifyModel가 현재 작업 공간에서 그것을 보이는 것으로 알고 있습니다. 나는 이것을 더 일반적인 것으로 만드는 법을 알고 싶다.
no applicable method for 'as.xts' applied to an object of class "character"
내가 specifyModel에 대한 문서를 통과 시도했지만 아무 소용 (세계에서 가장 널리 사용되는 기능이 될 것 같지 않습니다) : 분에 나는 다음과 같은 오류를 얻고있다. 나는 또한 get()과 as.name()을 사용해 보았다. 나는 내가 여기에서 완전히 틀린 무엇인가하고 있을지도 모른다라는 것을 깨달았다. 그래서 사전에 사과한다! 어떤 도움이라도 대단히 감사하겠습니다.
FALSE
으로 감사를 지정! 그게 내가 원했던 것 같다. 나는 Cl (get (i))과 같은 것을 사용했는데, R을 어떻게 든 혼란스럽게 만든다. 신속한 대응에 다시 한번 감사드립니다. – NoneMoreBlack