chinadata 0.0.7__py3-none-any.whl → 0.0.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- chinadata/ca_data.py +45 -36
- chinadata/example.py +11 -5
- {chinadata-0.0.7.dist-info → chinadata-0.0.9.dist-info}/METADATA +1 -1
- chinadata-0.0.9.dist-info/RECORD +9 -0
- chinadata-0.0.7.dist-info/RECORD +0 -9
- {chinadata-0.0.7.dist-info → chinadata-0.0.9.dist-info}/WHEEL +0 -0
- {chinadata-0.0.7.dist-info → chinadata-0.0.9.dist-info}/top_level.txt +0 -0
chinadata/ca_data.py
CHANGED
|
@@ -3,8 +3,6 @@ import pandas as pd
|
|
|
3
3
|
import time
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
6
|
class pro_api:
|
|
9
7
|
# def __init__(self, token):
|
|
10
8
|
# self.token = token # 实例变量 name
|
|
@@ -43,7 +41,7 @@ class pro_api:
|
|
|
43
41
|
pd.DataFrame: A DataFrame containing the fetched stock data.
|
|
44
42
|
"""
|
|
45
43
|
# url="http://127.0.0.1:9002/tq"
|
|
46
|
-
url = "http://
|
|
44
|
+
url = "http://120.53.122.167:9002/tq"
|
|
47
45
|
|
|
48
46
|
params = {
|
|
49
47
|
'token': get_token(),
|
|
@@ -52,6 +50,8 @@ class pro_api:
|
|
|
52
50
|
'fields': fields,
|
|
53
51
|
}
|
|
54
52
|
|
|
53
|
+
|
|
54
|
+
|
|
55
55
|
response = requests.post(url, json=params)
|
|
56
56
|
|
|
57
57
|
if response.status_code == 200:
|
|
@@ -64,12 +64,13 @@ class pro_api:
|
|
|
64
64
|
df = pd.DataFrame(data)
|
|
65
65
|
return df
|
|
66
66
|
except ValueError as e:
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
|
|
68
|
+
raise ValueError("数据获取错误",e)
|
|
69
|
+
|
|
69
70
|
else:
|
|
70
71
|
print(f"Failed to fetch data. Status code: {response.status_code}")
|
|
71
72
|
print(response.text)
|
|
72
|
-
|
|
73
|
+
raise ValueError("数据获取错误",response.text)
|
|
73
74
|
|
|
74
75
|
|
|
75
76
|
|
|
@@ -295,7 +296,8 @@ class pro_api:
|
|
|
295
296
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
296
297
|
|
|
297
298
|
def news(self, api_name='news', **kwargs):
|
|
298
|
-
return
|
|
299
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
300
|
+
|
|
299
301
|
|
|
300
302
|
def weekly(self, api_name='weekly', **kwargs):
|
|
301
303
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -319,7 +321,7 @@ class pro_api:
|
|
|
319
321
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
320
322
|
|
|
321
323
|
def cctv_news(self, api_name='cctv_news', **kwargs):
|
|
322
|
-
return
|
|
324
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
323
325
|
|
|
324
326
|
def index_daily(self, api_name='index_daily', **kwargs):
|
|
325
327
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -406,7 +408,7 @@ class pro_api:
|
|
|
406
408
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
407
409
|
|
|
408
410
|
def hk_daily(self, api_name='hk_daily', **kwargs):
|
|
409
|
-
return
|
|
411
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
410
412
|
|
|
411
413
|
def stk_managers(self, api_name='stk_managers', **kwargs):
|
|
412
414
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -415,7 +417,7 @@ class pro_api:
|
|
|
415
417
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
416
418
|
|
|
417
419
|
def major_news(self, api_name='major_news', **kwargs):
|
|
418
|
-
return
|
|
420
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
419
421
|
|
|
420
422
|
def ggt_daily(self, api_name='ggt_daily', **kwargs):
|
|
421
423
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -502,7 +504,7 @@ class pro_api:
|
|
|
502
504
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
503
505
|
|
|
504
506
|
def us_daily(self, api_name='us_daily', **kwargs):
|
|
505
|
-
return
|
|
507
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
506
508
|
|
|
507
509
|
def bak_daily(self, api_name='bak_daily', **kwargs):
|
|
508
510
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -588,7 +590,7 @@ class pro_api:
|
|
|
588
590
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
589
591
|
|
|
590
592
|
def hk_mins(self, api_name='hk_mins', **kwargs):
|
|
591
|
-
return
|
|
593
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
592
594
|
|
|
593
595
|
def cb_rate(self, api_name='cb_rate', **kwargs):
|
|
594
596
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -606,7 +608,7 @@ class pro_api:
|
|
|
606
608
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
607
609
|
|
|
608
610
|
def ft_mins(self, api_name='ft_mins', **kwargs):
|
|
609
|
-
return
|
|
611
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
610
612
|
|
|
611
613
|
def realtime_quote(self, api_name='realtime_quote', **kwargs):
|
|
612
614
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -666,16 +668,16 @@ class pro_api:
|
|
|
666
668
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
667
669
|
|
|
668
670
|
def us_daily_adj(self, api_name='us_daily_adj', **kwargs):
|
|
669
|
-
return
|
|
671
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
670
672
|
|
|
671
673
|
def hk_daily_adj(self, api_name='hk_daily_adj', **kwargs):
|
|
672
|
-
return
|
|
674
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
673
675
|
|
|
674
676
|
def rt_fut_min(self, api_name='rt_fut_min', **kwargs):
|
|
675
|
-
return
|
|
677
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
676
678
|
|
|
677
679
|
def opt_mins(self, api_name='opt_mins', **kwargs):
|
|
678
|
-
return
|
|
680
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
679
681
|
|
|
680
682
|
def moneyflow_ind_ths(self, api_name='moneyflow_ind_ths', **kwargs):
|
|
681
683
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -703,9 +705,10 @@ class pro_api:
|
|
|
703
705
|
|
|
704
706
|
def stk_auction_o(self, api_name='stk_auction_o', **kwargs):
|
|
705
707
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
708
|
+
# return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
706
709
|
|
|
707
710
|
def stk_auction_c(self, api_name='stk_auction_c', **kwargs):
|
|
708
|
-
return
|
|
711
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
709
712
|
|
|
710
713
|
def limit_list_ths(self, api_name='limit_list_ths', **kwargs):
|
|
711
714
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -769,7 +772,8 @@ def pro_bar(ts_code='', api=None, start_date='', end_date='', freq='D', asset='E
|
|
|
769
772
|
|
|
770
773
|
"""
|
|
771
774
|
# url = "http://127.0.0.1:9002/tp"
|
|
772
|
-
url = "http://
|
|
775
|
+
url = "http://120.53.122.167:9002/tp"
|
|
776
|
+
|
|
773
777
|
params = {
|
|
774
778
|
'token':get_token(),
|
|
775
779
|
'ts_code':ts_code,
|
|
@@ -788,22 +792,27 @@ def pro_bar(ts_code='', api=None, start_date='', end_date='', freq='D', asset='E
|
|
|
788
792
|
"fields" : fields,
|
|
789
793
|
"contract_type" : contract_type
|
|
790
794
|
}
|
|
795
|
+
if 'min' in freq :
|
|
796
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
797
|
+
else:
|
|
791
798
|
|
|
792
|
-
|
|
799
|
+
response = requests.post(url, json=params,)
|
|
793
800
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
801
|
+
if response.status_code == 200:
|
|
802
|
+
try:
|
|
803
|
+
data = response.json()
|
|
804
|
+
# print(data)
|
|
805
|
+
if data == 'token无效或已超期,请重新购买':
|
|
806
|
+
return data
|
|
807
|
+
else:
|
|
808
|
+
df = pd.DataFrame(data)
|
|
809
|
+
return df
|
|
810
|
+
except ValueError as e:
|
|
811
|
+
# print("Error parsing JSON response:", e)
|
|
812
|
+
# return None
|
|
813
|
+
raise ValueError(e)
|
|
814
|
+
else:
|
|
815
|
+
|
|
816
|
+
print(f"Failed to fetch data. Status code: {response.status_code}")
|
|
817
|
+
print(response.text)
|
|
818
|
+
raise ValueError("数据获取错误")
|
chinadata/example.py
CHANGED
|
@@ -8,20 +8,26 @@ pip install chinadata
|
|
|
8
8
|
import chinadata.ca_data as ts
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
ts.set_token('
|
|
12
|
-
pro=ts.pro_api('
|
|
11
|
+
ts.set_token('13a9e334456bfde98ffd7be21ec26')
|
|
12
|
+
pro=ts.pro_api('13a9e334456bfde98ffd7be21ec26')
|
|
13
13
|
|
|
14
14
|
|
|
15
|
+
|
|
16
|
+
# 你要测量的代码块
|
|
17
|
+
|
|
15
18
|
# #查询当前所有正常上市交易的股票列表
|
|
16
|
-
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
|
|
19
|
+
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date',timeout=100)
|
|
17
20
|
print(data)
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
df = ts.pro_bar(ts_code='000007.SZ', start_date='20240817', end_date='20241215'
|
|
22
|
+
#
|
|
23
|
+
df = ts.pro_bar(ts_code='000007.SZ', start_date='20240817', end_date='20241215')
|
|
21
24
|
print(df)
|
|
22
25
|
|
|
23
26
|
|
|
24
27
|
|
|
28
|
+
# pro = ts.pro_api()
|
|
25
29
|
|
|
30
|
+
df = pro.daily(ts_code='000001.SZ', start_date='20000701', end_date='20180718')
|
|
31
|
+
print(df)
|
|
26
32
|
|
|
27
33
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
chinadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
chinadata/ca_data.py,sha256=WxlCncHU1WtV8TGYOTafZLFS5hGUhgbeoPUbRaKMlGM,34578
|
|
3
|
+
chinadata/example.py,sha256=cH12VNs8SAPyCeorR1zbw1D7Rwg2_Uwe6ymHR8I9Ayk,648
|
|
4
|
+
chinadata/__pycache__/__init__.cpython-39.pyc,sha256=lKHpULD0OJDbXwp5XGcechnIx0op6A2wVR3j91dTffw,145
|
|
5
|
+
chinadata/__pycache__/ca_data.cpython-39.pyc,sha256=muqYg-MFjQrzr9bNHaLH0ToPeaNwdeWJiDoPnYBpZNQ,37842
|
|
6
|
+
chinadata-0.0.9.dist-info/METADATA,sha256=Qo2ok3s9VSevmIUqsjIDlZw4lgUuyild5-9i3tJSHIo,163
|
|
7
|
+
chinadata-0.0.9.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
8
|
+
chinadata-0.0.9.dist-info/top_level.txt,sha256=Ptxvu9uzRHP4kVGRf413KuwSvsY2mk_KgQJ6ssWwisU,10
|
|
9
|
+
chinadata-0.0.9.dist-info/RECORD,,
|
chinadata-0.0.7.dist-info/RECORD
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
chinadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
chinadata/ca_data.py,sha256=7nKOz8s3hx-dqkS_WA4j4o7nV0YB6pZjxywzUa4c4gM,34069
|
|
3
|
-
chinadata/example.py,sha256=afHhAuPWzTW-oTQMCSyMf222jZx5wowhXRwLES-Ttcc,493
|
|
4
|
-
chinadata/__pycache__/__init__.cpython-39.pyc,sha256=lKHpULD0OJDbXwp5XGcechnIx0op6A2wVR3j91dTffw,145
|
|
5
|
-
chinadata/__pycache__/ca_data.cpython-39.pyc,sha256=muqYg-MFjQrzr9bNHaLH0ToPeaNwdeWJiDoPnYBpZNQ,37842
|
|
6
|
-
chinadata-0.0.7.dist-info/METADATA,sha256=bDNZC1jQ6VCEDsXIUlv2NmLPBDBfb-6Q6s7UXAFMiSE,163
|
|
7
|
-
chinadata-0.0.7.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
8
|
-
chinadata-0.0.7.dist-info/top_level.txt,sha256=Ptxvu9uzRHP4kVGRf413KuwSvsY2mk_KgQJ6ssWwisU,10
|
|
9
|
-
chinadata-0.0.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|