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")

行业

# 截面:某日所有股票行业
w.industry.on("20240101")
w.industry.on("20240101", level=2)  # 二级行业

# 单股行业
w.industry.of("000001.SZ")
w.industry.of("000001.SZ", 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.on("20240101", source="wind")
get_industry_windhk("20240101", level=2) w.industry.on("20240101", level=2, source="wind")

基金

旧 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.yaml

wind.config:
  engine: mysql+pymysql://user:pass@host:3306/db
  schema: public

方式二:代码传入

from kepler.wind import Wind

# 直接传入数据库连接
w = Wind(url="mysql+pymysql://user:pass@host:3306/wind", 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.1.9.tar.gz (26.1 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.1.9-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kepler_wind-0.1.9.tar.gz
  • Upload date:
  • Size: 26.1 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.1.9.tar.gz
Algorithm Hash digest
SHA256 783827331748d28eb1970b11b7105448284cf1406995a83560681f236ea5b1bb
MD5 c0001402e38b2c6a8339e9dff3f679b9
BLAKE2b-256 cde0260637b01acec24722b33c9c8e2be020d51443a58db0c8472ff360be5215

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kepler_wind-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 28.6 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.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d2715473155d94eb29a1e2371d6daeda27e458bb4adcd2029cac1bd5420089ff
MD5 b638e9e04d2c4d4ffab0c9ee352cbb2e
BLAKE2b-256 7be4a4a4b2e6da28002413dca7e32cd61697d9b65f3ab266c2343cea5139d5df

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