tushare 1.4.5__tar.gz → 1.4.6__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.
Files changed (91) hide show
  1. tushare-1.4.6/PKG-INFO +94 -0
  2. tushare-1.4.6/baks/demo.py +184 -0
  3. tushare-1.4.6/baks/rtqc.py +612 -0
  4. tushare-1.4.6/baks/setup.py +15 -0
  5. tushare-1.4.6/baks/sss.py +56 -0
  6. {tushare-1.4.5 → tushare-1.4.6}/setup.py +15 -9
  7. {tushare-1.4.5 → tushare-1.4.6}/tushare/__init__.py +1 -1
  8. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/rtq.py +6 -4
  9. tushare-1.4.6/tushare/stock/rtqc.pyd +0 -0
  10. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/model/tick.py +128 -128
  11. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/tgw_subs/convert.py +20 -20
  12. tushare-1.4.6/tushare/util/protobuf/__init__.py +0 -0
  13. tushare-1.4.6/tushare.egg-info/PKG-INFO +94 -0
  14. {tushare-1.4.5 → tushare-1.4.6}/tushare.egg-info/SOURCES.txt +6 -0
  15. {tushare-1.4.5 → tushare-1.4.6}/tushare.egg-info/requires.txt +1 -6
  16. {tushare-1.4.5 → tushare-1.4.6}/tushare.egg-info/top_level.txt +1 -0
  17. tushare-1.4.5/PKG-INFO +0 -87
  18. tushare-1.4.5/tushare.egg-info/PKG-INFO +0 -87
  19. {tushare-1.4.5 → tushare-1.4.6}/LICENSE +0 -0
  20. {tushare-1.4.5 → tushare-1.4.6}/README.md +0 -0
  21. {tushare-1.4.5/tushare/bond → tushare-1.4.6/baks}/__init__.py +0 -0
  22. {tushare-1.4.5 → tushare-1.4.6}/setup.cfg +0 -0
  23. {tushare-1.4.5/tushare/coins → tushare-1.4.6/tushare/bond}/__init__.py +0 -0
  24. {tushare-1.4.5 → tushare-1.4.6}/tushare/bond/bonds.py +0 -0
  25. {tushare-1.4.5/tushare/fund → tushare-1.4.6/tushare/coins}/__init__.py +0 -0
  26. {tushare-1.4.5 → tushare-1.4.6}/tushare/coins/market.py +0 -0
  27. {tushare-1.4.5 → tushare-1.4.6}/tushare/data/__init__.py +0 -0
  28. {tushare-1.4.5/tushare/futures → tushare-1.4.6/tushare/fund}/__init__.py +0 -0
  29. {tushare-1.4.5 → tushare-1.4.6}/tushare/fund/cons.py +0 -0
  30. {tushare-1.4.5 → tushare-1.4.6}/tushare/fund/nav.py +0 -0
  31. {tushare-1.4.5/tushare/internet → tushare-1.4.6/tushare/futures}/__init__.py +0 -0
  32. {tushare-1.4.5 → tushare-1.4.6}/tushare/futures/cons.py +0 -0
  33. {tushare-1.4.5 → tushare-1.4.6}/tushare/futures/domestic.py +0 -0
  34. {tushare-1.4.5 → tushare-1.4.6}/tushare/futures/domestic_cons.py +0 -0
  35. {tushare-1.4.5 → tushare-1.4.6}/tushare/futures/intlfutures.py +0 -0
  36. {tushare-1.4.5/tushare/pro → tushare-1.4.6/tushare/internet}/__init__.py +0 -0
  37. {tushare-1.4.5 → tushare-1.4.6}/tushare/internet/boxoffice.py +0 -0
  38. {tushare-1.4.5 → tushare-1.4.6}/tushare/internet/caixinnews.py +0 -0
  39. {tushare-1.4.5 → tushare-1.4.6}/tushare/internet/indexes.py +0 -0
  40. {tushare-1.4.5/tushare/stock → tushare-1.4.6/tushare/pro}/__init__.py +0 -0
  41. {tushare-1.4.5 → tushare-1.4.6}/tushare/pro/client.py +0 -0
  42. {tushare-1.4.5 → tushare-1.4.6}/tushare/pro/data_pro.py +0 -0
  43. {tushare-1.4.5/tushare/subs → tushare-1.4.6/tushare/stock}/__init__.py +0 -0
  44. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/billboard.py +0 -0
  45. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/classifying.py +0 -0
  46. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/cons.py +0 -0
  47. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/fundamental.py +0 -0
  48. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/globals.py +0 -0
  49. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/histroy_divide.py +0 -0
  50. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/indictor.py +0 -0
  51. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/macro.py +0 -0
  52. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/macro_vars.py +0 -0
  53. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/minsdata.py +0 -0
  54. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/news_vars.py +0 -0
  55. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/newsevent.py +0 -0
  56. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/ref_vars.py +0 -0
  57. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/reference.py +0 -0
  58. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/rtq_vars.py +0 -0
  59. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/shibor.py +0 -0
  60. {tushare-1.4.5 → tushare-1.4.6}/tushare/stock/trading.py +0 -0
  61. {tushare-1.4.5/tushare/subs/model → tushare-1.4.6/tushare/subs}/__init__.py +0 -0
  62. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/ht_subs/__init__.py +0 -0
  63. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/ht_subs/covert.py +0 -0
  64. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/ht_subs/subscribe.py +0 -0
  65. {tushare-1.4.5/tushare/trader → tushare-1.4.6/tushare/subs/model}/__init__.py +0 -0
  66. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/model/min.py +0 -0
  67. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/tgw_subs/__init__.py +0 -0
  68. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/tgw_subs/login.py +0 -0
  69. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/tgw_subs/subscribe.py +0 -0
  70. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/ts_subs/__init__.py +0 -0
  71. {tushare-1.4.5 → tushare-1.4.6}/tushare/subs/ts_subs/subscribe.py +0 -0
  72. {tushare-1.4.5/tushare/util → tushare-1.4.6/tushare/trader}/__init__.py +0 -0
  73. {tushare-1.4.5 → tushare-1.4.6}/tushare/trader/trader.py +0 -0
  74. {tushare-1.4.5 → tushare-1.4.6}/tushare/trader/utils.py +0 -0
  75. {tushare-1.4.5 → tushare-1.4.6}/tushare/trader/vars.py +0 -0
  76. {tushare-1.4.5/tushare/util/protobuf → tushare-1.4.6/tushare/util}/__init__.py +0 -0
  77. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/common.py +0 -0
  78. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/conns.py +0 -0
  79. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/dateu.py +0 -0
  80. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/form_date.py +0 -0
  81. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/format_stock_code.py +0 -0
  82. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/formula.py +0 -0
  83. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/mailmerge.py +0 -0
  84. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/netbase.py +0 -0
  85. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/protobuf/funcs.py +0 -0
  86. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/protobuf/response_pb2.py +0 -0
  87. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/store.py +0 -0
  88. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/upass.py +0 -0
  89. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/vars.py +0 -0
  90. {tushare-1.4.5 → tushare-1.4.6}/tushare/util/verify_token.py +0 -0
  91. {tushare-1.4.5 → tushare-1.4.6}/tushare.egg-info/dependency_links.txt +0 -0
tushare-1.4.6/PKG-INFO ADDED
@@ -0,0 +1,94 @@
1
+ Metadata-Version: 2.1
2
+ Name: tushare
3
+ Version: 1.4.6
4
+ Summary: A utility for crawling historical and Real-time Quotes data of China stocks
5
+ Home-page: https://tushare.pro
6
+ Author: Jimmy Liu
7
+ Author-email: waditu@163.com
8
+ License: BSD
9
+ Keywords: Global Financial Data
10
+ Platform: UNKNOWN
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Programming Language :: Python :: 3.6
13
+ Classifier: Programming Language :: Python :: 3.7
14
+ Classifier: Programming Language :: Python :: 3.8
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: License :: OSI Approved :: BSD License
18
+ Description-Content-Type: text/plain
19
+ License-File: LICENSE
20
+
21
+
22
+ TuShare
23
+ ===============
24
+
25
+ .. image:: https://api.travis-ci.org/waditu/tushare.png?branch=master
26
+ :target: https://travis-ci.org/waditu/tushare
27
+
28
+ .. image:: https://badge.fury.io/py/tushare.png
29
+ :target: http://badge.fury.io/py/tushare
30
+
31
+ * easy to use as most of the data returned are pandas DataFrame objects
32
+ * can be easily saved as csv, excel or json files
33
+ * can be inserted into MySQL or Mongodb
34
+
35
+ Target Users
36
+ --------------
37
+
38
+ * financial market analyst of China
39
+ * learners of financial data analysis with pandas/NumPy
40
+ * people who are interested in China financial data
41
+
42
+ Installation
43
+ --------------
44
+
45
+ pip install tushare
46
+
47
+ Upgrade
48
+ ---------------
49
+
50
+ pip install tushare --upgrade
51
+
52
+ Quick Start
53
+ --------------
54
+
55
+ ::
56
+
57
+ import tushare as ts
58
+
59
+ ts.get_hist_data('600848')
60
+
61
+ return::
62
+
63
+ open high close low volume p_change ma5
64
+ date
65
+ 2012-01-11 6.880 7.380 7.060 6.880 14129.96 2.62 7.060
66
+ 2012-01-12 7.050 7.100 6.980 6.900 7895.19 -1.13 7.020
67
+ 2012-01-13 6.950 7.000 6.700 6.690 6611.87 -4.01 6.913
68
+ 2012-01-16 6.680 6.750 6.510 6.480 2941.63 -2.84 6.813
69
+ 2012-01-17 6.660 6.880 6.860 6.460 8642.57 5.38 6.822
70
+ 2012-01-18 7.000 7.300 6.890 6.880 13075.40 0.44 6.788
71
+ 2012-01-19 6.690 6.950 6.890 6.680 6117.32 0.00 6.770
72
+ 2012-01-20 6.870 7.080 7.010 6.870 6813.09 1.74 6.832
73
+
74
+
75
+ Log
76
+ --------------
77
+ 1.4.6
78
+ -------
79
+ - 修复 realtime_quote 实时盘口TICK快照(爬虫版)
80
+ - 修复dc OPEN和LOW 值相反问题
81
+ 1.4.0
82
+ -------
83
+ - 增加 银河证券实时行情数据入口
84
+ 1.3.9
85
+ -------
86
+ - realtime_quote 实时盘口TICK快照(爬虫版)
87
+ - 修复dc 指数和股票数据抓取问题
88
+ - 将数字类型统一转换成 float类型
89
+ 1.2.73
90
+ -------
91
+ - 支持华泰实时数据15SECOND
92
+
93
+
94
+
@@ -0,0 +1,184 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created on 2021-12-31 09:32:16
4
+ ---------
5
+ @summary:
6
+ ---------
7
+ @author: yangyx01
8
+ """
9
+ import pandas as pd
10
+ import requests
11
+ from typing import Optional
12
+ from tushare.util.format_stock_code import format_stock_code
13
+
14
+
15
+ def get_stock_all_a_dc(page_count: Optional[int] = None,
16
+ proxies: Optional[dict] = {}) -> pd.DataFrame:
17
+ """
18
+ 东方财富网-沪深京 A 股-实时行情
19
+ https://quote.eastmoney.com/center/gridlist.html#hs_a_board
20
+ :return: 实时行情
21
+ :rtype: pandas.DataFrame
22
+ 1、序号:RANK
23
+ 2、代码:TS_CODE
24
+ 3、名称:NAME
25
+ 4、最新价:PRICE
26
+ 5、涨跌幅:PCT_CHANGE
27
+ 6、涨跌额:CHANGE
28
+ 7、成交量:VOLUME
29
+ 8、成交额:AMOUNT
30
+ 9、振幅:SWING
31
+ 10、最高:HIGH
32
+ 11、最低:LOW
33
+ 12、今开:OPEN
34
+ 13、昨收:CLOSE
35
+ 14、量比:VOL_RATIO
36
+ 15、换手率:TURNOVER_RATE
37
+ 16、市盈率-动态:PE
38
+ 17、市净率:PB
39
+ 18、总市值:TOTAL_MV
40
+ 19、流通市值:FLOAT_MV
41
+ 20、涨速:RISE
42
+ 21、5分钟涨跌:5MIN
43
+ 22、60日涨跌幅:60DAY
44
+ 23、年初至今涨跌幅:1YEAR
45
+ """
46
+ url = "http://82.push2.eastmoney.com/api/qt/clist/get"
47
+ params = {
48
+ "pn": "1",
49
+ "pz": "50000",
50
+ "po": "1",
51
+ "np": "1",
52
+ "ut": "bd1d9ddb04089700cf9c27f6f7426281",
53
+ "fltt": "2",
54
+ "invt": "2",
55
+ "fid": "f3",
56
+ "fs": "m:0 t:6,m:0 t:80,m:1 t:2,m:1 t:23,m:0 t:81 s:2048",
57
+ "fields": "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152",
58
+ "_": "1623833739532",
59
+ }
60
+ if page_count:
61
+ params["pz"] = 20
62
+ r = requests.get(url, params=params, proxies=proxies)
63
+ data_json = r.json()
64
+ if not data_json["data"]["diff"]:
65
+ return pd.DataFrame()
66
+ temp_df = pd.DataFrame(data_json["data"]["diff"])
67
+ temp_df.columns = [
68
+ "_",
69
+ "最新价",
70
+ "涨跌幅",
71
+ "涨跌额",
72
+ "成交量",
73
+ "成交额",
74
+ "振幅",
75
+ "换手率",
76
+ "市盈率-动态",
77
+ "量比",
78
+ "5分钟涨跌",
79
+ "代码",
80
+ "_",
81
+ "名称",
82
+ "最高",
83
+ "最低",
84
+ "今开",
85
+ "昨收",
86
+ "总市值",
87
+ "流通市值",
88
+ "涨速",
89
+ "市净率",
90
+ "60日涨跌幅",
91
+ "年初至今涨跌幅",
92
+ "-",
93
+ "-",
94
+ "-",
95
+ "-",
96
+ "-",
97
+ "-",
98
+ "-",
99
+ ]
100
+ temp_df.reset_index(inplace=True)
101
+ # temp_df["index"] = temp_df.index + 1
102
+ # temp_df.rename(columns={"index": "序号"}, inplace=True)
103
+ temp_df = temp_df[
104
+ [
105
+ # "序号",
106
+ "代码",
107
+ "名称",
108
+ "最新价",
109
+ "涨跌幅",
110
+ "涨跌额",
111
+ "成交量",
112
+ "成交额",
113
+ "振幅",
114
+ "最高",
115
+ "最低",
116
+ "今开",
117
+ "昨收",
118
+ "量比",
119
+ "换手率",
120
+ "市盈率-动态",
121
+ "市净率",
122
+ "总市值",
123
+ "流通市值",
124
+ "涨速",
125
+ "5分钟涨跌",
126
+ "60日涨跌幅",
127
+ "年初至今涨跌幅",
128
+ ]
129
+ ]
130
+
131
+ temp_df["代码"] = temp_df["代码"].apply(format_stock_code)
132
+ temp_df["最新价"] = pd.to_numeric(temp_df["最新价"], errors="coerce")
133
+ temp_df["涨跌幅"] = pd.to_numeric(temp_df["涨跌幅"], errors="coerce")
134
+ temp_df["涨跌额"] = pd.to_numeric(temp_df["涨跌额"], errors="coerce")
135
+ temp_df["成交量"] = pd.to_numeric(temp_df["成交量"], errors="coerce")
136
+ temp_df["成交额"] = pd.to_numeric(temp_df["成交额"], errors="coerce")
137
+ temp_df["振幅"] = pd.to_numeric(temp_df["振幅"], errors="coerce")
138
+ temp_df["最高"] = pd.to_numeric(temp_df["最高"], errors="coerce")
139
+ temp_df["最低"] = pd.to_numeric(temp_df["最低"], errors="coerce")
140
+ temp_df["今开"] = pd.to_numeric(temp_df["今开"], errors="coerce")
141
+ temp_df["昨收"] = pd.to_numeric(temp_df["昨收"], errors="coerce")
142
+ temp_df["量比"] = pd.to_numeric(temp_df["量比"], errors="coerce")
143
+ temp_df["换手率"] = pd.to_numeric(temp_df["换手率"], errors="coerce")
144
+ temp_df["市盈率-动态"] = pd.to_numeric(temp_df["市盈率-动态"], errors="coerce")
145
+ temp_df["市净率"] = pd.to_numeric(temp_df["市净率"], errors="coerce")
146
+ temp_df["总市值"] = pd.to_numeric(temp_df["总市值"], errors="coerce")
147
+ temp_df["流通市值"] = pd.to_numeric(temp_df["流通市值"], errors="coerce")
148
+ temp_df["涨速"] = pd.to_numeric(temp_df["涨速"], errors="coerce")
149
+ temp_df["5分钟涨跌"] = pd.to_numeric(temp_df["5分钟涨跌"], errors="coerce")
150
+ temp_df["60日涨跌幅"] = pd.to_numeric(temp_df["60日涨跌幅"], errors="coerce")
151
+ temp_df["年初至今涨跌幅"] = pd.to_numeric(temp_df["年初至今涨跌幅"], errors="coerce")
152
+ temp_df.columns = [
153
+ # "RANK",
154
+ "TS_CODE",
155
+ "NAME",
156
+ "PRICE",
157
+ "PCT_CHANGE",
158
+ "CHANGE",
159
+ "VOLUME",
160
+ "AMOUNT",
161
+ "SWING",
162
+ "HIGH",
163
+ "LOW",
164
+ "OPEN",
165
+ "CLOSE",
166
+ "VOL_RATIO",
167
+ "TURNOVER_RATE",
168
+ "PE",
169
+ "PB",
170
+ "TOTAL_MV",
171
+ "FLOAT_MV",
172
+ "RISE",
173
+ "5MIN",
174
+ "60DAY",
175
+ "1YEAR",
176
+ ]
177
+ temp_df = temp_df.iloc[:, [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12]]
178
+ df_sorted = temp_df.sort_values(by='PCT_CHANGE', ascending=False).reset_index(drop=True)
179
+ return df_sorted
180
+
181
+
182
+ if __name__ == '__main__':
183
+ df = get_stock_all_a_dc(page_count=1)
184
+ print(df)