金融数据平台,数据统一标准层。统一多数据源接口,可维护本地数据存储、更新
Project description
DataWhale 数据分析工具包
项目简介
DataWhale 是一个综合性的数据分析工具包,集成了多个金融数据源的接口,提供了便捷的数据获取和分析功能。本项目旨在为数据分析师和量化交易研究者提供一站式的数据解决方案。
主要特性
- 多数据源支持:集成 AKShare、Tushare、JQData、BaoStock 等主流金融数据接口
- 数据处理工具:提供数据清洗、转换和分析的常用工具
- 数据存储:支持 SQL 数据库存储和管理
- 可扩展性:模块化设计,便于扩展和自定义
- 数据下载与更新:支持全市场数据批量下载和增量更新
- 断点续传:支持数据下载和更新的断点续传功能
安装方法
使用pip安装
pip install datawhale
从源码安装
git clone https://github.com/yourusername/datawhale.git
cd datawhale
pip install -e .
依赖要求
- Python >= 3.8
- akshare >= 1.16.13
- baostock >= 0.8.9
- pandas >= 2.2.3
- numpy >= 2.2.3
- tushare >= 1.4.19
- jqdatasdk >= 1.9.7
- SQLAlchemy >= 2.0.38
快速开始
基本使用
from datawhale.application import get_daily_kline, get_stock_list
# 获取股票列表
stock_list = get_stock_list()
# 获取日K线数据(不复权)
df = get_daily_kline(
stock_code="600000",
start_date="20240101",
end_date="20240331",
adjust_flag="3" # 1:后复权,2:前复权,3:不复权
)
数据下载功能
from datawhale.application import download_daily_kline, download_adjust_factor
from datetime import datetime
# 下载全市场日K线数据
result = download_daily_kline(
mode='all', # 下载全市场数据
start_date='1990-01-01', # 从1990年开始下载
end_date=datetime.now().strftime('%Y-%m-%d'), # 下载到最新日期
adjust_flag='3', # 不复权
force_update=False, # 不强制更新已存在的数据
resume_failed=True # 继续下载之前失败的数据
)
# 下载复权因子数据
result = download_adjust_factor(
mode='all', # 下载全市场数据
start_date='1990-01-01', # 从1990年开始下载
end_date=datetime.now().strftime('%Y-%m-%d'), # 下载到最新日期
force_update=False, # 不强制更新已存在的数据
resume_failed=True # 继续下载之前失败的数据
)
数据更新功能
from datawhale.application import update_daily_kline, update_adjust_factor, update_stock_list
# 更新股票列表
update_result = update_stock_list()
# 更新最新一天的日K线数据
result = update_daily_kline(
resume_failed=True # 继续更新之前失败的股票数据
)
# 更新最新的复权因子数据
result = update_adjust_factor(
resume_failed=True # 继续更新之前失败的股票数据
)
项目结构
datawhale/
├── application/ # 应用层:业务逻辑实现
├── domain/ # 领域层:核心业务模型
├── infrastructure/ # 基础设施层:数据源、存储等
└── config/ # 配置文件
API文档
数据获取接口
get_daily_kline(): 获取本地日K线数据get_stock_list(): 获取本地股票列表get_adjust_factor(): 获取本地复权因子数据
数据下载接口
download_daily_kline(): 下载日K线数据,支持全市场或按股票代码首位数字下载download_adjust_factor(): 下载复权因子数据,支持全市场或按股票代码首位数字下载
数据更新接口
update_stock_list(): 更新股票列表数据update_daily_kline(): 更新最新一天的日K线数据,支持断点续传update_adjust_factor(): 更新最新的复权因子数据,支持断点续传update_listing_date(): 更新股票上市日期数据
详细的API文档请参考 docs/domain_services_usage.md
贡献指南
- Fork 本仓库
- 创建新的分支
git checkout -b feature/your-feature - 提交更改
git commit -am 'Add new feature' - 推送到分支
git push origin feature/your-feature - 提交 Pull Request
开源协议
本项目采用 BSD 协议开源,详见 LICENSE 文件。
联系方式
- 作者:王工一念
- 邮箱:hans_wang@outlook.com
更新日志 详见 CHANGELOG 文件。
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 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
datawhale-1.0.0rc2-py3-none-any.whl
(106.9 kB
view details)
File details
Details for the file datawhale-1.0.0rc2-py3-none-any.whl.
File metadata
- Download URL: datawhale-1.0.0rc2-py3-none-any.whl
- Upload date:
- Size: 106.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9e603d6677483b2feb4e37b6cb41d9385a1b40dbe812fa98081935c7d18e2e6
|
|
| MD5 |
832f210ce25086ef1ab2f47b4e4cf9b9
|
|
| BLAKE2b-256 |
bf45abfb20fc919f1954b76a41330b10b1ee08c178aa7e9871631a4bc80fbfb4
|