使用tushare接口获取股票数据

编程入门 行业动态 更新时间:2024-10-09 06:26:17

使用tushare<a href=https://www.elefans.com/category/jswz/34/1771365.html style=接口获取股票数据"/>

使用tushare接口获取股票数据

    量化投资在近些年来成为了金融行业中的一个热点,在做量化之前需要先获取到市场的行情数据,今天来介绍一个python接口tushare,通过该接口可以获取到大量的金融数据,涵盖了股票,基本面数据,宏观经济数据等,并且在不断的更新中。**1.安装教程**
将tushare作为python的一个三方库,提前pip在环境之中,之后通过如下代码导入:
import tushare as ts

需要注意的的是,在首次使用时需要设置token

ts.set_token('your token')

token在tushare主页中的个人中心可以查看。

在获取股票日线行情时用到的接口是:

ts.pro.daily()

参数说明:
ts_code:股票代码,str类型,同时支持多个股票提取,用逗号隔开
trade_date:交易日期,str类型,YYYYMMDD
start_date: 获取数据的起始日期,str类型,YYYYMMDD
end_data:获取数据的终止日期,str类型,YYYYMMDD

接下来分享一下自己封装的一个通过该接口获取股票数据的函数:

class TushareDownloader:"""Provides methods for retrieving daily stock data fromTushare Finance APIAttributes----------start_date : strstart date of the data (modified from config.py)end_date : strend date of the data (modified from config.py)ticker_list : lista list of stock tickers (modified from config.py)Methods-------fetch_data()Fetches data from tushare API"""def __init__(self, start_date: str, end_date: str, ticker_list: dict):self.start_date = start_dateself.end_date = end_dateself.ticker_list = ticker_listdef fetch_date(self) -> pd.DataFrame:"""Fetches data from Tushare APIParameters----------Returns-------`pd.DataFrame`7 columns: A date, open, high, low, close, volume and tick symbolfor the specified stock ticker"""# Download and save the data in a pandas DataFrame:data_df = pd.DataFrame()for code in self.ticker_list:temp_df = pro.daily(ts_code=code, start_date=self.start_date, end_date=self.end_date)temp_df['tic'] = self.ticker_list[code]data_df = data_df.append(temp_df)data_df = data_df.drop(['ts_code', 'pre_close', 'change', 'pct_chg', 'amount'], axis=1)data_df = data_df[['trade_date', 'open', 'high', 'low', 'close', 'vol', 'tic']]data_df.columns = ['date', 'open', 'high', 'low', 'close', 'volume', 'tic']data_df['date'] = pd.to_datetime(data_df['date'])data_df['day'] = data_df['date'].dt.dayofweek# convert date to standard string format, easy to filterdata_df['date'] = data_df.date.apply(lambda x: x.strftime("%Y-%m-%d"))data_df = data_df.dropna()data_df = data_df.reset_index(drop=True)print("Shape of DataFrame: ", data_df.shape)# print("Display DataFrame: ", data_df.head())data_df = data_df.sort_values(by=['date', 'tic']).reset_index(drop=True)return data_df

后续的使用过程中会继续分享一些关于tushare使用的报告。

更多推荐

使用tushare接口获取股票数据

本文发布于:2024-03-04 03:22:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1708144.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:接口   股票   数据   tushare

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!