Skip to main content

A comprehensive Python library for data processing, integration, and management.

Project description

使用示例

import os
from datetime import datetime

import polars as pl

os.environ["LOGURU_LEVEL"] = "TRACE"

from datahub import *


def main():
    starrocks_setting = StarRocksSetting(
        host="xxx",
        db_port=9030,
        http_port=8040,
        username="xxx",
        password="xxx",
        # sftp=sftp_setting  # 设置sftp后会启用大查询缓存
    )

    setting = Setting(
        starrocks=starrocks_setting,
    )
    datahub = DataHub(setting)
    start_time = datetime(2024, 12, 19)
    end_time = datetime(2024, 12, 29)
    # pl.Config.set_tbl_cols(-1)  # -1 表示显示所有列
    # pl.Config.set_fmt_str_lengths(100)  # 设置字符串显示长度
    # pl.Config.set_tbl_width_chars(200)  # 设置表格宽度字符数

    # 发送监控报警
    # mylogger = logger.Logger("test")
    # mylogger.monitor.to("alpha运维").info("test")
    # mylogger.monitor.to("alpha运维").at("all").error("test")

    print("获取交易日")
    result = datahub.get_trading_days(start_time, end_time)
    print(result)

    print("获取指定日期, 指定indicator 可用标的")
    result = datahub.get_instrument_list(
        trade_date=start_time.date(),
        indicators=["premiums_income"],
    )
    print(result)

    print("获取指定日期标的信息")
    result = datahub.get_instrument_info(
        trade_date=start_time.date(), market="XSHG", instrument_type="spot")
    print(result)

    print("获取指定日期标的池")
    result = datahub.get_universe(trade_date=datetime(
        2025, 2, 20), universe="basic_alpha")
    print(result)

    print("获取某日逐笔成交")
    result = datahub.get_md_transaction(
        start_date=datetime(2025, 1, 27).date(),
        instruments=["508086.XSHG"],
    )
    print(result)

    print("获取某日快照行情")
    result = datahub.get_md_snapshot(
        start_date=datetime(2025, 1, 27).date(),
        instruments=["508086.XSHG"],
    )
    print(result)

    print("获取某日快照行情")
    result = datahub.get_trading_days(
        start_date=start_time.date(),
        end_date=end_time.date(),
    )
    print(result)

    print("获取指标值")
    result = datahub.get_indicator_data(
        start_time=start_time,
        end_time=end_time,
        # indicators=["5min_stat_open"],
        instruments=["600519.XSHG"],
        types=["5min_stat"]
    )
    print(result)

    print("获取BarDataMatrix")
    bar_data = datahub.get_indicator_matrix(
        trade_time=datetime(2024, 12, 19, 10),
        indicators=["5min_stat_open", "5min_stat_low"],
        instrument_ids=["600519.XSHG", "000001.XSHE", "000002.XSHG"],
    )
    print(bar_data)

    print("获取BarDataMatrix列表")
    bar_data = datahub.get_indicator_matrix_list(
        start_date=datetime(2024, 12, 19, 10),
        end_date=datetime(2024, 12, 20, 10),
        indicators=["5min_stat_open", "5min_stat_low"],
        instrument_ids=["600519.XSHG", "000001.XSHE", "000002.XSHG"],
    )
    print(bar_data)

    print("获取因子值")
    result = datahub.get_factor_data(
        start_time=start_time,
        end_time=end_time,
        # factors=["5min_stat_open"],
        instruments=["600519.XSHG"],
        types=["5min_stat"]
    )
    print(result)

    print("获取因子值矩阵")
    result = datahub.get_factor_matrix(
        trade_time=datetime(2024, 12, 19, 10),
        factors=["5min_stat_open", "5min_stat_low"],
        instrument_ids=["600519.XSHG", "000001.XSHE", "000002.XSHG"],
    )
    print(result)

    print("获取收益率数据")
    result = datahub.get_return_data(
        start_time=start_time,
        end_time=end_time,
        instruments=["600519.XSHG"],
    )
    print(result)

    print("获取收益率矩阵")
    result = datahub.get_return_matrix(
        trade_time=datetime(2024, 10, 31, 19, 15),
        factors=["forward_ret_raw_1d"],
        instrument_ids=["600519.XSHG", "000001.XSHE", "000002.XSHG"],
    )
    print(result)

    print("获取K线")
    result = datahub.get_kline(
        "5min", instruments=["600519.XSHG", "603350.XSHG"],
        start_time=start_time, end_time=end_time, adj_method="backward"
    )
    print(result)

    print("获取指标信息")
    result = datahub.get_indicator_info()
    print(result)

    print("获取指标类型信息")
    result = datahub.get_indicator_type()
    print(result)

    print("获取因子类型信息")
    result = datahub.get_factor_type()
    print(result)

    print("获取行业分类信息")
    result = datahub.get_instrument_industry(datetime(2018, 1, 5).date())
    print(result)

    print("获取交易日")
    result = datahub.calendar.get_latest_trade_date(
        dt=datetime(2025, 1, 4).date())
    print(result)

    print("获取主力期货合约信息")
    result = datahub.get_future_domain_info("IC")
    print(result)

    print("获取主力期货快照行情")
    result = datahub.get_future_snapshot(
        "IC", start_date=start_time.date(), end_date=end_time.date())
    print(result)

    print("获取return_factor的数据")
    df = datahub.get_return_matrix(
        trade_time=datetime(2018, 1, 29, 9, 35),
        factors=["ret_raw_1d", "ret_raw_3d", "ret_raw_5d"],
        instrument_ids=["600519.XSHG", "000001.XSHE", "000002.XSHG"],
    )
    print(df)

    print("获取risk_factor的数据")
    df = datahub.get_risk_factor_matrix(
        version="rq_v2_sws2021",
        trade_time=datetime(2018, 1, 11, 20),
        factors=["liquidity", "longterm_reversal", "mid_cap"],
        instrument_ids=["600519.XSHG", "000001.XSHE", "000002.XSHG"],
    )
    print(df)

    print("获取最新黑名单列表, 可以指定日期")
    df = datahub.get_blacklist(blacklist_ids=["cms_dma_blacklist", "XXX"], end_date=None)
    print(df)

    print("获取券池列表, 可以指定券池和日期")
    df = datahub.get_sbl_list(end_date=datetime(2025, 1, 1))
    print(df)

    print("获取seq y")
    df = datahub.get_seq_y_info(resample_type="time_interval_ms_500",)
    print(df)

    print("获取seq factor info")
    df = datahub.get_seq_factor_info(resample_type="time_interval_ms_500",)
    print(df)

    print("获取 seq factor")
    df = datahub.get_seq_factor_data(
        start_time=datetime(2025, 2, 10, 9, 30, 9, 920000),
        end_time=datetime(2025, 2, 10, 9, 30, 11, 920000),
        factors=["ActiveCashFlowFactors__lookback_tick_30s__time_interval_ms_500__buy_amount"],
        instruments=["000029.XSHE"]
    )
    print(df)

    print("获取get_seq_y_stat")
    df = datahub.get_seq_y_stat(start_time=datetime(2025, 1, 10, 23), end_time=datetime(2025, 1, 10, 23),
                                stat_type="std_1d")
    print(df)


if __name__ == "__main__":
    main()

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

datahub_binary-1.4.12-cp312-cp312-win_amd64.whl (691.7 kB view details)

Uploaded CPython 3.12Windows x86-64

datahub_binary-1.4.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (968.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

File details

Details for the file datahub_binary-1.4.12-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for datahub_binary-1.4.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4a755a38fd9263feb9e93f4d60aea179a96696c0d6741ee5347ffc77d32f1300
MD5 7d24b46e42551a381f71997c30b48879
BLAKE2b-256 d028e3d53ca74d60515ed578363368673142f7060d60d18d77e3a9a7d13da2ff

See more details on using hashes here.

File details

Details for the file datahub_binary-1.4.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for datahub_binary-1.4.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9427e0c2de370cbb57fb27f329415852954eb627a178a307e4b134aafb31a435
MD5 a5f9fc77218b3dc8837646841e466258
BLAKE2b-256 51b28158f19ad4d94459983a35d5f959842bded76479ad5a8ccbde57dff47041

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