Skip to main content

为量化项目提供稳定且统一的数据接口

Project description

数据收集

简介

QuantDataCollector的目的是提供统一、稳定的数据接口,用户可以不用考虑数据获取问题,专注策略开发。

使用

使用Cache前需要先完成环境变量配置,比如使用MYSQL作为缓存,则需要设置MYSQL环境变量,具体参考下文

通过DataCollector类向外提供统一接口,以获取所有股票sz.399995的基本信息为例:

import QuantDataCollector as qdc
data_collector = qdc()
data = data_collector.get_stock_basic('000001.SZ')
print(data)

code name are exchage market list_status list_date unlist_date act_name act_type

0 000001.SZ 平安银行 深圳 SZSE 主板 L 1991-04-03 None 无实际控制人 无

日志查看

通过get_data_collector_info接口查看日志路径,进而查看日志

import QuantDataCollector as qdc

data_collector = qdc()
print(data_collector.get_data_collector_info())

如何设置MySQL

目前仅支持MySQL作为缓存,为了使用缓存,需要设置环境变量:

  • MYSQL_HOST: MySQL服务器地址
  • MYSQL_PORT: MySQL服务器端口
  • MYSQL_USER: MySQL用户名
  • MYSQL_PASSWORD: MySQL密码

环境变量设置方法

  • Windows set MYSQL_HOST=192.168.71.17

  • Linux / MacOS 相比Windows要简单一些,只需要export MYSQL_HOST=192.168.6.19即可

数据源及其特点

baostock

已经包装好的股票数据拉取Python库,数据覆盖

  • 股票
  • 公司业绩
  • 货币
  • 存款利率

优点:

  • 使用简单

缺点:

  • 服务由他人提供,已有收费趋势,可用性不高

tushare

tushare的数据比较全面,使用也很方便,但很多功能是需要付费使用的

API接口

get_stock_basic

获取股票基本信息

  • 输入参数

    • code: 指定需要的股票代码,格式为000001.SZ,可选参数,如果不指定,则返回所有股票的基本信息
  • 输出参数

    输入为pandas的DataFrame

    • code: 股票代码
    • name: 股票名称
    • area: 上市公司所在省份
    • exchage: 交易所代码
    • market: 市场类型(主板/创业板/科创板/CDR)
    • list_status: 上市状态 L上市 D退市 P暂停上市,默认是L
    • list_date:上市日期
    • unlist_date:退市日期
    • act_name:实控人名称
    • act_type:实控人性质

get_limit_list

获取股票涨停、跌停、炸板信息

  • 输入参数

    • date: 出现涨停、跌停、炸板信息的日期,格式为'yyyy-mm-dd'。可选参数,不指定表示不限制日期
    • code: 指定需要的股票代码,格式为000001.SZ,可选参数,如果不指定,则不限制代码
    • type: 涨跌停、炸板类型:U涨停D跌停Z炸板,可选参数,不指定表示不限制类型
  • 输出参数

    输出为pandas的DataFrame

    • code: 股票代码
    • date: 发生涨跌停的日期
    • limit_amount: 板上成交金额(成交价格为该股票跌停价的所有成交额的总和,涨停无此数据)
    • fd_amount: 封单金额(以涨停价买入挂单的资金总量)
    • first_time: 首次封板时间(跌停无此数据)
    • last_time:最后封板时间
    • open_times:炸板次数(跌停为开板次数)
    • up_stat:涨停统计(N/T T天有N次涨停)
    • limit_times:连板数(个股连续封板数量)
    • limit_type:D跌停U涨停Z炸板

get_holder_number

获取股票的股东数量
  • 输入参数

    • code: 股票代码, 如果不传则查询所有股票的股东数量
    • cut_off_date: 指定数据统计的截止日期,格式为YYYY-MM-DD,返回数据统计的截止日期在该日期之前的所有数据,默认为查询所有截止日期的数据
  • 输出参数 输出为pandas的DataFrame

    • code: 股票代码
    • ann_pub_date: 公告发布的日期
    • cut_off_date: 股东人数数据统计的截止日期
    • holder_num: 股东人数

get_trade_calendar

获取交易日历
  • 输入参数

    • is_open: 需要获取日期的交易状态,指定is_open=1表示只要交易中的日期,指定为0表示只要休市的日期,不指定表示不限制
    • start_date: 指定需要的起始日期,比如2020-01-01,不指定表示从1990-12-19号开始
    • end_date:指定需要的结束日期,比如2023-12-30,不指定表示到今天截止
    • exchange:A股的不同交易所交易/休市日期相同,一般不用指定,默认为上海交易所
  • 输出参数 输出为pandas的DataFrame

    • date: 日期
    • pre_trade_date: 距离该日期最近的上一个交易日
    • is_open: 交易状态, 1表示交易中,0表示休市

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantdatacollector-2.0.2.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quantdatacollector-2.0.2-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file quantdatacollector-2.0.2.tar.gz.

File metadata

  • Download URL: quantdatacollector-2.0.2.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for quantdatacollector-2.0.2.tar.gz
Algorithm Hash digest
SHA256 4193faca659a62645d765a7e5550d71ada543e9a30b3e2afb5dca52fbc66dea0
MD5 40f0d02d05f76a2cd7cb65e0d6da3917
BLAKE2b-256 cb1a0904f725852f6fc9ccd7ff60e889bd3094e81cfe36b1fee9c7e5cd2182c1

See more details on using hashes here.

File details

Details for the file quantdatacollector-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for quantdatacollector-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1508bc01141ccb72f4738688ca6f4c1de2b11b8c3359aa8b2d3cdfc30550e83a
MD5 cab63adbd174aedbfb240f80c269029c
BLAKE2b-256 5b42614a6b0ae37bfaf90b558d8f3db29f541da753b9517bb13ef2ba9a70c982

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page