注:1、此方法获得的股票价格是实际价格,未进行前/后复权
       2、只举例深市的获取方法,沪市的同理
       3、步骤:先从网上爬取每个股票的交易历史,存为csv格式文件;读取csv文件数据加载至mysql数据库

######################################################################################################
#################################批量下载深市股票信息到csv文件########################################
######################################################################################################
#把下载好的数据按照市场分开,分别保存到txt文件即可,这里不再赘述。
#保存好的数据要稍微处理一下,日期的格式调整为yyyymmdd,write.table会把数据框的“列名”打印出来,列名也是要去掉的。
#有了股票代码和上市日期数据就可以自动化下载数据了,最好深市沪市分开进行,存在不同的文件夹下,R代码如下
#下载股票数据
library(RCurl)
#http://quotes.money.163.com/service/chddata.html?code=0600030&start=20030106&end=20140920&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP
url1    <- "http://quotes.money.163.com/service/chddata.html?code="
market  <- "1" # 1:深市,0:沪市
code    <- "000003"
url2    <- "&start="
start   <- "19900101"
url3    <- "&end="
end     <- "20170711"         #用当前最新日期
url4    <- "&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP"#文件的存放路径
file.path   <- "E:/.../数据源/SZ/"#股票代码+发行日期,格式:CODE制表符yyyymmdd
security <- readLines("E:/.../数据源/深市股票上市日.txt")
code <- vector(length = length(security))
listingdate <- vector(length = length(security))
security.tab <- data.frame(code, listingdate, stringsAsFactors=FALSE)for (i in 1 : length(security))
{security.tab[i,] = do.call(cbind,(strsplit(security[i],"\t")))          #do.call(cbind,[list]) 列表转矩阵
}for (i in 1 : dim(security.tab)[1])
{code <- security.tab$code[i]start <- security.tab$listingdate[i]cat(i,"\t---",code,"\n")url <- paste(url1,market,code,url2,start,url3,end,url4,sep="")file <- paste(file.path,code,".csv",sep="")download.file(url,destfile=file, method="auto",quiet=T)
}######################################################################################################
#################################批量导入深市股票信息到数据库#########################################
######################################################################################################
#创建表
create table stock_info_sz
(
data_dt varchar(10),
stock_id varchar(10),
stock_name  varchar(100),
shoupanjia  decimal(18,2),
zuigaojia   decimal(18,2),
zuidijia    decimal(18,2),
kaipanjia   decimal(18,2),
qianshoupan   decimal(18,2),
zhangdiee    decimal(18,2),
zhangdiefu   decimal(18,6),
huanshoulv   decimal(18,6),
chengjiaoliang decimal(18,0),
chengjiaojine  decimal(18,2),
zongshizhi     decimal(18,0),
liutongzhi     decimal(18,0)
)#在成功获得数据,并保存到若干csv、txt文件之后,最后一步就是导入数据库MySQL。借助R包RMySQL,可以实现R和MySQL的连接,在R环境中直接操作MySQL数据库。
# 载入RMySQL包
library(RMySQL)
# 建立数据库连接
conn <- dbConnect(MySQL(),dbname = "gushi",username = "root")
# 启动非严格模式
dbSendQuery(conn, "SET @@sql_mode=ANSI;")
# win7环境下如果汉字乱码,就运行这条命令
dbSendQuery(conn, "SET NAMES GBK")security <- readLines("E:/.../数据源/深市股票上市日.txt")
code <- vector(length = length(security))
listingdate <- vector(length = length(security))
security.tab <- data.frame(code, listingdate, stringsAsFactors=FALSE)for (i in 1 : length(security))
{security.tab[i,] = do.call(cbind,(strsplit(security[i],"\t")))          #do.call(cbind,[list]) 列表转矩阵
}#文件的存放路径
file.path   <- "E:/.../数据源/SZ/"
for (i in 1 : dim(security.tab)[1])
{code <- security.tab$code[i]cat(i,"\t---",code,"\n")file <- paste(file.path,code,".csv",sep="")#拼接SQLstart <- "load data infile '"end <- "' into table stock_info_sz character set GBK fields terminated by ',' lines terminated by '\n'"sql <- paste(start,file,end,sep="")res1 <-dbSendQuery(conn, sql)
}
#清除文件头数据
sql <- "delete from stock_info_sz where data_dt='日期'"
res1 <-dbSendQuery(conn, sql)
#去掉股票代码前的'
sql <- "update stock_info_sz set stock_id=replace(stock_id,'\\'','')"
res1 <-dbSendQuery(conn, sql)

R语言-股票数据库(2)-股票日K线信息-未复权相关推荐

  1. R语言-股票数据库(3)-股票日K线信息-前复权-Wind

    前文股票历史交易数据是未复权的,在此使用WIND数据库获取复权后价格 安装Rstudio: https://www.rstudio.com/products/rstudio/download/ 安装W ...

  2. 如何获取下拉框lable的数据_如何使用Python获取指定股票的日K线数据?

    本篇仅介绍指定股票的数据拉取,批量拉取将在之后的教程中进行介绍,首先你需要安装BaoStock,参见往期教程: 如何使用Python安装BaoStock? 该数据是从2015年开始的,优点是可以用Py ...

  3. 用python把股票日K线转换成月K线周期数据,这可能是网上最稀缺的代码

    用python把股票日线转换成月K线周期,这可能是网上最稀缺的代码. 在网上找了半天,真的非常稀缺,把日K线转换成月线周期. 东拼西凑,再加上自己的修改,终于写出来了. 先爬取K线数据保存为temp. ...

  4. 黄金日k线图_股票k线图经典图解

    2009年3月2日现货黄金日K线技术图形快速查询 MACD 黄金30分钟即时K线图 什么是黄金黄金基础知识全面学习 黄金實用技術分析工具视频教程推荐 黄金24小时K线.Q2 现货黄金日k线图怎么看 黄 ...

  5. R语言可以直接从数据库读取数据么?R语言读取数据库数据示例

    R语言可以直接从数据库读取数据么?R语言读取数据库数据示例 目录 R语言可以直接从数据库读取数据么?R语言读取数据库数据示例 R语言是解决什么问题的? R语言可以直接从数据库读取数据么?R语言读取数据 ...

  6. php判断股票是跌停了,跌停k线图形态

    十字线 能够提供自身信息并具有许多重要模式的特征的烛台线的名称.在市场开盘价和收盘价相等时,烛身最小而形成Doji. 锤头 烛台图表的价格模式,出现于市场交易价在开盘后先下跌,随后在当日重新上扬,收盘 ...

  7. 使用Tushare平台提供的数据绘制日K线、周K线、月K线

    1. Tushare介绍 Tushare平台提供了丰富的数据,包含股票.基金.期货.债券.外汇.行业大数据,同时包括了数字货币行情等区块链数据的全数据品类的金融大数据平台,各种api接口的调用极为方便 ...

  8. axure中备注线_1分钟K线、日K线、月K线……不同周期的K线图到底有啥用?

    本文由小冉老师微信(xiaoran376418732)整理,个人观点,仅供参考,不构成操作建议.如自行操作,注意仓位控制和风险自负. 有人说炒股是一门玄学,有人说炒股是一门艺术. 有时炒股是一件门槛很 ...

  9. 应用篇 | 你只有日K线数据,想要周K线?安排。

    前言 最近小编被学Python的金融学妹问到:我只有股票的日K线数据,如何转成周K线? --

最新文章

  1. XX must be built with ARC
  2. java动态生成柱状图3D_在android上动态实现ichartjs的3D柱形图
  3. Python3绘图库Matplotlib(01)
  4. leetcode-- 124. 二叉树中的最大路径和
  5. html动态散花代码,IOS实现签到特效(散花效果)的实例代码
  6. Ripro子主题-ziyuan-zhankr资源主题 蓝色简约版
  7. java五子棋_Java初级项目——从零开始制作一个简易五子棋游戏
  8. Excel-基本操作
  9. NFS, web,负载均衡,Nginx yum 源码安装
  10. C#.NET彩票数据分析
  11. 麒麟操作系统产业化项目落户天津
  12. hiberfil.sys彻底删除,释放C盘空间。
  13. 移动开发者周刊第一期
  14. 名帖96 赵孟頫 小楷《汉汲黯传》
  15. 【重识云原生】计算第2.4节——主流虚拟化技术之KVM
  16. Threejs围墙动画
  17. WebService 深入详解
  18. 分享一个餐饮点餐小程序--蜜蜂点餐
  19. c++ 结构体和vector进行lower_bound和upper_bound
  20. Hibernate错误:java.lang.NoClassDefFoundError: Could not initialize class com.zhbit.util.HibernateUtils

热门文章

  1. linux 添加路由 指定网卡,Linux多个网卡添加永久路由办法
  2. HTML+CSS如何实现奔跑的小熊的动画?
  3. air 编译打包相关
  4. 【无标题】灵遁者:每个作家的过去,都是他宝贵的财富
  5. mac的wifi有一个感叹号无法上网。
  6. linux添加anaconda环境变量,Anaconda3配置环境变量
  7. 关于图片验证码Kaptcha的应用
  8. 计算机协会技术部职责,计算机协会技术部策划书.doc
  9. android 华为拍照功能介绍,华为手机拍照方式有哪些?华为手机六大拍照方式介绍...
  10. php密码不能为空,PHPJN0001:phpmyadmin 允许密码为空 设置