python股票分析Tushare
主题:
第一步:pip install pandas-datareader
第二步:
import pandas.io.data as web改为 import pandas_datareader.data as web
第三步:
第四步:px=web.DataReader('GS','yahoo')改为px=web.DataReader('F-F_Research_Data_factors','famafrench')
参考网址:1、
2、
3、
4、
5、
后来了解到没有上面这么麻烦
(这里面说的很全)
Tusha...
主题:
第一步:pip install pandas-datareader
第二步:
import pandas.io.data as web改为 import pandas_datareader.data as web
第三步:
第四步:px=web.DataReader('GS','yahoo')改为px=web.DataReader('F-F_Research_Data_factors','famafrench')
参考网址:1、
2、
3、
4、
5、
后来了解到没有上面这么麻烦
(这里面说的很全)
Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据
都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过Tushare的数据存储功能,将数据全部保存到本地后进行分析。应一些用户的请求,从0.2.5版本开始,Tushare同时兼容Python 2.x和Python 3.x,对部分代码进行了重构,并优化了一些算法,确保数据获取的高效和稳定。
Tushare从发布到现在,已经帮助很多用户在数据方面降低了工作压力,同时也得到很多用户的反馈,Tushare将一如既往的用免费和开源的形式分享出来,希望对有需求的人带来一些帮助。如果您觉得Tushare好用并有所收获,请通过微博、微信或者网站博客的方式分享出去,让更多的人了解和使用它,使它能在大家的使用过程中逐步得到改进和提升。Tushare还在不断的完善和优化,后期将逐步增加港股、期货、外汇和基金方面的数据,所以,您的支持和肯定才是Tushare坚持下去的动力。
2016年新年第一贴,大年夜搞这个只能说明春晚实在是有点无聊。
在之前的blog里写了一个最简单的例子:
现在试一下简单的分析,即设定一个策略:以20日线为标准,当前股价低于20日线的时候就卖出,高于20日线的时候就买入。
然后计算一下这个策略的效果。
主要用 TuShare 里的 get_hist_data 这个接口,用于获取到目前为止3年的历史数据。
主要的用法参照如下:
获取个股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据。本接口只能获取近3年的日线数据,适合搭配均线数据进行选股和分析,如果需要全部历史数据,请调用下一个接口get_h_data()。
参数说明:
l code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
l start:开始日期,格式YYYY-MM-DD
l end:结束日期,格式YYYY-MM-DD
l ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
l retry_count:当网络异常后重试次数,默认为3
l pause:重试时停顿秒数,默认为0
返回值说明:
l date:日期
l open:开盘价
l high:最高价
l close:收盘价
l low:最低价
l volume:成交量
l price_change:价格变动
l p_change:涨跌幅
l ma5:5日均价
l ma10:10日均价
l ma20:20日均价
l v_ma5:5日均量
l v_ma10:10日均量
l v_ma20:20日均量
l turnover:换手率[注:指数无此项]
那我们只要比较 v_ma20 和 close 这两个值就可以了。
OK,写了一个很简单的程序:
#!/usr/bin/python
# coding: UTF-8
"""This script parse stock info"""
import tushare as ts
def parse(code_list):
'''''process stock'''
is_buy = 0
buy_val = []
buy_date = []
sell_val = []
sell_date = []
df = ts.get_hist_data(STOCK)
ma20 = df[u'ma20']
close = df[u'close']
rate = 1.0
idx = len(ma20)
while idx > 0:
idx -= 1
close_val = close[idx]
ma20_val = ma20[idx]
if close_val > ma20_val:
if is_buy == 0:
is_buy = 1
buy_val.append(close_val)
buy_date.append(close.keys()[idx])
elif close_val < ma20_val:
if is_buy == 1:
is_buy = 0
sell_val.append(close_val)
sell_date.append(close.keys()[idx])
print("stock number: %s" %STOCK)
print ("buy count : %d" %len(buy_val) )
print ("sell count : %d" %len(sell_val) )
for i in range(len(sell_val)):
rate = rate * (sell_val[i] * (1 - 0.002) / buy_val[i])
print ("buy date : %s, buy price : %.2f" %(buy_date[i], buy_val[i]))
print ("sell date: %s, sell price: %.2f" %(sell_date[i], sell_val[i]))
print ("rate: %.2f" % rate)
if __name__ == '__main__':
STOCK = '300286' ##浦发银行
parse(STOCK)
本文档为【python股票分析Tushare】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。