问题标签 [quantstrat]
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.
r - Quantstrat 多种货币。Blotter::UpdateAcct 中可能存在的错误?
基本信息:
R版:3.1.0
吸墨纸:0.8.19
问题描述:
我正在尝试实现一个 quantstrat 帐户,该帐户使用不同货币的多个投资组合。
所以这是我的基本设置:
- 1 个欧元账户
- 1 个美元投资组合
所以为了让它工作,我必须设置一个汇率,我基于从雅虎检索到的数据。然后我应该运行我的基本策略,转换将在最后一步通过 updateAcct 函数自动完成。
现在问题来了……我认为 updateAcct 函数有一个错误。
我的代码:
然后我使用一些指标、信号、规则等......
一切正常,直到代码到达最后一行。
最后一行将给出错误消息: Error in isTRUE(invert) : object 'invert' not found
可能的错误: 所以我决定检查 updateAcct 函数在这里尝试一些调试......我很确定代码中有错误。第 63 行中的 if 子句查询 isTRUE(invert),但仅当它实际上为真时才创建 invert(参见 else 子句第 46 行)。但是 invert 没有初始化,因此如果它实际上是 false 代码将失败。
这是源代码吸墨纸(原始)
这就是我认为它应该看起来的样子(代码段第 28-50 行)......
TL;博士
我认为在货币转换不需要反转汇率时会发生 blogger:updateAcct 中的错误...
问题: 我是对的,这是一个错误吗?还是我错过了什么?
PS:
我通常会将其作为错误提交,但 A)我不知道如何向作者提交错误 B)我仍然是 quantstrat、blotter 和 Co. 的新手,我认为其他人也应该检查一下(和作者也经常在这里闲逛)...
r - How do blotter/quantstrat/quantmod/performanceanalytics handle internal cashflows and expiring instruments?
I don't understand how internal cashflows are handled in blotter/quantstrat/quantmod/performanceanalytics. This mainly concerns two aspects: Regular cashflows like dividends, coupons etc. as well as cashflows from expiring instruments (e.g. a cash settled in the money option). For equities this seems not too much of an issue as one can always use dividend adjusted prices and it is relatively rare that stocks get delisted. For coupon bonds or options however, I don't get how this is handled.
So my questions are:
- Is there a generic mechanism to handle internal cashflows (dividends, coupons, repayments etc.) in these packages?
- If so, is there some documentation for this and where can I find the relevant implementation in the source code (i.e. pointers to specific R files and/or functions would be great)?
Thanks in advance
r - R编程包quantstrat/FinancialInstrument/importDefaults加载错误
我正在尝试安装该软件包quantstrat
,但是尝试此操作时总是遇到以下错误:
现在,当我尝试加载包FinancialInstrument
时,R 抛出以下错误:
我不知道该怎么做才能quantstrat
加载包。我3.0.0
在 Windows 64 位系统上使用 R 版本。任何帮助将不胜感激。
r - Quantstrat 和 Windows
我查看了以前的通信,遵循了建议,但仍然无法安装 quantstrat 和吸墨纸。我不知所措。也许我错过了以前的帖子,如果有人能指出我正确的方向,它会有所帮助,我将不胜感激。非常感谢。
操作:我下载了 quantstrat 包并发出以下命令:
结果如下:
将包安装到“C:/Users/George/Documents/R/win-library/3.2”<br>(因为未指定“lib”)
警告:无效包“C:/Users/George/Downloads/quantstrat_0.9.1669。 tar'
错误:错误:未指定软件包
install.packages 中的警告:
运行命令 '"C:/PROGRA~1/R/R-32~1.0/bin/x64/R" CMD INSTALL -l "C:\Users\ George\Documents\R\win-library\3.2" "C:/Users/George/Downloads/quantstrat_0.9.1669.tar"'
在 install.packages 中有状态 1 警告:
安装包 'C:/Users/George/Downloads /quantstrat_0.9.1669.tar' 具有非零退出状态
我应该补充一点,我已经安装了 Rx64 3.2。
成功,解决了问题。我下载了quantstrat 和 blogger的.zip 版本(目前都是 3.1.3)并且都安装成功。有趣的。
我注意到没有支持文件 - 是这样吗?谢谢。
r - R中的Quantstrat
我正在将 quanstrat 上传到 R 并想运行演示包。但是,我在安装时收到错误消息,并且演示也不会运行(见下文)。你对我做错了什么有什么建议吗?
非常感谢,汤姆
将包安装到“C:/Users/NMRQL123/Documents/R/win-library/3.2”(因为“lib”未指定)
install.packages 中的警告:package 'quantstrat' 不可用(对于 R 版本 3.2.0)
警告消息:
1:在库中(包,lib.loc = lib.loc,character.only = TRUE,logical.return = TRUE ,:没有名为“ggplot2”的包<br> 2:在库中(包,lib.loc = lib.loc,character.only = TRUE,logical.return = TRUE,:没有名为“ggplot2”的包< /p>
“错误:“演示(package =“quantstrat”)中的意外输入
r - 无法安装用于 quantstrat 的吸墨纸包
我正在尝试quantstrat
在 R 中使用该软件包。我已使用该软件包上传/安装了该软件包
但是,一旦我使用
我收到消息:
加载所需的包:quantstrat 失败并出现错误:找不到 'quantstrat' 所需的包 'blotter''</p>
然后我用
但收到以下消息:
仅以源代码形式提供的包,可能需要编译 C/C++/Fortran:'blotter' 这些将不会安装
任何人都可以提供一些建议吗?
r - 无法安装吸墨纸包
我完全不知所措,并尝试了 StackOverflow 上其他人建议的几种解决方案。我努力安装 quanstrat,最终在@MrFlick 的帮助下设法解决了这个问题。但是,quanstrat 需要安装软件包 blogger。我已经尝试了几种通过源代码执行此操作的方法,上传 zip 文件,安装其他软件包.. 没有任何效果。任何建议都将受到欢迎。(与 Rtools 类似的问题?)
出于同样的原因,也无法按照建议安装 Rtools。R 版本问题?
r - quantstrat 中的每月重新平衡
(我知道这是一个冗长而混乱的问题,但我真的希望有人能帮助我,因为我已经研究这个看似简单的东西大约两个星期了......)
两个问题
1) 在 quantstrat 中,我找到了可用于重新平衡投资组合的函数rulePctEquity 。当我阅读这个函数里面的代码时,我发现这个函数主要是关于有一个新的addPosLimit。我可以知道将 add.rule(qs.strategy, 'rulePctEquity',...) 理解为设置检查其他规则的频率和进入的最大位置的工具是否正确?换句话说,如果这是策略中的唯一规则,是否意味着不会进行交易?
2)在展示我的代码之前,我的测试策略总结如下。在每个月初,投资组合将出售其拥有的所有股票并购买当时排名前 3 位(排名)的精选股票。使用等重进行测试。
但是,我的测试结果与我认为应该显示的结果大不相同。为了节省时间,我认为问题出在第 4 节。指示买、卖空、卖和买覆盖的功能
两个问题:
1) 我怎样才能让投资组合在开始购买之前卖掉所有持股?(投资组合现在正在做相反的事情)
2)我不明白为什么到第二个月或更晚的时候数量会变得如此之大,而第一个月还可以。
(3052*10.92+1325*25.03+1189*28.03=~100000=InitEq
r - 在 Quantmod R 中使用 csv 获取符号
我正在尝试使用 . 将一组符号上传到包 quantstrat 中quantmod::getSymbols
。
我加载的符号在 Yahoo 上不可用(它们是南非股票),所以我需要从本地目录和 .csv 文件加载它们。
我的符号文件如下所示:
我的交易品种价格历史记录在单独的 csv 文件中,每个文件都包含一个日期列和 OHLC 列,标题仅用于 OHLC 价格。
我使用函数getSymbols.csv
函数如下:
但我收到以下错误消息
如果有人能告诉我我做错了什么,我将不胜感激。我不确定是否有另一种方法可以将股票价格加载到 quantstrat 包中。
r - Quantstrat Rebalancing - 运行时间过长
在得到这里好心人的帮助后,我终于在 quantstrat 中建立了自己的示例策略。该代码在小于 100 只股票的宇宙中运行良好且快速(约 1 分钟),但是当宇宙扩展到例如 500 只股票时,运行时间会急剧增加到(> 5 小时)。经过一些测试,我发现增加运行时间的关键是applyStrategy。再平衡。当我消除重新平衡这个词时,一切都变得很快。
但是,我想保留再平衡选项以维持一定的股权现金比率。任何关于大幅增加运行时间和可能的解决方案的想法都将不胜感激。
为了解释更多,我的策略相当简单。每个月,投资组合都会卖出投资组合中的所有股票,并回购排名(预定)前20名的股票。钱平均分配给 20 只股票。
具有更大范围的数据文件:( 请编辑代码中的路径)
我的代码:(它在小样本下运行良好)