当前位置: 首页 > news >正文

我常用的几个Python金融数据接口库,非常好用~

在金融分析和量化投资领域,Python已成为最受欢迎的编程语言之一。这主要归功于其丰富的库和框架,它们提供了处理和分析金融数据所需的工具,而且还有大量免费实时的金融股票数据供你分析研究。

以下是六个最常用的Python金融数据接口库,有国内也有国外的,它们各自具有独特的功能和优势。

Tushare

Tushare是一个热门免费(部分需要积分)的Python财经数据接口包,是国内大佬开发的,提供股票等金融数据的采集、清洗加工到数据存储的全过程。

Tushare数据种类比较丰富,涵盖股票市场数据(包括A股、港股、美股等)、期货、基金、债券、外汇、行业大数据、数字货币行情等区块链数据、经济指标、新闻和公告等非交易数据等多种金融产品的数据。

而且Tushare非常易于使用,提供了简洁的API,返回数据格式为Pandas DataFrame,便于分析和可视化。

import tushare as ts
pro = ts.pro_api('your_token')
df = pro.index_daily(ts_code='000001.SH', start_date='20200101', end_date='20230101')
print(df)

yfinance

yfinance 是一个基于 Python 的金融数据接口库,主要用于获取雅虎财经 (Yahoo Finance) 提供的金融数据。yfinance可以获取股票历史价格数据(包括开盘价、最高价、最低价、收盘价、成交量)、实时价格数据等,你可以选择不同的时间尺度来获取数据,如日线、周线、月线等。

yfinance 提供了简单的函数调用,使用户能够通过指定股票代码、日期范围等参数来获取历史价格数据。,它将数据转换为 Pandas DataFrame,便于进行数据处理和分析,计算和展示各种股票的技术指标。

import yfinance as yf# 获取单个股票的历史数据
ticker = 'AAPL'
data = yf.download(ticker, start='2020-01-01', end='2023-01-01')# 获取多个股票的历史数据
tickers = ['AAPL', 'MSFT', 'GOOGL']
data = yf.download(tickers, start='2020-01-01', end='2023-01-01')

pandas_datareader

pandas_datareader是专为 pandas 用户设计的金融数据接口库,用于从多个在线数据源获取金融和经济数据。它支持多种数据源,包括但不限于 Yahoo Finance、Google Finance、FRED、World Bank、OECD 等,使其成为金融数据分析的全能工具。

pandas_datareader与 pandas 高度集成,返回的数据格式为 pandas DataFrame,能轻松调用pandas的各种函数方法,便于进行进一步的数据处理和分析。

import pandas_datareader as pdr
from datetime import datetime# 获取特定股票的历史数据
start = datetime(2020, 1, 1)
end = datetime(2023, 1, 1)
data = pdr.get_data_yahoo('AAPL', start, end)
print(data.head())# 获取宏观经济数据
gdp_data = pdr.get_data_fred('GDPC1', start, end)
print(gdp_data.head())

AkShare

AkShare也是国内开发的金融数据库,是完全开源免费的。它支持股票、期货、期权、基金、外汇、债券、指数、加密货币等多种金融产品的基本面数据、实时和历史行情数据、衍生数据的获取。数据包括东方财富网、新浪财经等多个金融信息平台,能够及时反映市场最新动态 。

AkShare 它提供了一系列工具用于从数据采集、清洗到落地的全过程,并提供数据可视化工具。通过图表和图形,可以直观地查看市场走势,分析趋势 。

import akshare as ak# 获取上证指数的历史行情数据
stock_zh_index_daily_df = ak.stock_zh_index_daily(symbol="sh000001")
print(stock_zh_index_daily_df)

baostock

baostock同样是一个专门为国内股市数据提供支持的 Python 库,它提供了免费的股票数据接口,用户可以方便地获取股票、指数、基金等各种金融数据。这个库特别适合需要国内金融数据的分析师。

import baostock as bs
import pandas as pd# 登录系统
lg = bs.login()# 获取股票历史数据
rs = bs.query_history_k_data_plus("sh.600000",
"date,code,open,high,low,close,preclose,volume,amount,adjustflag",
start_date='2022-01-01', end_date='2022-12-31',
frequency="d", adjustflag="3")# 错误码检查
if rs.error_code == '0':result = pd.DataFrame(rs.get_data())print(result)
else:print('query_history_k_data_plus respond error_code:'+rs.error_code)print('query_history_k_data_plus respond error_msg:'+rs.error_msg)# 登出系统
bs.logout()

Alpha Vantage

Alpha Vantage 是一个提供全球实时和历史金融市场数据的API服务,支持全球超过200,000种金融工具的数据查询,涵盖股票、ETFs、加密货币、外汇、商品期货等。其Python库 alpha_vantage 为开发者提供了一个简单易用的接口来访问这些数据。

而且Alpha Vantage内置多种常用的技术分析指标,如移动平均线(MA)、相对强弱指数(RSI)、布林带(Bollinger Bands)等,帮助用户进行市场趋势分析。

from alpha_vantage.timeseries import TimeSeries# 初始化 TimeSeries 对象
ts = TimeSeries(key='YOUR_API_KEY', output_format='pandas')# 获取指定股票的日线数据
data, meta_data = ts.get_daily(symbol='AAPL', outputsize='full')
print(data)

以上的这些Python金融数据库具备广泛的市场数据覆盖、实时性、技术指标计算、易用性等特点,适用于投资分析、量化交易策略开发、学术研究和教育等多种场景。而且在Python生态中使用起来非常方面,你可以用pandas、numpy、sklearn、matplotlib等数据分析库去分析展示数据。

相关文章:

我常用的几个Python金融数据接口库,非常好用~

在金融分析和量化投资领域,Python已成为最受欢迎的编程语言之一。这主要归功于其丰富的库和框架,它们提供了处理和分析金融数据所需的工具,而且还有大量免费实时的金融股票数据供你分析研究。 以下是六个最常用的Python金融数据接口库&#x…...

【机器学习】ID3、C4.5、CART 算法

目录 常见的决策树算法 1. ID3 2. C4.5 3. CART 决策树的优缺点 优点: 缺点: 决策树的优化 常见的决策树算法 1. ID3 ID3(Iterative Dichotomiser 3)算法使用信息增益作为特征选择的标准。它是一种贪心算法,信…...

UE5: Content browser工具编写02

DebugHeader.h 中的全局变量,已经在一个cpp file中被include了,如果在另一个cpp file中再include它,就会有一些conflicts。先全部给加一个static Add static keyword to debug functionsWrap all the functions inside of a namespaceprint …...

【ARM】MDK-当选择AC5时每次点击build都会全编译

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决MDK中选择AC5时每次点击build都会全编译 2、 问题场景 在MDK中点击build时,正常会只进行增量编译,但目前每次点击的时候都会全编译。 3、软硬件环境 1 软件版本:Keil MDK 5.…...

使用ESPnet的 setup_anaconda.sh安装脚本一步到位,配置conda虚拟环境

使用ESPnet的 setup_anaconda.sh 安装脚本一步到位,配置conda虚拟环境 前言 ESPnet(End-to-End Speech Processing Toolkit)是一款用于语音识别、语音合成等任务的开源端到端语音处理工具包。为了在不同系统上快速配置ESPnet开发环境&#…...

9、论文阅读:无监督的感知驱动深水下图像增强

Perception-Driven Deep Underwater Image Enhancement Without Paired Supervision 前言引言相关工作UIE模型基于非物理模型基于物理模型基于深度学习质量度量在图像增强中的应用方法论问题表述PQR模型PDD网络生成器损失函数实验Enhancement Without Paired Supervision) 前言…...

谷歌收录查询工具,使用谷歌收录查询工具查询网站收录情况并优化内容的详细步骤

在数字营销和SEO领域,了解网站在谷歌搜索引擎中的收录情况至关重要。使用谷歌收录查询工具,可以有效地监测网站的索引状态,进而优化内容以提升网站排名和曝光度。以下是如何使用谷歌收录查询工具查询网站收录情况并优化内容的详细步骤&#x…...

代理中长效的长板在哪里

伙伴们,之前咱们讨论过了短效代理的用途,那么今天我们来聊一聊长效代理的多元化用途,大家也可以对比一下它们的区别,根据自身的需求针对性地去选择合适的哦。 在企业的网络安全保卫战中,长效代理像是一座坚不可摧的钢…...

VS code Jupyter notebook 导入文件目录问题

VS code Jupyter notebook 导入文件目录问题 引言正文引言 这几天被 VS code 中 Jupyter Notebook 中的文件导入折磨的死去活来。这里特来说明一下放置于不同文件夹下的模块该如何被导入。 正文 首先,我们需要按下 Ctrl + , 键打开设置,然后搜索 notebook file root。在如…...

【IDEA】将光标移动到您上一次编辑的地方

将光标移动到您上一次编辑的地方 使用 ctl <-- 似乎是回到上一个文件而 ctl shift Backspace 是回到上一次的光标&#xff0c;似乎更有用一些。Backspace 是删除按键&#xff0c;要非常小心。 快捷键快速回退到上一次编辑的位置 在 IntelliJ IDEA 中&#xff0c;您可以…...

设备管理平台-支持快速开发

技术路线&#xff08;同时支持前后端分离 / 前后端一体&#xff0c;可用于网关或者服务器部署&#xff09; 前端&#xff1a;layui-v2.9.17 后端&#xff1a;Net8.0 使用组件 Swagger、Jwt、Freesql、MiniExcel、MemoryCache(存储登录用户信息&#xff0c;代替HttpContext.S…...

Vue项目开发注意事项

事项一&#xff1a;项目代码放在本地怎么运行起来 1、首先确定项目对应的node和npm版本 node下载地址 Index of /dist/https://nodejs.org/dist/ node 与 npm版本对应关系 Node.js — Node.js Releases 2、node卸载的时候&#xff0c;会自动把对应的npm卸载掉 情况1&…...

Vivado时序报告之CDC详解大全

目录 一、前言 二、Report CDC 2.1 Report CDC 2.2 配置界面 2.3 CDC报告 2.3.1 General Information 2.3.2 Summary 2.3.3 CDC Details 2.4 Waiver 2.4.1 设置Waiver 2.4.2 报告查看 2.4.3 去除Waiver设置 三、工程设计 四、参考资料 一、前言 前面已经针对…...

【研赛A题成品论文】24华为杯数学建模研赛A题成品论文+可运行代码丨免费分享

2024华为杯研究生数学建模竞赛A题精品成品论文已出&#xff01; A题 风电场有功功率优化分配 一、问题分析 A题是一道工程建模与优化类问题&#xff0c;其目的是根据题目所给的附件数据资料分析风机主轴及塔架疲劳损伤程度&#xff0c;以及建立优化模型求解最优有功功率分配…...

华为OD机试 - 小明的幸运数(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…...

嵌入式学习——进程间通信方式(3)—— 共享内存

一、基本概念 什么是共享内存&#xff0c;顾名思义&#xff0c;就是将共享一片内存空间&#xff0c;共享内存允许多个不同的进程访问同一片内存空间。他们对这个内存直接进行操作&#xff0c;不需要经过内核的处理&#xff0c;因此共享内存是IPC通信方式中效率最高的。那如何实…...

python开发讯飞星火

一、讯飞星火网址 星火认知大模型Web API文档 | 讯飞开放平台文档中心 二、pycharm安装 pip3 install --upgrade spark_ai_python...

自然语言处理(jieba库分词)

1、完全切分法、正向最大匹配算法、逆向最大匹配算法和双向最大匹配算法 一、实验内容 一个好的NLP系统一定要有完备的词典&#xff0c;用于判断算法分出的词是否是具有实际意义的词。自定义一个词典&#xff0c;比如dic ["项目", "研究", "目的&q…...

MYSQL-查看函数创建语句语法(五)

SHOW CREATE FUNCTION 语句 SHOW CREATE FUNCTION func_name此语句类似于 SHOW CREATE PROCEDURE 的方法&#xff0c;但用于存储过程。 mysql> show create function world.sum \G *************************** 1. row ***************************Function: sumsql_mode:…...

图解IRF

FW1 配置思路 ① 配置IRF优先级 确认设备的主次 ② 设置批量操作的接口方便后续操作 interface range name fw-irf interface GigabitEthernet1/0/2 to GigabitEthernet1/0/3 ③ 接口 showdown 关闭接口 ④ 创建的IRF 1/1 成员的对应的接口的是 GE1/0/2 GE/1/0/3 ⑤ 开放IRF对…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...