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

金融工程--基于akshare的数据获取

背景

在进行金融工程和量化交易的时候,如何获取准确的数据来为我们模型和后期的判断提供支撑和依据成为了比较关键的一个点。对这个问题有几个方面的要求。第一,获取的数据的准确性,第二,大批量数据获取的接口稳定程度,第三,对于分钟和秒级别频率的实时支持程度。

API接口对比

名称TuShareAKShareEfinanceQstock
是否收费部分接口收费开源开源开源
数据来源新浪、东财新浪、东财东财东财
实时K线VVVV
历史K线不支持分钟K线VVV
基本面数据VVX部分支持
板块数据VVXV
特色数据VVXX
说明文档VVVX

对比四种不同的框架获取K线数据的速度

import tushare as ts
import akshare as ak
import efinance as ef
import qstock as qs
import timetoken = '你的token'def tushare_stock_history():pro = ts.pro_api(token)return pro.daily(ts_code='000651.SZ')def akshare_stock_history():return ak.stock_zh_a_hist(symbol="000651", period="daily")def efinance_stock_history():return ef.stock.get_quote_history('000651')def qstock_stock_history():return qs.get_data('000651')def default():passstockDataSourceDict = {"tushare": tushare_stock_history,"akshare": akshare_stock_history,"efinance": efinance_stock_history,"qstock": qstock_stock_history
}def getStockDataSoucre(source):fun = stockDataSourceDict.get(source, default)return fun()# 任务:比较四个框架的日线行情接口返回数据时间
if __name__ == '__main__':# 获取开始时间start = time.perf_counter()getStockDataSoucre("qstock")# 结束时间end = time.perf_counter()runTime = round(end - start, 2)print(f"运行时间:{runTime} ,秒")

关于其中的token获取方式需要通过tushare官网获取
在这里插入图片描述
注意目前tushare这个框架对于权限的要求较高,可以理解为会员,详细解释:在这里插入图片描述

akshare基本操作

因此主要使用akshare作为主要的数据获取框架和接口。
下面使用akshare实现分钟级别的数据获取:

'''
获取分钟实时数据 以30分钟为例
'''
ak_hist_df = ak.stock_zh_a_hist_min_em(symbol='000651',start_date='2023-05-04 10:30:00',end_date='2023-06-02 15:00:00', period='30')
# print(ak_hist_df)
ef_hist_df = ef.stock.get_quote_history(stock_codes='000651', beg='20230504', end='20230602', klt=30)
print(ef_hist_df)

参考文献

akshare官网文档


http://www.mrgr.cn/news/12500.html

相关文章:

  • P1088 [NOIP2004 普及组] 火星人
  • Java | Leetcode Java题解之第376题摆动序列
  • MYSQL 优化
  • git安装及常用命令
  • asp.net core在win上的发布和部署
  • 若依,前后端分离项目,部署到服务器
  • 云端集中管控边缘服务:利用 EMQX ECP 在 K8s 上快速部署 NeuronEX
  • AI创新,DataOps聚能 | 白鲸开源DTCC共话DataOps新篇章
  • Linux操作系统常见面试题
  • Java MR Map Reduce 模型
  • 加速打开gtihub的工具dev-sidecar
  • vs 项目.gitignore设置过滤某个文件夹无效
  • 鸿蒙(API 12 Beta3版)【使用智能PhotoPicker】Media Library Kit媒体文件管理服务
  • 《机器学习》 SVM支持向量机 推导、参数解析、可视化实现
  • 期权交易误区分享:喜欢重仓!
  • 《深入剖析 Spring Boot 中的循环依赖问题及解决方案》
  • 智能计算方法与实现1|禁忌搜索算法|Rastrigin函数|压力容器设计问题
  • zookeeper客户端命令行操作、节点类型及监听器
  • SQL血缘解析
  • 美国洛杉矶服务器地址在哪里?