AKShare 贡献源码
- 请从 akshare-dev 分支 克隆,dev 分支中包含 AKShare 最新的开发代码
- 请提交修改后的代码到 akshare-dev 分支
- 代码需要符合 PEP 8 要求,请使用 Ruff 格式化代码
- 函数接口的设计 stock_zh_a_hist_sina 结构,其中 stock 为金融产品,zh 为国家或地区,a 为市场或品种,hist 为 history 的缩写表示历史数据,sina 表示数据源为新浪
- 接口函数需要增加注释,注释规则请参考 stock_zh_a_hist_sina 接口的源码
- 需要在接口函数的注释中增加目标网站的地址(不是具体的数据接口地址,而是网页的地址)
- 返回数据格式要求:
- 为了兼容 HTTP API 接口,所有返回的数据格式统一为 Pandas 中的 pandas.DataFrame 格式
-
在新增或者修改接口后,需要修改相对应的接口文档,保持接口与文档的同步更新;
-
具体的接口文档路径(以股票接口的文档为例)为:akshare->docs->data->stock->stock.md,其中 stock 表示股票文件夹,stock.md 为具体的 Markdown 文件,需要在 stock.md 中对相应的接口文档进行修改或新增;
-
以股票分时数据接口文档为例:
-
主要包含以下部分内容:
- 接口:填写具体的接口名称
- 目标地址:填写具体数据获取网页的地址(不是数据接口地址)
- 描述:简单描述数据接口获取的数据
- 限量:返回数据的情况
- 输入参数:数据接口函数中需要输入的参数
- 输出参数:返回数据的字段,这里需要填写返回数据的字段和类型
- 接口示例:Python 调用该数据接口的代码
- 数据示例:利用 接口示例 代码获取的数据的接口,这里只需要复制前 5 行和后 5 行数据即刻即可。
-
示例如下:
##### 分时数据 接口: stock_zh_a_minute 目标地址: https://finance.sina.com.cn/realstock/company/sh600519/nc.shtml 描述: 新浪财经获取分时数据,目前可以获取 1, 5, 15, 30, 60 分钟的数据频率 限量: 单次返回指定公司的指定频率的所有历史分时行情数据 输入参数 \``` | 名称 | 类型 | 描述| | -------- | ---- | --- | | symbol | str | symbol='sh000300'; 同日频率数据接口| | period | str | period='1'; 获取 1, 5, 15, 30, 60 分钟的数据频率| \``` 输出参数 \```shell | 名称 | 类型 | 描述 | | ------------ | ------ | -------- | | day | object | - | | open | float64 | - | | high | float64 | - | | low | float64 | - | | close | float64 | - | | volume | float64 | - | | ma_price5 | float64 | - | | ma_volume5 | float64 | - | | ma_price10 | float64 | - | | ma_volume10 | float64 | - | | ma_price30 | float64 | - | | ma_volume30 | float64 | - | \``` 接口示例 \```python import akshare as ak stock_zh_a_minute_df = ak.stock_zh_a_minute(symbol='sz000876', period='1', adjust="qfq") print(stock_zh_a_minute_df) \``` 数据示例 \``` day open high low close volume 0 2020-08-10 13:48:00 635.979995 636.343932 635.979995 636.161964 27500 1 2020-08-10 13:49:00 636.161964 636.343932 635.979995 636.343932 95400 2 2020-08-10 13:50:00 636.161964 636.889838 636.161964 636.889838 85300 3 2020-08-10 13:51:00 636.889838 637.071806 636.343932 636.889838 29800 4 2020-08-10 13:52:00 637.071806 637.617712 636.343932 637.617712 63400 ... ... ... ... ... ... ... 1018 2020-08-14 14:54:00 636.343932 636.707869 635.798027 636.161964 137900 1019 2020-08-14 14:55:00 636.161964 636.161964 635.070153 635.434090 94100 1020 2020-08-14 14:56:00 635.434090 635.798027 634.706216 635.070153 161062 1021 2020-08-14 14:57:00 635.252121 635.434090 634.888184 635.252121 206572 1022 2020-08-14 15:00:00 636.161964 636.161964 636.161964 636.161964 261224 \```
-
- 所提交的代码如不符合上述规范,则可能会被拒绝合并;
- 由于某些原因,您所提交的代码、数据接口和文档会被修改、删除或被第三方使用;
- 输出参数里面的字段类型必须为 Pandas 最新版本的 int64 类型,float64 类型,object 类型等三种类型之一,整数为 int64 类型,浮点数为 float64 类型,日期及字符串为 object 类型。