作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在阅读 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)
> initPortf(qs.strategy, 'SPY', initDate = '1997-12-31')
Error in exists(paste("portfolio", name, sep = "."), envir = .blotter, :
object '.blotter' not found
> 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
最佳答案
吸墨纸和 quantstrat 包将东西存储在 .GlobalEnv
中。 (这是他们不在 CRAN 上的原因之一。)当您运行 rm(list=ls(all=TRUE))
时,您正在删除那些包希望能够在您的工作区中找到的内容。为了让一切正常工作,您必须在 globalenv() 中放回几个环境。运行这两行代码后,我认为您的代码将起作用。
.blotter <- new.env()
.strategy <- new.env()
.instrument
.GlobalEnv
中的环境(后来期望它存在)。几年前,我将其更改为
.instrument
现在存储在 FinancialInstrument 命名空间中。由于该更改是在 Guy 的幻灯片之后进行的,因此代码不兼容。幻灯片 14-15 应更改为
currency("USD")
getInstrument("USD")
stock("SPY", "USD")
getInstrument("SPY")
get("USD", envir=FinancialInstrument:::.instrument)
get("SPY", envir=FinancialInstrument:::.instrument)
globalenv()
中删除所有内容。不会破坏任何包的代码。
关于r - Guy Yollin 的 QuantStrat I 讲座问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17120496/
我一直在阅读 Guy 的 quantstrat 讲座(下面的链接),在反复尝试重新执行代码之后,我遇到了一些初始错误,这些错误导致讲座中的大部分后续代码无法运行。 这是代码(从讲座中复制,经过非常小的
我是一名优秀的程序员,十分优秀!