文章目录
- Python中Tushare(金融数据库)入门详解
- 一、引言
- 二、安装与注册
- 1、安装Tushare
- 2、注册与获取Token
- 三、Tushare基本使用
- 1、设置Token
- 2、获取数据
- 2.1、获取股票基础信息
- 2.2、获取交易日历
- 2.3、获取A股日线行情
- 2.4、获取沪股通和深股通成份股
- 2.5、获取上市公司基础信息
- 2.6、获取A股周线行情
- 字段解析
- 四、总结
Python中Tushare(金融数据库)入门详解
一、引言
在金融数据分析领域,获取准确且实时的数据是至关重要的。Tushare是一个提供中国股市数据的金融数据接口包,它允许用户通过Python轻松获取股票、基金、期货等多种金融产品的历史数据和实时数据。本文将详细介绍如何在Python中使用Tushare进行金融数据的获取和分析。
二、安装与注册
1、安装Tushare
首先,您需要在您的Python环境中安装Tushare。可以通过pip命令轻松安装:
pip install tushare --upgrade
2、注册与获取Token
使用Tushare的高级功能需要注册并获取一个token。您可以访问Tushare官网进行注册,并在注册后获取您的token。
三、Tushare基本使用
1、设置Token
在Python脚本中使用Tushare之前,您需要设置您的token:
import tushare as ts
mytoken = "your token"
ts.set_token(mytoken)
2、获取数据
Tushare提供了丰富的接口来获取不同类型的金融数据。以下是一些常用接口的使用示例:
2.1、获取股票基础信息
import tushare as ts
api = ts.pro_api()
# 获取股票列表
data = api.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
print(data)
2.2、获取交易日历
import datetime as dt
import pandas as pd
def format_date(x):
return x[:4] + "-" + x[4:6] + "-" + x[-2:]
if __name__ == "__main__":
pro = ts.pro_api()
last_year = str(dt.datetime.now().year - 1)
now_year = str(dt.datetime.now().year)
try:
df = pro.query('trade_cal', start_date=last_year + "1220", end_date=now_year + "1231")
except:
df = pd.DataFrame(data=None)
if len(df) > 0:
df = df[df.is_open == 1]
df["日期"] = df.cal_date
df = df[["日期"]]
print(df)
df["日期"] = df.日期.apply(func=format_date)
print(df)
df.to_excel(now_year+"交易日.xlsx", index=False)
else:
print("get trade day from tushare failed")
2.3、获取A股日线行情
data = api.daily(ts_code='000001.SZ,600000.SH', start_date='20180701', end_date='20180718')
print(data)
2.4、获取沪股通和深股通成份股
import tushare as ts
ts.set_token('your token here')
api = ts.pro_api()
# 获取沪股通成份股
data_sh = api.hs_const(hs_type='SH')
print(data_sh)
# 获取深股通成份股
data_sz = api.hs_const(hs_type='SZ')
print(data_sz)
2.5、获取上市公司基础信息
import tushare as ts
ts.set_token('your token here')
api = ts.pro_api()
# 获取上市公司基础信息
data = api.stock_company(exchange='SZSE', fields='ts_code,chairman,manager,secretary,reg_capital,province')
print(data)
2.6、获取A股周线行情
import tushare as ts
ts.set_token('your token here')
api = ts.pro_api()
# 获取A股周线行情
data = api.weekly(ts_code='000001.SZ', start_date='20180101', end_date='20181101', fields='ts_code,trade_date,open,high,low,close,vol,amount')
print(data)
字段解析
以下是上述例子中使用的字段及其含义的详细解析:
字段名称 | 含义 |
---|---|
ts_code | 股票代码,如000001.SZ 表示深圳证券交易所的平安银行 |
hs_type | 股通类型,SH 表示沪股通,SZ 表示深股通 |
chairman | 上市公司董事长姓名 |
manager | 上市公司总经理姓名 |
secretary | 上市公司董事会秘书姓名 |
reg_capital | 上市公司注册资本(万元) |
province | 上市公司所在省份 |
trade_date | 交易日期 |
open | 开盘价 |
high | 最高价 |
low | 最低价 |
close | 收盘价 |
vol | 成交量(手) |
amount | 成交金额(万元) |
通过这些字段,您可以获取到股票的基本信息、交易信息以及上市公司的管理层信息等,为进一步的数据分析和投资决策提供支持。
四、总结
Tushare是一个强大的金融数据接口,它为Python用户提供了一个简单易用的途径来获取和分析金融数据。通过上述步骤,您可以快速开始使用Tushare来丰富您的金融分析项目。记住,合理使用Tushare的接口,遵守其使用条款,可以帮助您更好地进行金融数据分析。
版权声明:本博客内容为原创,转载请保留原文链接及作者信息。
参考文章:
- 【金融数据接口】tushare数据python使用教程