问题标签 [tidyquant]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
93 浏览

r - 使用 Alpha Vantage 插件时在 tidyquant (R) 中指定日期

我正在尝试使用该 tidyquant包从 Alpha Vantage 创建一个数据集。我正在寻找一种解决方案来指定我的数据集的日期范围(似乎使用fromandto参数不起作用。

有什么建议么

我的代码如下

0 投票
1 回答
819 浏览

r - 在 R 中从 Yahoo Finance 获取财务报表?

我想从 yahoo Finance 获取公司的损益表、资产负债表和现金流量表。我知道 There is Tidyquant,但我没有看到提取此数据的选项。是否有其他 R 包具有获取此数据的 API?我最后的手段是对页面进行网页抓取,但希望有一个使用 API 的 R 包?谢谢你

0 投票
1 回答
234 浏览

r - tidyverse 无法加载

不确定发生了什么,我安装了 tidyquant 和 quantmod 来处理股票价格,现在收到以下错误消息

我检查并更新了我所有的 R 包并重新启动了 R,但都没有解决问题。任何帮助,将不胜感激。

当我尝试运行 tidyquant 时,我假设以下错误代码也相关

再次感谢任何帮助

0 投票
3 回答
164 浏览

r - R如何将函数作为字符串传递给另一个函数

0 投票
0 回答
1848 浏览

r - tq_get:在为函数“as_date”选择方法时评估参数“x”时出错

当我尝试使用tq_get时,{golem}我收到警告:

警告:x = 'SPY',get = 'stock.prices':h 中的错误(simpleError(msg,call)):在为函数“as_date”选择方法时评估参数“x”时出错:对象“_lubridate_C_valid_tz”未找到

并且tq_get不返回任何东西。

0 投票
1 回答
44 浏览

r - R:如果 else 语句将列作为整个向量处理

我有一个数据集,我想在其中计算 6 个月的股票回报率tq_get(参见下面的示例)

数据集调用top

功能

不幸的是,对于某些代码,不存在任何值,这会在简单使用时导致错误消息,lapply或者mutate因为结果向量比现有数据集更小(更少行)。解决try_catch没有奏效。

如果代码可用,我现在想通过检查is_supported_ticker()包提供的方法来解决问题riingo

但现在我收到错误消息x ticker must be length 1, but is actually length 3

我假设这是基于这样一个事实,即我的数据集的整个第一列被用作输入is_supported_ticker()而不是逐行。我该如何解决这个问题?

0 投票
1 回答
111 浏览

r - tq_transmute 的 tibbletime 产生奇怪的错误,列显然存在但说它不存在

我本可以在一周前发誓这段代码有效,但我想我错了。我不断收到错误消息:错误:无法对不存在的列进行子集化。x 列asset不存在。运行rlang::last_error()以查看错误发生的位置。此外:警告消息: ...对于未分组的数据帧,不得为空。你想要data = everything()吗?

我一步一步地尝试查看它在我的代码中的位置,我可以告诉它在我对资产进行分组之后,并且在我开始添加 tq_transmute 时发生。如果有人可以请帮助,将不胜感激。我将有你应该能够自动运行的代码,看看我在说什么。这没有任何意义,因为“资产”在收集数据并将其分组后确实存在。

0 投票
1 回答
262 浏览

r - Find stock market support trend lines more efficiently in R Tidyquant

I've developed some R code to find and draw trend lines on stock market data. However, the approach I'm using involves brute-force use of processing power and can take a long time, especially if I want to draw trend lines over more than a year's worth of price data. So, I'd love if someone could help me find a more efficient way to do this.

Basically, my current method involves generating all possible pairs of two daily lows in the data set, generating all possible trend lines that pass through a pair of points, and then testing each line to see if any daily low in the data set falls below the line. We keep all lines for which this is FALSE.

The processing time required increases exponentially as you increase the time frame over which you're trying to generate trend lines. To cut down on processing time, I've been filtering the data set for lows that are below the simple moving average. This gets rid of about half the data and generally preserves the most relevant data points. However, it doesn't fully solve the problem. When analyzing long time frames over more than one ticker symbol, running this code can still take a long time.

Here's what I've got:

AAPL support trendline chart

0 投票
1 回答
303 浏览

r - 如何使用 tidyquant(性能分析)来计算投资组合中的投资组合统计数据,该投资组合具有不同时期的资产

我知道有很好的资源可以使用 tidyquant for R 中的性能分析来计算股票和投资组合回报。例如,假设我们要确定包含“XOM”(0.5)的投资组合的年度投资组合回报(2011 年到 2015 年),“ MA”(0.3)和“GOOG”(0.2),其中()表示投资组合中的资产权重。代码只是:

但是,如果投资组合每年包含不同权重的不同资产,我找不到任何资源来帮助编写代码。例如,假设我们有两个数据框:一个带有每年的符号,另一个带有各自的投资组合权重。下面是读取带有符号和权重的 csv 文件的代码,以及用于说明数据帧的图像。

带有年份符号的数据框

按年份显示符号权重的数据框

我认为这将涉及一些 tidyverse 功能,如“应用”或“地图”,但不确定。此外,tidyquant 是否可以像我拥有的​​那样在数据框中使用符号(和权重),或者我是否需要将它们转换为类似于 c("XOM"、"MA"、"GOOG") 的结果的字符值?最终,我想将这个概念扩展到每个月,但是一旦我弄清楚了多年,这个过程应该是相似的。

任何帮助将非常感激!

0 投票
1 回答
32 浏览

r - 在给定条件的情况下更改排名中的值

我正在尝试将按其回报排名的股票表转换为一个值矩阵,该矩阵将PerformanceAnalytics::ReturnPortfolio作为投资组合中股票的权重输入。

我特别想做的是将 33% 表现最好的股票的排名值转换为 1,将 33% 表现最差的股票的排名值转换为 -1,其余为 0。

这是我只是选取最好的股票并将它们的排名值更改为 1 的原始代码:

这是一个现在的例子:

苹果 IBM KO TLT 间谍
1 2 3 4 6 5
2 1 3 5 4 6
1 4 2 5 3 6
6 4 5 2 1 3

这就是我想要的:

苹果 IBM KO TLT 间谍
1 1 0 0 -1 -1
1 1 0 -1 0 -1
1 0 1 -1 0 -1
-1 0 -1 1 1 0