Tushare
• 免费、开源的python财经数据接口包
• 实现对股票等金融数据从数据采集、清洗加工到 数据存储的过程
• Tushare返回的绝大部分的数据格式都是pandas DataFrame类型
官网链接

一.安装模块

Windows系统: pip install lxml pip install tushare
Mac系统: pip3 install lxml pip3 install tushare

二.读取沪深300成分及权重

#沪深股市数据获取及分析
import tushare as ts   #导入tushare模块stock_df = ts.get_hs300s() #读取数据print(stock_df)
          date    code  name  weight
0   2020-01-23  600000  浦发银行    0.99
1   2020-01-23  600004  白云机场    0.12
2   2020-01-23  600009  上海机场    0.49
3   2020-01-23  600010  包钢股份    0.21
4   2020-01-23  600011  华能国际    0.18
..         ...     ...   ...     ...
295 2020-01-23  300347  泰格医药    0.29
296 2020-01-23  300408  三环集团    0.18
297 2020-01-23  300413  芒果超媒    0.18
298 2020-01-23  300433  蓝思科技    0.20
299 2020-01-23  300498  温氏股份    0.90

三.获取沪深股市上市公司基本情况

import tushare as ts
stock_basics = ts.get_stock_basics() # 获取沪深股市上市公司基本情况
print(stock_basics)
         name industry area       pe  ...  profit    gpr        npr  holders
code                                  ...
688233    N神工     化工原料   辽宁   124.47  ...    0.00  68.04      45.15  32803.0
688169    N石头     家用电器   北京    42.95  ...    0.00  34.75      19.21  16299.0
688177   N百奥泰     生物制药   广东     0.00  ...    0.00  81.76 -126299.71  37257.0
688258   卓易信息     软件服务   江苏   451.17  ...    0.00  48.88      14.46  20266.0
002447   晨鑫科技      互联网   辽宁  4365.47  ...  -98.95  51.30       1.00  98802.0
...       ...      ...  ...      ...  ...     ...    ...        ...      ...
603719   良品铺子       食品   湖北     0.00  ...    0.00  32.50       5.76      0.0
601696   中银证券       证券   上海     0.00  ...    0.00   0.00      36.36      0.0
600610  *ST毅达     建筑工程   上海     0.00  ...    4.45   0.00       0.00  69536.0
600074  *ST保千     IT设备   江苏     0.00  ...   14.92  37.35    -294.40  92835.0
300819   聚杰微纤       化纤   江苏     0.00  ...    0.00  26.30      11.18      0.0

四.筛选沪深300成分股上市公司基本情况

import tushare as ts   #导入tushare模块stock_df = ts.get_hs300s()           # 读取数据  读取沪深300成分及权重
#print(stock_df)
stock_basics = ts.get_stock_basics() # 获取沪深股市上市公司基本情况
#print(stock_basics)
stock_basics = stock_basics.loc[stock_df["code"].values]
#筛选沪深300成分股上市公司基本情况
print(stock_basics)

五.去掉名字、领域、地域

X = stock_basics.drop(["name","industry","area"],1)   #去掉名字、领域、地域

六.导入MeanShift进行分类
MeanShift——均值漂移
不断查找质心的位置并移动
原理如下 均值漂移原理

from sklearn.cluster import MeanShift,estimate_bandwidth
bandwidth = estimate_bandwidth(X)
ms = MeanShift(bandwidth=bandwidth,bin_seeding=True)
ms.fit(X)

七.对股份分类
方法一:.labels_属性

labels = ms.labels_
for company,label in zip(stock_basics["name"],labels):print('{} is {}'.format(company,label))
浦发银行 is 0
白云机场 is 0
上海机场 is 0
包钢股份 is 1
华能国际 is 0
华夏银行 is 0
民生银行 is 1
上港集团 is 0
宝钢股份 is 1
浙能电力 is 0
华能水电 is 0
华电国际 is 0
中国石化 is 1
南方航空 is 0
中信证券 is 1
三一重工 is 0
招商银行 is 0
中直股份 is 0
保利地产 is 0
中国联通 is 1
国投资本 is 0
宇通客车 is 0
葛洲坝 is 0
同仁堂 is 0
特变电工 is 0
同方股份 is 0
上汽集团 is 0
国金证券 is 0
北方稀土 is 1
东方航空 is 0
中国卫星 is 0
建发股份 is 0
上海建工 is 0
中国巨石 is 0
雅戈尔 is 0
生益科技 is 0
兖州煤业 is 0
复星医药 is 0
新湖中宝 is 0
南山铝业 is 0
海航控股 is 1
圆通速递 is 0
航天信息 is 0
恒瑞医药 is 0
广汇汽车 is 0
安迪苏 is 0
万华化学 is 0
白云山 is 0
华夏幸福 is 0
恒力石化 is 0
浙江龙盛 is 0
江西铜业 is 0
西南证券 is 0
中航电子 is 0
金地集团 is 0
五矿资本 is 0
海澜之家 is 0
国电南瑞 is 0
片仔癀 is 0
通威股份 is 0
中国动力 is 0
亨通光电 is 0
中金黄金 is 0
烽火通信 is 0
方大炭素 is 0
贵州茅台 is 0
中天科技 is 0
天士力 is 0
山东黄金 is 0
济川药业 is 0
恒生电子 is 0
海油工程 is 0
海螺水泥 is 0
用友网络 is 0
绿地控股 is 0
东方明珠 is 0
豫园股份 is 0
福耀玻璃 is 0
陆家嘴 is 0
川投能源 is 0
海尔智家 is 0
三安光电 is 0
中航资本 is 0
北汽蓝谷 is 0
华域汽车 is 0
中航沈飞 is 0
国电电力 is 1
山西汾酒 is 0
安信信托 is 0
海通证券 is 0
上海临港 is 0
通化东宝 is 0
国投电力 is 0
伊利股份 is 0
航发动力 is 0
长江电力 is 0
江苏银行 is 0
杭州银行 is 0
西安银行 is 0
东方证券 is 0
海油发展 is 1
中国电影 is 0
宝丰能源 is 0
九州通 is 0
招商证券 is 0
大秦铁路 is 0
南京银行 is 0
隆基股份 is 0
宁波港 is 0
春秋航空 is 0
中信建投 is 0
中国神华 is 0
财通证券 is 0
中国国航 is 0
中国化学 is 0
工业富联 is 0
新城控股 is 0
天风证券 is 0
兴业银行 is 0
北京银行 is 0
中国铁建 is 0
东兴证券 is 0
国泰君安 is 0
白银有色 is 0
君正集团 is 0
陕西煤业 is 0
上海银行 is 0
红塔证券 is 0
广汽集团 is 0
农业银行 is 2
青岛港 is 0
中国平安 is 1
中国人保 is 0
交通银行 is 1
新华保险 is 0
三六零 is 0
兴业证券 is 0
中国中铁 is 1
工商银行 is 2
东吴证券 is 0
长沙银行 is 0
中国铝业 is 1
中国太保 is 0

方法二:
Kmeans分类

from sklearn.cluster import KMeanskmeans = KMeans(n_clusters=20,random_state=0).fit(X)  #2.Kmeans分类
for company,label in zip(stock_basics["name"],kmeans.labels_):print('{} is {}'.format(company,label))
浦发银行 is 4
白云机场 is 13
上海机场 is 3
包钢股份 is 1
华能国际 is 13
华夏银行 is 13
民生银行 is 12
上港集团 is 10
宝钢股份 is 12
浙能电力 is 11
华能水电 is 11
华电国际 is 0
中国石化 is 14
南方航空 is 17
中信证券 is 1
三一重工 is 19
招商银行 is 19
中直股份 is 3
保利地产 is 0
中国联通 is 1
国投资本 is 3
宇通客车 is 3
葛洲坝 is 19
同仁堂 is 3
特变电工 is 19
同方股份 is 4
上汽集团 is 4
国金证券 is 9
北方稀土 is 12
东方航空 is 4
中国卫星 is 9
建发股份 is 9
上海建工 is 4
中国巨石 is 9
雅戈尔 is 9
生益科技 is 9
兖州煤业 is 3
复星医药 is 9
新湖中宝 is 9
南山铝业 is 19
海航控股 is 14
圆通速递 is 3
航天信息 is 13
恒瑞医药 is 9
广汇汽车 is 3
安迪苏 is 3
万华化学 is 13
白云山 is 13
华夏幸福 is 13
恒力石化 is 3
浙江龙盛 is 19
江西铜业 is 13
西南证券 is 17
中航电子 is 13
金地集团 is 13
五矿资本 is 3
海澜之家 is 3
国电南瑞 is 13
片仔癀 is 13
通威股份 is 13
中国动力 is 13
亨通光电 is 17
中金黄金 is 17
烽火通信 is 13
方大炭素 is 19
贵州茅台 is 13
中天科技 is 17
天士力 is 13
山东黄金 is 17
济川药业 is 3
恒生电子 is 13
海油工程 is 13
海螺水泥 is 13
用友网络 is 13
绿地控股 is 9
东方明珠 is 4
豫园股份 is 9
福耀玻璃 is 9
陆家嘴 is 9
川投能源 is 3
海尔智家 is 4
三安光电 is 4
中航资本 is 4
北汽蓝谷 is 3
华域汽车 is 3
中航沈飞 is 3
国电电力 is 1
山西汾酒 is 3
安信信托 is 9
海通证券 is 19
上海临港 is 9
通化东宝 is 3
国投电力 is 9
伊利股份 is 19
航发动力 is 9
长江电力 is 13
江苏银行 is 11
杭州银行 is 16
西安银行 is 16
东方证券 is 16
海油发展 is 2
中国电影 is 16
宝丰能源 is 11
九州通 is 8
招商证券 is 0
大秦铁路 is 0
南京银行 is 0
隆基股份 is 8
宁波港 is 10
春秋航空 is 6
中信建投 is 16
中国神华 is 17
财通证券 is 16
中国国航 is 17
中国化学 is 0
工业富联 is 11
新城控股 is 16
天风证券 is 16
兴业银行 is 10
北京银行 is 17
中国铁建 is 2
东兴证券 is 16
国泰君安 is 11
白银有色 is 11
君正集团 is 0
陕西煤业 is 6
上海银行 is 16
红塔证券 is 16
广汽集团 is 8
农业银行 is 15
青岛港 is 16
中国平安 is 14
中国人保 is 11
交通银行 is 2
新华保险 is 0
三六零 is 8
兴业证券 is 10
中国中铁 is 1
工商银行 is 5
东吴证券 is 0
长沙银行 is 6
中国铝业 is 14
中国太保 is 0
上海医药 is 9
中国中冶 is 14
中国人寿 is 0
长城汽车 is 8
中国建筑 is 14
中国电建 is 10
华泰证券 is 10
中国卫通 is 16
上海电气 is 2
中国中车 is 18
光大证券 is 0
中国交建 is 0
中海油服 is 8
光大银行 is 10

八.扩展延伸
1.储存方式
.csv

import tushare as tsdf = ts.get_hist_data('000875')
#直接保存
df.to_csv('c:/day/000875.csv')#选择保存
df.to_csv('c:/day/000875.csv',columns=['open','high','low','close'])
追加数据的方式:某些时候,可能需要将一些同类数据保存在一个大文件中,这时候就需要将数据追加在同一个文件里,简单举例如下:import tushare as ts
import osfilename = 'c:/day/bigfile.csv'
for code in ['000875', '600848', '000981']:df = ts.get_hist_data(code)if os.path.exists(filename):df.to_csv(filename, mode='a', header=None)else:df.to_csv(filename)

.excel

import tushare as tsdf = ts.get_hist_data('000875')
#直接保存
df.to_excel('c:/day/000875.xlsx')#设定数据位置(从第3行,第6列开始插入数据)
df.to_excel('c:/day/000875.xlsx', startrow=2,startcol=5)

2.获取新闻

import tushare as tsts.get_latest_news() #默认获取最近80条新闻数据,只提供新闻类型、链接和标题
ts.get_latest_news(top=5,show_content=True) #显示最新5条新闻,并打印出新闻内容

Tushare的功能还有很多,这里不一一赘述,感兴趣的读者可以参考官网提供的基本流程进行学习

【数据分析Tushare】金融数据处理相关推荐

  1. Tushare金融大数据入门

    Tushare金融大数据社区,是一个免费提供各类金融数据和区块链数据的平台 ,旨在助力智能投资与创新型投资. 积分 数据千万条,积分第一条 目前,提供的数据包含股票.基金.期货.债券.外汇.行业大数据 ...

  2. 【Tushare金融数据实战】北向资金因子计算—指数衰减法

    [Tushare金融数据实战]北向资金因子计算-指数衰减法 Tushare ID : 459953 1.Tushare接口包简介 Tushare是一个免费,开源的python财经数据接口包.拥有丰富的 ...

  3. 数据分析之金融数据分析

    一 前言 金融业是一个持续发展的行业,金融业正在使用数据分析进行金融,以最大程度地减少管理各种金融活动所需的精力和时间.这些公司正在利用数据分析和机器学习原理的力量.这有助于他们发现金融行业各个领域所 ...

  4. python数据分析之金融欺诈行为检测

    python数据分析之金融欺诈行为检测 项目的思维导图 数据分析与处理 声明所使用的库 `import numpy as np import pandas as pd #panda主要用于处理结构化的 ...

  5. 数据分析 - 美国金融科技公司Prosper的风险评分分析

    数据分析 - 美国金融科技公司Prosper的风险评分分析 今年Reinhard Hsu觉得最有意思的事情,是参加了拍拍贷第二届魔镜杯互联网金融数据应用大赛.通过"富爸爸队",认识 ...

  6. Tushare金融大数据开放社区(注册及调用api)

    一. 注册 Tushare金融大数据开放社区,免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.拥有丰富的数据内容,如股票.基金.期货.数字货币等行情数据,公司财务.基金经理等基本面数据 ...

  7. Python 中 pct_change 函数是一种非常实用的函数,它可以帮助我们计算一个时间序列的百分比变化率。在数据分析和金融领域中,我们经常需要计算某个指标...

    Python 中 pct_change 函数是一种非常实用的函数,它可以帮助我们计算一个时间序列的百分比变化率.在数据分析和金融领域中,我们经常需要计算某个指标相对于前一期的变化率,这时可以使用 pc ...

  8. 2017年大数据分析在金融领域的10大发展趋势

    大数据时代,互联网时代,大数据应用越来越广泛的时代,互联网科技应用越来越频繁的时代,大数据分析的应用魅力愈发绽放异彩.而在这大数据发展如火如荼的迅猛盛况下,互联网金融应运而生且茁壮成长,再到后来的独挡 ...

  9. python数据分析--金融数据处理

    数据来源:和鲸社区-Numpy+Pandas数据处理·第四关 主要内容: 缺失数据 查看每列 数据的缺失情况 输出每列具体缺失的行数 删除所有存在缺失值的行 绘制折线图 收盘价折线图 收盘价开盘价折线 ...

最新文章

  1. python namedtuple (命名元组)用法详解
  2. C语言实现二叉树(附完整源码)
  3. Matlab clear, clc 和close函数
  4. 广东计算机电子学校,广东省电子职业技术学校
  5. 华为app安装失败与已安装签名_手机APP为什么总是安装失败
  6. java 避免重定向_java重定向与转发的问题
  7. 涉密专用服务器审计系统,国产专用服务器主机审计
  8. linux查看磁盘io的几种方法
  9. bat脚本 拷贝文件/文件夹到目标目录
  10. MASM6.11安装
  11. 最新消息2022年广西最新消防设施操作员模拟题库及答案
  12. 《Java程序员修炼之道》.pdf
  13. matlab的火山图,如何用EXCEL画一张帅气的火山图?
  14. 微信js支付换服务器,微信内网页支付(微信 JSAPI 支付)的一点经验
  15. Mockplus 3.2前瞻,五大特色功能让你惊喜!
  16. 计算机考研数学考数学二的专业,2018考研数学:过来人教你如何数学二考到130!...
  17. 怎么查自己电脑服务器信息吗,如何查看自己电脑的服务器
  18. 简单句的扩展----成分角度扩展-----非谓语动词作定语,状语 和 同位语 插入语
  19. 【Relax人生法则之躺平方法论】如何优雅地躺平?那些看似无足轻重,实则细思极恐的毒鸡汤。
  20. java jframe标题居中_java如何使窗口上的标题居中

热门文章

  1. 16.第六章 非参数假设检验(2)
  2. ADC0832测电阻原理及51单片机1602显示
  3. linux图像处理工具,linux下图片处理工具ImageMagick使用方法
  4. keil5“魔法棒”配置
  5. 通用定时器输出PWM波实现呼吸灯
  6. 办公神器再升级:钉钉电话秒变客服中心,钉邮域名自定义
  7. 字节薪酬体系曝光,看完感叹:不服不行
  8. c#配置安装IIS管理器
  9. 加薪申请老板回答-----无论是employee还是employer想像力还真绝了...
  10. windows文件共享