Quant | JQData使用API简单梳理(二)

本文介绍了聚宽平台的JQData API,重点关注其使用SQLAlchemy进行数据库操作的方式,以及如何获取融资融券、股票资金流向、龙虎榜、上市公司各种财务与市场信息。通过示例展示了SQLAlchemy的query操作,详细列举了包括单季度/年度财务数据、报告期财务数据在内的多种查询方法。
摘要由CSDN通过智能技术生成

聚宽平台实际上提供了两种查询数据的方法,第一种是线上在聚宽平台可以使用的API:jqdata,另外一种则是本地的接口:JQData,是的,你没有看错,只是大小写的不同,搞得一开始我以为完全是同一种。jqdata可以线上通过import jqdata来引入数据接口,本地的JQData则是通过import jqdatasdk来引入。两种数据源唯一的不同就是jqdata对接了聚源数据(一个更高阶的数据源)而JQData没有。本文就来介绍一下聚源数据端口以及其他需要数据库操作的查询方法。


在这里插入图片描述

SQLAlchemy

在介绍聚源接口之前,我们有必要了解一下SQLAlchemy,聚源数据的提取就是基于SQLAlchemy进行的。

SQL,即*(Structured Query Language 结构化查询语言)*是一种声明式的语言,是关系型数据库的通用语言。SQL查询是客户端发送给数据库服务器的文本字符串,指明需要执行的具体操作。SQL十分有用,是一个数据分析师必备的技能,关于SQL以及数据库相关的知识要深究的话其实很多,几本书都写不完,在此我不做深入介绍,以后有时间我会写相关的文章总结。

回到SQLAlchemy。对于所有的关系型数据库而言,SQL是不完全相同的,每一种是数据库实现的是包含自己特征和哲学的方言。许多函数库用于消除它们之间的差异,其中最著名的跨数据库的Python库是SQLAlchemy。

以下层级是可以使用SQLAlchemy的:

  • 底层负责处理数据库连接池,执行SQL命令以及返回结果。
  • 往上是SQL表达式语言,更像Python的SQL生成器
  • 较高级的是对象关系模型(ORM),使用SQL表达式语言,将应用程序代码和关系型数据结构结合起来。

在创建会话后,可以通过SQLAlchemy的query对象来进行查询:q = session.query(SomeMappedClass)

其中聚宽涉及到SQLAlchemy的基本的查询方式有:

  • query 填写需要查询的对象,可以是整张表,也可以是表中的多个字段或计算出的结果
  • filter 填写过滤条件,多个过滤条件可以用逗号隔开,或者用and*,or*这样的语法
  • order_by 填写排序条件
    1. .desc() 降序排列
    2. .asc() 升序排列
  • limit 限制返回的个数
  • order_by 排序条件

聚源数据的引入

以下两条语句都会引入数据库的查询操作

  • from jqdata import jy
  • from jqdata import finance

涉及使用数据库的操作有:

  • get_fundamentals (股票单季度财务数据)
  • finance (股票数据,基金数据等)
  • opt (期权数据)
  • macro (宏观数据)
  • jy (聚源数据)

获取融资融券汇总数据

finance.run_query(
    query(finance.STK_MT_TOTAL)
    .filter(finance.STK_MT_TOTAL.date=='2019-05-23')
    .limit(n))

数据表finance.STK_MT_TOTAL:收录了融资融券汇总数据

表结构和字段信息如下:

名称 类型 描述
date date 交易日期
exchange_code varchar(12) 交易市场
fin_value decimal(20,2) 融资余额(元)
fin_buy_value decimal(20,2) 融资买入额(元)
sec_volume int 融券余量(股)
sec_value decimal(20,2) 融券余量金额(元)
sec_sell_volume int 融券卖出量(股)
fin_sec_value decimal(20,2) 融资融券余额(元)

获取股票资金流向数据

get_money_flow(security_list, start_date=None, end_date=None, fields=None, count=None)

补充&

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值