如何通过python获得科创板的新股收益率、换手率、分析师关注度、发行规模、市盈率、发行价格、行业市盈率、中签率、网上发行占比
时间: 2023-07-03 14:14:53 浏览: 187
python获取股票信息
获取科创板新股信息的方法有很多种,这里提供一种基于tushare包和jqdatasdk包的方法。tushare是一个免费、开源的Python财经数据接口包,可以获取国内外股票、期货、基金等金融数据,而jqdatasdk是一个免费的Python金融数据接口包,可以获取国内外股票、期货、基金等金融数据。
首先需要安装tushare包和jqdatasdk包,在命令行中输入以下命令:
```
pip install tushare
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jqdatasdk
```
然后在Python代码中引入tushare包和jqdatasdk包,并调用其中的新股发行数据接口实现数据获取。具体代码如下:
```python
import tushare as ts
from jqdatasdk import *
auth('your_id', 'your_password')
# 登陆tushare账户
ts.set_token('your_token')
pro = ts.pro_api()
# 获取科创板新股信息
data = pro.new_share(start_date='20210101', end_date='20210331', fields='ts_code, name, ipo_date, issue_price, pe, limit_amount, funds')
# 获取分析师关注度
data['analyst'] = ""
for i in range(len(data)):
code = data.iloc[i]['ts_code']
df = get_security_info(code)
data.at[i, 'analyst'] = df.analyst_opinions
# 获取行业市盈率
data['industry_pe'] = ""
for i in range(len(data)):
code = data.iloc[i]['ts_code']
df = get_fundamentals(query(valuation.pe_ratio).filter(valuation.code == code))
data.at[i, 'industry_pe'] = df['pe_ratio'][0]
# 获取中签率和网上发行占比
data['success_rate'] = ""
data['online_issue_rate'] = ""
for i in range(len(data)):
code = data.iloc[i]['ts_code']
df = get_ipo_info(code)
data.at[i, 'success_rate'] = df['success_rate'][0]
data.at[i, 'online_issue_rate'] = df['online_issue_rate'][0]
# 处理数据
data['earnings_rate'] = (data['close'] - data['issue_price']) / data['issue_price']
data['turnover_rate'] = data['vol'] / data['total_share'] * 100
data = data[['ts_code', 'name', 'issue_price', 'earnings_rate', 'turnover_rate', 'total_share', 'pe', 'industry_pe', 'success_rate', 'online_issue_rate', 'analyst', 'funds']]
# 打印结果
print(data)
```
其中,需要将`your_id`和`your_password`替换为你在聚宽官网申请的个人ID和密码,将`your_token`替换为你在tushare官网申请的个人token。
`pro.new_share()`函数用于获取指定时间段内的新股发行信息,返回数据包括股票代码、股票名称、发行日期、发行价格、市盈率、发行规模等信息。我们在获取到数据后,调用jqdatasdk包中的函数获取分析师关注度、行业市盈率、中签率和网上发行占比,并将需要的列进行输出。
需要注意的是,tushare和jqdatasdk的数据接口有访问限制,具体限制请参考官网的文档。
阅读全文