自定义R中的URL

时间:2018-05-02 08:29:32

标签: r stockquotes

我是印度的日间交易员。我正在用R来做我的研究。我想下载不同股票的每日结束(EOD)股票价格。我使用的是Quandl和quantmod但对它们并不满意(它们可以用于历史数据,但不适用于EOD报价)。经过大量研究后,我发现NSE(印度国家证券交易所)的EOD可以在所谓的“bhav拷贝”中找到,可以从其网站上每天下载。第30个APRIL的URL是:

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

我有两个问题:

1)如果我在谷歌浏览器的地址栏中输入并执行,它会弹出一个弹出窗口,询问存储csv文件的位置。如何在R中自动执行此操作?如果我只输入网址作为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文件。

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

1 个答案:

答案 0 :(得分:0)

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

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

对于网址和处理日期,lubridate库将方便parsing dates