mns-common 1.3.3.0__py3-none-any.whl → 1.3.3.2__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.

Potentially problematic release.


This version of mns-common might be problematic. Click here for more details.

@@ -127,7 +127,7 @@ def stock_zh_a_hist(
127
127
  "ut": "7eea3edcaed734bea9cbfc24409ed989",
128
128
  "klt": period_dict[period],
129
129
  "fqt": adjust_dict[adjust],
130
- "secid": f"{code_id_dict[symbol]}.{symbol}",
130
+ "secid": symbol,
131
131
  "beg": "0",
132
132
  "end": "20500000",
133
133
  "_": now_time,
@@ -22,7 +22,7 @@ max_number = 600
22
22
  # 最小返回条数
23
23
  min_number = 500
24
24
  # 分页条数
25
- page_number = 200
25
+ page_number = 100
26
26
 
27
27
 
28
28
  # fields_02 = "f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36,f37,f38,f39,f40,f41,f42,f43,f44,f45,f46,f47,f48,f49,f50,f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61,f62,f63,f64,f65,f66,f67,f68,f69,f70,f71,f72,f73,f74,f75,f76,f77,f78,f79,f80,f81,f82,f83,f84,f85,f86,f87,f88,f89,f90,f91,f92,f93,f94,f95,f96,f97,f98,f99,f100,f101,f102,f103,f104,f105,f106,f107,f108" \
@@ -18,7 +18,7 @@ max_number = 1200
18
18
  # 最小返回条数
19
19
  min_number = 1000
20
20
  # 分页条数
21
- page_number = 200
21
+ page_number = 100
22
22
 
23
23
 
24
24
  def get_fund_etf_page_df(pn) -> pd.DataFrame:
@@ -18,7 +18,7 @@ max_number = 5700
18
18
  # 最小返回条数
19
19
  min_number = 5600
20
20
  # 分页条数
21
- page_number = 200
21
+ page_number = 100
22
22
 
23
23
 
24
24
  def get_stock_page_data(pn, fields, fs):
@@ -17,7 +17,7 @@ max_number = 4600
17
17
  # 最小返回条数
18
18
  min_number = 4400
19
19
  # 分页条数
20
- page_number = 200
20
+ page_number = 100
21
21
 
22
22
  fields = ("f352,f2,f3,f5,f6,f8,f10,f11,f22,f12,f14,f15,f16,f17,f18,f20,f21,f26,"
23
23
  "f33,f34,f35,f62,f66,f69,f72,f100,f184,f211,f212")
@@ -164,7 +164,7 @@ def hk_real_time_quotes_page_df(cookie, pn):
164
164
  2)
165
165
  return temp_df
166
166
  except Exception as e:
167
- logger.error("获取ETF列表,实时行情异常:{}", e)
167
+ logger.error("获取港股列表,实时行情异常:{}", e)
168
168
  return pd.DataFrame()
169
169
 
170
170
 
@@ -16,7 +16,7 @@ max_number = 12000
16
16
  # 最小返回条数
17
17
  min_number = 11000
18
18
  # 分页条数
19
- page_number = 200
19
+ page_number = 100
20
20
 
21
21
  fields = ("f352,f2,f3,f5,f6,f8,f10,f11,f22,f12,f14,f15,f16,f17,f18,f20,f21,f26,"
22
22
  "f33,f34,f35,f62,f66,f69,f72,f100,f184,f211,f212")
@@ -18,7 +18,7 @@ max_number = 5800
18
18
  # 最小返回条数
19
19
  min_number = 5600
20
20
  # 分页条数
21
- page_number = 200
21
+ page_number = 100
22
22
 
23
23
 
24
24
  def get_stock_page_data(pn, fields, fs):
@@ -60,8 +60,8 @@ def get_minute_data(symbol, start_date, end_date, period,
60
60
  "close",
61
61
  "high",
62
62
  "low",
63
- "amount",
64
63
  "volume",
64
+ "amount",
65
65
  "ava_price",
66
66
  ]
67
67
  temp_df.index = pd.to_datetime(temp_df["time"])
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.3.3.0
3
+ Version: 1.3.3.2
4
4
 
@@ -1,28 +1,26 @@
1
1
  mns_common/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
2
2
  mns_common/api/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
3
3
  mns_common/api/akshare/__init__.py,sha256=xu36nA6MJTauswUWPfKIKH0E-lpOAHTw2TL5QI_6TeY,165
4
- mns_common/api/akshare/k_line_api.py,sha256=UbsLmHVr14_2PuU8SnzzLI9OtgE38dLICd-oAoWuhro,6166
4
+ mns_common/api/akshare/k_line_api.py,sha256=Kl0KIjqQ7GWD2624M18KiU8YkeAt5_udODIGpuvPBFU,6138
5
5
  mns_common/api/akshare/stock_bid_ask_api.py,sha256=lDDTKWRyL5yc3HrxhW_cBW8y7yhFFBqyuOZjhyJUP5k,8170
6
6
  mns_common/api/akshare/stock_dt_pool.py,sha256=sKedOTzqsBZprJHJEr2sRYa8xbeSK7tRenqBE3wOdUc,2245
7
7
  mns_common/api/akshare/stock_zb_pool.py,sha256=ylcVgZTzsD3qz9WaItLtoqTf4t-Ex49MDtZUk0xaB5Q,2126
8
8
  mns_common/api/akshare/stock_zt_pool_api.py,sha256=_4PG_Wd88S4zweKNwZprwxaMMHBF4OQSB77DGW1l9UQ,1929
9
9
  mns_common/api/akshare/yjyg_sync_api.py,sha256=cvk50_XhJWUqduOiC15SYvQTCQqECt6td_L2Hvnl7Jg,4108
10
10
  mns_common/api/em/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
11
- mns_common/api/em/east_money_debt_api.py,sha256=XgLjOOqcthFScEt9JoKUHnODMTQhGPNgbPzW6jJfIlo,14142
12
- mns_common/api/em/east_money_etf_api.py,sha256=4fh06a2Vy1a1TwWnDwI56O0A-HLEtAtYJiNT6gV65Oc,13988
13
- mns_common/api/em/east_money_stock_api.py,sha256=4fLF_oopT-x22bwP6LPNO8GdgF6pS9XUIjndB_dSPmQ,9348
14
- mns_common/api/em/east_money_stock_api_develop.py,sha256=IijcfCwqzuwd7okAjOnFoWiWSvlRttSg1vGzkDXljeM,9888
11
+ mns_common/api/em/east_money_debt_api.py,sha256=SpCk0ULRZnfi7enInnxgH_bNJuo_yHjMINGpgriwwLc,14142
12
+ mns_common/api/em/east_money_etf_api.py,sha256=5Mu0IF8_RMacj2HL0ENfmqySPTnALeTegtobo2jAc94,13988
13
+ mns_common/api/em/east_money_stock_api.py,sha256=0TlpetAIcDgc7-Wt4zUSGDUT-hRjTH7yA20sa5JSutw,9348
15
14
  mns_common/api/em/east_money_stock_gdfx_free_top_10_api.py,sha256=jVy3fNdrkLq3ri7yUwXWt0ItB8LCHzt9CPz91Fj8sPA,9198
16
- mns_common/api/em/east_money_stock_hk_api.py,sha256=bZ36xV_ZVYQ7u_r6m6ek41fgWLdUtFezOVrI5o4_FaM,14352
17
- mns_common/api/em/east_money_stock_us_api.py,sha256=4sC0F4ez73pLvbA_h3NCS2jXlnxmjuOK4wnszDA1B8g,11012
18
- mns_common/api/em/east_money_stock_v2_api.py,sha256=1fZaY6CzDY4OGFjOsqG0gtfu8DPudowndYVyg2-opZI,9190
15
+ mns_common/api/em/east_money_stock_hk_api.py,sha256=ZxaMxeXr_oFd_iaDgkJ6Pgktsh63hKKpI3mZdfCX1N4,14355
16
+ mns_common/api/em/east_money_stock_us_api.py,sha256=4FQm8NF6TX7dyPOG0m_huVmq1shSZZyALcwMhfBW9-k,11012
17
+ mns_common/api/em/east_money_stock_v2_api.py,sha256=w2Kc_LiCGgyUKoEIBzQWYWJcfWTD0sbmt5D9NorriTE,9190
19
18
  mns_common/api/em/em_concept_index_api.py,sha256=PP87ES8a_y0o3SKLzBsPrc7DCPI3MBCD-4SmoUUirl0,8285
20
- mns_common/api/em/self_choose/__init__.py,sha256=vAy9qYgUgZL9Y0w3BBbqmZ9zES46pPnlJjO2hdtotp0,2673
21
19
  mns_common/api/hk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
22
20
  mns_common/api/hk/ths_hk_company_info_api.py,sha256=Cxlbuccopa0G1s8o0uTnnyLn2QaxOvbDpJQJOj7J8a8,5360
23
21
  mns_common/api/k_line/__init__.py,sha256=itoGlqKhsx7EVXQoD1vchDKQ5GPB16vDjofTSuQtrXg,161
24
22
  mns_common/api/k_line/stock_k_line_data_api.py,sha256=v27p4qU0bhBGp2t8bZDnyMz20a71GduhmK7uylt6GH4,3496
25
- mns_common/api/k_line/stock_minute_data_api.py,sha256=xoYhX23j7h9xCYjGopb83ZNTg7wuloGNJTRkcBUvcl0,5247
23
+ mns_common/api/k_line/stock_minute_data_api.py,sha256=Vt3ZP8HJjHmtquBV0vrKqDXDRF5dESrejrfyPtScxdg,5247
26
24
  mns_common/api/kpl/__init__.py,sha256=2U9DiKslxsWwLLEcZKjS8UiQPN1QgALvnK3HiJNIZE0,163
27
25
  mns_common/api/kpl/common/__init__.py,sha256=8b2PuXJM5fLoq71cWPXp695czQuaRtyR6OVHajGjDPc,161
28
26
  mns_common/api/kpl/common/kpl_common_api.py,sha256=DP8RqJXGGB804G3ykYgyYh3fHtv8E2v0BWiEGPXSSBc,4272
@@ -137,7 +135,7 @@ mns_common/utils/date_handle_util.py,sha256=P4WJUmoDpo4IoCrt2z4keyr7pqXHKmCZBVod
137
135
  mns_common/utils/db_util.py,sha256=hSmfNAN4vEeEaUva6_cicZEhb2jSnib-Gvk2reke1vc,2590
138
136
  mns_common/utils/file_util.py,sha256=egWu6PenGPRp_ixrNTHKarT4dAnOT6FETR82EHUZJnQ,1042
139
137
  mns_common/utils/ip_util.py,sha256=UTcYfz_uytB__6nlBf7T-izuI7hi4XdB6ET0sJgEel4,969
140
- mns_common-1.3.3.0.dist-info/METADATA,sha256=4ms55iG0rAaZyhes5GxFEScCl4Q8Qy8riaRy2vZcBQI,61
141
- mns_common-1.3.3.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
142
- mns_common-1.3.3.0.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
143
- mns_common-1.3.3.0.dist-info/RECORD,,
138
+ mns_common-1.3.3.2.dist-info/METADATA,sha256=P5Oxu07TGufKtXezMvjwXr8VXLRkafkqVfrBG3D2ER8,61
139
+ mns_common-1.3.3.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
140
+ mns_common-1.3.3.2.dist-info/top_level.txt,sha256=ZC58kAR-8Hvc6U2xhYNBNLAh3mb6sZazbdj5nZpvEkQ,11
141
+ mns_common-1.3.3.2.dist-info/RECORD,,
@@ -1,217 +0,0 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 14
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- import mns_common.utils.data_frame_util as data_frame_util
9
- import requests
10
-
11
-
12
- import pandas as pd
13
- from loguru import logger
14
- import json
15
- import threading
16
-
17
- # 定义一个全局锁,用于保护 result 变量的访问
18
- result_lock = threading.Lock()
19
- # 初始化 result 变量为一个空的 Pandas DataFrame
20
- result = pd.DataFrame()
21
-
22
- MAX_PAGE_NUMBER = 200
23
- # A股股票数量 todo暂定
24
- STOCK_NUMBER = 5600
25
-
26
-
27
- def sync_real_time_quotes():
28
- global result
29
- result = pd.DataFrame() # 重新初始化 result 变量
30
- threads = []
31
- page_number = round(STOCK_NUMBER / MAX_PAGE_NUMBER, 0) + 1
32
- page_number = int(page_number)
33
- # 创建多个线程来获取数据
34
- for page in range(page_number): # 0到100页
35
- thread = threading.Thread(target=all_stock_ticker_data_new, args=(page,))
36
- threads.append(thread)
37
- thread.start()
38
-
39
- # 等待所有线程完成
40
- for thread in threads:
41
- thread.join()
42
-
43
- return result
44
-
45
-
46
- def all_stock_ticker_data_new(page) -> pd.DataFrame:
47
- global result
48
- fields = ("f352,f2,f3,f5,f6,f8,f10,f11,f22,f12,f14,f15,f16,f17,f18,f20,f21,f26,f33,f34,f35,f62,f66,f69,f72,f100,"
49
- "f184,f211,f212"),
50
- fs = "m:0 t:6,m:0 t:80,m:1 t:2,m:1 t:23,m:0 t:81 s:2048"
51
-
52
- url = "https://13.push2.eastmoney.com/api/qt/clist/get"
53
- # url = "https://push2.eastmoney.com/api/qt/clist/get?cb=jQuery112303212778189608789_1645434416300&fid=f62&po=1&pz=6000&pn=1&np=1&fltt=2&invt=2&ut=b2884a393a59ad64002292a3e90d46a5&fs=m%3A0%2Bt%3A6%2Bf%3A!2%2Cm%3A0%2Bt%3A13%2Bf%3A!2%2Cm%3A0%2Bt%3A80%2Bf%3A!2%2Cm%3A1%2Bt%3A2%2Bf%3A!2%2Cm%3A1%2Bt%3A23%2Bf%3A!2%2Cm%3A0%2Bt%3A7%2Bf%3A!2%2Cm%3A1%2Bt%3A3%2Bf%3A!2&fields=f12%2Cf14%2Cf2%2Cf3%2Cf62%2Cf184%2Cf66%2Cf69%2Cf72%2Cf75%2Cf78%2Cf81%2Cf84%2Cf87%2Cf204%2Cf205%2Cf124%2Cf1%2Cf13"
54
- params = {
55
- "cb": "jQuery1124046660442520420653_1660036672477",
56
- "pn": "1",
57
- "pz": "10000",
58
- "po": "1",
59
- "np": str(page),
60
- "ut": " bd1d9ddb04089700cf9c27f6f7426281",
61
- "fltt": "2",
62
- "invt": "2",
63
- "wbp2u": "|0|0|0|web",
64
- "fid": "f3",
65
- "fs": fs,
66
- "fields": fields,
67
- "_": 1660036672518
68
- }
69
- try:
70
- r = requests.get(url, params)
71
- data_text = r.text
72
- begin_index = data_text.index('[')
73
- end_index = data_text.index(']')
74
- data_json = data_text[begin_index:end_index + 1]
75
- data_json = json.loads(data_json)
76
- logger.info("页码:{}",page)
77
- if data_json is None:
78
- data_df = pd.DataFrame()
79
- else:
80
- data_df = pd.DataFrame(data_json)
81
- with result_lock:
82
- # 使用锁来保护 result 变量的访问,将每页的数据添加到结果中
83
- try:
84
- if data_frame_util.is_not_empty(data_df):
85
- result = pd.concat([result, data_df], ignore_index=True)
86
- except BaseException as e:
87
- logger.error("同步东财实时数据异常:{}", e)
88
- result = pd.DataFrame()
89
- except Exception as e:
90
- logger.error("获取股票列表,实时行情异常:{},{}", e,page)
91
- return pd.DataFrame()
92
-
93
-
94
- # f212 卖1
95
- # f211 买1
96
- # f31 买1价格
97
- # "f32" : 卖1价格
98
-
99
-
100
- # 获取所有股票实时行情数据 f33,委比
101
- def get_real_time_quotes_all_stocks():
102
- # todo old version
103
- # stock_ticker_data = all_stock_ticker_data(
104
- # "f352,f2,f3,f5,f6,f8,f10,f11,f12,f14,f15,f16,f17,f18,f20,f21,f26,"
105
- # "f33,f34,f35,f62,f66,f69,f72,f100,f184",
106
- # "m:0+t:6+f:!2,m:0+t:13+f:!2,m:0+t:80+f:!2,m:1+t:2+f:!2,m:1+t:23+f:!2,m:0+t:7+f:!2,m:1+t:3+f:!2")
107
-
108
- # todo new version
109
- stock_ticker_data = all_stock_ticker_data_new(
110
- "f352,f2,f3,f5,f6,f8,f10,f11,f22,f12,f14,f15,f16,f17,f18,f20,f21,f26,"
111
- "f33,f34,f35,f62,f66,f69,f72,f100,f184,f211,f212",
112
- "m:0 t:6,m:0 t:80,m:1 t:2,m:1 t:23,m:0 t:81 s:2048")
113
-
114
- temp_df = stock_ticker_data.rename(columns={
115
- "f2": "now_price",
116
- "f3": "chg",
117
- "f5": "volume",
118
- "f6": "amount",
119
- "f8": "exchange",
120
- "f10": "quantity_ratio",
121
- "f22": "up_speed",
122
- "f11": "up_speed_05",
123
- "f12": "symbol",
124
- "f14": "name",
125
- "f15": "high",
126
- "f16": "low",
127
- "f17": "open",
128
- "f18": "yesterday_price",
129
- "f20": "total_mv",
130
- "f21": "flow_mv",
131
- "f26": "list_date",
132
- "f33": "wei_bi",
133
- "f34": "outer_disk",
134
- "f35": "inner_disk",
135
- "f62": "today_main_net_inflow",
136
- "f66": "super_large_order_net_inflow",
137
- "f69": "super_large_order_net_inflow_ratio",
138
- "f72": "large_order_net_inflow",
139
- # "f78": "medium_order_net_inflow",
140
- # "f84": "small_order_net_inflow",
141
- "f100": "industry",
142
- # "f103": "concept",
143
- "f184": "today_main_net_inflow_ratio",
144
- "f352": "average_price",
145
- "f211": "buy_1_num",
146
- "f212": "sell_1_num"
147
- })
148
- temp_df.loc[temp_df['buy_1_num'] == '-', 'buy_1_num'] = 0
149
- temp_df.loc[temp_df['sell_1_num'] == '-', 'sell_1_num'] = 0
150
- temp_df.loc[temp_df['up_speed_05'] == '-', 'up_speed_05'] = 0
151
- temp_df.loc[temp_df['up_speed'] == '-', 'up_speed'] = 0
152
- temp_df.loc[temp_df['average_price'] == '-', 'average_price'] = 0
153
- temp_df.loc[temp_df['wei_bi'] == '-', 'wei_bi'] = 0
154
- temp_df.loc[temp_df['yesterday_price'] == '-', 'yesterday_price'] = 0
155
- temp_df.loc[temp_df['now_price'] == '-', 'now_price'] = 0
156
- temp_df.loc[temp_df['chg'] == '-', 'chg'] = 0
157
- temp_df.loc[temp_df['volume'] == '-', 'volume'] = 0
158
- temp_df.loc[temp_df['amount'] == '-', 'amount'] = 0
159
- temp_df.loc[temp_df['exchange'] == '-', 'exchange'] = 0
160
- temp_df.loc[temp_df['quantity_ratio'] == '-', 'quantity_ratio'] = 0
161
- temp_df.loc[temp_df['high'] == '-', 'high'] = 0
162
- temp_df.loc[temp_df['low'] == '-', 'low'] = 0
163
- temp_df.loc[temp_df['open'] == '-', 'open'] = 0
164
- temp_df.loc[temp_df['total_mv'] == '-', 'total_mv'] = 0
165
- temp_df.loc[temp_df['flow_mv'] == '-', 'flow_mv'] = 0
166
- temp_df.loc[temp_df['inner_disk'] == '-', 'inner_disk'] = 0
167
- temp_df.loc[temp_df['outer_disk'] == '-', 'outer_disk'] = 0
168
- temp_df.loc[temp_df['today_main_net_inflow_ratio'] == '-', 'today_main_net_inflow_ratio'] = 0
169
- temp_df.loc[temp_df['today_main_net_inflow'] == '-', 'today_main_net_inflow'] = 0
170
- temp_df.loc[temp_df['super_large_order_net_inflow'] == '-', 'super_large_order_net_inflow'] = 0
171
- temp_df.loc[temp_df['super_large_order_net_inflow_ratio'] == '-', 'super_large_order_net_inflow_ratio'] = 0
172
- temp_df.loc[temp_df['large_order_net_inflow'] == '-', 'large_order_net_inflow'] = 0
173
- # temp_df.loc[temp_df['medium_order_net_inflow'] == '-', 'medium_order_net_inflow'] = 0
174
- # temp_df.loc[temp_df['small_order_net_inflow'] == '-', 'small_order_net_inflow'] = 0
175
-
176
- temp_df["list_date"] = pd.to_numeric(temp_df["list_date"], errors="coerce")
177
- temp_df["wei_bi"] = pd.to_numeric(temp_df["wei_bi"], errors="coerce")
178
- temp_df["average_price"] = pd.to_numeric(temp_df["average_price"], errors="coerce")
179
- temp_df["yesterday_price"] = pd.to_numeric(temp_df["yesterday_price"], errors="coerce")
180
- temp_df["now_price"] = pd.to_numeric(temp_df["now_price"], errors="coerce")
181
- temp_df["chg"] = pd.to_numeric(temp_df["chg"], errors="coerce")
182
- temp_df["volume"] = pd.to_numeric(temp_df["volume"], errors="coerce")
183
- temp_df["amount"] = pd.to_numeric(temp_df["amount"], errors="coerce")
184
- temp_df["exchange"] = pd.to_numeric(temp_df["exchange"], errors="coerce")
185
- temp_df["quantity_ratio"] = pd.to_numeric(temp_df["quantity_ratio"], errors="coerce")
186
- temp_df["high"] = pd.to_numeric(temp_df["high"], errors="coerce")
187
- temp_df["low"] = pd.to_numeric(temp_df["low"], errors="coerce")
188
- temp_df["open"] = pd.to_numeric(temp_df["open"], errors="coerce")
189
- temp_df["total_mv"] = pd.to_numeric(temp_df["total_mv"], errors="coerce")
190
- temp_df["flow_mv"] = pd.to_numeric(temp_df["flow_mv"], errors="coerce")
191
- temp_df["outer_disk"] = pd.to_numeric(temp_df["outer_disk"], errors="coerce")
192
- temp_df["inner_disk"] = pd.to_numeric(temp_df["inner_disk"], errors="coerce")
193
- temp_df["today_main_net_inflow"] = pd.to_numeric(temp_df["today_main_net_inflow"], errors="coerce")
194
- temp_df["super_large_order_net_inflow"] = pd.to_numeric(temp_df["super_large_order_net_inflow"],
195
- errors="coerce")
196
- temp_df["super_large_order_net_inflow_ratio"] = pd.to_numeric(temp_df["super_large_order_net_inflow_ratio"],
197
- errors="coerce")
198
- temp_df["large_order_net_inflow"] = pd.to_numeric(temp_df["large_order_net_inflow"],
199
- errors="coerce")
200
- # temp_df["medium_order_net_inflow"] = pd.to_numeric(temp_df["medium_order_net_inflow"],
201
- # errors="coerce")
202
- # temp_df["small_order_net_inflow"] = pd.to_numeric(temp_df["small_order_net_inflow"], errors="coerce")
203
-
204
- # 大单比例
205
- temp_df['large_order_net_inflow_ratio'] = round((temp_df['large_order_net_inflow'] / temp_df['amount']) * 100, 2)
206
-
207
- # 外盘是内盘倍数
208
- temp_df['disk_ratio'] = round((temp_df['outer_disk'] - temp_df['inner_disk']) / temp_df['inner_disk'], 2)
209
- # 只有外盘没有内盘
210
- temp_df.loc[temp_df["inner_disk"] == 0, ['disk_ratio']] = 1688
211
-
212
- return temp_df
213
-
214
-
215
- if __name__ == '__main__':
216
- df = all_stock_ticker_data_new(1)
217
- print(df)
@@ -1,27 +0,0 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 16
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
-
9
-
10
-
11
- fetch("https://myfavor.eastmoney.com/v4/webouter/as?appkey=e9166c7e9cdfad3aa3fd7d93b757e9b1&cb=jQuery371045745102863162_1727593084438&g=1&sc=116%2402318&_=1727593084478", {
12
- "headers": {
13
- "accept": "*/*",
14
- "accept-language": "zh-CN,zh;q=0.9",
15
- "sec-ch-ua": "\"Google Chrome\";v=\"129\", \"Not=A?Brand\";v=\"8\", \"Chromium\";v=\"129\"",
16
- "sec-ch-ua-mobile": "?0",
17
- "sec-ch-ua-platform": "\"Windows\"",
18
- "sec-fetch-dest": "script",
19
- "sec-fetch-mode": "no-cors",
20
- "sec-fetch-site": "same-site",
21
- "cookie": "qgqp_b_id=1e0d79428176ed54bef8434efdc0e8c3; mtp=1; uidal=4253366368931142%e8%82%a1%e5%8f%8b9x56I87727; sid=170711377; vtpst=|; ct=RWJFw3nWsBRloTBCLgO5XX6b48IHj3YiKY0QS2Rn8Vfd14sSHK9v5TAE6wdXndSvskLTqiayWrbw-mHS3wZlLy2Yc0esK7P2WtX_3Pqn_B1ylw0W31ydNOmfMwGdtJEoT8uYVZnOEEKgjGvsZCtXUb5wILUoxwMcjk0Hrjl9meE; ut=FobyicMgeV4IrDnpDeOA2wpy4pz6RNWo-uhd_riT93xOIbOw4OZHlmA5Vsq1An23blEIFsYbBo6zcXjQmAQCxPwQfp4l_z7BCt0O6855lQWHyS4MObxDc9OT11B8PwrZNPxhfY4pQTRMYaXM2aMm0OAXZC-IygpxHk_p83BOWxVYorT-4HoQoLQmix2dcuVG8rd3LKTfjvRJK1zYPIjO_NJe0i-8zEo4B9hmdMkFrGNMHwwG7gmaCZnSDk4s74uv_YstQro7JrrB-5MRdI-xNE9esdGNNM-V; pi=4253366368931142%3Bp4253366368931142%3B%E8%82%A1%E5%8F%8B9x56I87727%3BegTFGhjGzYty9yGOFjlPzZRWVTVOw5PhTyvveXmpLefHG1miuMYvM1XsvT7U3na1uMcMn4s5gPkVCyW%2BLXKU0x0uS%2FqCFE69ubBAbEhaxasiwYbaa9sTVn0HaPC9zWhLNGmoZxykSGh9Xa2aYfqcJeUU4vkPe13ExVrwbSNE44bd2%2B26NIgcGVt1pz7%2F%2FqA8v%2FhkxSn%2F%3BE0adByCvPsoKpsmXX7%2BD2ub2das13Adlj5OiUeTrvF9q6dN54F%2BA0odkH1EZtKjwdUmotY4JmR7x8EHTEoh6PghvOCGUbhm0GcDi2v0qYcBpokFHcQOaz9jIFd0uL1nfkMo96Fb4GWmv9mGrH5iPtjCEKz1bcA%3D%3D; xsb_history=404002%7C%u641C%u7279%u9000%u503A; HAList=ty-0-920019-%u94DC%u51A0%u77FF%u5EFA%2Cty-1-000001-%u4E0A%u8BC1%u6307%u6570%2Cty-0-002296-%u8F89%u714C%u79D1%u6280%2Cty-220-TM-%u5341%u503A%u4E3B%u8FDE%2Cty-0-300133-%u534E%u7B56%u5F71%u89C6%2Cty-0-159546-%u96C6%u6210%u7535%u8DEFETF%2Cty-1-510300-%u6CAA%u6DF1300ETF%2Cty-90-BK0895-%u7EF4%u751F%u7D20%2Cty-1-603777-%u6765%u4F0A%u4EFD%2Cty-90-BK0528-%u8F6C%u503A%u6807%u7684; websitepoptg_api_time=1727593081694; st_si=97341843359922; rskey=XQWMMOHNpaC9BZUFvKzFNYkduYVpvZ0pMQT09ilbyT; st_pvi=26930719093675; st_sp=2024-04-28%2017%3A27%3A05; st_inirUrl=https%3A%2F%2Fcn.bing.com%2F; st_sn=2; st_psi=20240929145804510-113200301712-1483040302; st_asi=20240929145804510-113200301712-1483040302-Web_so_ss-12",
22
- "Referer": "https://quote.eastmoney.com/zixuan/?from=home",
23
- "Referrer-Policy": "unsafe-url"
24
- },
25
- "body": null,
26
- "method": "GET"
27
- });