【问题标题】:quantstrat package stock function: Error: C stack usage is too close to the limitquantstrat 封装股票函数:错误:C 堆栈使用量太接近限制
【发布时间】:2020-08-12 09:17:02
【问题描述】:

我是金融数学的新手,正在尝试用 R 做一个关于回测的作业:

library(FinancialInstrument)

start.date <- '2017-01-01'
end.date <- '2019-12-30'

HSI <- getSymbols(Symbols="^HSI",src="yahoo",from=start.date,to=end.date,index.class="POSIXct",adjust=T, auto.assign = F)
HSI <- HSI %>% na.omit()

currency(primary_id='HKD')

stock(primary_id=HSI,currency='HKD',multiplier=500,tick_size=0.05)

但我收到以下错误:C 堆栈使用 7971792 太接近限制

我的 R 会话:

Cstack_info()
  size    current  direction eval_depth 
  7969177      13136          1          2 

我看到有类似的帖子,但没有一个答案: Error: C stack usage is too close to the limit in R

有人可以就Cstack错误提出建议吗?

【问题讨论】:

  • 考虑到错误来自您找到的另一个链接问题中的一个更简单的代码,我最好的猜测是FinancialInstrument 代码中的某个地方存在错误。我的建议是在他们的 GitHub 存储库中提交问题:github.com/braverock/FinancialInstrument/issues 编辑:实际上,看起来这已经完成了,可能是您错误地使用了该功能。看起来stock() 函数将期望长度为 1 的字符向量作为标识符;更多详情请见github.com/braverock/FinancialInstrument/issues/2
  • 恒指应该是“恒指”。这是定义股票。

标签: r finance quantitative-finance quantstrat


【解决方案1】:

不要使用 auto.assign。

getSymbols(Symbols="2800.HK",src="yahoo", from=start.date,to=end.date,index.class="POSIXct",adjust=T)

`2800.HK` <- `2800.HK` %>% na.omit()

currency(primary_id='HKD')

stock(primary_id='2800.HK',currency='HKD',multiplier=500,tick_size=0.05)

【讨论】:

    猜你喜欢
    • 2017-10-01
    • 2018-05-09
    • 2021-01-12
    • 2020-05-04
    • 2022-01-03
    • 2021-02-17
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多