【发布时间】:2018-04-16 07:15:40
【问题描述】:
在 GitHub(https://timtrice.github.io/backtesting-strategies/) 中有一个 R 回测文档。
我在本文档中提到的两行代码中有一个查询 (https://timtrice.github.io/backtesting-strategies/using-quantstrat.html#settings-and-variables)。
第一行
Sys.setenv(TZ = "UTC")
第二行
currency('USD')
如您所见,第一行设置美国的系统时间,第二行设置美国的交易货币。我是一名印度交易员,我的工作是对印度公司的股票数据进行回测。我使用 quantstrat 和 quantmod 包及其依赖项。数据通过R平台从雅虎财经下载。
- 印度贸易商应该向这两者传递什么论据 功能(Sys.setenv 和货币)???。印度市场货币 是 INR(Indian Nation Rupees),印度时间是 GMT+5:30
我尝试将参数“GMT+5:30”传递给 Sys.setenv 函数,但它返回了一个错误。但是当我试图通过 GMT 时,没有错误。但印度时间是 GMT+5:30。
【问题讨论】:
-
我没有回答你的问题。但是,一方面,我看到您的问题在没有解释的情况下被多次否决,表明人们在没有帮助您的情况下表现不佳。除此之外,关于您的问题:我最想念的一件事是“您自己尝试过什么来解决这个问题”?此外,我看到您正在链接到一个 github 页面,并提到了我在该页面的第一个选项卡上找不到的两行代码。也许你的信息更准确,也许看看how to ask a good question。祝你好运。
-
1. UTC 不是美国时间,而是 Coordinated Universal Time 或 GMT。下载包含历史数据的测试文件并查看日期时间的样子。在大多数情况下,UTC 应该没问题,因为这会覆盖您的默认电脑设置,这可能会导致错误。 2. 在雅虎上查看股票是以哪种货币报告的。如果是 INR,请将货币设置为 INR,如果使用美元,请将货币设置为 USD。
-
非常感谢 4rj4n 的建议。我已经进行了修改。我会改进我的提问方式。感谢 phiver 的回答。还要感谢一如既往地对我投反对票的人。
-
检查 ?Sys.setenv() 看看输入应该是什么。例如,您不应该使用标准时区缩写之一来代替 GMT+5:30 吗?
-
我找到了答案。要确定时区,请在 R 中输入
OlsonNames()。您将获得完整的时区列表。其中,请根据您的时区选择特定的。所以对于我(印度交易员)来说,应该是Sys.getenv("Asia/Kolkata")对于货币,请设置为currency("INR")。感谢 Ilya Kipnis 帮助我找到解决方案。
标签: r quantmod trading quantstrat