1

私はこの問題に直面していて、それを解決することができません:ここにコードがあります:

library(quantmod)
library(TTR)
library(randomForest)


getSymbols('^STOXX50E', src='yahoo')
equity.index<-STOXX50E

myReturnsSign = function(x) sign(Delt(Cl(x),type="log"))[-1]
mySMA =function(x,n) SMA(Cl(x),n)[-1]
myEMA = function(x,n,ratio) EMA(Cl(x),n,ratio)[-1]



model1<-specifyModel(myReturnsSign(equity.index) ~ myEMA(equity.index,20,0.8) + mySMA    (equity.index,5))

エラーメッセージは次のとおりです。

Error in xts(model.frame(model@model.spec, data = env, na.action = NULL),  : 
NROW(x) must match length(order.by)

でも :

> dim(myEMA(equity.index,20,0.8))
[1] 2632    1

> dim(mySMA(equity.index,5))
[1] 2632    1

> dim(myReturnsSign(equity.index))
[1] 2632    1
4

1 に答える 1

2

FWIW、specifyModelコードは4年以上作業されていませんが、それは安定しているからではないと思います。

あまり詳しく調べなくても[-1]、関数からこれらのサブセットを削除することで問題を解決できるようです。

myReturnsSign = function(x) sign(Delt(Cl(x),type="log"))
mySMA =function(x,n) SMA(Cl(x),n)
myEMA = function(x,n,ratio) EMA(Cl(x),n,ratio)
model1<-specifyModel(myReturnsSign(equity.index) ~ myEMA(equity.index,20,0.8) + mySMA(equity.index,5))
于 2012-08-27T13:14:30.163 に答える