【问题标题】:customizing URLs in R在 R 中自定义 URL
【发布时间】:2018-05-02 08:29:31
【问题描述】:

我是印度的日间交易员。我正在使用 R 进行研究。我想下载不同股票的收盘价(EOD)。我正在使用 Quandl 和 quantmod 但对它们不满意(它们适用于历史数据,但不适用于 EOD 报价)。经过大量研究,我发现 NSE(印度国家证券交易所)的 EOD 可以在每天从其网站下载的所谓“bhav 副本”中找到。 4 月 30 日的网址是:

https://www.nseindia.com/content/historical/EQUITIES/2018/APR/cm30APR2018bhav.csv.zip

我有两个问题:

1) 如果我在 google chrome 的地址框中键入并执行,它会弹出一个弹出窗口,询问将 csv 文件存储在哪里。如何在 R 中自动执行此操作?如果我只是输入 URL 作为read.csv 的参数,就足够了吗?

2) bhav 副本每天更新。我想在 R 中编写一个函数,每天自动执行此下载。但是 URL 每天都在变化(以上 URL 仅适用于 2018 年 4 月 30 日)。该函数将当前日期作为参数。如何创建与日期和特定日期 URL 的一对一映射?换句话说,日期 dt 的 URL 是:

https://www.nseindia.com/content/historical/EQUITIES/2018/APR/cmdtAPR2018bhav.csv.zip

R 函数 f(dt) 应为该特定日期创建 URL 并下载 csv 文件。

非常感谢您的时间和精力......

【问题讨论】:

    标签: r stockquotes


    【解决方案1】:

    download.file(url, destfile) 应该是您从 R 中的 URL 下载数据所需的。然后您可以使用read.csv。根据您提供的 URL 判断,您可能需要在处理它之前使用unzip()

    如果您愿意,可以使用 data.table 库中的 fread 直接传递 url,但如果是 zip 文件,那么第一个选项可能更适合您。

    至于 URL 和处理日期,lubridate 库对于parsing dates 将很方便。

    【讨论】:

      【解决方案2】:

      nser 解决您的问题。

      要下载和阅读今天的 bhavcopy,请使用 bhavtoday

      library(nser)
      bhavtoday
      

      下载和阅读股票部分的历史副本

      bhav("30042018")
      

      F&O 部分的bhavcopy

      fobhav("30042018")
      

      您也可以使用 RSelenium 通过函数bhavs 下载 bhavcopy zip 文件。

      包链接https://cloud.r-project.org/web/packages/nser/index.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-14
        • 2014-06-07
        • 2022-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-17
        相关资源
        最近更新 更多