博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TuShare(2):使用TuShare,抓取股票数据并存储到数据库
阅读量:7054 次
发布时间:2019-06-28

本文共 3380 字,大约阅读时间需要 11 分钟。

本文的原文连接是: 未经博主允许不得转载。

博主地址是:

1,关于股票数据存储


股票数据比较特殊,需要做数据统计的。都需要一次进行批量查询多个数据,然后进行分析。

所以股票数据不一定要放到数据库中存储。因为一般就两个维度。
那只股票,和那天的股票信息,然后使用模型进行分析预测。
所以数据可以存储为:/data/stock/yyyy/yyyMM/yyyyMMdd.hdf5
存储的数据是hdf5:
Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式

2,安装hdf5库


#首先安装hdf5库yum -y install hdf5 hdf5-develpip install unittest2pip install --upgrade  tables

3,测试读写hdf5文件


参考pytables官方文档。

这里使用的是pandas封装的接口直接使用,而不是使用tables。

# pythonPython 2.6.6 (r266:84292, Jul 23 2015, 15:22:56) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import numpy as np>>> import pandas as pd###su>>> a = np.random.standard_normal((9,4))>>> b = pd.DataFrame(a)>>> b.columns = [['num1','num2','num3','num4']]>>> aarray([[-2.36198849, -1.27547933, -1.40351822, -0.6638619 ],       [ 1.89159066, -0.31838519, -0.2065942 , -1.02327987],       [-2.02771503, -0.81333254, -0.93644288, -0.91592467],       [-1.3939496 ,  0.25899342,  1.11591841, -0.7423286 ],       [-1.05104415, -0.79069151, -1.46536873, -0.01449547],       [ 1.32483444,  0.32030117, -1.23575344,  0.51455106],       [ 0.91297435,  0.43242834,  1.77235337,  1.14879289],       [ 0.93476429,  0.18592698,  0.30198234, -0.61861642],       [ 0.04462872, -0.99275411, -0.86382085, -1.53064223]])>>> b       num1      num2      num3      num40 -2.361988 -1.275479 -1.403518 -0.6638621  1.891591 -0.318385 -0.206594 -1.0232802 -2.027715 -0.813333 -0.936443 -0.9159253 -1.393950  0.258993  1.115918 -0.7423294 -1.051044 -0.790692 -1.465369 -0.0144955  1.324834  0.320301 -1.235753  0.5145516  0.912974  0.432428  1.772353  1.1487937  0.934764  0.185927  0.301982 -0.6186168  0.044629 -0.992754 -0.863821 -1.530642>>> b.sum()num1   -1.725905num2   -2.992993num3   -2.921244num4   -3.845805dtype: float64>>> b.mean()num1   -0.191767num2   -0.332555num3   -0.324583num4   -0.427312dtype: float64###写hdf5文件:>>> h5 = pd.HDFStore('/data/stock/test1.h5','w')>>> h5['data'] = b>>> h5.close()>>> >>> b       num1      num2      num3      num40 -2.361988 -1.275479 -1.403518 -0.6638621  1.891591 -0.318385 -0.206594 -1.0232802 -2.027715 -0.813333 -0.936443 -0.9159253 -1.393950  0.258993  1.115918 -0.7423294 -1.051044 -0.790692 -1.465369 -0.0144955  1.324834  0.320301 -1.235753  0.5145516  0.912974  0.432428  1.772353  1.1487937  0.934764  0.185927  0.301982 -0.6186168  0.044629 -0.992754 -0.863821 -1.530642###读hdf5文件。>>> h5 = pd.HDFStore('/data/stock/test1.h5','r')>>> c = h5['data']>>> c       num1      num2      num3      num40 -2.361988 -1.275479 -1.403518 -0.6638621  1.891591 -0.318385 -0.206594 -1.0232802 -2.027715 -0.813333 -0.936443 -0.9159253 -1.393950  0.258993  1.115918 -0.7423294 -1.051044 -0.790692 -1.465369 -0.0144955  1.324834  0.320301 -1.235753  0.5145516  0.912974  0.432428  1.772353  1.1487937  0.934764  0.185927  0.301982 -0.6186168  0.044629 -0.992754 -0.863821 -1.530642>>> h5.close()

4,TuShare读取股票数据存储


>>> import tushare as ts>>> d = ts.get_tick_data('600848',date='2015-01-09')>>> type(d)
>>> len(d)1212###保存数据>>> h5 = pd.HDFStore('/data/stock/test2.h5','w')>>> h5['data'] = d>>> h5.close()>>> >>> ###读取数据>>> h5 = pd.HDFStore('/data/stock/test2.h5','r')>>> e = h5['data']>>> h5.close()>>> >>> type(e)
>>> len(e)1212

5,总结


本文的原文连接是: 未经博主允许不得转载。

博主地址是:

使用文件直接存储到本地还是非常方便的。pandas直接封装的函数3行解决问题。

同时pandas封装的读出数据还是数组,可以直接进行操作。灰常方便。

你可能感兴趣的文章
instanceof, isinstance,isAssignableFrom的区别
查看>>
ITK, VTK, QT 安装与配置问题记录
查看>>
Java8学习笔记
查看>>
缓存之EHCache(第五个记录)
查看>>
一个超轻量级的 ORM 框架
查看>>
转:JVM底层又是如何实现synchronized的
查看>>
MySQL(Slow)
查看>>
Java SE 6 新特性: JMX 与系统管理
查看>>
jvm系列(八):jvm知识点总览
查看>>
4.1Javap命令的使用
查看>>
自动切换的tab标签代码
查看>>
VMware ThinApp简明教程:制作单文件软件和便携软件
查看>>
Swift开发笔记-Mac OS X 天气预报应用开发(Xcode7.2)
查看>>
js指针时钟
查看>>
【绿色系统】如何恢复XP“显示桌面”按钮
查看>>
在ubuntu 11.10 下安装谷歌输入法
查看>>
Apache Hive2.1.0安装笔记
查看>>
django中翻译处理国际化方法
查看>>
三:JVM学习-内存分配以及回收策略
查看>>
spring redis 配置子域名共享session (有点坑)
查看>>