精华内容
下载资源
问答
  • Tushare金融数据实践 目前来看,除了爬虫玩的很好,又有精力自己去爬取数据并清洗的,要用到免费的数据源,有两个比较不错的推荐,tushare和baostock。这里介绍一下tushare的使用。 Tushare是一个免费、开源的...

    Tushare金融数据实践

        目前来看,除了爬虫玩的很好,又有精力自己去爬取数据并清洗的,要用到免费的数据源,有两个比较不错的推荐,tushare和baostock。这里介绍一下tushare的使用。

        Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,并对外提供多种开放接口供使用。目前升级成金融大数据社区,即pro版,向下兼容老版本的一些api。

     

    (具体可以到官网了解详细使用方法 https://tushare.pro/register?reg=282123 )

    安装

    先安装一些依赖库

    # pip install anaconda

    # pip install pandas

    # pip install lxml

    # pip install tushare  (安装tushare)

     

    安装好可以直接使用:

    获取历史数据:

    # ts.get_hist_data('600183')

    另外方法 : ts.get_k_data('600183') 也一样,可以加时间段限制

     

    新版接口(建议使用):

    pro = ts.pro_api()

    df = pro.daily(ts_code='600183.SZ', start_date='20190920', end_date='20190930')

    建议使用pro版本,老版本不再维护。Pro版本接口更加丰富

    获取列表:pro.stock_basic 写成配置文件 codes

    获取交易日期:pro.trade_cal 写成配置文件 dates

    可以结合其他网络数据,合成后保存到数据平台供后续分析使用

     

    统计后的数据可以再存到关系数据库oracle等,这里不做详细说明,欢迎留言交流

    展开全文
  • 因为客户这边前期是不想花钱买数据的,只能自己想办法了,从sina和yahoo财经频道到一些数据,但是有些数据比较难找,看到了知乎上面的一个帖子,于是就尝试一下。 tushare的介绍。 使用前提,安装anaconda。 ...

    最近在做一个项目,主要是基于股票市场来验证一些model,看看能否做量化交易。那么如何获取数据呢?因为客户这边前期是不想花钱买数据的,只能自己想办法了,从sina和yahoo财经频道爬到一些数据,但是有些数据比较难找,看到了知乎上面的一个帖子,于是就尝试一下。

    • tushare的介绍。
    • 使用前提,安装anaconda
    • 按照好了之后,如何开发呢?选择什么样的IDE呢?如何基于anaconda搭建IDE环境。
    • 安装tushare:windows下打开cmd.exe,OS X下打开terminal,pip install tushare。
    • 使用mysql驱动的时候遇到了问题:ImportError: No module named 'MySQLdb'
    • 找出mysql所有的驱动:http://docs.sqlalchemy.org/en/latest/dialects/mysql.html#module-sqlalchemy.dialects.mysql.pymysql
    • 寻找其中合适的使用,pymysql:pip install pymysql
    import tushare as ts
    #import pandas as pd
    #import numpy as np
    #import matplotlib.pyplot as plt
    
    from sqlalchemy import create_engine
    
    engine = create_engine('mysql+pymysql://loginuser:loginuser@172.16.130.6/nevmiss?charset=utf8')
    
    df = ts.get_area_classified()
    df.to_sql('area_data_py',engine,if_exists='append')
    
    df = ts.get_industry_classified()
    df.to_sql('industry_data_py',engine,if_exists='append')

     好了,可以轻松地使用tushare的数据源了。

    转载于:https://www.cnblogs.com/allanli/p/5336901.html

    展开全文
  • 获取数据是金融量化分析的第一步,找不到可靠、准确的数据,量化分析就...当然,不会网络爬虫不要紧,我们还可以借助Python的开源数据包(其本质也是网络爬虫),如:tushare、baostock、pandas_datareader和ya...

    获取数据是金融量化分析的第一步,找不到可靠、准确的数据,量化分析就无从谈起。随着信息技术的不断发展,数据获取渠道也越来越多,尤其是Python网络爬虫,近几年愈来愈火。然而,很多人毕竟精力有限,没时间专门去学习网络爬虫技术。当然,不会网络爬虫不要紧,我们还可以借助Python的开源数据包(其本质也是网络爬虫),如:tushare、baostock、pandas_datareader和yahoo等财经数据API,这样可以节省不少精力。本文将以tushare为例,演示如何获取股票数据,并进行简单的可视化分析。

    a20aa5f7358744e1ad8d88885b973e44.png

    图1 股票涨跌驱动因素

    3eb64fe781c65bd39f186ac0bd118e3b.png

    图2 公司基本面信息源

    d420f1fb7db3e6921101d9bf1bce9eb1.png

    图3 知名股票论坛

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

    使用前提

    • 安装Python

    • 安装pandas

    • lxml也是必须的,正常情况下安装了Anaconda后无须单独安装,如果没有可执行:pip install lxml

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

    下载安装

    • 方式1:pip install tushare

    • 方式2:访问https://pypi.python.org/pypi/Tushare/下载安装

    除此之外,新版本需要注册获取token才能免费使用,果想拥有自己的token,可以点击https://tushare.pro/register?reg=300271注册。

    #先引入后面分析、可视化等可能用到的库import tushare as tsimport pandas as pd  import matplotlib.pyplot as pltimport numpy as np#正常显示画图时出现的中文和负号from pylab import mplmpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=False#设置tokentoken='你的token'ts.set_token(token)pro = ts.pro_api(token)

    个股行情数据:

    pro.stock_basic()

    参数:is_hs:是否沪深港通标的,N否、H沪股通、S深股通;list_status:上市状态,L上市、D退市、P暂停上市;exchange:交易所 SSE上交所,SZSE深交所,HKEX港交所。 

    pro.daily(ts_code= 或 trade_date=)

    日行情:daily;周行情:weekly;月行情:monthly

    #获取当前上市的股票代码、简称、注册地、行业、上市时间等数据basic=pro.stock_basic(list_status='L')#查看前五行数据basic.head(5)#获取平安银行日行情数据pa=pro.daily(ts_code='000001.SZ', start_date='20150101',               end_date='20200818')pa.head()

    得到如下结果:

    fcc087ed65635a0cc48dba063d2655ff.png

    #定义获取多只股票函数:def get_stocks_data(stocklist,start,end):    all_data={}    for name,code in stocklist.items():        #qfq,前复权;hfq,后复权        all_data[name]=ts.pro_bar(ts_code=code,start_date=start, end_date=end,adj='qfq')    return all_data#保存本地def save_data(all_data):    for code,data in all_data.items():        data.to_csv('D:/MasterStudy/python/学习/test/实盘/'+code+'.csv',                     header=True, index=False)#以下为本人持有股票stocklist={'四环生物':'000518.SZ','牧原股份':'002714.SZ','恒瑞医药':'600276.SH',           '亨通光电':'600487.SH','中国平安':'601318.SH'}#时间为2015-01-01至2020-08-18all_data=get_stocks_data(stocklist,'20150101','20200818')all_data['牧原股份'].tail()#将数据保存到本地save_data(all_data)#读取本地文件夹里所有文件import os#文件存储路径file='D:/MasterStudy/python/学习/test/实盘/'g=os.walk(file)filenames=[]for path,d,filelist in g:    for filename in filelist:        filenames.append(os.path.join(filename))print(filenames)#将读取的数据文件放入一个字典中df={}#从文件名中分离出股票代码code=[name.split('.')[0] for name in filenames]for i in range(len(filenames)):    filename=file+filenames[i]    df[code[i]]=pd.read_csv(filename)    df[code[i]]['trade_date']=pd.to_datetime(df[code[i]]['trade_date'],format='%Y%m%d')    df[code[i]].set_index("trade_date", inplace=True)#查看第一只股票前五行数据df[code[0]].tail()

    4f6168aa9ba22c9868b8e71165d2a067.png

    以上涉及到了复权的概念,那么为什么要设置复权呢?

    所谓复权就是对股价和成交量进行权息修复,按照股票的实际涨跌绘制股价走势图,并把成交量调整为相同的股本口径。股票除权、除息之后,股价随之产生了变化,但实际成本并没有变化。

    前复权即就是保持现有价位不变,将以前的价格缩减,将除权前的K线向下平移,使图形吻合,保持股价走势的连续性。前复权即就是保持现有价位不变,将以前的价格缩减,将除权前的K线向下平移,使图形吻合,保持股价走势的连续性。

    后复权就是在K线图上以除权前的价格为基准来测算除权后股票的市场成本价。就是把除权后的价格按以前的价格换算过来。简单的说,就是保持先前的价格不变,而将以后的价格增加。

    简单来说,就是随着公司的发展,股价和市值不断增高,而股价过高会把很多散(jiu)户(cai)挡在门外,这时候进行复权,就是把整个池子里的总的钱保持不变,把每股单价降低,总股数增加,进而降低散(jiu)户(cai)们的入场门槛,已经持股的股东则会得到配股。前复权就是保持现有价位不变,将以前的价格缩减;后复权就是保持以前的价位不变,将现在的价格提高。

    plot_pos = [321,322,323,324,325] # 每个子图的位置new_colors = ['#1f77b4','#ff7f0e', '#2ca02c', '#d62728','#9467bd']# 每个子图的颜色fig = plt.figure(figsize=(16,18))fig.suptitle('自选股指走势',fontsize=18)for pos in np.arange(len(plot_pos)):           ax = fig.add_subplot(plot_pos[pos])     y_data =df[code[pos]]['close']      b = ax.plot(y_data,color=new_colors[pos])    ax.set_title(code[pos])        # 将右上边的两条边颜色设置为空,相当于抹掉这两条边    ax = plt.gca()      ax.spines['right'].set_color('none')     ax.spines['top'].set_color('none')plt.show()

    e799e81f118f632dc4b20216abd67940.png

    以上选取了从2015年1月1日开始,到2020年8月18日的股票行情。可以看到,中国平安、恒瑞医药、牧原股份的涨势较好,且较平稳。亨通光电从长时间跨度来看虽然涨幅还可以,但中间回撤幅度较大,非常不稳定,四环生物则涨幅和稳定性都不好。

    #累计收益plot_pos = [321,322,323,324,325] # 每个子图的位置new_colors = ['#1f77b4','#ff7f0e', '#2ca02c', '#d62728','#9467bd']fig = plt.figure(figsize=(16,18))fig.suptitle('股票收益率\n 2015-2020',fontsize=18)for pos in np.arange(len(plot_pos)):    ax = fig.add_subplot(plot_pos[pos])     y_data =df[code[pos]]['close']/df[code[pos]]['close'].iloc[-1]-1    b = ax.plot(y_data,color=new_colors[pos])    ax.set_title(code[pos])    # 将右上边的两条边颜色设置为空,相当于抹掉这两条边    ax = plt.gca()      ax.spines['right'].set_color('none')     ax.spines['top'].set_color('none')plt.show()

    ce70fb8e80180d66d2db14be0fe75969.png

    可以看出,从2015年1月1日至今,收益率从大到小的依次是牧原股份、恒瑞医药、亨通光电、中国平安、四环生物。

    展开全文
  • 使用tushare获取股票历史交易数据

    千次阅读 2020-02-18 22:32:39
    因为前几年就写过java的爬虫,从新浪财经爬取相应股票的历史数据,所以我这里比较简单的调用了一下,获取所有的沪深A股的代码信息,然后调用tushare的get history data来获取历史数据(比java简单多了,tushare封装...

    先注册一个tushare的账号吧,它其实是调用了新浪财经的相关接口。

    至于如何安装tushare,比较简单,操作系统上安装了python3之后,直接用pip安装tushare即可,网上和官网都有教程,基本一步搞定,这里就不说了。(尽量不要装python2,会稍微麻烦点)

    前面花了3天时间把python疯狂讲义看完了,因为前些年对java了解的很多,也用的很多,这两年用c和C++多些,所以看python的教程就相当快,把基础部分看完后,了解和java的区别之后,后续的章节只需要看它提供了什么功能,大概有啥函数即可,因为用的时候还是要再在网上搜的。所以有了点python底子之后,就敢动手了。

    由于tushare pro是收费的,或者需要比较多的金币才能使用高级功能。因为前几年就写过java的爬虫,从新浪财经爬取相应股票的历史数据,所以我这里比较简单的调用了一下,获取所有的沪深A股的代码信息,然后调用tushare的get history data来获取历史数据(比java简单多了,tushare封装的还行,其实我的java也都封装好了)。

    当然,如果觉得不好拿到沪深A股的所有股票代码,那给你一个简单连接吧。http://quote.stockstar.com/stock/stock_index.htm

    复制出来,自己整理一下,提取出所有的代码并保持到文件。然后使用python读取文件放到list里面。然后调用tushare接口,并保持到excel里面。代码相当简单,这里面还要考虑exception的处理,我刚开始么有加异常处理,结果到000428之后就出不来了。直接加异常处理后,后面就全跑出来了,至于是否少了一只股票的数据,我对比了一下,发现少了32个股票的数据。如果真的要求全部数据,那简单,把出错的股票代码打印出来,再单独针对这32个股票,分别调用,调试一下,看看啥问题。我这里没有处理。

    import os
    import tushare as ts
    def ReadTxtName(rootdir):
        lines = []
        with open(rootdir, 'r') as file_to_read:
            while True:
                line = file_to_read.readline()
                if not line:
                    break
                line = line.strip('\n')
                lines.append(line)
        return lines
    stockList = ReadTxtName('20200218A.txt')
    print(stockList,sep=',')
    #ts.set_token('xxxxxx')
    for stock in stockList:
        df = ts.get_hist_data(stock)
        try:
            df.to_csv(stock+'.csv')
        except AttributeError:
            continue;
        print('====================')
    print('get data end!!!')

     

    展开全文
  • 为了获取到已复权数据,也是找了很多接口,最终发现tushare是一个不错的选择,不用存储在本地,程序运行时候保证联网,直接获取数据,最重要的是可以选择前复权或者后复权。 以下引用自官方网站...
  • 待更新 转载于:https://www.cnblogs.com/cthon/p/9424568.html
  • 获取数据是金融量化分析的第一步,找不到可靠、准确的数据,量化分析就...当然,不会网络爬虫不要紧,我们还可以借助Python的开源数据包(其本质也是网络爬虫),如:tushare、baostock、pandas_datareader和ya...
  • tushare使用方法

    2020-11-18 22:51:09
    tushare是一个开源的金融数据源,目前维护的数据非常丰富,质量也很高,对于一般的分析已经足够,可以省去自己到处去爬数据。 更为重要的是,tushare是一个一直免费的非常良心的财经平台。 在anaconda环境下安装...
  • 以前开发行情系统,没有历史行情数据只能装个通达信或者大智慧客户端再导出历史数据,然后解析数据格式入库。 现在搞行情方便多了,写个爬虫可以从雅虎财经,腾讯财经,新浪财经抓取数据,这些网站一般都提供有...
  • 环境配置 Python3+Pip环境配置 MongoDB环境配置 Redis环境配置 ...Scrapy+Tushare爬取微博股票数据 分布式篇 Scrapy分布式原理及Scrapy-Redis源码解析 Scrapy分布式架构搭建抓取知乎 Scrapy分布式的部署详解
  • 通过Python获取股票数据集的方法有很多,可以通过对股票相关网站进行爬虫,也可以通过Tushare库进行获取。 操作目标:将某一特定股票数据集获取并导出至CSV文件。(以贵州茅台为例) 首先在Tushare右上角进行注册并...
  • 本文作者:周聪聪文字编辑:周聪聪技术总编:张学人好消息!!!爬虫俱乐部将于2019年7月5日至7月8日在武汉举行首...爬虫俱乐部曾发布的cntrade命令主要被用来下载中国股票市场中的历史市场报价,为需要这些金融数据...
  • 安装tushare

    千次阅读 2016-05-30 22:02:53
    1.为了抓取大盘数据找了很久,开始想法是自己写爬虫取新浪或雪球网站抓数据,发现好麻烦没有自己直接方法,最后到处逛时发现有tushare库(哈哈不用麻烦,果然是人生苦短我用python) tushare 文档地址 ...
  • 刚开始是想通过爬虫在晨星基金网,东方财富等网站爬取数据,找着找着发现有一片新大陆已经有小伙伴把这些数据获取到并且已经开源,虽然有的开源数据因为运营成本等问题会收取一部分费用,这也属于情理之中。...
  •  以前不知道怎么从网上直接获取数据,都是从交易软件上下载数据,也只有个别的软件才能下载,例如通达信可以导出数据,现在学到了一种新的方法,利用tushare可以获取金融数据,这里就简单的分享一下股票数据的获取...
  • 价格查询和展示# 不直接根据网页进行爬虫获取股票价格,而是通过已有组件查询股票价格,并保存到csv文件或者excel文件# Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据数据采集、...
  • 想用python做股票分析的话就需要获取股市相关的数据。那么怎么获取呢,可能你会写个爬虫想从财经网站上爬取相关信息。不过有个更方便的方法,就是python有个很方便的财经接口tushare,只需要几行就可以获取到所有...
  • tushare报错——...报出JSONDecodeError: Expecting value: line 1 column 1 (char 0),其原因主要是tushare的票房数据来源为EBOT艺恩票房智库,而艺恩票房智库的网站结构出现了变化,使得原码的爬虫出现了异...
  • 直接上代码,小白也能股票.........import tushare as ts import mysql.connector import re,time #创建所有股票的表格以及插入每支股票的近段时间的行情,这个文件只需要执行一...
  • 本次主要是抓取开盘啦股票概念数据 采用多进程、requests完成数据的...import tushare as ts import time import requests import json from sqlalchemy import create_engine from multiprocessing import Pool from
  • tushare是一个金融数据平台,可以通过平台提高的api接口,获取相应的金融数据,可用来做数据分析等用途。这是tushare的github地址。 2 如何使用 使用非常方便,只要注册一个账号,然后网站会分配一个token给你,使用...
  • 对量化投资策略进行研究,第一步...作为一个业余的量化投资爱好者,免费的数据来源主要有以下几种途径:Yahoo、Sina 财经的APIPython的Tushare包自己手工爬取Tushare是一个免费、开源的Python财经数据接口包,它对数...
  • 对量化投资策略进行研究,第一步就是获取我们需要的数据。...作为一个业余的量化投资爱好者,免费的数据来源主要有以下几种途径:Yahoo、Sina 财经的APIPython的Tushare包自己手工爬取 Tushare是一个免费、开源的P...
  • tushare 的官网请见:TuShare -财经数据接口包,是国人自己开发的 Python 爬数据工具(所谓的爬,自然就是在线连网获取数据),囊括股票、期货、宏观经济、电影票房等数据。 安装pip install tushare tushare ...
  • 本文分析的对象是股票数据数据采集渠道和方式很多,可以自己写爬虫,也可以用开源的工具。这里我们使用开源工具tushare,https://tushare.pro/register?reg=332190。 step 1. 安装tushare pip install tushare -...
  • 目前很多网站对爬虫都有防范措施,传统的爬数据方法不一定有效。我们只能曲线救国,通过模拟网页浏览方式爬取数据,虽然速度慢,既能达到目标又不会网站服务器增加压力,双赢吧。 Python环境要先下载selenium模块,...
  • 数据准备获取近10年的新闻联播文本有两个方法,一是自己写爬虫,将CCTV网站...坏处是爬数据,清洗数据确实浪费时间,搞不好真有可能费电脑。当然如果直接通过Tushare SDK调取数据,只需要一行代码即可获取到格式统一...

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

tushare爬数据