Git Product home page Git Product logo

tushare's Introduction

TuShare

Tushare Pro版已发布,请访问新的官网了解和查询数据接口! https://tushare.pro

TuShare是实现对股票/期货等金融数据从数据采集清洗加工数据存储过程的工具,满足金融量化分析师和学习数据分析的人在数据获取方面的需求,它的特点是数据覆盖范围广,接口调用简单,响应快速。

欢迎关注扫描TuShare的微信公众号“挖地兔”,更多资源和信息与您分享。另外,由于tushare官网在重新设计和开发,最新接口的使用文档都会在挖地兔公众号发布,所以,请扫码关注,谢谢!

QQ交流群:

  • 一群(已满):14934432
  • 二群(付费高级用户群,可获得更多支持及参与圈子活动):658562506
  • 三群(免费):665480579
  • 四群 (免费) :527416821

Dependencies

python 2.x/3.x

pandas

Installation

Upgrade

pip install tushare --upgrade

Quick Start

Example 1. 获取个股历史交易数据(包括均线数据):

import tushare as ts

ts.get_hist_data('600848') #一次性获取全部数据
另外,参考get_k_data函数

结果显示:

日期 ,开盘价, 最高价, 收盘价, 最低价, 成交量, 价格变动 ,涨跌幅,5日均价,10日均价,20日均价,5日均量,10日均量,20日均量,换手率

			 open    high   close     low     volume    p_change  ma5 \
date                                                                     
2012-01-11   6.880   7.380   7.060   6.880   14129.96     2.62   7.060   
2012-01-12   7.050   7.100   6.980   6.900    7895.19    -1.13   7.020   
2012-01-13   6.950   7.000   6.700   6.690    6611.87    -4.01   6.913   
2012-01-16   6.680   6.750   6.510   6.480    2941.63    -2.84   6.813   
2012-01-17   6.660   6.880   6.860   6.460    8642.57     5.38   6.822   
2012-01-18   7.000   7.300   6.890   6.880   13075.40     0.44   6.788   
2012-01-19   6.690   6.950   6.890   6.680    6117.32     0.00   6.770   
2012-01-20   6.870   7.080   7.010   6.870    6813.09     1.74   6.832 

			 ma10    ma20      v_ma5     v_ma10     v_ma20     turnover  
date                                                                  
2012-01-11   7.060   7.060   14129.96   14129.96   14129.96     0.48  
2012-01-12   7.020   7.020   11012.58   11012.58   11012.58     0.27  
2012-01-13   6.913   6.913    9545.67    9545.67    9545.67     0.23  
2012-01-16   6.813   6.813    7894.66    7894.66    7894.66     0.10  
2012-01-17   6.822   6.822    8044.24    8044.24    8044.24     0.30  
2012-01-18   6.833   6.833    7833.33    8882.77    8882.77     0.45  
2012-01-19   6.841   6.841    7477.76    8487.71    8487.71     0.21  
2012-01-20   6.863   6.863    7518.00    8278.38    8278.38     0.23  

设定历史数据的时间:

ts.get_hist_data('600848',start='2015-01-05',end='2015-01-09')

			open    high   close     low    volume   p_change     ma5    ma10 \  
date                                                                            
2015-01-05  11.160  11.390  11.260  10.890  46383.57     1.26  11.156  11.212   
2015-01-06  11.130  11.660  11.610  11.030  59199.93     3.11  11.182  11.155   
2015-01-07  11.580  11.990  11.920  11.480  86681.38     2.67  11.366  11.251   
2015-01-08  11.700  11.920  11.670  11.640  56845.71    -2.10  11.516  11.349   
2015-01-09  11.680  11.710  11.230  11.190  44851.56    -3.77  11.538  11.363   
 			ma20     v_ma5    v_ma10     v_ma20 	 turnover  
date                                                        
2015-01-05  11.198  58648.75  68429.87   97141.81     1.59  
2015-01-06  11.382  54854.38  63401.05   98686.98     2.03  
2015-01-07  11.543  55049.74  61628.07  103010.58     2.97  
2015-01-08  11.647  57268.99  61376.00  105823.50     1.95  
2015-01-09  11.682  58792.43  60665.93  107924.27     1.54  

复权历史数据 获取历史复权数据,分为前复权和后复权数据,接口提供股票上市以来所有历史数据,默认为前复权。如果不设定开始和结束日期,则返回近一年的复权数据,从性能上考虑,推荐设定开始日期和结束日期,而且最好不要超过一年以上,获取到数据后,请及时在本地存储。

ts.get_h_data('002337') #前复权
ts.get_h_data('002337',autype='hfq') #后复权
ts.get_h_data('002337',autype=None) #不复权
ts.get_h_data('002337',start='2015-01-01',end='2015-03-16') #两个日期之间的前复权数据

Example 2. 一次性获取最近一个日交易日所有股票的交易数据(结果显示速度取决于网速)

ts.get_today_all()

结果显示:

代码,名称,涨跌幅,现价,开盘价,最高价,最低价,最日收盘价,成交量,换手率

	  code    name     changepercent  trade   open   high    low  settlement \  
0     002738  中矿资源         10.023  19.32  19.32  19.32  19.32       17.56   
1     300410  正业科技         10.022  25.03  25.03  25.03  25.03       22.75   
2     002736  国信证券         10.013  16.37  16.37  16.37  16.37       14.88   
3     300412  迦南科技         10.010  31.54  31.54  31.54  31.54       28.67   
4     300411  金盾股份         10.007  29.68  29.68  29.68  29.68       26.98   
5     603636  南威软件         10.006  38.15  38.15  38.15  38.15       34.68   
6     002664  信质电机         10.004  30.68  29.00  30.68  28.30       27.89   
7     300367  东方网力         10.004  86.76  78.00  86.76  77.87       78.87   
8     601299  **北车         10.000  11.44  11.44  11.44  11.29       10.40   
9     601880   大连港         10.000   5.72   5.34   5.72   5.22        5.20   
10    000856  冀东装备         10.000   8.91   8.18   8.91   8.18        8.10  
		volume  	 turnoverratio  
0        375100        1.25033  
1         85800        0.57200  
2       1058925        0.08824  
3         69400        0.51791  
4        252220        1.26110  
5       1374630        5.49852  
6       6448748        9.32700  
7       2025030        6.88669  
8     433453523        4.28056  
9     323469835        9.61735  
10     25768152       19.51090  

Example 3. 获取历史分笔数据

import tushare as ts

df = ts.get_tick_data('600848',date='2014-01-09')
df.head(10)

结果显示:

成交时间、成交价格、价格变动,成交手、成交金额(元),买卖类型

Out[3]: 
 	 time  		price change  volume  amount  type
0    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   买盘

Example 4. 获取实时交易数据(Realtime Quotes Data)

df = ts.get_realtime_quotes('000581') #Single stock symbol
df[['code','name','price','bid','ask','volume','amount','time']]

结果显示:

名称、开盘价、昨价、现价、最高、最低、买入价、卖出价、成交量、成交金额...more in docs

   code    name     price  bid    ask    volume   amount        time
0  000581  威孚高科  31.15  31.14  31.15  8183020  253494991.16  11:30:36 

请求多个股票方法(一次最好不要超过30个):

ts.get_realtime_quotes(['600848','000980','000981']) #symbols from a list
ts.get_realtime_quotes(df['code'].tail(10)) #from a Series

更多文档

https://tushare.pro

http://tushare.org/

Change Logs

1.2.17 2018/11/24

  • Pro版增加期货数据
  • Pro版增加A股周/月数据
  • Pro版增加通用行情pro_bar接口股票/基金/期货/数据货币行情的支持,同时支持股票的复权行情

1.2.15 2018/10/15

  • 增加通用行情pro_bar接口
  • 优化set_token功能

1.2.12 2018/08/10

1.0.5 2017/11/12

  • 新增可转债数据
  • 增加长连接关闭函数
  • 修复部分bug

1.0.2 2017/10/29

  • 新增bar接口,支持更稳定的股票、ETF、期货期权、港股、中概股等品种
  • 新增tick接口,支持以上品种的成交数据
  • 新增沪深港通每日资金流向数据
  • 修复了部分bug

0.9.2 2017/09/13

  • 新增数据货币行情数据接口,同时支持火币、okcoin、**比特币
  • 部分bug修复

0.8.8 2017/08/29

  • 新增分红送股数据(包含历史)
  • 新增get_day_all接口
  • 新增BDI接口

0.8.0 2017/06/05

  • 新增期货行情数据6个接口,感谢debugo贡献代码
  • 修复部分bug

0.7.6 2017/05/16

  • get_today_all接口数据补齐
  • forecast_data mac下编码问题修复

0.7.0 2017/03/12

  • get_today_all接口提速
  • 版本累积更新

0.6.2 2016/12/03

  • 新增十大股东和十大流通股接口 top10_holders
  • 新增全球实时指数列表接口 global_realtime
  • 修复部分bug

0.6.1 2016/11/22

  • 修正get_k_databug
  • 修正实盘交易登录问题

0.5.6 2016/11/06

  • 新增全新行情数据接口get_k_data(请关注tushare公众号“挖地兔”后查看历史文章《全新的免费行情数据接口》)
  • 修复程序和文档bug

0.5.1 2016/10/16

  • 新增实盘交易接口
  • 修复bug

0.4.9 2016/03/26

  • 新增申万行业分类get_industry_classified(standard='sw')
  • 新增交易日历trade_cal()
  • 修复bug

0.4.3 2015/12/24

  • 新增电影票房数据
  • 修复部分bug

0.4.1 2015/11/27

  • 新增sina大单数据
  • 修改当日分笔bug
  • 深市融资融券数据修复

0.3.9 2015/10/13

  • 新增期权隐含波动率数据
  • 修复指数成份及权重接口问题

0.3.8 2015/09/19

  • 沪深300成份股和权重接口问题修复
  • 其它bug的修复

0.3.5 2015/07/27

  • 部分代码修正

0.3.4 2015/06/15

  • 新增‘龙虎榜’模块

    1. 每日龙虎榜列表
    2. 个股上榜统计
    3. 营业部上榜统计
    4. 龙虎榜机构席位追踪
    5. 龙虎榜机构席位成交明细
  • 修改get_h_data数据类型为float

  • 修改get_index接口遗漏的open列

  • 合并GitHub上提交的bug修复

0.2.8 2015/04/28

  • 新增大盘指数实时行情列表
  • 新增大盘指数历史行情数据(全部)
  • 新增终止上市公司列表(退市)
  • 新增暂停上市公司列表
  • 修正融资融券明细无日期的缺陷
  • 修正get_h_data部分bug

0.2.6

  • 新增沪市融资融券列表
  • 新增沪市融资融券明细列表
  • 新增深市融资融券列表
  • 新增深市融资融券明细列表
  • 修正复权数据数据源出现null造成异常问题(对大约300个股票有影响)

0.2.5 2015/04/16

  • 完成python2.x和python3.x兼容性支持
  • 部分算法优化和代码重构
  • 新增中证500成份股
  • 新增当日分笔交易明细
  • 修正分配预案(高送转)bug

0.2.3 2015/04/11

  • 新增“新浪股吧”消息和热度
  • 新增新股上市数据
  • 修正“基本面”模块中数据重复的问题
  • 修正历史数据缺少一列column(数据来源问题)的bug

0.2.0 2015/03/17

  • 新增历史复权数据接口
  • 新增即时滚动新闻、信息地雷数据
  • 新增沪深300指数成股份及动态权重、
  • 新增上证50指数成份股
  • 修改历史行情数据类型为float

0.1.9 2015/02/06

  • 增加分类数据
  • 增加数据存储示例

0.1.6 2015/01/27

  • 增加了重点指数的历史和实时行情
  • 更新docs

0.1.5 2015/01/26

  • 增加基本面数据接口
  • 发布一版使用手册,开通TuShare docs网站

0.1.3 2015/01/13

  • 增加实时交易数据的获取
  • Done for crawling Realtime Quotes data

0.1.1 2015/01/11

  • 增加tick数据的获取

0.1.0 2014/12/01

  • 创建第一个版本
  • 实现个股历史数据的获取

tushare's People

Contributors

algony-tony avatar astraeux avatar byhankswang avatar chuihero avatar hardywu avatar holsety avatar jimmysoa avatar liaocyintl avatar lstwzd avatar metalworkcolossus avatar odoomod avatar qytz avatar raymondmars avatar shenjian74 avatar suckhard avatar thippo avatar tradingreason avatar tsingjyujing avatar xiaoluffy avatar yutiansut avatar zackzk avatar zhsso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tushare's Issues

get_profit_data returns nothing

I found that get_profit_data only returns column titles.
It seems that "html = lxml.html.parse(url)" in "_get_profit_data" doesn't get the full cotent of page. And it triggered a excetion.
Simple test
url = 'http://vip.stock.finance.sina.com.cn/q/go.php/vFinanceAnalyze/kind/profit/index.phtml?s_i=&s_a=&s_c=&reportdate=2014&quarter=1&p=29&num=60'
html = lxml.html.parse(url)
xtrs = html.xpath("//table[@Class="list_table"]/tr")
for trs in xtrs:
code = trs.xpath('td[1]/a/text()')[0]
name = trs.xpath('td[2]/a/text()')[0]
roe = trs.xpath('td[3]/text()')
print(code, name, roe)

And I could escape this by get the content via requests.get and then use lxml parse it.

建议增强按时间提取信息的功能

建议增加函数get_hist_data(),处理特殊参数all,即,

get_hist_data('all', '2015-05-01', ktype='D')

函数值是这一天所有日线数据,并以股票代码为index。这样我们可以更方便的合成,近五日换手率列表。

code '2015-05-01' '2015-05-02' '2015-05-03'
600001 0.051 0.061 0.123

逐股和逐日,就像空间和时间,是最基本的两种提取信息的维度。目前似乎TuShare支持其中一种。

望考虑增强按时间提取所有数据的功能,从日线开始,扩展到其他时间尺度。另外,时间参数的表示,也成问题,有些日期不开市,所以宜支持,自然时间和交易时间两种方式,例如,Unix时间。

非常感谢!

大盘上涨家数可以支持获取吗?

上涨家数, 下跌家数,在

大盘指数行情列表
获取大盘指数实时行情列表,以表格的形式展示大盘指数实时行情。

调用方法:

import tushare as ts

df = ts.get_index()

能不能返回?
有几家上涨可以判断主力对今日的看法

关于期货数据接口?

我看到有一个版本的提交里写了 "期货实时数据获取"

是指可以在 tushare 里查看 期货的 tick 数据了么? 数据源应该还好, 随便注册个 ctp 就可以用了

但是现在的 methods 里没看到的样子, 是会到下个版本里么?

另外, 如果期货的 methods 和股票的用在一起, 会不会太混乱了..... 希望能分离开..

以及是否能对信息类和数据类的方法分离一下?

例如:
ts.info.get_gdp_*
ts.stock.get_today
这样子....

get_industry_classified()保存成csv报错

把get_industry_classified()获得数据保存成csv的时候报错,保存成xls没问题
把get_stock_basics()获得的数据保存成csv没问题

data2 = ts.get_industry_classified()
print('\nget classified ...ok')
data2.to_csv('D:/Other/PY/data/industry_classified2.csv')
print('save classified ...ok')
[Getting data:]#################################################Traceback (most recent call last):
  File "D:/Other/PY/tuShareGetStockList.py", line 13, in <module>
    data2.to_csv('D:/Other/PY/data/industry_classified2.csv')
  File "D:\Soft\Anaconda\lib\site-packages\pandas\core\frame.py", line 1189, in to_csv
    formatter.save()
  File "D:\Soft\Anaconda\lib\site-packages\pandas\core\format.py", line 1467, in save

get classified ...ok
    self._save()
  File "D:\Soft\Anaconda\lib\site-packages\pandas\core\format.py", line 1567, in _save
    self._save_chunk(start_i, end_i)
  File "D:\Soft\Anaconda\lib\site-packages\pandas\core\format.py", line 1594, in _save_chunk
    lib.write_csv_rows(self.data, ix, self.nlevels, self.cols, self.writer)
  File "pandas\lib.pyx", line 975, in pandas.lib.write_csv_rows (pandas\lib.c:17612)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

Process finished with exit code 1

Import lxml.html 出错

谢谢你的开源tushare,第一次运行时报错:在spyder下运行调用任何tushare 公式都报错

例如 import tushare as ts
ts.get_area_classified()

File "C:\Anaconda\lib\site-packages\tushare\stock\trading.py", line 13, in
import lxml.html
ImportError: No module named html

但在powershell 里面 进入python 然后 import lxml.html 成功不报错。
pip list 里显示有 lxml (3.4.4)

第一次用Python, 不知是不是我设置问题。

get_today_all()的疑似bug

使用get_today_all()的时候,有两个疑似bug:
1 有的股票的信息有时会出现两次,而且重复的股票是随机的
2 有的股票信息缺失,而且缺失的股票是随机的
使用环境:windows 7 32bit , python version 2.7.10

复权数据可靠性

请问复权数据可靠性有多高?理解tushare用的都是免费数据源,不可能100%,但想知道复权数据准确度大概能达到什么样的水平?

yahoo-finance上沪深两市复权数据至少有30%不全或错误,不知道国内数据源的数据会不会好一些?

谢谢!

2015-07-17 data is missing

sym1 is None after the following snippet executes. It worked fine for 2015-07-16 but stopped working on 2015-07-17.

import tushare as ts
sym1 = ts.get_tick_data('600893', date='2015-07-17')

沪市B股获取出错

http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_FuQuanMarketHistory/stockid/900901.phtml?year=2015&jidu=1
http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_FuQuanMarketHistory/stockid/200418.phtml?year=2015&jidu=1
等等都出错了,当前价格为零点几,但复权价都几百的, 造成
df = ts.get_h_data('900901', start='2015-08-01', end=endDate) 在这里出错了:
`if ((float(rt['high']) == 0) & (float(rt['low']) == 0)):``

pydev debugger: starting
[Getting data:]Traceback (most recent call last):
  File "/Applications/Aptana Studio 3/plugins/org.python.pydev_3.0.0.1388187472/pysrc/pydevd.py", line 1479, in <module>
    debugger.run(setup['file'], None, None)
  File "/Applications/Aptana Studio 3/plugins/org.python.pydev_3.0.0.1388187472/pysrc/pydevd.py", line 1125, in run
    pydev_imports.execfile(file, globals, locals)  #execute the script
  File "/Users/apple/node/undo4096/tool/stock/winBuy.py", line 75, in <module>
    df = ts.get_h_data('900901', start='2015-08-01', end=endDate)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tushare-0.3.4-py2.7.egg/tushare/stock/trading.py", line 392, in get_h_data
    if ((float(rt['high']) == 0) & (float(rt['low']) == 0)):
TypeError: 'NoneType' object has no attribute '__getitem__'

但深市B股就ok, 要怎么解决?

复权数据的计算方法似乎有问题?

看到复权数据的计算只除以了一次rate。

如果一次获取的数据比较长,中间复权了多次,每次的复权因子都是不同的,这样是不是漏掉了很多次复权计算?

[0.1.8]升级中报错

@jimmysoa

您好

这个项目太有用了,感谢!

我在运行0.1.8升级命令式,报错

Traceback (most recent call last):
  File "setup.py", line 4, in <module>
    import tushare
  File "/Users/Liang/tushare/tushare/__init__.py", line 7, in <module>
    from tushare.stock.fundamental import (get_stock_basics, get_report_data,
  File "/Users/Liang/tushare/tushare/stock/fundamental.py", line 11, in <module>
    import lxml.html
ImportError: No module named lxml.html

获取某股票历史数据出错

import tushare as ts
data = ts.get_h_data('000033',start='2014-06-29',end='2015-06-29')

给出以下错误信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/hao/venv/q-django/lib/python3.4/site-packages/tushare/stock/trading.py", line 392, in get_h_data
    if ((float(rt['high']) == 0) & (float(rt['low']) == 0)):
TypeError: 'NoneType' object is not subscriptable

可能是这股有点奇怪?既没有停牌,也没有数据

写到MySQL报1170错误

这几天试了一下,将数据获取后逐一写到本地数据库,有发现部分数据会报错,不晓得大家有没有遇到。
举个例子:
df = ts.get_stock_basics() #获取所有股票列表
将这个数据写到数据库时,运行时错误代码:
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1170, "BLOB/TEXT column 'code' used in key specification without a key length") [SQL: u'CREATE INDEX ix_hist5_code ON hist5 (code)']

在抓取
df = ts.get_index() #大盘行情
这个不报错

平台 OSX 10.10.4 Python:2.7 MYSQL:5.6.26

是否考虑数据本地化功能。

tushare是不是能提供数据本地化的功能。

让用户可以在本地保持所有数据的副本,提供一个统一的数据访问接口,首先访问本地数据看是否命中,如果没有命中,自动去网上下载相应数据并在本地保存。这样的功能基本上所有使用tushare作为量化研究的数据来源应用都需要实现的。

Python3支持 / 指数数据 / 整合进zipline

  1. 理论上把print改一下就支持python3了,不过我没仔细看代码。
  2. 获取不了创业板R(399606)之类的数据,get_hist_data和get_h_data分别报错,AssertionError: 15 columns passed, passed data had 14 columnsAttributeError: 'list' object has no attribute 'keys'
  3. zipline 是Quantopian的一个算法测试框架,目前不支持**的证券数据……

[新功能]送配方案列表和中报列表

高送转和中报,都是可能热炒的概念。

研究高送转操作手法,需要一个可以及时更新的,包含送配方案(比例)、除权登记日(包括历史的)、除权日、股票代码和股票名称的列表。

最终我们可以这样检索,等于1(10送10)的,2008年1-3月除权的,股票代码。

中报也类似,股票代码、(预计)披露日期、预增(降)、百分数。

务必包含历史,便于研究炒作的方向和力度

印象中上半年炒高送转,下半年炒中报。

INDEX_COLS少了"open"列

INDEX_COLS少了"open"列,另外,不建议get_index函数里修改amount:
df['amount'] = df['amount'] / 100000000,保留原数据比较好。

用 ts.get_hist_data 按交易日期,取不到15分钟、5分钟、30分钟数据

 ts.get_hist_data('601106', start='2015-02-05', end='2015-02-06', ktype='30')
 ts.get_hist_data('601106', start='2015-02-05', end='2015-02-06', ktype='15')
 ts.get_hist_data('601106', start='2015-02-05', end='2015-02-06', ktype='5')

返回空。

 ts.get_hist_data('601106', start='2015-02-05', end='2015-02-06', ktype='60')

则正常。

600018数据获取错误

日线数据没有问题,周线月线出现错误。

import pandas as pd
import tushare as ts

RawData = ts.get_hist_data('600018', start='2015-01-01', end='2015-07-27', ktype='W')
print(RawData)
Traceback (most recent call last):
  File "D:/MyDoc/LCW/Investment/Python/PQuant/test1.py", line 9, in <module>
    RawData = ts.get_hist_data('600018', start='2015-01-01', end='2015-07-27', ktype='W')
  File "C:\Program Files\Anaconda3\lib\site-packages\tushare\stock\trading.py", line 84, in get_hist_data
    df[col] = df[col].astype(float)
  File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\generic.py", line 2411, in astype
    dtype=dtype, copy=copy, raise_on_error=raise_on_error, **kwargs)
  File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\internals.py", line 2504, in astype
    return self.apply('astype', dtype=dtype, **kwargs)
  File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\internals.py", line 2459, in apply
    applied = getattr(b, f)(**kwargs)
  File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\internals.py", line 373, in astype
    values=values, **kwargs)
  File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\internals.py", line 403, in _astype
    values = com._astype_nansafe(self.values.ravel(), dtype, copy=True)
  File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\common.py", line 2734, in _astype_nansafe
    return arr.astype(dtype)
ValueError: could not convert string to float: 

Process finished with exit code 1

获取 get_h_data 数据出错

data = get_h_data(code=code, end="2015-07-01")

2015-07-01 14.35 14.59 13.92 13.74 183540608 2629096448
2015-06-30 13.54 14.54 14.54 13.38 254810320 3572978432
....

结果会出现超过7月-1号的数据

to_sql方法没有股票代码

我想把历史数据,报价及交易数据保存到数据库,发现报价保存是没有股票代码的,这样就无法区分具体是哪支股票的价格了

获取get_stock_basics

from tushare import get_stock_basics


base_frame=get_stock_basics()

print base_frame["name"]

如何获取code 列表

请问能否自动增量插入数据到mysql里面

非常感谢jim的付出

请问 能否实现:

傻瓜化的配置,比如 只需要配置好mysql帐号密码
然后 让脚本一直运行,自动去服务器拉取数据并存入数据库
第二天 当脚本再次运行,他会自动接着上次 继续拉取数据存入数据库

不会出现重复入库的情况

当然这个需求并不是特别广泛, (:

谢谢

获取中小板和创业板分类错误

创业板和中小板都是相似的问题,沪深300和中证500没有问题。

import pandas as pd
import tushare as ts
pd.set_option('display.width', 200)
zxb = ts.get_sme_classified()
"C:\Program Files\Anaconda3\python.exe" "D:/MyDoc/Cloud Station/Investment/Python/PQuant/A Share DK Pailie.py"
Traceback (most recent call last):
  File "D:/MyDoc/Cloud Station/Investment/Python/PQuant/A Share DK Pailie.py", line 8, in <module>
    zxb = ts.get_sme_classified()
  File "C:\Program Files\Anaconda3\lib\site-packages\tushare\stock\classifying.py", line 113, in get_sme_classified
    df = fd.get_stock_basics()
  File "C:\Program Files\Anaconda3\lib\site-packages\tushare\stock\fundamental.py", line 44, in get_stock_basics
    text = urlopen(request, timeout=10).read()
  File "C:\Program Files\Anaconda3\lib\urllib\request.py", line 161, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Program Files\Anaconda3\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
  File "C:\Program Files\Anaconda3\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Program Files\Anaconda3\lib\urllib\request.py", line 507, in error
    return self._call_chain(*args)
  File "C:\Program Files\Anaconda3\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
  File "C:\Program Files\Anaconda3\lib\urllib\request.py", line 587, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Process finished with exit code 1

get_stock_basics() 最近返回403 forbidden错误

/usr/lib64/python2.7/urllib2.pyc in _call_chain(self, chain, kind, meth_name, _args)
380 func = getattr(handler, meth_name)
381
--> 382 result = func(_args)
383 if result is not None:
384 return result

/usr/lib64/python2.7/urllib2.pyc in http_error_default(self, req, fp, code, msg, hdrs)
529 class HTTPDefaultErrorHandler(BaseHandler):
530 def http_error_default(self, req, fp, code, msg, hdrs):
--> 531 raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
532
533 class HTTPRedirectHandler(BaseHandler):

HTTPError: HTTP Error 403: Forbidden

[2.0] 升级到2.0之后,运行时报错

@jimmysoa
你好

在升级到2.0之后,报错如下,不知如何解决。

NiTu:Liang ~$ python dddd.py
Traceback (most recent call last):
  File "dddd.py", line 1, in <module>
    import tushare as ts
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/tushare/__init__.py", line 5, in <module>
    from tushare.stock.trading import (get_hist_data, get_tick_data,
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/tushare/stock/trading.py", line 16, in <module>
    import pandas as pd
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/pandas/__init__.py", line 41, in <module>
    from pandas.core.api import *
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/pandas/core/api.py", line 9, in <module>
    from pandas.core.groupby import Grouper
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/pandas/core/groupby.py", line 15, in <module>
    from pandas.core.frame import DataFrame
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/pandas/core/frame.py", line 40, in <module>
    from pandas.computation.eval import eval as _eval
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/pandas/computation/eval.py", line 8, in <module>
    from pandas.computation.expr import Expr, _parsers, tokenize_string
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/pandas/computation/expr.py", line 148, in <module>
    (getattr(ast, node) for node in dir(ast))))
  File "/Users/Liang/anaconda/lib/python2.7/site-packages/pandas/computation/expr.py", line 147, in <lambda>
    issubclass(x, ast.AST),
AttributeError: 'module' object has no attribute 'AST'

谢谢

怎么判断该股票是不是ST或S股?

import tushare as ts

ts.get_st_classified()
>>> import tushare as ts
>>> ts.get_st_classified()
      code   name
0   000033  *ST新都
1   000059  *ST华锦
2   000068  *ST华赛
3   000155  *ST川化
4   000403   ST生化
5   000510  *ST金路
6   000520  *ST凤凰
7   000557  *ST广夏
8   000590  *ST古汉
9   000611  *ST蒙发
10  000659  *ST中富
11  000677  *ST海龙
12  000711  *ST京蓝
13  000799  *ST酒鬼
14  000815  *ST美利
15  000892  *ST星美
16  000912  *ST天化
17  000927  *ST夏利
18  000976  *ST春晖
19  000995  *ST皇台
20  002015  *ST霞客
21  002192  *ST路翔
22  002306  *ST云网
23  002417  *ST元达
24  002506  *ST集成
25  002608  *ST舜船
26  002633  *ST申科
27  600069  *ST银鸽
28  600071  *ST光学
29  600091  *ST明科
30  600145  *ST新亿
31  600163  *ST南纸
32  600217  *ST秦岭
33  600242  *ST中昌
34  600247  *ST成城
35  600265   ST景谷
36  600301  *ST南化
37  600401  *ST海润
38  600408  *ST安泰
39  600444  *ST国通
40  600539  *ST狮头
41  600608  *ST沪科
42  600644  *ST乐电
43  600656  *ST博元
44  600691  *ST阳化
45  600710  *ST常林
46  600715  *ST松辽
47  600722  *ST金化
48  600732  *ST新梅
49  600779  *ST水井
50  600793   ST宜纸
51  600817   ST宏盛
52  600870  *ST厦华
53  600962  *ST中鲁
54  600984  *ST建机

S股怎么没有列出来? 比如S佳通

获取指数数据报错

get_h_data('000300', start='2000-01-01', index=True)
返回网络错误。

sr/lib/python2.7/site-packages/tushare/stock/trading.pyc in get_h_data(code, start, end, autype, index, retry_count, pause)
363 ct._write_console()
364 df = _parse_fq_data(_get_index_url(index, code, qt), index,
--> 365 retry_count, pause)
366 data = data.append(df, ignore_index=True)
367 if len(data) == 0 or len(data[(data.date>=start)&(data.date<=end)]) == 0:

/usr/lib/python2.7/site-packages/tushare/stock/trading.pyc in _parse_fq_data(url, index, retry_count, pause)
481 else:
482 return df
--> 483 raise IOError(ct.NETWORK_URL_ERROR_MSG)
484
485

IOError: 获取失败,请检查网络和URL

如果只获取最近的数据则没问题。

版本0.3.4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.