首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定量ttr getSymbol &硬编码引号

定量ttr getSymbol &硬编码引号
EN

Stack Overflow用户
提问于 2012-08-07 08:11:49
回答 1查看 887关注 0票数 0

我对R编程非常陌生,现在开发了一个应该与R. 交互的系统,我的问题是:

如何从脚本中获得硬编码的引号,而不是从诸如“yahoo”、“google”等各种来源获得引号?

为什么我需要脚本中硬编码的引号?

我使用Rserve作为我的下游系统,主系统负责获取数据,并将执行其他投资组合检查,然后调用R-TTR-quantmod包来计算财务编号。因此,我不希望R重新获取这些引号,所以我希望这些引号被硬编码,并从我的系统发送到Rserve,在那里执行并返回结果。这样,我的代码将依赖于R的标准计算,用户可以集中精力于其他业务逻辑。

为什么我不使用csv文件方法?

我在一个实时系统和文件io将花费大量的时间,并会减慢我的系统。

例如:

代码语言:javascript
复制
library(quantmod)

library(TTR)

从雅虎提取S&P 500指数数据!金融

代码语言:javascript
复制
getSymbols("^RIL", from="2000-01-01", to="2008-12-07")

计算RSI指示器

代码语言:javascript
复制
rsi <- RSI(Cl(RIL),2)

所以这就是我需要的:

  • 我不想调用getSymbol,而是将数据作为脚本中的一个变量传递。
  • 我假设数据可能是非常大的时间或非常小的时间。
  • 那么,在这种情况下我应该做什么呢?
EN

回答 1

Stack Overflow用户

发布于 2012-08-08 00:16:26

我刚刚编写了一些代码来使用load/save来缓存xts对象。代码是微不足道的:

代码语言:javascript
复制
getSymbols("^RIL", from="2000-01-01", to="2008-12-07")
save(RIL,file="cache/RIL.rdata")

然后,在进行分析的另一个脚本中:

代码语言:javascript
复制
load("cache/RIL.rdata")
rsi <- RSI(Cl(RIL),2)

作为额外的奖励,.rdata文件被压缩。

一些统计数据:证物1

我以前的方法有1分钟的条形图,每天作为一个csv文件。303个文件,加到12 to,加载到一个86,590行XTS对象中,占用5.64秒(经过,用户时间为5.34s)。

.rdata文件为2.8MB,占用0.056s。

证物2:

第一种方法:在数据上新运行RSI (作为另一个计算的前游标)。第二种方法:让另一个离线进程对数据运行RSI,并将其缓存到一个.rdata文件中。

加载RSI文件比刚计算RSI数据快3倍。

警告:在我的计时测试中,我使用了一个循环,在pass 1上创建/保存它,然后在2到20次传递时加载它。所以它在任何操作系统文件缓存中都是新鲜的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11841739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档