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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
783827331748d28eb1970b11b7105448284cf1406995a83560681f236ea5b1bb
|
|
| MD5 |
c0001402e38b2c6a8339e9dff3f679b9
|
|
| BLAKE2b-256 |
cde0260637b01acec24722b33c9c8e2be020d51443a58db0c8472ff360be5215
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2715473155d94eb29a1e2371d6daeda27e458bb4adcd2029cac1bd5420089ff
|
|
| MD5 |
b638e9e04d2c4d4ffab0c9ee352cbb2e
|
|
| BLAKE2b-256 |
7be4a4a4b2e6da28002413dca7e32cd61697d9b65f3ab266c2343cea5139d5df
|