chinadata 0.0.7__tar.gz → 0.1.8__tar.gz
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-0.0.7 → chinadata-0.1.8}/PKG-INFO +1 -1
- {chinadata-0.0.7 → chinadata-0.1.8}/chinadata/ca_data.py +47 -38
- {chinadata-0.0.7 → chinadata-0.1.8}/chinadata/example.py +11 -5
- {chinadata-0.0.7 → chinadata-0.1.8}/chinadata.egg-info/PKG-INFO +1 -1
- {chinadata-0.0.7 → chinadata-0.1.8}/setup.py +1 -1
- {chinadata-0.0.7 → chinadata-0.1.8}/chinadata/__init__.py +0 -0
- {chinadata-0.0.7 → chinadata-0.1.8}/chinadata.egg-info/SOURCES.txt +0 -0
- {chinadata-0.0.7 → chinadata-0.1.8}/chinadata.egg-info/dependency_links.txt +0 -0
- {chinadata-0.0.7 → chinadata-0.1.8}/chinadata.egg-info/requires.txt +0 -0
- {chinadata-0.0.7 → chinadata-0.1.8}/chinadata.egg-info/top_level.txt +0 -0
- {chinadata-0.0.7 → chinadata-0.1.8}/setup.cfg +0 -0
|
@@ -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://123.57.69.240: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,11 @@ 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(response.text)
|
|
72
|
-
return None
|
|
71
|
+
raise ValueError("数据获取错误",response.status_code,response.text)
|
|
73
72
|
|
|
74
73
|
|
|
75
74
|
|
|
@@ -295,7 +294,8 @@ class pro_api:
|
|
|
295
294
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
296
295
|
|
|
297
296
|
def news(self, api_name='news', **kwargs):
|
|
298
|
-
return
|
|
297
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
298
|
+
|
|
299
299
|
|
|
300
300
|
def weekly(self, api_name='weekly', **kwargs):
|
|
301
301
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -319,7 +319,7 @@ class pro_api:
|
|
|
319
319
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
320
320
|
|
|
321
321
|
def cctv_news(self, api_name='cctv_news', **kwargs):
|
|
322
|
-
return
|
|
322
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
323
323
|
|
|
324
324
|
def index_daily(self, api_name='index_daily', **kwargs):
|
|
325
325
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -406,7 +406,7 @@ class pro_api:
|
|
|
406
406
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
407
407
|
|
|
408
408
|
def hk_daily(self, api_name='hk_daily', **kwargs):
|
|
409
|
-
return
|
|
409
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
410
410
|
|
|
411
411
|
def stk_managers(self, api_name='stk_managers', **kwargs):
|
|
412
412
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -415,7 +415,7 @@ class pro_api:
|
|
|
415
415
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
416
416
|
|
|
417
417
|
def major_news(self, api_name='major_news', **kwargs):
|
|
418
|
-
return
|
|
418
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
419
419
|
|
|
420
420
|
def ggt_daily(self, api_name='ggt_daily', **kwargs):
|
|
421
421
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -440,6 +440,10 @@ class pro_api:
|
|
|
440
440
|
|
|
441
441
|
def index_global(self, api_name='index_global', **kwargs):
|
|
442
442
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
443
|
+
def idx_factor_pro(self, api_name='idx_factor_pro', **kwargs):
|
|
444
|
+
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
445
|
+
|
|
446
|
+
|
|
443
447
|
|
|
444
448
|
def ncov_global(self, api_name='ncov_global', **kwargs):
|
|
445
449
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -502,7 +506,7 @@ class pro_api:
|
|
|
502
506
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
503
507
|
|
|
504
508
|
def us_daily(self, api_name='us_daily', **kwargs):
|
|
505
|
-
return
|
|
509
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
506
510
|
|
|
507
511
|
def bak_daily(self, api_name='bak_daily', **kwargs):
|
|
508
512
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -588,7 +592,7 @@ class pro_api:
|
|
|
588
592
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
589
593
|
|
|
590
594
|
def hk_mins(self, api_name='hk_mins', **kwargs):
|
|
591
|
-
return
|
|
595
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
592
596
|
|
|
593
597
|
def cb_rate(self, api_name='cb_rate', **kwargs):
|
|
594
598
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -606,7 +610,7 @@ class pro_api:
|
|
|
606
610
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
607
611
|
|
|
608
612
|
def ft_mins(self, api_name='ft_mins', **kwargs):
|
|
609
|
-
return
|
|
613
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
610
614
|
|
|
611
615
|
def realtime_quote(self, api_name='realtime_quote', **kwargs):
|
|
612
616
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -666,16 +670,16 @@ class pro_api:
|
|
|
666
670
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
667
671
|
|
|
668
672
|
def us_daily_adj(self, api_name='us_daily_adj', **kwargs):
|
|
669
|
-
return
|
|
673
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
670
674
|
|
|
671
675
|
def hk_daily_adj(self, api_name='hk_daily_adj', **kwargs):
|
|
672
|
-
return
|
|
676
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
673
677
|
|
|
674
678
|
def rt_fut_min(self, api_name='rt_fut_min', **kwargs):
|
|
675
|
-
return
|
|
679
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
676
680
|
|
|
677
681
|
def opt_mins(self, api_name='opt_mins', **kwargs):
|
|
678
|
-
return
|
|
682
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
679
683
|
|
|
680
684
|
def moneyflow_ind_ths(self, api_name='moneyflow_ind_ths', **kwargs):
|
|
681
685
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -703,9 +707,10 @@ class pro_api:
|
|
|
703
707
|
|
|
704
708
|
def stk_auction_o(self, api_name='stk_auction_o', **kwargs):
|
|
705
709
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
710
|
+
# return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
706
711
|
|
|
707
712
|
def stk_auction_c(self, api_name='stk_auction_c', **kwargs):
|
|
708
|
-
return
|
|
713
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
709
714
|
|
|
710
715
|
def limit_list_ths(self, api_name='limit_list_ths', **kwargs):
|
|
711
716
|
return self.query(token=self.token, api_name=api_name, **kwargs)
|
|
@@ -769,7 +774,8 @@ def pro_bar(ts_code='', api=None, start_date='', end_date='', freq='D', asset='E
|
|
|
769
774
|
|
|
770
775
|
"""
|
|
771
776
|
# url = "http://127.0.0.1:9002/tp"
|
|
772
|
-
url = "http://
|
|
777
|
+
url = "http://123.57.69.240:9002/tp"
|
|
778
|
+
|
|
773
779
|
params = {
|
|
774
780
|
'token':get_token(),
|
|
775
781
|
'ts_code':ts_code,
|
|
@@ -788,22 +794,25 @@ def pro_bar(ts_code='', api=None, start_date='', end_date='', freq='D', asset='E
|
|
|
788
794
|
"fields" : fields,
|
|
789
795
|
"contract_type" : contract_type
|
|
790
796
|
}
|
|
797
|
+
if 'min' in freq :
|
|
798
|
+
return '此接口为单独权限,和积分没有关系,需要单独购买'
|
|
799
|
+
else:
|
|
791
800
|
|
|
792
|
-
|
|
801
|
+
response = requests.post(url, json=params,)
|
|
793
802
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
803
|
+
if response.status_code == 200:
|
|
804
|
+
try:
|
|
805
|
+
data = response.json()
|
|
806
|
+
# print(data)
|
|
807
|
+
if data == 'token无效或已超期,请重新购买':
|
|
808
|
+
return data
|
|
809
|
+
else:
|
|
810
|
+
df = pd.DataFrame(data)
|
|
811
|
+
return df
|
|
812
|
+
except ValueError as e:
|
|
813
|
+
# print("Error parsing JSON response:", e)
|
|
814
|
+
# return None
|
|
815
|
+
raise ValueError(e)
|
|
816
|
+
else:
|
|
817
|
+
|
|
818
|
+
raise ValueError("数据获取错误",response.status_code,response.text)
|
|
@@ -4,24 +4,30 @@
|
|
|
4
4
|
pip install chinadata
|
|
5
5
|
|
|
6
6
|
"""
|
|
7
|
+
|
|
8
|
+
|
|
7
9
|
#2、
|
|
8
10
|
import chinadata.ca_data as ts
|
|
9
11
|
|
|
10
12
|
|
|
11
|
-
ts.set_token('
|
|
12
|
-
pro=ts.pro_api('
|
|
13
|
+
ts.set_token('3a9e334456c8405c00d013914953')
|
|
14
|
+
pro=ts.pro_api('a9e334456c8405c00d013914953')
|
|
15
|
+
|
|
16
|
+
|
|
13
17
|
|
|
18
|
+
# 你要测量的代码块
|
|
14
19
|
|
|
15
20
|
# #查询当前所有正常上市交易的股票列表
|
|
16
21
|
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
|
|
17
22
|
print(data)
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
df = ts.pro_bar(ts_code='000007.SZ', start_date='20240817', end_date='20241215'
|
|
24
|
+
#
|
|
25
|
+
df = ts.pro_bar(ts_code='000007.SZ', start_date='20240817', end_date='20241215')
|
|
21
26
|
print(df)
|
|
22
27
|
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
df = pro.daily(ts_code='000001.SZ', start_date='20000701', end_date='20180718')
|
|
30
|
+
print(df)
|
|
25
31
|
|
|
26
32
|
|
|
27
33
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|