问题标签 [blotter]
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 - 吸墨纸功能图表中的日志图表。Posn() 可能吗?
是否可以在blotter的chart.Posn()
或功能中绘制对数价格图表?chart.Reconcile()
我尝试添加log.scale = TRUE
到函数调用但没有成功。底层chart_Series
函数是否仍然过于“实验性”而无法支持此功能,还是函数调用不正确?
更新:我一直在尝试chart_Series()
直接使用该功能,设置ylog图形参数:
但是,尽管数据都是正数,但我收到一个错误“对数刻度需要正边界”。
顺便说一句,GSPC 是标准普尔 500 指数的 OHLCV 时间序列 xts,它在chartSeries()
和中绘制chart_Series()
,但对于任何一个图表函数都没有对数刻度。
我发现这篇旧帖子不是作为解决方案,而是作为替代方案:
r - 如何在 R 中为 Quantstrat 编写自定义规则函数 - 使用 ruleOrderProc 将追踪止损订单替换为 stoplimit
我的目标是使用我在下面概述的规则来生成一个信号来放置一个新的“止损限价”订单来代替我的追踪止损。我不希望我的止损无限期地追踪,直到它达到我的盈亏平衡价格(如果这已经可以以某种方式实现,请告诉我)。
我希望在 quantstrat 中编写自定义规则,目标如下:
如果今天的“收盘价”减去 (-) 交易打开时间戳的阈值(标量),则大于 (>) 交易打开时间戳的“打开”价格(这也是成交值或 order.price )然后生成一笔交易(我也只希望这种情况发生一次,所以像 cross = T)
由于今天的收盘价减去阈值 > 成交价,因此生成下单信号。问题是我认为这不能用 add.signal 完成,至少不能在 add.rule 函数之外,因为我需要访问订单簿。我无法对 mktdata 对象进行预先计算,因为我有许多不生成订单的入场信号,并且仅查看 mktdata,无法判断哪些信号导致了订单。
有人可以告诉我 add.rule() 的哪一部分我需要适应以使这成为可能吗?如果我需要编写自己的ruleSignal
函数,由于我提前没有信号,我应该为 sigcol 和 sigval 放置什么?
以下是我目前的多头交易规则:
任何帮助表示赞赏,我将分享我的结果。谢谢!
r - R:XTS 对象的奇怪行为
编辑(1):这是 sessionInfo():
编辑(2):为了使这完全可重现(希望如此),我创建了一个新库(称为 DUMMY),添加 xts(0.10-2.1) 作为唯一的依赖项,将来自 github butter repo 的 IBM.RData 文件添加为唯一文件(.R、.Rdata、.Rda 或其他),重新启动 R,仅将该库加载到全局环境中,我得到以下 sessionInfo():
我的说明文件如下所示:
现在,当我调用 IBM xts 对象的特定行时,我得到
原始问题:
突然之间,我似乎观察到 xts 对象的奇怪行为,它导致吸墨纸(和 quantstrat)功能不再正常工作。即使演示也失败了。作为参考,我使用的是 xts_0.10-2.1、blotter_0.14.2 和 zoo_1.8-2。如果我使用 IBM 记事本中的内部数据,引用 IBM 的第一行会产生列名,而不是 IBM 价格数据的第一行。
以供参考,
要获取 IBM 价格数据的第一行,我需要引用 xts 对象的前两行。
当我尝试引用 IBM 数据的最后一行时,我得到
如果我尝试引用最后两行 IBM 数据
如果我尝试使用尾巴,
当我尝试从吸墨纸运行 amzn_test 演示时,
我假设发生此错误是因为引用最后一行数据(lastTxnDate 来自哪里)会产生列名而不是最后一行数据,index() 将从该数据行中为我们提供日期。有没有其他人看过这个?它刚刚开始在过去几天发生,所以最近的问题。谢谢您的帮助!
r - 使用 end() 返回 xts 对象的最后日期
我正在使用吸墨纸和相关软件包来创建一个小型投资组合。这些软件包依赖于来自 yahoo 的数据。此外,它们在xts
内部使用,但不知何故,xts
对象上的函数不起作用并返回所需的结果。这当然需要大量更改内部功能才能替换end()
为max(index())
.
可以看出,在执行此代码时,end() 函数仅返回一个空日期值,尽管日期已正确存储,如检查结果时所见max(index(LGQM.DE))
。这些软件包是使用 github 从 github 安装的,devtools
安装后我重新启动了 R 会话。
r - R 没有要绘制的交易/头寸
我正在研究吸墨纸和 quantstrat。我想知道为什么有一个错误信息一直显示没有交易/头寸图表。你能给我一些帮助吗?
我想使用循环尽可能多地尝试长短组合。所以我添加了这个功能。但是,当我一一测试时,它运行良好。当我更改为循环时,它会显示此错误。
r - 卸载并重新安装 Quantstrat 以进行全新和干净的设置 R
在过去的 3 周里,我一直在使用 Quantstrat,并试图了解函数所采取的每一步以及它如何使用不同的环境。在这个学习过程中,我玩了很多代码。现在,我的“玩弄”严重破坏了我的设置,以至于 Package 无法正常工作——这很好。
我的逻辑是,我总是可以删除并重新安装包。不幸的是,情况并非如此。
此时我尝试重新安装所有内容(R、Rstudio,删除了我硬盘上所有涉及 R 的文件,删除了注册表值),但 Quantstrat 仍然无法正常工作。
如何设置 Quantstrat/blotter 的干净版本?我错过了什么吗?谢谢!
当我安装 Blotter 和 Quantstrat 时,我得到以下日志:
`
r - RStudio 中缺少构建工具
首先,我在 Mac 上工作。我正在尝试从 GitHub 安装 Blotter。我找到了一些关于如何做到这一点的描述,但我的 RStudio 告诉我我缺少构建工具并给了我一个链接(https://www.cnet.com/how-to/install-command-line-developer-tools- in-os-x/),它被描述为这样做。到目前为止,一切都很好。我下载了 Xcode 和 Mac 的命令行工具并安装了它们。即使重新启动 R 后也没有任何变化。然后我发现了这个https://cran.r-project.org/bin/macosx/tools/。我安装了它,在此期间,它告诉我必须执行以下操作
“此软件包将为 OS X 10.11 (El Capitan) 或更高版本安装 clang 6.0.0,并在 /usr/local/clang6 中提供 OpenMP 支持
为了使用这个编译器,您必须将 /usr/local/clang6/bin 添加到 PATH 环境变量中,例如 export PATH=/usr/local/clang6/bin:$PATH"
所以我改变了环境变量路径如下http://blog.tonytsai.name/blog/2018-05-07-setting-path-variable-for-gs-command-in-rstudio/。 我如何更改 PATH 变量。 我再次重新启动了 R 但仍然没有任何改变。我仍然收到缺少构建工具的通知。
不知何故,在我看来,我正确安装了所有东西,但 R 无法识别程序。有人有想法吗?我试图搜索设置以告诉 R 我安装了命令行工具,但找不到任何有用的东西。
r - 无法在 r 3.5.1 中加载吸墨纸
我能够使用吸墨纸并在以前的 r 版本中正常运行 quantstrat 但是,我已将 R 版本更新为 3.5.1,当我加载吸墨纸时,我在加载吸墨纸时收到此消息:
“错误:'blotter' 的包或命名空间加载失败:包 'blotter' 是由具有不同内部结构的 R 版本安装的;它需要重新安装才能与此 R 版本一起使用”
我已经尝试重新安装所有软件包。但吸墨纸仍然不起作用。在 R 3.5 之后,有许多不同的 r 包返回相同错误的信息。但我找不到解决方案。而且似乎没有人在stackoverflow上发布过类似的问题。
谁能给我一些提示
谢谢!
reactjs - 如何将 Blotter.js 导入我的 React.js 应用程序?
我正在尝试在我的 React 应用程序中使用 Blotter.js,但我不知道如何在我的 React 应用程序中定义 Blotter 类。
我导出了这个测试 Blotter.js ( https://codepen.io/jgordon-orange/pen/oEGxpp ) 的 codepen,它在本地工作,因为它不是 React 应用程序。但是,尝试在我的 Index.HTML 的头部添加脚本标签并没有奏效。我还尝试使用 React 导入所有脚本,但这也不起作用。从 NPM 导入包不起作用,可能是因为它已经 3 年没有更新了。
当我尝试使用导入库的方法运行代码时,我希望代码能够像我链接的演示一样工作,但我收到了这个错误:TypeError:blotter__WEBPACK_IMPORTED_MODULE_13__.default.Text is not a构造函数,或者我得到 Blotter 未定义。
javascript - 如何更改吸墨纸画布尺寸?
出于某种原因,blotter.js 画布大小不可更改。Blotter 似乎默认会生成一个名为 b-canvas 的画布?但我找不到它从哪里得到宽度和高度?而且我无法在 js 中通过 .style 设置新的宽度和大小。帮助?!
我已经尝试了所有我能找到的技术。我还尝试在 js 和 css 文件中设置一个溢出:对父级(文本)可见,但渲染仍然会因画布的边界而崩溃。我究竟做错了什么?