人手必备,策略中最常用的5类Python数据接口
今天为大家整理了在掘金量化中获取数据时常用的5类数据接口并展示相关的函数原型与参考示例,有需要的朋友就一起来看看吧~
目录
01基础数据
get_instrumentinfos - 查询交易标的基本信息
get_instruments - 查询最新交易标的信息
get_history_instruments - 查询交易标的历史信息数据
get_trading_dates - 查询交易日列表
get_previous_trading_date - 查询指定日期的上一交易日
get_next_trading_date - 查询指定日期的下一个交易日
02行情数据
current - 查询当前行情快照
history - 查询历史行情
history_n - 查询历史行情最新n条
context.data - 查询订阅数据
03财务数据
get_fundamentals - 查询基本面数据
get_fundamentals_n - 查询基本面数据最新n条
04指数成分股数据
get_constituents - 查询指数最新成份股
get_history_constituents - 查询指数成份股的历史数据
05行业数据
get_industry - 查询行业股票列表
01基础数据
1、get_instrumentinfos - 查询交易标的基本信息
由此获取的交易标的基本信息, 与时间无关。
函数原型:
get_instrumentinfos(symbols=None, exchanges=None, sec_types=None, names=None, fields=None, df=False)
示例:
get_instrumentinfos(symbols=['SHSE.000001','SHSE.000002'],df=True)
输出:
sec_name symbol price_tick delisted_date sec_type sec_abbr sec_id listed_date exchange
上证指数 SHSE.000001 0 2038-01-01 00:00:00 3 szzs 000001 1991-07-15 00:00:00 SHSE
A股指数 SHSE.000002 0 2038-01-01 00:00:00 3 Agzs 000002 1992-02-21 00:00:00 SHSE
2、get_instruments - 查询最新交易标的信息
可获取基本数据及最新日频数据。
函数原型:
get_instruments(symbols=None, exchanges=None, sec_types=None, names=None, skip_suspended=True, skip_st=True, fields=None, df=False)
示例:
get_instruments(exchanges='SZSE', df=True)
输出:
adj_factor is_st upper_limit sec_name pre_close symbol price_tick delisted_date exchange listed_date sec_type settle_price lower_limit multiplier sec_abbr position trade_date sec_id is_suspended margin_ratio115.338 0 12.38 平安银行 11.25 SZSE.000001 0.01 2038-01-01 00:00:00 SZSE 1991-04-03 00:00:00 1 0 10.13 1 payx 0 2017-09-19 00:00:00 000001 0 1127.812 0 30.84 万科A 28.04 SZSE.000002 0.01 2038-01-01 00:00:00 SZSE 1991-01-29 00:00:00 1 0 25.24 1 wkA 0 2017-09-19 00:00:00 000002 0 17.44538 0 27.24 国农科技 24.76 SZSE.000004 0.01 2038-01-01 00:00:00 SZSE 1991-01-14 00:00:00 1 0 22.28 1 gnkj 0 2017-09-19 00:00:00 000004 0 1······
3、get_history_instruments - 查询交易标的历史信息数据
可返回指定symbols的标的日频历史数据。
函数原型:
get_history_instruments(symbols, fields=None, start_date=None, end_date=None, df=False)
示例:
get_history_instruments(symbols='SZSE.000001,SZSE.000002', start_date='2017-09-19', end_date='2017-09-19', df=True)
输出:
adj_factor is_st settle_price upper_limit symbol pre_close lower_limit is_suspended multiplier position trade_date margin_ratio115.338 0 0 12.38 SZSE.000001 11.25 10.13 0 1 0 2017-09-19 00:00:00 1127.812 0 0 30.84 SZSE.000002 28.04 25.24 0 1 0 2017-09-19 00:00:00 1
4、get_trading_dates - 查询交易日列表
函数原型:
get_trading_dates(exchange, start_date, end_date)
示例:
get_trading_dates(exchange='SZSE', start_date='2017-01-01', end_date='2017-01-30')
输出:
['2017-01-03', '2017-01-04', '2017-01-05', '2017-01-06', ...]
5、get_previous_trading_date - 返回指定日期的上一个交易日
函数原型:
get_previous_trading_date(exchange, date)
示例:
get_previous_trading_date(exchange='SZSE', date='2017-05-01')
输出:
'2017-04-28'
6、get_next_trading_date - 返回指定日期的下一个交易日
函数原型:
get_next_trading_date(exchange, date)
示例:
get_next_trading_date(exchange='SZSE', date='2017-05-01')
输出:
'2017-05-02'
02行情数据
1、current - 查询当前行情快照
查询当前行情快照,返回tick数据。回测时,返回回测当前时间点的tick数据。
函数原型:
current(symbols, fields='')
示例:
current_data = current(symbols='SZSE.000001')
输出:
[{'symbol': 'SZSE.000001', 'open': 16.200000762939453, 'high': 16.920000076293945, 'low': 16.149999618530273, 'price': 16.559999465942383, 'quotes': [{'bid_p': 16.549999237060547, 'bid_v': 209200, 'ask_p': 16.559999465942383, 'ask_v': 296455}, {'bid_p': 16.540000915527344, 'bid_v': 188900, 'ask_p': 16.56999969482422, 'ask_v': 374405}, {'bid_p': 16.530000686645508, 'bid_v': 44900, 'ask_p': 16.579999923706055, 'ask_v': 187220}, {'bid_p': 16.520000457763672, 'bid_v': 20800, 'ask_p': 16.59000015258789, 'ask_v': 102622}, {'bid_p': 16.510000228881836, 'bid_v': 37700, 'ask_p': 16.600000381469727, 'ask_v': 337002}], 'cum_volume': 160006232, 'cum_amount': 2654379585.66, 'last_amount': 14153832.0, 'last_volume': 854700, 'trade_type': 7, 'created_at': datetime.datetime(2020, 10, 15, 15, 0, 3, tzinfo=tzfile('PRC'))}]
2、history - 查询历史行情
函数原型:
history(symbol, frequency, start_time, end_time, fields=None, skip_suspended=True, fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=True)
示例:
history_data = history(symbol='SHSE.000300', frequency='1d', start_time='2010-07-28', end_time='2017-07-30', fields='open, close, low, high, eob', adjust=ADJUST_PREV, df= True)
输出:
open close low high eob
0 2796.4829 2863.7241 2784.1550 2866.4041 2010-07-28 00:00:00+08:00
1 2866.7720 2877.9761 2851.9961 2888.5991 2010-07-29 00:00:00+08:00
2 2871.4810 2868.8459 2844.6819 2876.1360 2010-07-30 00:00:00+08:00
3 2868.2791 2917.2749 2867.4500 2922.6121 2010-08-02 00:00:00+08:00
4 2925.2539 2865.9709 2865.7610 2929.6140 2010-08-03 00:00:00+08:00
3、history_n - 查询历史行情最新n条
函数原型:
history_n(symbol, frequency, count, end_time=None, fields=None, skip_suspended=True, fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=False)
示例:
history_n_data = history_n(symbol='SHSE.600519', frequency='1d', count=100, end_time='2020-10-20 15:30:00', fields='symbol, open, close, low, high, eob', adjust=ADJUST_PREV, df=True)
输出:
symbol open ... high eob
0 SHSE.600519 1350.2278 ... 1350.3265 2020-05-22 00:00:00+08:00
1 SHSE.600519 1314.6434 ... 1350.8010 2020-05-25 00:00:00+08:00
2 SHSE.600519 1354.0629 ... 1354.1321 2020-05-26 00:00:00+08:00
3 SHSE.600519 1343.3086 ... 1344.2970 2020-05-27 00:00:00+08:00
4 SHSE.600519 1322.5214 ... 1331.3878 2020-05-28 00:00:00+08:00
4、context.data - 查询订阅数据
函数原型:
context.data(symbol, frequency, count)
示例:
def init(context):subscribe(symbols='SHSE.600519', frequency='60s', count=2)
def on_bar(context,bars):data = context.data(symbol='SHSE.600519', frequency='60s', count=1)
输出:
symbol eob bob open close high low amount pre_close position frequency volume
0 SHSE.600519 2020-12-21 09:31:00+08:00 2020-12-21 09:30:00+08:00 1840 1845.5 1845.5 1838.199951 210503484 0 0 60s 114365
03财务数据
1、get_fundamentals - 查询基本面数据
函数原型:
get_fundamentals(table, symbols, start_date, end_date, fields=None, filter=None, order_by=None, limit=1000, df=False)
示例:
取股票代码“SHSE.600000, SZSE.000001”, 离“2017-01-01”最近一个交易日的股票交易财务衍生表“TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI”字段的值:
get_fundamentals(table='trading_derivative_indicator', symbols='SHSE.600000, SZSE.000001', start_date='2017-01-01', end_date='2017-01-01', fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI', df=True)
输出:
symbol pub_date end_date NEGOTIABLEMV PEMRQ PELFYNPAAEI PETTMNPAAEI PELFY TURNRATE PETTM TOTMKTCAP TCLOSE
SHSE.600000 2016-12-30 00:00:00 2016-12-30 00:00:00 3.3261e+11 6.4605 7.0707 6.6184 6.925 0.0598 6.4746 3.50432e+11 16.21
SZSE.000001 2016-12-30 00:00:00 2016-12-30 00:00:00 1.33144e+11 6.2604 7.1341 6.2644 7.1462 0.2068 6.8399 1.56251e+11 9.1
2、get_fundamentals_n - 查询基本面数据最新n条
函数原型:
get_fundamentals_n(table, symbols, end_date, fields=None, filter=None, order_by=None, count=1, df=False)
示例:
取股票代码“SHSE.600000, SZSE.000001”, 离“2017-01-01”最近3条(每个股票都有3条) 股票交易财务衍生表中“TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI”字段的值:
get_fundamentals_n(table='trading_derivative_indicator', symbols='SHSE.600000, SZSE.000001', end_date='2017-01-01', count=3, fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI',df=True)
输出:
symbol pub_date end_date TCLOSE TOTMKTCAP PETTM TURNRATE PETTMNPAAEI PELFY PELFYNPAAEI NEGOTIABLEMV PEMRQ
SZSE.000001 2016-12-30 00:00:00 2016-12-30 00:00:00 9.1 1.56251e+11 6.8399 0.2068 6.2644 7.1462 7.1341 1.33144e+11 6.2604
SZSE.000001 2016-12-29 00:00:00 2016-12-29 00:00:00 9.08 1.55907e+11 6.8249 0.2315 6.2506 7.1305 7.1184 1.32851e+11 6.2466
SZSE.000001 2016-12-28 00:00:00 2016-12-28 00:00:00 9.06 1.55564e+11 6.8098 0.2297 6.2369 7.1147 7.1027 1.32558e+11 6.2329
SHSE.600000 2016-12-30 00:00:00 2016-12-30 00:00:00 16.21 3.50432e+11 6.4746 0.0598 6.6184 6.925 7.0707 3.3261e+11 6.4605
SHSE.600000 2016-12-29 00:00:00 2016-12-29 00:00:00 16.07 3.47406e+11 6.4187 0.0578 6.5613 6.8652 7.0097 3.29737e+11 6.4047
SHSE.600000 2016-12-28 00:00:00 2016-12-28 00:00:00 16.09 3.47838e+11 6.4267 0.0704 6.5694 6.8737 7.0184 3.30148e+11 6.4126
04指数成分股数据
1、get_constituents - 查询指数最新成份股
函数原型:
get_constituents(index, fields=None, df=False)
示例:
get_constituents(index='SHSE.000001', fields='symbol, weight', df=False)
输出:
[{'symbol': 'SHSE.603681', 'weight': 0.009999999776482582}, {'symbol': 'SHSE.601518', 'weight': 0.009999999776482582}, {'symbol': 'SHSE.600010', 'weight': 0.12999999523162842}···]
2、get_history_constituents - 查询指数成份股的历史数据
函数原型:
get_history_constituents(index, start_date=None, end_date=None)
示例:
get_history_constituents(index='SHSE.000001', start_date='2017-07-10')
输出:
constituents trade_date
{'SHSE.600527': 0.009999999776482582, 'SHSE.600461': 0.019999999552965164,···} 2017-07-31 00:00:00
{'SHSE.603966': 0.009999999776482582, 'SHSE.603960': 0.009999999776482582,···} 2017-08-31 00:00:00
···
05行业数据
1、get_industry - 查询行业股票列表
函数原型:
get_industry(code)
示例:
#返回所有以J6开头的行业代码对应的成分股(包括:J66,J67,J68,J69的成分股)
get_industry(code='j6')
输出:
['SHSE.600000', 'SHSE.600016', 'SHSE.600030',···]
以上就是今天的全部内容,如果想了解每个函数具体参数和返回字段,可参考下图示意的位置,访问掘金官网的“帮助中心”,点击“Python SDK文档”下的“API介绍”进行查看。
入口:数据查询函数 - Python - 掘金量化
人手必备,策略中最常用的5类Python数据接口相关推荐
- 不容错过,数据分析中最常用的10大Python库
学习数据分析绝非易事,有无数种工具和资源可供使用.因此,有时会让我们很难弄清楚该学习什么技能,该使用哪种工具. 在本文中,我们就来给大家介绍一下数据分析中最常用的10个Python库.看看这些库你都用 ...
- 工具类的方法怎么引用_Hutool中那些常用的工具类和方法
Hutool是一个Java工具包,它帮助我们简化每一行代码,避免重复造轮子.如果你有需要用到某些工具方法的时候,不妨在Hutool里面找找,可能就有.本文将对Hutool中的常用工具类和方法进行介绍. ...
- java开发中spring常用的工具类
内置的resouce类型 UrlResource ClassPathResource FileSystemResource ServletContextResource InputStreamReso ...
- java中时间常用处理工具类-DateUtils
仅供参考,收录了一些常用的java中关于时间的处理方法,希望能帮到你! import org.apache.commons.lang3.time.DateFormatUtils;import java ...
- autojs 如何获取控件的desc_Autojs Pro中,常用的几个选择器搜索接口的区别-技术类-雨后春笋...
前言 UI选择器中,有findOne().findOne(timeout).findOnce().findOnce(i).find().untilFind()几个函数接口.在开发的过程中,这几个接口有 ...
- 前后端分离中后端常用的响应类
在前后端分离开发过程中,后端一般会将数据集封装成一个JSON对象响应给前端 package cn.wideth.response;import lombok.AllArgsConstructor; i ...
- nginx lua连接mysql_OpenResty的安装和在nginx中使用lua直接访问mysql达到数据接口的统一...
OpenResty 它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 如果需要nginx的第三方库的时候,可以考虑OpenResty,可以少掉很多安装的麻烦,Open ...
- python中execute是啥_类Python中的Execute方法
这取决于您要做什么,但通常,我认为导入类的代码如下所示:from MyApp import MyClass my_instance = MyClass() value = my_instance.ga ...
- java并发编程中常用的工具类 Executor
/*************************************************** * TODO: description . * @author: gao_chun * ...
最新文章
- 【MySQL】Java中的 JDBC 编程
- Android TableLayout 常用的属性介绍及演示
- Windows phone 应用开发[2]-数据缓存
- IPv6系列(一)—快速入门
- 子类重写父类虚函数_C/C++编程笔记:关于C++的虚函数和多态,你真的了解吗?...
- 云漫圈 | 敢怼我们程序员?哼,有你好看的。。。
- saltstack之keepalived的安装配置
- 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...
- gdb调试时调用函数、设置观察点以及GDB的宏
- Spring-AnnotationConfigApplicationContext/ClassPathXmlApplicationContext
- [dfs] 洛谷 P2535 收集资源
- centos6.5下编译安装mariadb-10.0.20
- 计算机桌面文件自动备份取消,电脑如何取消自动备份_电脑怎么取消自动备份...
- wecp 启动 php,WEPE工具箱VIP版及网络版合盘20171102
- PHPStorm 配置locahost 数据库
- CSS——CSS基础知识
- 【PA2011】Kangaroos
- 跟Android自带模拟器说拜拜,Mac Genymotion 使用心得
- ready和onload的区别
- android闹钟铃声编码,Android 设置来电铃声、通知铃声、闹钟铃声中的坑
热门文章
- 解决WIN8主题下载后安装不了的情况
- 《ybtoj高效进阶》第五部分第六章例题3 耗费体力
- 【C#】身份证识别(三):身份证信息识别
- 数据库设计---PowerDesigner(物理模型和概念模型)
- 微信小程序实现文字随机颜色
- Cascade-RCNN
- #Python #2022卡塔尔世界杯 #FIFA World Cup Qatar 2022 # 机器学习 #数据分析 用Python预测世界杯决赛
- c语言牛逼,C语言牛逼代码
- CS61B sp2018笔记 | Efficient Programming
- 二叉树转树(数据结构)(图解)