设为首页收藏本站获取积分奖励

R语言中文网

 找回密码
 立即注册
查看: 21938|回复: 29

R语言 获取沪深两市股票日度行情数据

[复制链接]
发表于 2013-3-27 14:30:09 | 显示全部楼层 |阅读模式
用来从网易财经网获取沪深两市股票日度行情数据。
真的学习了
  1. # cntrade R语言版
  2. # 作者:陈堰平(新华指数有限责任公司,chen@yanping.me)
  3. # 使用网易股票数据接口 原stata版的作者为:
  4. # 李春涛(中南财经政法大学,chtl@znufe.edu.cn)
  5. # 张璇(中南财经政法大学,zhangx@znufe.edu.cn)
  6. # example:
  7. # cntrade(c('600000', '000008'), path ='D:/stockprice', start = 20010104, end = 20120124)

  8. cntrade <- function(tickers, path = "", start = 19910101, end = "") {

  9. address <- "http://quotes.money.163.com/service/chddata.html"
  10. field <- "&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP"

  11. if (path == "") {
  12. path <- getwd()
  13. }

  14. if (!file.exists(path)) {
  15. dir.create(path)
  16. }

  17. if (substr(path, nchar(path), nchar(path)) != "/") {
  18. path <- paste(path, "/", sep = "")
  19. }

  20. if (end == "") {
  21. year <- substr(Sys.time(), 1, 4)
  22. month <- substr(Sys.time(), 6, 7)
  23. day <- substr(Sys.time(), 9, 10)
  24. end <- paste(year, month, day, sep = "")
  25. }

  26. count <- 0
  27. tickers <- as.character(tickers)
  28. for (name in tickers) {
  29. while (nchar(name) < 6) {
  30. name <- paste("0", name, sep = "")
  31. }

  32. if (nchar(name) > 6) {
  33. warning(paste("invalid stock code: ", name, sep = ""))
  34. next
  35. }

  36. if (as.numeric(name) > 600000) {
  37. url <- paste(address, "?code=0", name, "&start=", start, "&end=", end, field, sep = "")
  38. } else {
  39. url <- paste(address, "?code=1", name, "&start=", start, "&end=", end, field, sep = "")
  40. }
  41. destfile <- paste(path, name, ".csv", sep = "")
  42. download.file(url, destfile, quiet = TRUE)
  43. count <- count + 1
  44. }

  45. if (count == 0) {
  46. cat("一个数据文件都没下载下来!\n")
  47. } else {
  48. cat("数据下载完成!\n")
  49. cat(paste("共下载", count, "个文件\n", sep = ""))
  50. }
  51. }

复制代码
调用举例
  1. cntrade(c(600000, 000001, 600810))
  2. cntrade('000002', start = 19990101)
  3. cntrade(000002, end = 19990101)
  4. cntrade(c(2, 16))

复制代码
转自http://yanping.me/cn/blog/2013/02/10/cntrade-r-version/
回复

使用道具 举报

发表于 2013-4-8 16:20:14 | 显示全部楼层
新手我,能不能烦劳楼主解释下有的操作··
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-12 11:22:33 | 显示全部楼层
王文婕 发表于 2013-4-8 16:20
新手我,能不能烦劳楼主解释下有的操作··

最好的办法,就是自己贴上去,一条一条试。然后对比输出结果。再学习相关函数。
回复 支持 反对

使用道具 举报

发表于 2014-4-17 15:28:29 | 显示全部楼层
很复杂的样子
回复 支持 反对

使用道具 举报

发表于 2014-8-2 11:12:48 | 显示全部楼层
不错,真的可以
回复 支持 反对

使用道具 举报

发表于 2014-8-2 16:35:10 | 显示全部楼层
还在看quantmod 包 ,不过只有GOOGLE YAHOO的,印象中QQ的好像更好。有买入卖出的量。。不过忘了地址了。。。。求。。。
回复 支持 反对

使用道具 举报

发表于 2015-3-19 08:52:09 | 显示全部楼层
代码收藏研究
回复 支持 反对

使用道具 举报

发表于 2015-3-19 22:50:54 | 显示全部楼层
收藏研究,学习为用
回复 支持 反对

使用道具 举报

发表于 2015-3-22 09:20:32 | 显示全部楼层
学习了,谢谢!
回复 支持 反对

使用道具 举报

发表于 2015-3-22 23:03:28 | 显示全部楼层
感谢分享,mark一下,好好学习学习~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Archiver|R语言中文网    

GMT+8, 2024-5-9 14:06 , Processed in 0.036308 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表