Skip to content

Commit

Permalink
set version to 0.2.5
Browse files Browse the repository at this point in the history
  • Loading branch information
jimmysoa committed Apr 16, 2015
1 parent ab9e3dd commit d41c824
Show file tree
Hide file tree
Showing 30 changed files with 542 additions and 6,337 deletions.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ TuShare是实现对股票/期货等金融数据从**数据采集**、**清洗加

Dependencies
=========
python 2.7
python 2.x/3.x

[pandas](http://pandas.pydata.org/ "pandas")

Expand Down Expand Up @@ -174,6 +174,14 @@ Quick Start
Change Logs
------

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

0.2.3 2015/04/11
===========
- 新增“新浪股吧”消息和热度
Expand Down
Binary file added docs/_static/cpt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/fork.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/ids.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/main_pic_min.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/mongodb_d.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/mysql_d.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/wx.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/zfb.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 36 additions & 0 deletions docs/classifying.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
- 风险警示板分类
- 沪深300成份股及权重
- 上证50成份股
- 中证500成份股

行业分类
--------
Expand Down Expand Up @@ -328,3 +329,38 @@
8 600048 保利地产
9 600050 中国联通
10 600089 特变电工

中证500成份股
-------------

获取中证500成份股

返回值说明:

- **code**\ :股票代码
- **name**\ :股票名称

调用方法:

::

import tushare as ts

ts.get_zz500s()

结果显示:

::

code name
0 000006 深振业A
1 000012 南 玻A
2 000021 深科技
3 000028 国药一致
4 000030 富奥股份
5 000031 中粮地产
6 000049 德赛电池
7 000050 深天马A
8 000062 深圳华强
9 000066 长城电脑
10 000078 海王生物
50 changes: 38 additions & 12 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,52 @@

**TuShare是一个免费、开源的python财经数据接口包。**\ 主要实现对股票等金融数据从\ **数据采集**\ \ **清洗加工**
**数据存储**\ 的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面减轻工作量,使他们更加专注于策略的研究和实现上。考虑到python
**数据存储**\ 的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据来源方面极大地减轻了工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python
pandas包在金融量化分析中体现出的优势,TuShare返回的绝大部分的数据格式都是pandas
DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。
DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过TuShare的数据存储功能,将数据全部保存到本地后进行分析。应一些用户的请求,从0.2.5版本开始,TuShare同时兼容Python
2.x和Python
3.x,对部分代码进行了重构,并优化了一些算法,确保数据获取的高效和稳定。

TuShare的数据主要来源于新浪财经、凤凰财经等各大门户网站,如果在使用过程碰到数据源地址发生变更或者数据结构变化造成错误,请自行查找和修改,或者通过\ **Email:[email protected]
QQ:52799046**
联系我,如果有什么好的建议和意见,也请及时联系我,在此谢过。

TuShare的产生完全是本人业余兴趣和学习新鲜事物的结果,用免费和开源的形式分享出来,希望对有需求的人有所帮助。如果您觉得TuShare好用,在\ `GitHub <https://github.com/waditu/tushare>`__\ 里对TuShare点一下\ **Star**\ 来就算是对她的支持,TuShare还在继续完善和改进,如果您也想参与其中,欢迎Fork和提交Pull
Requests。如果在pandas/NumPy技术上有问题,也欢迎加入“pandas数据分析”QQ群:297882961 进行交流和讨论。
TuShare从发布到现在,已经帮助很多用户在数据方面降低了工作压力,同时也得到很多用户的反馈,TuShare将一如既往的用免费和开源的形式分享出来,希望对有需求的人带来一些帮助。如果您觉得TuShare好用并有所收获,请通过\ **微博**\ 、微信或者网站\ **博客**\ 的方式分享出去,让更多的人了解和使用它,使它能在大家的使用过程中逐步得到改进和提升。TuShare还在不断的完善和优化,后期将逐步增加港股、期货、外汇和基金方面的数据,所以,您的支持和肯定才是TuShare坚持下去的动力。

TuShare的数据主要来源于网络,如果在使用过程碰到数据无法获取或发生数据错误的情况,可以通过\ **Email:[email protected]
QQ:52799046**
联系我,如果有什么好的建议和意见,也请及时联系我,在此谢过。如果在pandas/NumPy技术上有问题,欢迎加入“pandas数据分析”QQ群:297882961,我会和大家一起帮忙为您解决。

.. figure:: _static/main_pic_min.png
:alt:

感谢
致谢
----

- 感谢\ `新浪财经 <http://finance.sina.com.cn/>`__\ \ `凤凰财经 <http://finance.ifeng.com/>`__\ 提供数据
- 感谢深圳大学经济学院研究生\ **邓志浩**\ 的测试和校对
- 感谢上海纽约大学波动研究所\ `赵志强 <http://www.zhihu.com/people/zhao-zhi-qiang-99>`__\ 的审阅
- 感谢在QQ、微博和Email里提出意见和建议的很多个不不知道名字的朋友们

关于捐助
--------

在捐助的问题上,其实我一直是羞于启齿的。

从一开始在@vodkabuaa的“算法交易研究小组”群里就有人提出可以捐助一下TuShare,到后来一些用户在我的微博和QQ私底下交流中也提到这个问题,我都是诚恳的表达了谢意并没发布捐助计划。直到对TuShare进行Python2、Python3兼容性整合的时候,才发现原来工作量也是如此巨大,尤其在翻看以前的代码进行优化的时候,才想起了之前无数个深夜里台灯底下独自研究数据接口和敲写代码的时光(TuShare是业余完成),虽没有“为伊消得人憔悴”,却也放任了很多的宝贵睡眠时间。有时候,我自己也在怀疑到底能不能坚持写下去,还好,有很多用户通过加我的QQ或者微博表达了支持,有些甚至成为了好朋友。接下来,我会继续完善和提升TuShare的功能和性能,在使用教程和后期数据分析的demo方面,我个人已经申请了域名和虚拟主机,但由于服务器在美国,从国内访问速度方面有点差强人意,后期我会在国内申请相关服务,一方面提升访问速度增强用户体验,另外也想对一些特定的数据进行存储,方便大家获取。

那么,如果能得到您的支持,我将感激不尽,您的打赏将是对我从精神和物质方面的双重支持,对于您是否打赏,打赏多少,我没有要求也不会强迫,只有默默地等待。如果您伸出了援手,我会记下您的“善举”,有需要我帮忙的请随时找我,无论是编程语言、数据库、Python/pandas还是量化分析方面的问题,我会一一认真帮您解答。

**打赏方式一(微信)**\

请通过微信“扫一扫”下面的二维码(或添加我的微信jimmysoa打赏个红包也OK)

.. figure:: _static/wx.jpg
:alt:

**打赏方式二(支付宝)**\
请打开支付宝App“扫一扫”下面的二维码(或通过帐号[email protected]

.. figure:: _static/zfb.jpg
:alt:

再次表达我的谢意!

使用对象
--------
Expand All @@ -44,8 +69,10 @@ Requests。如果在pandas/NumPy技术上有问题,也欢迎加入“pandas数
使用前提
--------

- 安装python2.7
- 安装pandas (推荐安装Anaconda)
- 安装Python
- 安装pandas

建议安装Anaconda(http://www.continuum.io/downloads),一次安装包括了全部依赖包,减少问题出现的几率。

下载安装
--------
Expand Down Expand Up @@ -73,7 +100,6 @@ Requests。如果在pandas/NumPy技术上有问题,也欢迎加入“pandas数
:maxdepth: 2

index
preface
trading
reference
classifying
Expand Down
46 changes: 37 additions & 9 deletions docs/preface.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,26 +13,52 @@

**TuShare是一个免费、开源的python财经数据接口包。**\ 主要实现对股票等金融数据从\ **数据采集**\ \ **清洗加工**
**数据存储**\ 的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据。考虑到python
**数据存储**\ 的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据来源方面极大地减轻了工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python
pandas包在金融量化分析中体现出的优势,TuShare返回的绝大部分的数据格式都是pandas
DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。
DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过TuShare的数据存储功能,将数据全部保存到本地后进行分析。应一些用户的请求,从0.2.5版本开始,TuShare同时兼容Python
2.x和Python
3.x,对部分代码进行了重构,并优化了一些算法,确保数据获取的高效和稳定。

TuShare的数据主要来源于新浪财经、凤凰财经等各大门户网站,如果在使用过程碰到数据源地址发生变更或者数据结构变化造成错误,请自行查找和修改,或者通过\ **Email:[email protected]
QQ:52799046**
联系我,如果有什么好的建议和意见,也请及时联系我,在此谢过。
TuShare从发布到现在,已经帮助很多用户在数据方面降低了工作压力,同时也得到很多用户的反馈,TuShare将一如既往的用免费和开源的形式分享出来,希望对有需求的人带来一些帮助。如果您觉得TuShare好用并有所收获,请通过\ **微博**\ 、微信或者网站\ **博客**\ 的方式分享出去,让更多的人了解和使用它,使它能在大家的使用过程中逐步得到改进和提升。TuShare还在不断的完善和优化,后期将逐步增加港股、期货、外汇和基金方面的数据,所以,您的支持和肯定才是TuShare坚持下去的动力。

TuShare的产生完全是本人业余兴趣和学习新鲜事物的结果,以免费和开源的形式分享出来,希望对有需求的人有所帮助。如果您觉得TuShare好用,在\ `GitHub <https://github.com/waditu/tushare>`__\ 里对TuShare点一下\ **Star**\ 来就算是对她的支持,如果您也想参与其中,欢迎Fork,并提交Pull
Requests.
TuShare的数据主要来源于网络,如果在使用过程碰到数据无法获取或发生数据错误的情况,可以通过\ **Email:[email protected]
QQ:52799046**
联系我,如果有什么好的建议和意见,也请及时联系我,在此谢过。如果在pandas/NumPy技术上有问题,欢迎加入“pandas数据分析”QQ群:297882961,我会和大家一起帮忙为您解决。

.. figure:: _static/main_pic_min.png
:alt:

感谢
致谢
----

- 感谢\ `新浪财经 <http://finance.sina.com.cn/>`__\ \ `凤凰财经 <http://finance.ifeng.com/>`__\ 提供数据
- 感谢深圳大学经济学院研究生\ **邓志浩**\ 的测试和校对
- 感谢上海纽约大学波动研究所\ `赵志强 <http://www.zhihu.com/people/zhao-zhi-qiang-99>`__\ 的审阅
- 感谢在QQ、微博和Email里提出意见和建议的很多个不不知道名字的朋友们

关于捐助
--------

在捐助的问题上,其实我一直是羞于启齿的。

从一开始在@vodkabuaa的“算法交易研究小组”群里就有人提出可以捐助一下TuShare,到后来一些用户在我的微博和QQ私底下交流中也提到这个问题,我都是诚恳的表达了谢意并没发布捐助计划。直到对TuShare进行Python2、Python3兼容性整合的时候,才发现原来工作量也是如此巨大,尤其在翻看以前的代码进行优化的时候,才想起了之前无数个深夜里台灯底下独自研究数据接口和敲写代码的时光(TuShare是业余完成),虽没有“为伊消得人憔悴”,却也放任了很多的宝贵睡眠时间。有时候,我自己也在怀疑到底能不能坚持写下去,还好,有很多用户通过加我的QQ或者微博表达了支持,有些甚至成为了好朋友。接下来,我会继续完善和提升TuShare的功能和性能,在使用教程和后期数据分析的demo方面,我个人已经申请了域名和虚拟主机,但由于服务器在美国,从国内访问速度方面有点差强人意,后期我会在国内申请相关服务,一方面提升访问速度增强用户体验,另外也想对一些特定的数据进行存储,方便大家获取。

那么,如果能得到您的支持,我将感激不尽,您的打赏将是对我从精神和物质方面的双重支持,对于您是否打赏,打赏多少,我没有要求也不会强迫,只有默默地等待。如果您伸出了援手,我会记下您的“善举”,有需要我帮忙的请随时找我,无论是编程语言、数据库、Python/pandas还是量化分析方面的问题,我会一一认真帮您解答。

**打赏方式一(微信)**\

请通过微信“扫一扫”下面的二维码(或添加我的微信jimmysoa打赏个红包也OK)

.. figure:: _static/wx.jpg
:alt:

**打赏方式二(支付宝)**\
请打开支付宝App“扫一扫”下面的二维码(或通过帐号[email protected]

.. figure:: _static/zfb.jpg
:alt:

再次表达作者的谢谢!

使用对象
--------
Expand All @@ -46,9 +72,11 @@ Requests.
使用前提
--------

- 安装python2.7
- 安装Python
- 安装pandas

建议安装Anaconda(http://www.continuum.io/downloads),一次安装包括了全部依赖包,减少问题出现的几率。

下载安装
--------

Expand Down
66 changes: 62 additions & 4 deletions docs/trading.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
- 实时行情数据
- 历史分笔数据
- 实时分笔数据
- 当日历史分笔

历史行情
--------
Expand Down Expand Up @@ -214,7 +215,7 @@
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
Expand All @@ -226,16 +227,27 @@
7 2025030 6.88669
8 433453523 4.28056
9 323469835 9.61735
10 25768152 19.51090

历史分笔
--------

获取个股以往交易历史的分笔数据明细,通过分析分笔数据,可以大致判断资金的进出情况。在使用过程中,对于获取股票某一阶段的历史分笔数据,需要通过参入交易日参数并append到一个DataFrame或者直接append到本地同一个文件里。历史分笔接口只能获取当前交易日之前的数据,当日分笔历史数据请调用get\_today\_ticks()接口或者在当日18点后通过本接口获取。

参数说明:

- **code**\ :股票代码,即6位数字代码
- **date**\ :开始日期,格式YYYY-MM-DD
- **retry\_count** : int, 默认3,如遇网络等问题重复执行的次数
- **pause** : int, 默认
0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题

调用方法:

::

import tushare as ts

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

返回值说明:
Expand All @@ -262,7 +274,6 @@
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 买盘

实时分笔
--------
Expand Down Expand Up @@ -341,3 +352,50 @@
ts.get_realtime_quotes(['sh','sz','hs300','sz50','zxb','cyb'])
#或者混搭
ts.get_realtime_quotes(['sh','600848'])

当日历史分笔
------------

获取当前交易日(交易进行中使用)已经产生的分笔明细数据。

参数说明:

- **code**\ :股票代码,即6位数字代码
- **retry\_count** : int, 默认3,如遇网络等问题重复执行的次数
- **pause** : int, 默认
0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题

调用方法:

::

import tushare as ts

df = ts.get_today_ticks('601333')
df.head(10)

返回值说明:

- **time**\ :时间
- **price**\ :当前价格
- **pchange**:涨跌幅
- **change**\ :价格变动
- **volume**\ :成交手
- **amount**\ :成交金额(元)
- **type**\ :买卖类型【买盘、卖盘、中性盘】

结果显示:

::

time price pchange change volume amount type
0 11:30:07 5.77 -0.52 0.00 634 366372 买盘
1 11:29:57 5.77 -0.52 0.00 216 124632 买盘
2 11:29:52 5.77 -0.52 0.00 306 176562 买盘
3 11:29:42 5.77 -0.52 0.01 159 91766 买盘
4 11:29:37 5.76 -0.69 0.00 546 314496 卖盘
5 11:29:32 5.76 -0.69 -0.01 954 549504 卖盘
6 11:29:22 5.77 -0.52 0.00 374 215798 买盘
7 11:29:17 5.77 -0.52 0.00 762 439674 买盘
8 11:29:12 5.77 -0.52 0.00 164 95182 买盘
9 11:29:07 5.77 -0.52 0.00 303 174854 买盘
4 changes: 4 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,11 @@ def read(fname):
url='http://tushare.waditu.com',
keywords='china stock data',
classifiers=['Development Status :: 4 - Beta',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'License :: OSI Approved :: BSD License'],
packages=['tushare','tushare.stock','tushare.data','tushare.util'],
package_data={'': ['*.csv']},
Expand Down
4 changes: 3 additions & 1 deletion test/classifying_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ def test_get_hs300s(self):

def test_get_sz50s(self):
print(fd.get_sz50s())


def test_get_zz500s(self):
print(fd.get_zz500s())

if __name__ == "__main__":
unittest.main()
Expand Down
6 changes: 5 additions & 1 deletion test/trading_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,11 @@ def test_get_realtime_quotesa(self):

def test_get_h_data(self):
self.set_data()
print(fd.get_h_data(self.code, self.start, self.end))
print(fd.get_h_data(self.code, self.start, self.end))

def test_get_today_ticks(self):
self.set_data()
print(fd.get_today_ticks(self.code))

if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testName']
Expand Down
Loading

0 comments on commit d41c824

Please sign in to comment.