Skip to content

Commit b129fc5

Browse files
author
zhangyongsheng
committed
fix bug:python2环境下,run_query不支持中文;修改说明文档
1 parent 43a98ce commit b129fc5

File tree

3 files changed

+32
-21
lines changed

3 files changed

+32
-21
lines changed

README.md

+30-16
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,53 @@
11
# JQData
22

3-
<div align="center">
4-
<img src="https://raw.githubusercontent.com/JoinQuant/jqdatasdk/master/logo.png"><br>
5-
</div>
3+
[![img](https://raw.githubusercontent.com/JoinQuant/jqdatasdk/master/logo.png)](https://raw.githubusercontent.com/JoinQuant/jqdatasdk/master/logo.png)
4+
5+
> jqdatasdk是提供给用户获取聚宽金融数据的SDK。用户可以在自己本地搭建的环境中获取聚宽提供的全品种量化金融数据,其功能特性与官网的投资研究模块保持一致。
6+
7+
8+
## 申请账号
9+
>用户只需[提交JQData试用申请](https://www.joinquant.com/default/index/sdk),就能开通一年有效期的试用账号。试用期间可免费调用JQData的全部基础数据,每天可调用100万条。(注:JQData基础数据包含沪深A股行情数据,上市公司财务数据,指数数据,场内基金数据,场外基金数据、期货数据、期权数据和宏观经济数据等)
610
7-
> jqdatasdk是提供给用户获取聚宽金融数据的SDK。用户可以在自己搭建的环境中获取聚宽提供的金融数据,除了需要验证之外,其余的功能特性与官网的投资研究模块保持一致。
811

912
## 安装
1013

11-
```shell
12-
pip install jqdatasdk -i https://mirrors.aliyun.com/pypi/simple/
14+
```python
15+
pip install jqdatasdk
1316
```
1417

1518
## 升级
1619

17-
```shell
20+
```python
1821
pip install -U jqdatasdk
1922
```
2023

24+
## 登录
25+
26+
```python
27+
from jqdatasdk import *
28+
auth('ID','Password') #ID是申请时所填写的手机号;Password为聚宽官网登录密码,新申请用户默认为手机号后6位
29+
```
30+
31+
## JQData HTTP版本
32+
除了Python SDK版本外,JQData还推出了不限任何编程语言的JQData HTTP方法,任意编程语言都可调用,点击查看[JQData HTTP使用说明](https://dataapi.joinquant.com/docs)
33+
34+
## 交流学习
35+
如在使用中遇到问题,或者想加入JQData学习群和大家一起交流,还可以添加JQData管理员微信咨询,微信号:jqdata01,添加时请留言"JQData"。
36+
37+
2138
## 使用简介
2239

2340
例如:获取平安银行2017-01-01到2017-12-31的所有日行情数据
2441

25-
```python
42+
```
2643
import jqdatasdk
2744
jqdatasdk.auth(username, password)
2845
jqdatasdk.get_price("000001.XSHE", start_date="2017-01-01", end_date="2017-12-31")
2946
```
3047

3148
结果显示:
3249

33-
```text
50+
```
3451
. open close high low volume money
3552
2017-01-03 8.98 9.03 9.05 8.96 46650858.0 4.205952e+08
3653
2017-01-04 9.02 9.03 9.05 9.01 45584521.0 4.115034e+08
@@ -44,13 +61,10 @@ jqdatasdk.get_price("000001.XSHE", start_date="2017-01-01", end_date="2017-12-31
4461
...
4562
```
4663

47-
## 试用
48-
49-
如果您想试用该数据包接口,请联系我们的运营(微信:jqdata01),添加时请备注jqdatasdk。
5064

5165
## 支持的接口
5266

53-
> 各API接口的含义及说明见官网:[官网链接](https://www.joinquant.com/api)
67+
> 下面仅列举出一些常用接口,更多API接口说明详见:[JQData说明书](https://www.joinquant.com/help/api/help?name=JQData#JQData%E8%AF%B4%E6%98%8E%E4%B9%A6)
5468
5569
- `get_price`
5670

@@ -114,7 +128,7 @@ jqdatasdk.get_price("000001.XSHE", start_date="2017-01-01", end_date="2017-12-31
114128

115129
查询财务数据,包含估值表、利润表、现金流量表、资产负债表、银行专项指标、证券专项指标、保险专项指标
116130

117-
- `get_fundamentals_continuously `
131+
- `get_fundamentals_continuously`
118132

119133
查询多日的财务数据
120134

@@ -130,7 +144,7 @@ jqdatasdk.get_price("000001.XSHE", start_date="2017-01-01", end_date="2017-12-31
130144

131145
查询股票限售解禁股数据
132146

133-
- `get_margincash_stocks `
147+
- `get_margincash_stocks`
134148

135149
获取融资标的列表
136150

@@ -188,4 +202,4 @@ jqdatasdk.get_price("000001.XSHE", start_date="2017-01-01", end_date="2017-12-31
188202

189203
- `get_fund_info`
190204

191-
基金基础信息数据接口,获取单个基金的基本信息
205+
基金基础信息数据接口,获取单个基金的基本信息

jqdatasdk/api.py

-1
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,6 @@ def get_bars(security, count, unit="1d", fields=("open", "high", "low", "close")
459459
"""
460460
assert security, "security is required"
461461
security = convert_security(security)
462-
assert isinstance(security, six.string_types), "security's type must be string"
463462
end_dt = to_date_str(end_dt)
464463
fq_ref_date = to_date_str(fq_ref_date)
465464
return JQDataClient.instance().get_bars(**locals())

jqdatasdk/utils.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,8 @@ def compile_query(query):
9090
params = []
9191
for k in comp.positiontup:
9292
v = comp_params[k]
93-
if six.PY2 and isinstance(v, unicode):
94-
v = v.encode(enc)
95-
if six.PY3 and isinstance(v, bytes):
96-
v = v.decode(enc)
93+
if six.PY2 and isinstance(v, six.string_types) and not isinstance(v, six.text_type):
94+
v = v.decode("utf8")
9795
v = escape_item(v, conversions, encoders)
9896
params.append(v)
9997
return (comp.string % tuple(params))

0 commit comments

Comments
 (0)