基于python的中证股票分析

本文介绍了如何利用Python的Tushare库获取中证500成分股的实时数据,并按权重降序排列展示前30只股票。此外,还展示了如何获取贵州茅台股票的历史K线数据并存储为CSV文件,以便进一步分析。Tushare是一个免费的财经数据接口包,它提供了便捷的数据获取、清洗和存储功能,特别适合金融数据分析和量化交易。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三方库tushare
Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。

使用前提:安装python和pandas。
1、下载安装
方式1:pip install tushare
方式2:访问https://pypi.python.org/pypi/Tushare/下载安装
2、版本升级
pip install tushare --upgrade
3、可参考链接
http://tushare.org/
https://tushare.pro/
https://www.oschina.net/p/tushare?hmsr=aladdin1e1

用tushare获取股票行情数据,使用的是ts.get_hist_data()函数或者ts.get_k_data()函数。

import tushare as ts
df = ts.get_k_data("code",start="",end="",ktype="",retry_count="",pause)
# 输入值说明
code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
start:开始日期,格式YYYY-MM-DD
end:结束日期,格式YYYY-MM-DD
ktype:数据类型,D=日k线 W=周 M=5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
retry_count:当网络异常后重试次数,默认为3
pause:重试时停顿秒数,默认为0

# 返回值说明
date:日期;open:开盘价;high:最高价;close:收盘价;low:最低价;volume:成交量;
price_change:价格变动;p_change:涨跌幅;ma5:5日均价;ma10:10日均价;ma20:20日均价;
v_ma5:5日均量;v_ma10:10日均量;v_ma20:20日均量;turnover:换手率[注:指数无此项]

案例内容

1、Show the first 30th stocks of 中证 500 with descending weight.

import tushare as ts
import pandas as pd

# 获得中证500的实时数据,将中证500的股票数据放在一个dataframe()中
# token获取的方式https://blog.csdn.net/liu_1314521/article/details/109011406?
TOKEN = 'cbfe2cc36362624682e5215f5e378c65a8846f70d3095429102f0559'
pro = ts.pro_api(token=TOKEN)
data = pd.DataFrame()
data = ts.get_zz500s()

# 获取前三十行数据并根据weight降序排列
data_sorted = data.sort_values(['weight'], ascending=False)[0:30]
print(data_sorted)

中证500的实时数据:
在这里插入图片描述
按降序进行排序,权重值为30的部分截图:
在这里插入图片描述

2、获取某个股票的历史数据

#获取k线数据,加载至DataFrame中,这个是茅台的股票
df = ts.get_k_data("600519",start="1999-01-01")
#将从Tushare中获取的数据存储至本地
df.to_csv("600519.csv")
#将原数据中的时间作为行索引,并将字符串类型的时间序列化成时间对象类型,并且给显示索引
df = pd.read_csv("600519.csv", index_col='date',parse_dates=['date'])[['open','close','high','low']]

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值