SandInvest是一款专注于量化开发的金融数据接口,开始体验吧!
Project description
SandInvest
SandInvest是一款专注于量化开发的金融数据接口,开始体验吧!
安装 Install
pip install sandinvest
当下载速度慢时,可以通过镜像下载:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sandinvest
更新 Update
pip install --upgrade sandinvest
注册与登录 Register & Login
- 首次使用
sandinvest
需要先进行注册,登录信息将存储在本地电脑,以便用于下次导入时自动登录,注册无论信息正确与否都会打印Register Success!
,表明注册信息已经正确存储,但还未验证:
>>> import sandinvest as si
>>> si.register('your_account', 'your_password')
Register Success!
- 当再次导入
sandinvest
模块,将自动调用注册信息进行登录,并打印验证结果:
如果没有打印任何东西,表明没有注册成功,需要重新调用
register
进行注册
- 如果注册信息正确,将打印
Welcome, SandInvest!
;
>>> import sandinvest as si
Welcome, SandInvest!
- 如果注册信息错误,将打印
account, password 参数错误,账号密码验证失败!
,程序不会报错,但后续将无法调用接口;
>>> import sandinvest as si
account, password 参数错误,账号密码验证失败!
- 如果每次需要登录不同的账号,可以通过
login
函数进行手动登录,但这显然会麻烦一点,因为你每次都需要输入账号密码:
- 如果登录信息正确,将打印
Welcome, SandInvest!
;
>>> import sandinvest as si
>>> si.login('your_account', 'your_password')
Welcome, SandInvest!
- 如果登录信息错误,将抛出
AttributeError
错误;
>>> import sandinvest as si
>>> si.login('wrong_account', 'wrong_password')
Traceback (most recent call last):
...
AttributeError: account, password 参数错误,账号密码验证失败!
API速览 Quick Look
完整API使用说明及注意事项,请查看官方文档
如有其他问题,可向官方反馈
>>> import sandinvest as si
Welcome, SandInvest!
...
>>> si.description()
'欢迎使用SandQuantAPI!接口账号请添加官网微信:SandQuant-01,申请注册。'
获取交易日历
- 获取一段时间的交易日历,以列表形式返回
>>> si.get_calendar(start_date=20200101, end_date=20200201, type_=list)
['2020-01-02', '2020-01-03', '2020-01-06', '2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10', '2020-01-13', '2020-01-14', '2020-01-15', '2020-01-16', '2020-01-17', '2020-01-20', '2020-01-21', '2020-01-22', '2020-01-23']
- 获取指定日期过去3天的交易日历
>>> si.get_calendar(date='2020-01-01', offset=3)
time
0 2019-12-31
1 2019-12-30
2 2019-12-27
- 获取指定日期未来3天的交易日历
>>> si.get_calendar(date='2020-01-01', offset=-3)
time
0 2020-01-02
1 2020-01-03
2 2020-01-06
获取基础信息
- 获取贵州茅台基础信息
>>> si.get_summary(codes='600519.SH')
code name symbol company_cn company_en list_date delist_date market board
0 600519.SH 贵州茅台 GZMT 贵州茅台酒股份有限公司 Kweichow Moutai Co., Ltd. 2001-08-27 9999-12-31 SSE 上证主板
- 获取指定日期正在交易的股票
>>> si.get_summary(date=20100101).head()['code']
0 000001.SZ
1 000002.SZ
2 000004.SZ
3 000005.SZ
4 000006.SZ
- 获取指定日期上市的股票
>>> si.get_summary(list_date=20220408)[['code', 'name']]
code name
0 688337.SH 普源精电
- 获取指定日期退市的股票
>>> si.get_summary(delist_date='2020-07-02')[['code', 'name']]
code name
0 601558.SH 退市锐电
获取行情数据
- 获取指定代码一段时间的不复权行情
>>> si.get_price(codes='600519.SH', start_date=20100101, end_date=20100131, adj=0).head()
time code open high low close volume amount
0 2010-01-04 600519.SH 172.00 172.00 169.31 169.94 4430488.0 753405632.0
1 2010-01-05 600519.SH 170.99 171.50 169.00 169.44 3151318.0 535720416.0
2 2010-01-06 600519.SH 168.99 169.50 166.31 166.76 3988903.0 666073283.0
3 2010-01-07 600519.SH 166.76 167.19 161.88 163.72 4882555.0 801445248.0
4 2010-01-08 600519.SH 164.00 164.00 160.10 162.00 3670209.0 593162176.0
- 获取指定日期历史5天的前复权行情
>>> si.get_price(codes='600519.SH', date=20220101, offset=5, adj=1).head()
time code open high low close volume amount
0 2021-12-27 600519.SH 2168.0 2168.00 2112.0 2131.82 3755590.35 8.020678e+09
1 2021-12-28 600519.SH 2133.0 2155.50 2116.6 2138.18 2765070.24 5.901941e+09
2 2021-12-29 600519.SH 2150.0 2154.25 2041.0 2041.00 5404902.46 1.119563e+10
3 2021-12-30 600519.SH 2041.0 2088.98 2028.0 2075.00 3526136.29 7.272867e+09
4 2021-12-31 600519.SH 2070.0 2072.98 2028.0 2050.00 2966491.25 6.061415e+09
- 获取指定日期未来5天的收益率和涨跌停价格
>>> si.get_price(codes='600519.SH', date=20220101, offset=-5,
fields=['pct_change', 'limit_up', 'limit_down']).head()
time code pct_change limit_up limit_down
0 2022-01-04 600519.SH 0.06 2255.00 1845.00
1 2022-01-05 600519.SH -1.33 2256.35 1846.11
2 2022-01-06 600519.SH -2.06 2226.40 1821.60
3 2022-01-07 600519.SH -2.03 2180.44 1784.00
4 2022-01-10 600519.SH 1.24 2136.20 1747.80
获取股本数据
- 获取指定日期的股本信息
>>> si.get_shares(codes=['000001.SZ', '600519.SH'], date=20220105)
time code total_shares float_shares total_cap float_cap turnover
0 2022-01-05 000001.SZ 1.940592e+10 1.940576e+10 3.328115e+11 3.328087e+11 1.00
1 2022-01-05 600519.SH 1.256198e+09 1.256198e+09 2.542544e+12 2.542544e+12 0.23
- 获取指定日期未来5天的总市值数据
>>> si.get_shares(codes='600519.SH', date=20220105, offset=-5, fields=si.shares.total_cap_)
time code total_cap
0 2022-01-05 600519.SH 2.542544e+12
1 2022-01-06 600519.SH 2.490060e+12
2 2022-01-07 600519.SH 2.439536e+12
3 2022-01-10 600519.SH 2.469685e+12
4 2022-01-11 600519.SH 2.437715e+12
SandQuant公众号
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 Distribution
SandInvest-0.5.0.tar.gz
(8.2 kB
view details)
Built Distribution
File details
Details for the file SandInvest-0.5.0.tar.gz
.
File metadata
- Download URL: SandInvest-0.5.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.10.1 pkginfo/1.7.0 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c7bdf7274ff6557498f02f43812867ef8ba4966225650adc9f1d819aa5f9665 |
|
MD5 | b4a71c91f1ad099ba5fced56b1c28ee2 |
|
BLAKE2b-256 | 107f65948c581e63e9ba35cd290ad820507a3a6c6a98c6c0be5f83601fc5f6d0 |
File details
Details for the file SandInvest-0.5.0-py2.py3-none-any.whl
.
File metadata
- Download URL: SandInvest-0.5.0-py2.py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.10.1 pkginfo/1.7.0 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b1a84a7f76b1b7cb5380e85cf0c0d5bf89122fe9280e7a1fbf9a88a1b5219db |
|
MD5 | 0edcbc0c6652ec22c13b3c25b939f242 |
|
BLAKE2b-256 | e738d72701bbe8ef7b3ca67c1dbf9862fe9f17e06e2ab84d0ad19c84cec80e2d |