Python|一行代码获取股票数据

简介: 着金融行业的发展,金融相关的数据变得越来越有价值。股票的历史数据就是一种非常重要的时间序列数据,本文介绍一个不需要自己动手写爬虫就能够获取各个公司的股票信息的Python库——yfinance。

yfinance的安装

yfinance作为一种数据分析中常用的数据获取库,自然需要一些前置库的安装,其前置库和本身的安装代码如下:

pip install numpy
pip install pandas
pip install requests
pip install yfinance

yfinance的使用

在该库中我们主要使用的是Ticker()模块中的函数,以阿里巴巴的股票为例,我们来学习一下该模块的使用。


首先我们可以使用Ticker函数去获取某个公司的所有股票信息(填写公司的上市英文代码缩写名称),使用info可以直接输出该公司的电话、地址、网址、当前股价、公司信息等许多详细的信息。

获取公司信息的代码如下:

baba = yf.Ticker("BABA")
baba.info

部分结果如下:

19.png

查看股价的历史信息,我们可以设定的时间周期为:


1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max


以一天为间隔举例:

hist = baba.history(interval='1d', period='max')
hist

部分结果如下:

image.png


查询公司的分红和拆股信息:

# 只查询分红
baba.dividends
# 只查询拆股
baba.splits
# 查询分红和拆股
baba.actions

结果如下(阿里应该是没有分红和拆股信息的):

21.png

查询不同股东的占比:

baba.major_holders

结果如下:

22.png

获得公司财报的方式如下:

# 查询公司的财务数据
baba.financials
# 查询公司的资产负债表
baba.balance_sheet
# 查询公司的现金流量表
baba.cashflow

获取股票期权数据的方式如下:

# 查询有哪些月份的期权(得到期权到期日)
baba.options
# 查询某个月的期权
baba.option_chain('2020-07-02')
# 查询某个月所有的看涨期权
baba.option_chain('2020-07-02').calls
# 查询某个月所有的看跌期权
baba.option_chain('2020-07-02').puts

部分结果如下:

image.png

获得股票数据的方式如下:

# 获得单个公司的股票数据
yf.download("BABA", start="2020-01-01")
# 获得多个公司的股票数据
yf.download(tickers = "BABA TCEHY",start="2020-01-01",group_by = 'ticker')

结果如下:

24.png

相关文章
|
3天前
|
并行计算 C语言 开发者
优化Python代码的五大技巧
Python作为一种流行的编程语言,在各种应用场景中广泛使用。然而,随着项目规模的增长和需求的变化,Python代码的性能和可维护性也成为了关键问题。本文将介绍优化Python代码的五大技巧,帮助开发者提升代码效率和质量。
|
22小时前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
15 1
|
1天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
10 2
|
2天前
|
Python
如何使用Python的Pandas库进行数据缺失值处理?
Pandas在Python中提供多种处理缺失值的方法:1) 使用`isnull()`检查;2) `dropna()`删除含缺失值的行或列;3) `fillna()`用常数、前后值填充;4) `interpolate()`进行插值填充。根据需求选择合适的方法处理数据缺失。
28 9
|
4天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
10 2
|
5天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
30 0
|
5天前
|
机器学习/深度学习 Python 数据处理
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
27 0
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
|
5天前
|
存储 机器学习/深度学习 数据可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化
49 6
|
6天前
|
机器学习/深度学习 数据采集 供应链
从数据到决策:scikit-learn在业务分析中的应用
【4月更文挑战第17天】本文探讨了scikit-learn在业务分析中的应用,包括数据预处理、分类、回归和聚类模型的构建,以及模型评估与优化。通过使用scikit-learn,企业能有效处理数据、预测趋势、客户细分并制定决策,从而提升经营效率和市场策略。随着机器学习的发展,scikit-learn在业务分析领域的潜力将持续释放,创造更多价值。
|
6天前
|
算法 数据可视化 Python
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
11 0