Skip to main content

Elegant and efficient Python library for wind financial data access with comprehensive abstraction layers and 100% forward compatibility

Project description

Kepler Wind

优雅的量化数据访问接口,基于 Wind 金融终端数据库。

安装

pip install kepler-wind

快速开始

from kepler.wind import Wind

w = Wind()

API 设计

按资产分类,每个资产提供截面和时序查询方法。

股票池

# 当前成分股
w.universe.members("HS300")

# 历史成分股
w.universe.at("HS300", "20240101")

# 完整变更历史
w.universe.history("HS300")

# 支持的指数
w.universe.members("A")        # 全A股
w.universe.members("ZZ500")    # 中证500
w.universe.members("MSCI")     # MSCI

指数

# 历史数据(自动识别指数类型)
w.index.history("000001.SH")                    # 普通指数
w.index.history("801010.SI")                    # 申万指数
w.index.history("CI005001.WI")                  # 中信指数
w.index.history("884001.WI")                    # Wind行业指数
w.index.history(["000001.SH", "801010.SI"])     # 混合查询

# 成分权重
w.index.weight("000300.SH")
w.index.weight("000300.SH", date="20240101")

收益率

# 截面:某日所有股票收益率
w.returns.on("20240101")

# 时序:日收益率
w.returns.daily("000001.SZ")
w.returns.daily(["000001.SZ", "000002.SZ"])

# 时序:月收益率
w.returns.monthly("000001.SZ")

行业

# A股行业(中信分类)
w.industry.on("20240101")                   # 截面:某日所有股票行业
w.industry.on("20240101", level=2)          # 二级行业
w.industry.of("000001.SZ")                  # 单股行业
w.industry.of("000001.SZ", date="20240101")

# 港股行业
w.industry_hk.on("20240101")                          # 港股中信行业(默认)
w.industry_hk.on("20240101", source="wind")           # 港股Wind一级行业
w.industry_hk.on("20240101", source="wind", level=2)  # 港股Wind二级行业
w.industry_hk.of("0001.HK", date="20240101")

基金

# 历史净值
w.fund.history("000001.OF")

# 筛选基金
w.fund.filter(type="股票型")

迁移指南

从旧版本迁移到新版本的 API 对照:

股票池

旧 API 新 API
universe_A() w.universe.members("A")
universe_A(cur_sign=False) w.universe.history("A")
universe_normal("HS300") w.universe.members("HS300")
universe_normal("HS300", cur_sign=False) w.universe.at("HS300", date)
universe_msci() w.universe.members("MSCI")
Universe("HS300") w.universe.members("HS300")
get_all_normal_index("HS300") w.universe.members("HS300")
get_all_msci() w.universe.members("MSCI")
get_all_stk() w.universe.members("A")
get_all_hk("HS300") w.universe.members("HK")

指数

旧 API 新 API
get_index_data("000001.SH") w.index.history("000001.SH")
get_index_data(["000001.SH", "801010.SI"]) w.index.history(["000001.SH", "801010.SI"])
get_index_data_tmp(codes, "zx") w.index.history(codes) (自动识别)
get_index_weight("000300.SH") w.index.weight("000300.SH")
get_index_weight("000300.SH", "20240101") w.index.weight("000300.SH", date="20240101")

收益率

旧 API 新 API
get_daily_ret("000001.SZ") w.returns.daily("000001.SZ")
get_daily_ret(["000001.SZ", "000002.SZ"]) w.returns.daily(["000001.SZ", "000002.SZ"])
get_monthly_ret("000001.SZ") w.returns.monthly("000001.SZ")

行业

旧 API 新 API
get_industry("20240101") w.industry.on("20240101")
get_industry("20240101", sid="000001.SZ") w.industry.of("000001.SZ", date="20240101")
get_industry("20240101", level=2) w.industry.on("20240101", level=2)
get_industry_hk("20240101") w.industry_hk.on("20240101")
get_industry_windhk("20240101", level=2) w.industry_hk.on("20240101", source="wind", level=2)

基金

旧 API 新 API
get_fund_nav("000001.OF") w.fund.history("000001.OF")
get_fund_nav(["000001.OF", "000002.OF"]) w.fund.history(["000001.OF", "000002.OF"])
get_fund_list() w.fund.filter()
get_fund_filter("股票型") w.fund.filter(type="股票型")

配置

方式一:配置文件

配置文件位于 ~/.kepler/wind/wind.toml

[wind]
engine = "mysql+pymysql://user:pass@host:3306/db"
schema = ""  # MySQL 留空,PostgreSQL 填 "public"

方式二:代码传入

from kepler.wind import Wind

# MySQL
w = Wind(url="mysql+pymysql://user:pass@host:3306/wind")

# PostgreSQL
w = Wind(url="postgresql://user:pass@host:5432/db", schema="public")

依赖

  • kepler-atlas >= 0.1.5
  • kepler-pulse >= 0.1.8
  • pandas
  • sqlalchemy

License

MIT

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

kepler_wind-0.2.2.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

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

kepler_wind-0.2.2-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file kepler_wind-0.2.2.tar.gz.

File metadata

  • Download URL: kepler_wind-0.2.2.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for kepler_wind-0.2.2.tar.gz
Algorithm Hash digest
SHA256 5364aeefe899b0f59c13e14e611c7362dde94dd7222975be613567c0187c24e1
MD5 4a5d74d52ff8561c6336e93586e95ca2
BLAKE2b-256 3f5ad152872938302d420dc4f674df55f04d4b7e97960b1697017338f485d474

See more details on using hashes here.

File details

Details for the file kepler_wind-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: kepler_wind-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for kepler_wind-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a1b939c628c0474b00cd5fa59771f52a5a8a1901d793e07a8bdfca96db5fe4d4
MD5 bf7a9587a061cdb31a60e4b327e34d02
BLAKE2b-256 4fcff5b5df075000c40cef1cc7411bb5f5f42eae045eb5a76f7efe7faf4c81d6

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