我一直在进行Guy的quantstrat讲座(下面的链接),并且在反复尝试重新执行代码后,我遇到了一些初始错误,这些错误使该讲座中的大多数后续代码无法正常工作。

这是代码(从讲座中复制,并进行了非常小的重新安排):

rm(list=ls(all=TRUE)) #added this to delete memory

library(quantstrat)
library(blotter) #added this hoping it would rectify the errors
library(FinancialInstrument) #added this hoping it would rectify the errors

# initialize portfolio, accounts and orders
qs.strategy <- "qsFaber"
initPortf(qs.strategy, 'SPY', initDate = '1997-12-31')
initAcct(qs.strategy, portfolios = qs.strategy, initDate = '1997-12-31', initEq= 1e6)

这是我遇到的错误:

1)
> initPortf(qs.strategy, 'SPY', initDate = '1997-12-31')
Error in exists(paste("portfolio", name, sep = "."), envir = .blotter,  :
object '.blotter' not found

2)
> initAcct(qs.strategy, portfolios = qs.strategy, initDate = '1997-12-31', initEq= 1e6)
Error in exists(paste("account", name, sep = "."), envir = .blotter, inherits = TRUE) :
object '.blotter' not found

我在使用Windows 64位操作系统时必须直接下载blotter,但是尽管复制了演讲中的代码,但我不确定为什么会出现这些错误。我的搜索工作表明,吸墨纸的一部分演变为FinancialInstrument软件包,但是即使清除了内存并加载了FinancialInstruments之后,我仍然遇到相同的错误。

任何帮助将不胜感激。

链接到讲座:http://www.r-programming.org/files/quantstrat-I.pdf

最佳答案

Guy Yollin的工作表是很好的学习材料,但不幸的是它们有些过时了(2011年)。在过去的两年中,对吸墨纸,quantstrat和其他软件包进行了许多更改,而Guy的工作表中的许多代码将不再照此运行。

就quantstrat软件包而言,您可能需要看一下在芝加哥举行的R / Finance 2013大会上的图纸。您可以在http://www.rinfinance.com/agenda/2013/workshop/Humme+Peterson.pdf获得副本。

更新:盖伊·尤林(Guy Yollin)已将他的幻灯片更新为最新的Quantstrat(截至2013年8月),可以在这里http://www.r-programming.org/papers

08-19 23:08