如何用tushare数据不准确分析股票数据

&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
TuShare(2):使用TuShare,抓取股票数据并存储到数据库
摘要:本文的原文连接是:http://blog.csdn.net/freewebsys/article/details/未经博主允许不得转载。博主地址是:http://blog.csdn.net/freewebsys1,关于股票数据存储股票数据比较特殊,需要做数据统计的。都需要一次进行批量查询多个数据,然后进行分析。所以股票数据不一定要放到数据库中存储。因为一般就两个维度。那只股票,和那天的股票信息,然后使用模型进行分析预测。所以数据可以存储为:/data/stoc
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/ 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys
1,关于股票数据存储
股票数据比较特殊,需要做数据统计的。都需要一次进行批量查询多个数据,然后进行分析。 所以股票数据不一定要放到数据库中存储。因为一般就两个维度。 那只股票,和那天的股票信息,然后使用模型进行分析预测。 所以数据可以存储为:/data/stock/yyyy/yyyMM/yyyyMMdd.hdf5 存储的数据是hdf5: Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式
2,安装hdf5库
#首先安装hdf5库yum -y install hdf5 hdf5-develpip install unittest2pip install --upgrade
3,测试读写hdf5文件
参考pytables官方文档。 http://www.pytables.org/usersguide/tutorials.html 这里使用的是pandas封装的接口直接使用,而不是使用tables。
# pythonPython 2.6.6 (r266:84292, Jul 23 :56) [GCC 4.4.7
(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., -1., -1., -0.6638619 ],
[ 1., -0., -0.2065942 , -1.],
[-2., -0., -0., -0.],
[-1.3939496 ,
1., -0.7423286 ],
[-1., -0., -1., -0.],
[ 0., -0., -0., -1.]])&&& b
num40 -2....................................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
num40 -2....................................530642###读hdf5文件。&&& h5 = pd.HDFStore('/data/stock/test1.h5','r')&&& c = h5['data']&&& c
num40 -2....................................530642&&& h5.close()
4,TuShare读取股票数据存储
&&& import tushare as ts&&& d = ts.get_tick_data('600848',date='')&&& type(d)&class 'pandas.core.frame.DataFrame'&&&& 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)&class 'pandas.core.frame.DataFrame'&&&& len(e)1212
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/ 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys
使用文件直接存储到本地还是非常方便的。pandas直接封装的函数3行解决问题。 同时pandas封装的读出数据还是数组,可以直接进行操作。灰常方便。
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
新用户大礼包!
现在注册,免费体验40+云产品,及域名优惠!
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
TuShare(2):使用TuShare,抓取股票数据并存储到数据库相关信息,包括
的信息,所有TuShare(2):使用TuShare,抓取股票数据并存储到数据库相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International使用tushare获取股票历史数据和实时分笔数据
时间: 22:02:06
&&&& 阅读:4158
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&使用tushare获取股票历史数据和实时分笔数据
财经数据接口包tushare的使用(一)
Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据、年度季度报表数据、实时分笔数据、历史分笔数据,本文对tushare的用法,已经存在的一些问题做一些介绍。&一:安装tushare
为避免由于依赖包缺失导致安装失败,请先安装anaconda,百度网盘地址:&链接:&密码:6wq8&安装直接一直下一步即可&安装完成之后,anaconda会自动配置环境变量,直接就可以用了,cmd打开命令行窗口,使用命令&pip install tushare&即可安装tushare&二:tushare的使用
1、获取历史数据之get_hist_data&参数说明:&? code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)&? start:开始日期,格式YYYY-MM-DD&? end:结束日期,格式YYYY-MM-DD&? ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D&? retry_count:当网络异常后重试次数,默认为3&? pause:重试时停顿秒数,默认为0&返回值说明:&? date:日期&? open:开盘价&? high:最高价&? close:收盘价&? low:最低价&? volume:成交量&? price_change:价格变动&? p_change:涨跌幅&? ma5:5日均价&? ma10:10日均价&? ma20:20日均价&? v_ma5:5日均量&? v_ma10:10日均量&? v_ma20:20日均量&? turnover:换手率[注:指数无此项]&调用方法:&例一:&import tushare as ts&data=ts.get_hist_data(‘300032’)&print(data)
结果展示:&open high close low volume price_change p_change \&date& 13.89 13.96 13.95 13.77 .02 -0.14& 13.97 13.98 13.97 13.77 .01 -0.07& 13.90 14.02 13.98 13.68 .01 0.07& 13.87 13.97 13.97 13.67 .00 0.00& 13.98 14.09 13.97 13.86 .04 -0.29& 14.37 14.37 14.01 13.88 .37 -2.57& 14.00 14.43 14.38 14.00 .32 2.28
date& 13.968 14.046 14.044 89.33 .26& 13.980 14.048 14.054 17.60 .31& 14.062 14.043 14.064 50.48 .31& 14.078 14.038 14.083 52.32 .53& 14.114 14.039 14.099 23.22 .24& 14.124 14.042 14.118 67.91 .42& 14.116 14.046 14.132 17.38 .66
请读者注意,文档中的注释并不准确,使用该接口并不能获取股票自上市以来的所有日线数据,例如这里举的例子,金龙机电这只股票(日上市)。&请再看例子:&例二:&import tushare as ts&data=ts.get_hist_data(‘300032’,start=’’,end=’’)&print(data)
返回结果是:&Empty DataFrame&Columns: [open, high, close, low, volume, price_change, p_change, ma5, ma10, ma20, v_ma5, v_ma10, v_ma20, turnover]&Index: []&可以看到,这几行代码返回的数据为一个空的dataframe,这是网页文章中没有详细说明的问题在这里指出。如何解决这个问题,请关注微信公众号【数据之佳】,注意是才子佳人的佳,该公众号分享量化分析模型,讲解一些比较好的模型,工具等等,tushare的使用公众号中有更详细的介绍。公众号也会讲解如何用其他方式获取更稳定可靠的数据
2、获取历史数据之get_h_data&作者提供另外一个函数get_h_data用于获取股票历史数据,该函数的调用网页文档没有给出例子,在这里依然用上面的例子来作测试:&例三:&import tushare as ts&data=ts.get_h_data(‘300032’)&print(data)
返回结果:&open high close low volume amount&date& 13.89 13.96 13.95 13.77
& 13.97 13.98 13.97 13.77
& 13.90 14.02 13.98 13.68
& 13.87 13.97 13.97 13.67
&……& 17.31 17.42 17.17 17.15
& 17.37 17.51 17.27 17.24
& 17.37 17.41 17.40 17.20
&[246 rows x 6 columns]
在不指定开始时间和结束时间时,该函数默认返回最近一年的日线数据,返回的数据与get_hist_data不同的是,该函数只返回开盘价(open)、最高价(high)、收盘价(close)、最低价(low)、成交量(volume)、成交金额(amount)六列&同样的,测试一下该接口能不能获取更早一些的数据:
import tushare as ts&data=ts.get_h_data(‘300032’,start=’’,end=’’)&print(data)
返回结果:&[Getting data:]# open high close low volume amount&date& 14.18 14.41 14.41 13.96
& 14.60 14.66 14.10 13.86
& 14.50 14.67 14.44 14.26
& 14.82 14.82 14.41 14.31
. ……& 13.14 13.23 13.21 12.84
&[77 rows x 6 columns]
可以看到,相比于get_hist_data,该函数能够返回较早一些的数据,但没有换手率,均线数据这些指标,当然,我们可以获取到数据之后,自己写个脚本计算均线这些信息,但是如果要自己计算换手率,就必须知道股票的市值是多少,这两个函数都没有返回关于股票市值的信息,因此如果要自己计算换手率,就得从其他地方获取股票每个交易日的市值信息。
3、获取历史数据之:get_k_data&作者提供了第三个获取K线数据的函数,get_k_data,参数与get_hist_data相同。
例四:&import tushare as ts&data=ts.get_k_data(‘300032’)&print(data)&返回结果:&date open close high low volume code&0
12.914 13.742 14.086 12.914 032&1
13.742 14.377 14.500 13.742 032&2
14.412 14.510 14.761 13.791 032&3
14.520 14.471 14.751 14.224 032&4
14.648 14.343 14.648 13.845 032&5
14.372 14.062 14.549 13.904 032
与前两个函数相比,这个函数获取数据的速度很明显要快很多,而且可以返回每一只股票从上市开始到当前交易日的所有日线数据,这个有点是前两个函数都不具备的,读者可以自己验证一下,get_h_data可以返回比get_hist_data更早一些的数据,但是对于有些股票依然不能获取很早的数据,更重要的是,如果批量3000多只股票的数据,前两个都不如get_k_data稳定,我一开始搜集数据的时候,为了获取更全面的数据,用的是get_hist_data,但是批量获取,反反复复跑脚本,没有一次是能够将数据完整获取完的,每一次都是中途就挂了,读者可以自己测试一下,间隔时间长一些应该没问题,不过我后来已经知道其他的解决办法,既能够获取全面的数据,同时也不必担心速度的问题,怎么获取一样会在微信公众号【数据之佳】介绍,这里先介绍tushare
4、获取实时行情数据get_today_all()&返回值说明:&? code:代码&? name:名称&? changepercent:涨跌幅&? trade:现价&? open:开盘价&? high:最高价&? low:最低价&? settlement:昨日收盘价&? volume:成交量&? turnoverratio:换手率&? amount:成交量&? per:市盈率&? pb:市净率&? mktcap:总市值&? nmc:流通市值&该函数没有参数,直接调用即可&测试:&例五:&import tushare as ts&data=ts.get_today_all()&print(data)&返回值:&[Getting data:]############################################################ code name changepercent trade open high low settlement \&0 603999 读者传媒 -0.622 7.99 8.03 8.11 7.92 8.04&1 603998 方盛制药 -2.535 12.69 13.00 13.13 12.58 13.02&2 603997 继峰股份 -1.529 11.59 11.77 11.86 11.50 11.77&……&volume turnoverratio amount per pb mktcap \&0
0.55.0 27.552 2.759 4.&1
1.89.0 79.313 5.471 5.&2
1.99.0 19.644 4.428 7.&nmc&0 1.&1 3.&2 1.&…….&[3446 rows x 15 columns]
限于篇幅,这里只贴出前三行数据,get_today_all()获取了所有股票的当前行情数据,但是获取一次数据的耗时比较长,读者可以自己在实时行情和盘后自己测试一下,看看会不会挂,整体延时有多久等等
5、历史分笔数据之:get_tick_data&参数说明:&code:股票代码,即6位数字代码&date:日期,格式YYYY-MM-DD&retry_count : int, 默认3,如遇网络等问题重复执行的次数&pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
该函数返回指定日期的历史分笔数据,但由于历史分笔数据很耗空间,所以一般服务器都不会存储很长时间的历史分笔数据,该接口也一样,并不能获取从上市以来的所有日期的分笔数据。&例六:&import tushare as ts&data=ts.get_tick_data(‘300032’,’’)&print(data)
返回结果:&time price change volume amount type&0 15:00:03 14.05 -0.01 371 521255 卖盘&1 14:57:03 14.06 0.01 1 1406 买盘&2 14:56:57 14.05 – 92 129260 卖盘&3 14:56:54 14.05 – 20 28100 卖盘&……&:36 14.10 -0.02 159 224190 中性盘&:06 14.12 14.12 7 9884 买盘&[1528 rows x 6 columns]
6、实时分笔数据之get_realtime_quotes&参数说明:&? symbols:6位数字股票代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板) 可输入的类型:str、list、set或者pandas的Series对象&例八:&import tushare as ts&data=ts.get_realtime_quotes(‘300032’)&print(data)&name open pre_close price high low bid ask volume \&0 金龙机电 13.890 13.970 13.950 13.960 13.770 13.940 13.950 1967056&amount … a2_p a3_v a3_p a4_v a4_p a5_v a5_p \&0
… 13.960 741 13.970 547 13.980 332 13.990&date time code&0
16:28:03 300032&[1 rows x 33 columns]
该接口返回的数据量较小,还是比较快的,读者可以自己在实时行情中和盘后自己测试一下
6、当日历史分笔之get_today_ticks&参数说明:&code:股票代码,即6位数字代码&retry_count : int, 默认3,如遇网络等问题重复执行的次数&pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
例九&import tushare as ts&data=ts.get_today_ticks(‘300032’)&print(data)
返回值&[Getting data:]################# time price pchange change volume amount type&0 15:00:03 14.36 +2.79 0.00 938 1346968 卖盘&1 14:57:00 14.36 +2.79 0.01 2 2872 卖盘&2 14:56:57 14.35 +2.72 -0.01 27 39463 卖盘&……&984 09:25:03 13.89 -0.57 0.00 27 37503 0&[985 rows x 7 columns]
该接口返回当前日期,当前时刻的所有粉笔成交数据,相比于上一个接口,速度慢很多,也请读者自己测试
7、大单交易数据之get_sina_dd&获取大单交易数据,默认为大于等于400手,数据来源于新浪财经。&参数说明:&? code:股票代码,即6位数字代码&? date:日期,格式YYYY-MM-DD&? vol:手数,默认为400手,输入数值型参数&? retry_count : int, 默认3,如遇网络等问题重复执行的次数&? pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题&返回值说明:&? code:代码&? name:名称&? time:时间&? price:当前价格&? volume:成交手&? preprice :上一笔价格&? type:买卖类型【买盘、卖盘、中性盘】&例10:&import tushare as ts&data=ts.get_sina_dd(‘300032’,’’)&print(data)
返回值&code name time price volume preprice type&0 300032 金龙机电 14:45:54 13.97
卖盘&1 300032 金龙机电 10:51:36 14.10
卖盘&2 300032 金龙机电 10:19:42 14.05
卖盘&3 300032 金龙机电 09:38:36 14.03
借助于tushare,其实我们已经可以做一些量化分析和策略了,但是tushare在实际使用中,有一些不经如人意的地方,我在使用中遇到的问题,同时也自己优化了一一些地方,实在不满意的数据,从其他地方用自己想办法获取,对于tushare已经可以做得很好的就不洗自己再去做了,想要了解怎样获取更全面的数据,学习如何将机器学习算法和数据分析方法运用到自己的量化模型当中,请关注微信公众号【数据之佳】,我们将不定期更新文章
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文地址:https://www.cnblogs.com/timdes1/p/8231442.html
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!苹果/安卓/wp
积分 3388, 距离下一级还需 212 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯, 显身卡, 匿名卡, 金钱卡, 抢沙发, 变色卡, 提升卡, 沉默卡下一级可获得
道具: 千斤顶
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 186 天连续签到: 1 天[LV.7]常住居民III
本帖最后由 wqf_cufe 于
09:01 编辑
大家好,最近对历史分笔数据很感兴趣,想用TuShare这个免费的数据资源平台做一个预警程序。
数据网站:
这个网站可以取到任意一只股票任意一天的历史分笔数据。但是好像不能选取某一只股票任意一段时间内的数据。也不能读取全市场所有股票在某一天的分笔数据。
现在想请教高手,如何用Python写一个程序,可以遍历市场当日所有股票的分笔数据,发现其中某笔交易的数字(这里指的是Volume)是1234手或者888手。然后print出来这只股票的代码和交易时间。
这里的代码很简单,是Tushare网站的样例。
import tushare as ts
df = ts.get_tick_data('600848','')
df.head(10)
& &&&time& && & price change&&volume&&amount&&type0& & 15:00:00& &6.05& &&&--& && & 8& & 4840& &卖盘1& & 14:59:55& &6.05& &&&--& && &50& &30250& &卖盘2& & 14:59:35& &6.05& &&&--& && &20& &12100& &卖盘3& & 14:59:30& &6.05&&-0.01& &&&165& &99825& &卖盘4& & 14:59:20& &6.06& &0.01& && & 4& & 2424& &买盘5& & 14:59:05& &6.05&&-0.01& && & 2& & 1210& &卖盘6& & 14:58:55& &6.06& &&&--& && & 4& & 2424& &买盘7& & 14:58:45& &6.06& &&&--& && & 2& & 1212& &买盘8& & 14:58:35& &6.06& &0.01& && & 2& & 1212& &买盘9& & 14:58:25& &6.05&&-0.01& && &20& &12100& &卖盘10& &14:58:05& &6.06& &&&--& && & 5& & 3030& &买盘
本帖被以下文库推荐
& |主题: 2519, 订阅: 1474
哈哈,我也在用这个TuShare
解决办法:
先取当日的所有交易股票:df = ts.get_today_all()
然后循环一下:
for symbol in df['code']:
& && &tick = ts.get_tick_data(symbol)
这个tick就是你要保存的数据了,不知道能不能帮上你。
热心帮助其他会员
总评分:&论坛币 + 20&
请问首次连接Tushare
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师&>&股票数据接口库NTuShare
股票数据接口库NTuShare
上传大小:2.89MB
最近学习量化, 看到Python数据接口库TuShare还不错, 因自己C#做的多, 也不想通过IronPython等去调用, 便翻译搞了个纯C#版. 包含示例代码, 需.NET 4.0. 对量化套利感兴趣的可以参考, 或者自己建数据库, 下载数据进行个性化分析;
综合评分:5
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有6条
用了还可以
真是需要的
谢谢,很给力
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
股票数据接口库NTuShare
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
wujiong595959
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
股票数据接口库NTuSharePython股票数据分析(tushare/seaborn) - 简书
Python股票数据分析(tushare/seaborn)
python版本:3.4
最近在学习基于python的股票数据分析,其中主要用到了tushare和seaborn。tushare是一款财经类数据接口包,国内的股票数据还是比较全的,官网地址: 。seaborn则是一款绘图库,通过seaborn可以轻松地画出简洁漂亮的图表,而且库本身具有一定的统计功能。
导入的模块:
import matplotlib.pyplot as plt
import seaborn as sns
import seaborn.linearmodels as snsl
from datetime import datetime
import tushare as ts
代码部分:
股票收盘价走势曲线
&code&sns.set_style("whitegrid")&/code&
end = datetime.today() #开始时间结束时间,选取最近一年的数据
start = datetime(end.year-1,end.month,end.day)
end = str(end)[0:10]
start = str(start)[0:10]
stock = ts.get_hist_data('300104',start,end)#选取一支股票
stock['close'].plot(legend=True ,figsize=(10,4))
&code&plt.show()&/code&
同理,可以做出5日均线、10日均线以及20日均线
stock[['close','ma5','ma10','ma20']].plot(legend=True ,figsize=(10,4))
日线、5日均线、10日均线、20日均线
股票每日涨跌幅度
stock['Daily Return'] = stock['close'].pct_change()
stock['Daily Return'].plot(legend=True,figsize=(10,4))
每日涨跌幅
核密度估计
sns.kdeplot(stock['Daily Return'].dropna())
核密度估计
核密度估计+统计柱状图
sns.distplot(stock['Daily Return'].dropna(),bins=100)
核密度+柱状图
两支股票的皮尔森相关系数
sns.jointplot(stock['Daily Return'],stock['Daily Return'],alpha=0.2)
皮尔森相关系数
多只股票相关性计算
&code&stock_lis=['300113','300343','300295','300315`] #随便选取了四支互联网相关的股票&/code&
&code&df=pd.DataFrame()&/code&
closing_df = ts.get_hist_data(stock,start,end)['close']
df = df.join(pd.DataFrame({stock:closing_df}),how='outer')```
```tech_rets = df.pct_change()```
&code&snsl.corrplot(tech_rets.dropna())&/code&
![相关性](http://upload-images.jianshu.io/upload_images/eb9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
简单地计算股票的收益与风险,衡量股票收益与风险的数值分别为股票涨跌的平均值以及标准差,平均值为正则说明收益是正的,标准差越大则说明股票波动大,风险也大。
```rets = tech_rets.dropna()```
&code&plt.scatter(rets.mean(),rets.std())&/code&
```plt.xlabel('Excepted Return')```
&code&plt.ylabel('Risk')&/code&
```for label,x,y in zip(rets.columns,rets.mean(),rets.std()):#添加标注
plt.annotate(
xy =(x,y),xytext=(15,15),
textcoords = 'offset points',
arrowprops = dict(arrowstyle = '-',connectionstyle = 'arc3,rad=-0.3'))```
![收益风险](http://upload-images.jianshu.io/upload_images/d99abea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
努力学做一名产品经理的学生党0.0
Why Stock Markets CrashThis page intentionally left blankWhy Stock Markets CrashCritical Events in ComplexFinancial SystemsD i d i e r S ...
# -*- coding: utf-8 -*- from __future__ import division from numpy.random import randn import numpy as np import os import matplotlib.pyp...
一些关于股票交易的基本概念: 日期:新股公司将股票推出证券交易所,供公众买卖的首天,称为上市日期。股票申购当天,即T+0日,称为发行日期。 开盘价:开盘价又称开市价,是指某种证券在证券交易所每个交易日开市后的第一笔每股买卖成交价格。世界上大多数证券交易所都采用成交额最大原则...
# -*- coding: utf-8 -*- from __future__ import division from pandas import Series, DataFrame import pandas as pd from numpy.random import...
[链接] 01. matplotlib API入门 02. Pandas中的绘图函数 03. 绘制地图:图形化显示海地地震危机数据 04. Python图形化工具生态系统 —— 1. matplotlib API入门 * matplotlib API(如plot和close...
踏着朝露,披着晚霞。每日奔波于希望与失望之间。匆匆忙忙,慌慌张张。在生存与理想之间徜徉。然而现实依旧如此骨感,理想似乎与你无关。你很努力,却依旧碌碌无为。
我妈又反复了,坚决不同意,我大姨暂时压下下来了,我害怕新的一轮又要开始了
在人海茫茫的道路上,相遇抑是一种缘分,分离也只不过是人生中的一个插曲。有时候,我们走着走着却忘记了当初的初心,走着走着却感到了未来是那么的渺茫,走着走着,一些人却背道而驰,走着走着心却空了。 曾经有一个朋友跟我说过:你总是板着一张脸,从来都没有见你笑过,也没有见你和谁说过话...
网络状态改变的监听方法 通过苹果苹果提供的Reachability类来实现监听注意 : 这个类通常情况下,要想实现持续监听网络状态的改变,需要和通知一起使用 只有网络状态发生变化的时候才会被调用,所以没有办法获取初始的网络状态 通过使用AFN框架来监听网络状态的改变注意 :...}

我要回帖

更多关于 tushare股票数据超时 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信