mns-scheduler 1.0.5.1__py3-none-any.whl → 1.0.5.4__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-scheduler might be problematic. Click here for more details.

mns_scheduler/__init__.py CHANGED
@@ -4,4 +4,5 @@ import os
4
4
  file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
- sys.path.append(project_path)
7
+ sys.path.append(project_path)
8
+
@@ -19,6 +19,8 @@ import mns_common.api.kpl.symbol.kpl_real_time_quotes_api as kpl_real_time_quote
19
19
  import mns_common.utils.data_frame_util as data_frame_util
20
20
  import mns_common.api.kpl.constant.kpl_constant as kpl_constant
21
21
  import mns_common.component.company.company_common_service_api as company_common_service_api
22
+ import mns_common.constant.db_name_constant as db_name_constant
23
+ import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
22
24
 
23
25
  mongodb_util = MongodbUtil('27017')
24
26
  # 分页大小
@@ -89,6 +91,7 @@ def filed_sort(company_info):
89
91
  "holder_controller_rate",
90
92
  "area",
91
93
  "list_date",
94
+ "deal_days",
92
95
  "pe_ttm",
93
96
  "pb",
94
97
  "ROE",
@@ -196,13 +199,28 @@ def fix_company_industry(symbol):
196
199
  try:
197
200
  company_info.dropna(subset=['symbol'], axis=0, inplace=True)
198
201
  company_info.dropna(subset=['_id'], axis=0, inplace=True)
199
- mongodb_util.save_mongo(company_info, 'company_info')
202
+ mongodb_util.save_mongo(company_info, db_name_constant.COMPANY_INFO)
203
+ # 保存历史数据
204
+ save_company_info_his(company_info)
200
205
  except BaseException as e:
201
206
  logger.error("出现异常:{},{}", symbol, e)
202
207
 
203
208
  return company_info
204
209
 
205
210
 
211
+ def save_company_info_his(company_info_df):
212
+ now_date = datetime.now()
213
+ str_day = now_date.strftime('%Y-%m-%d')
214
+ company_info_df['symbol'] = company_info_df['_id']
215
+ company_info_df['str_day'] = str_day
216
+ company_info_df['_id'] = company_info_df['_id'] + "_" + str_day
217
+ remove_query = {'str_day': str_day}
218
+ tag = mongodb_util.remove_data(remove_query, db_name_constant.COMPANY_INFO_HIS)
219
+ success = tag.acknowledged
220
+ if success:
221
+ mongodb_util.insert_mongo(company_info_df, db_name_constant.COMPANY_INFO_HIS)
222
+
223
+
206
224
  def sync_company_base_info(symbol_list):
207
225
  global result
208
226
  result = []
@@ -310,7 +328,10 @@ def single_thread_sync_company_info(east_money_stock_info,
310
328
  company_info_type['kpl_plate_list_info'] = '-'
311
329
  company_info_type['kpl_plate_name'] = '-'
312
330
  company_info_type['kpl_most_relative_name'] = '-'
313
-
331
+ now_date = datetime.now()
332
+ str_day = now_date.strftime('%Y-%m-%d')
333
+ deal_days = k_line_common_service_api.get_deal_days(str_day, company_one.symbol)
334
+ company_info_type['deal_days'] = deal_days
314
335
  try:
315
336
  if data_frame_util.is_not_empty(kpl_real_time_quotes):
316
337
  kpl_real_time_quotes_one = kpl_real_time_quotes.loc[
@@ -472,6 +493,6 @@ if __name__ == '__main__':
472
493
  # 300293
473
494
  # sync_company_base_info(None)
474
495
  # new_company_info_update()
475
- sync_company_base_info(['300483'])
476
- fix_company_industry('300483')
496
+ sync_company_base_info(None)
497
+ fix_company_industry(None)
477
498
  # group_by_industry()
@@ -0,0 +1,7 @@
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)
@@ -0,0 +1,42 @@
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
+ import akshare as ak
9
+ import mns_common.utils.data_frame_util as data_frame_util
10
+ import pandas as pd
11
+ from loguru import logger
12
+
13
+
14
+ # 获取股票提问 互动易-提问
15
+ def get_stock_irm_cninfo(symbol):
16
+ try:
17
+ stock_irm_cninfo_df = ak.stock_irm_cninfo(symbol)
18
+ except Exception as e:
19
+ logger.error("获取提问者异常:{},{}", symbol, e)
20
+ return pd.DataFrame()
21
+ if data_frame_util.is_empty(stock_irm_cninfo_df):
22
+ return pd.DataFrame()
23
+ stock_irm_cninfo_df = stock_irm_cninfo_df.rename(columns={"股票代码": "symbol",
24
+ "公司简称": "name",
25
+ "行业": "industry",
26
+ "行业代码": "industry_code",
27
+ "问题": "question",
28
+ '提问者': "questioner",
29
+ '来源': "source",
30
+ '提问时间': "question_time",
31
+ '更新时间': "update_time",
32
+ "提问者编号": "questioner_no",
33
+ "问题编号": "question_no",
34
+ "回答ID": "answer_id",
35
+ "回答内容": "answer_content",
36
+ "回答者": "answer"
37
+ })
38
+ return stock_irm_cninfo_df
39
+
40
+
41
+ if __name__ == '__main__':
42
+ get_stock_irm_cninfo('301191')
@@ -13,6 +13,7 @@ import mns_common.utils.date_handle_util as date_handle_util
13
13
  import mns_common.component.k_line.patterns.k_line_patterns_service_api as k_line_patterns_service
14
14
  import mns_common.component.k_line.clean.sh_small_normal_zt_k_line_check_api as sh_small_normal_zt_k_line_check_api
15
15
  import mns_common.component.classify.symbol_classify_api as symbol_classify_api
16
+ import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
16
17
 
17
18
  mongodb_util = MongodbUtil('27017')
18
19
  # 排除最近10天有三个连板的股票
@@ -119,11 +120,11 @@ def handle_week_line(k_line_info, str_day, symbol):
119
120
 
120
121
  # 处理日线
121
122
  def handle_day_line(k_line_info, str_day, symbol):
122
- # 当天没有k线数据时 进行同步
123
- query = {"symbol": symbol, 'date': {"$lt": date_handle_util.no_slash_date(str_day)}}
124
- deal_days = mongodb_util.count(query, 'stock_qfq_daily')
123
+ deal_days = k_line_common_service_api.get_deal_days(str_day, symbol)
125
124
 
126
125
  # 取五天刚好包含一周 todo 选择60天的历史记录
126
+ # 当天没有k线数据时 进行同步
127
+ query = {"symbol": symbol, 'date': {"$lt": date_handle_util.no_slash_date(str_day)}}
127
128
  stock_qfq_daily = mongodb_util.descend_query(query, 'stock_qfq_daily', 'date', 60)
128
129
  if stock_qfq_daily.shape[0] == 0:
129
130
  return k_line_info
@@ -406,15 +407,18 @@ def set_history_list(stock_qfq_daily_one, stock_qfq_daily):
406
407
  stock_qfq_daily_ten = stock_qfq_daily.iloc[0:10]
407
408
  # 计算 amount 的标准差
408
409
  std_amount_ten = round(stock_qfq_daily_ten['amount_level'].std(), 2)
410
+ # 计算 amount 的平均值
409
411
  mean_amount_ten = round(stock_qfq_daily_ten['amount_level'].mean(), 2)
410
412
 
411
413
  if daily_num >= 30:
412
414
  stock_qfq_daily_thirty = stock_qfq_daily.iloc[0:30]
413
415
  # 计算 amount 的标准差
414
416
  std_amount_thirty = round(stock_qfq_daily_thirty['amount_level'].std(), 2)
417
+ # 计算 amount 的平均值
415
418
  mean_amount_thirty = round(stock_qfq_daily_thirty['amount_level'].mean(), 2)
416
419
  if daily_num >= 60:
417
420
  std_amount_sixty = round(stock_qfq_daily['amount_level'].std(), 2)
421
+ # 计算 amount 的平均值
418
422
  mean_amount_sixty = round(stock_qfq_daily['amount_level'].mean(), 2)
419
423
 
420
424
  # text = list(stock_qfq_daily_one['history_data'])[0]
@@ -0,0 +1,32 @@
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
+ # 股权质押 https://data.eastmoney.com/gpzy/pledgeRatio.aspx
10
+
11
+ import requests
12
+
13
+
14
+ def get_equity_mortgage():
15
+ url = (
16
+ 'https://datacenter-web.eastmoney.com/api/data/v1/get?callback=jQuery1123018114616341595302_1715993497168&sortColumns=PLEDGE_RATIO&sortTypes=-1'
17
+ '&pageSize=50000'
18
+ '&pageNumber=1'
19
+ '&reportName=RPT_CSDC_LIST&columns=ALL&quoteColumns=&source=WEB'
20
+ '&client=WEB'
21
+ '&filter=(TRADE_DATE%3D%272024-05-17%27)')
22
+
23
+ headers = {
24
+ "Content-Type": "application/json"
25
+ }
26
+ r = requests.post(url, headers=headers)
27
+ data_json = r.json()
28
+ print(data_json)
29
+
30
+
31
+ if __name__ == '__main__':
32
+ get_equity_mortgage()
@@ -5,3 +5,33 @@ file_path = os.path.abspath(__file__)
5
5
  end = file_path.index('mns') + 17
6
6
  project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
+ # from mns_common.db.MongodbUtil import MongodbUtil
9
+ # import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
10
+ #
11
+ # mongodb_util = MongodbUtil('27017')
12
+ # # query = {"deal_days": {"$exists": False}}
13
+ # deal_days = 8
14
+ # fail_id_list = []
15
+ # while True:
16
+ # query = {"deal_days": deal_days}
17
+ # realtime_quotes_now_zt_new_kc_open_df = mongodb_util.find_query_data('realtime_quotes_now_zt_new_kc_open', query)
18
+ #
19
+ # for stock_one in realtime_quotes_now_zt_new_kc_open_df.itertuples():
20
+ # try:
21
+ # str_day = stock_one.str_day
22
+ # deal_days = k_line_common_service_api.get_deal_days(str_day, stock_one.symbol)
23
+ #
24
+ # realtime_quotes_now_zt_new_kc_open_one = realtime_quotes_now_zt_new_kc_open_df.loc[
25
+ # (realtime_quotes_now_zt_new_kc_open_df['symbol'] == stock_one.symbol)
26
+ # & (realtime_quotes_now_zt_new_kc_open_df['str_day'] == stock_one.str_day)]
27
+ #
28
+ # realtime_quotes_now_zt_new_kc_open_one['deal_days'] = deal_days
29
+ #
30
+ # mongodb_util.save_mongo(realtime_quotes_now_zt_new_kc_open_one, 'realtime_quotes_now_zt_new_kc_open')
31
+ # except Exception as e:
32
+ # mongodb_util.insert_mongo(realtime_quotes_now_zt_new_kc_open_one, 'realtime_quotes_now_zt_new_kc_open_fail')
33
+ # print(stock_one.symbol)
34
+ # deal_days = deal_days + 1
35
+ # if deal_days > 3479:
36
+ # print(deal_days)
37
+ # break
@@ -17,6 +17,7 @@ import pandas as pd
17
17
  from datetime import time
18
18
  from mns_common.db.MongodbUtil import MongodbUtil
19
19
  import mns_common.utils.data_frame_util as data_frame_util
20
+ import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
20
21
 
21
22
  mongodb_util = MongodbUtil('27017')
22
23
  mongodb_util_21019 = MongodbUtil('27019')
@@ -223,6 +224,10 @@ def one_symbol_day_open_data(realtime_quotes_now_kc, kc_one, str_day):
223
224
  del realtime_quotes_now_zt_new_kc_open_copy['str_day_01']
224
225
  del realtime_quotes_now_zt_new_kc_open_copy['list_date_01']
225
226
 
227
+ deal_days = k_line_common_service_api.get_deal_days(str_day, kc_one.symbol)
228
+
229
+ realtime_quotes_now_zt_new_kc_open_copy['deal_days'] = deal_days
230
+
226
231
  mongodb_util.save_mongo(realtime_quotes_now_zt_new_kc_open_copy, 'realtime_quotes_now_zt_new_kc_open')
227
232
 
228
233
 
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.5.1
3
+ Version: 1.0.5.4
4
4
 
@@ -1,4 +1,4 @@
1
- mns_scheduler/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
1
+ mns_scheduler/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
2
2
  mns_scheduler/backup/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
3
3
  mns_scheduler/backup/app/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
4
4
  mns_scheduler/backup/app/ths_new_concept_sync_app.py,sha256=yBr3RN24zCWgmRVCKgY6fwm0tdJA5XKliK3CSB-75tY,5148
@@ -12,7 +12,7 @@ mns_scheduler/big_deal/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9
12
12
  mns_scheduler/big_deal/ths_big_deal_sync.py,sha256=wezGJWFRnKYBaPP9PVXLqMbHENOXgvJtw3HSGCSlX5c,4555
13
13
  mns_scheduler/company_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
14
14
  mns_scheduler/company_info/company_constant_data.py,sha256=g1SSGgNT5QsS-zUNW_zrXD3pZXgSkyjsFLZgWeh7daU,14306
15
- mns_scheduler/company_info/company_info_sync_api.py,sha256=-98TaiwfaeWromVQtJKlaDSA4bM5I5jdOKt9hLfNFEw,20539
15
+ mns_scheduler/company_info/company_info_sync_api.py,sha256=J7CwDMzw8oLadwslx7Jka5K5IRIRQVwTmL4tRXz-5mU,21598
16
16
  mns_scheduler/company_info/de_list_stock_service.py,sha256=GCp6hlvO-SuH1oIpEsYZwEnGUOa6fXb2D7CqAUYXKQA,1993
17
17
  mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
18
18
  mns_scheduler/concept/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -43,9 +43,11 @@ mns_scheduler/finance/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94t
43
43
  mns_scheduler/finance/test/fix_blask_list.py,sha256=sXmNcnfnjKHBylc27ysCCb9G4HYlFDAxOY4eHDnkIGE,1304
44
44
  mns_scheduler/hk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
45
45
  mns_scheduler/hk/hk_company_info_sync_service_api.py,sha256=JEfIl_up36b1UpDxfPhosP6_i2Lo17Ma_GHLytoMjWI,3661
46
+ mns_scheduler/irm/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
47
+ mns_scheduler/irm/stock_irm_cninfo_service.py,sha256=yl6A6eknmfgHWZB5EdeHeUalEGX3D7Cmw3gbBnhtsuk,2086
46
48
  mns_scheduler/k_line/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
47
49
  mns_scheduler/k_line/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
48
- mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=3NPu-bkBw5ARW2yoMAmf_-au6vxQdSjzGlT-l4dqV4w,21833
50
+ mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=t1arXrYeAGrkiCMVpXSQEBZowmKMPYikDTwPot-bJWY,22057
49
51
  mns_scheduler/k_line/clean/k_line_info_clean_service.py,sha256=zsb6HmyD4eqN7b135S4UgFR8U1vBLwqEZA1kIc8RuQ0,7988
50
52
  mns_scheduler/k_line/sync/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
51
53
  mns_scheduler/k_line/sync/daily_week_month_line_sync.py,sha256=MsBY-GtDXu9Eyd2nYanvSsLSTFnXIUq0BlQG4ptknqQ,5652
@@ -63,22 +65,23 @@ mns_scheduler/real_time/realtime_quotes_now_create_db_index.py,sha256=qQCjcsG3WY
63
65
  mns_scheduler/real_time/realtime_quotes_now_sync.py,sha256=XIz454cysRO-xfdgsEw3glR0LgTxFdZoCNONd4O7EgM,9165
64
66
  mns_scheduler/risk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
65
67
  mns_scheduler/risk/register_and_investigate_stock_sync_api.py,sha256=pjVGZbSWQn6obobaJxsXQK7jeRrNQJ6kcwStQEj9R18,5086
68
+ mns_scheduler/risk/stock_equity_mortgage_sync_api.py,sha256=MNj4kZ3VxxDwzFQjx-NuAGmOKcGnTaQIzGswdP_3pWc,871
66
69
  mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
67
70
  mns_scheduler/trade/auto_ipo_buy_api.py,sha256=QXNzFJGNGveVUcXBh0RRJb_HV7abbLYXRljezPJf9ZM,377
68
71
  mns_scheduler/trade/auto_sell_service_api.py,sha256=HaauZeOsuLNBrowXT8IKaSgWLR2Huott6mg_AoLhpUY,4423
69
72
  mns_scheduler/trade/sync_position_api.py,sha256=HmREr4H-PqlOdlNx3_SN6vRaRnhlaLCI6keSlYuXJHc,2739
70
73
  mns_scheduler/zb/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
71
74
  mns_scheduler/zb/stock_zb_pool_sync.py,sha256=ky3CNDzpjB6C_frCf4YGNXdidnUo-uUUKsJpY62P4Bk,1936
72
- mns_scheduler/zt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
75
+ mns_scheduler/zt/__init__.py,sha256=Rzolrn2R5RZIj-eOmu9KcL6oZBY9Wjz_uBFXPlzirQc,1641
73
76
  mns_scheduler/zt/export_open_data_to_excel.py,sha256=haOSmh-aXnScp58u0mLE_QvcWIIuRfwxgmyF-XQMk_U,4015
74
- mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py,sha256=yh_Ik-l2q11Ji4OU_24_invNDmd-JuqqbTvZqx4N8K4,17272
77
+ mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py,sha256=3CloQrZ5x3REesBsPYenl0wL0XXN8DtMbcngrBi5IgQ,17525
75
78
  mns_scheduler/zt/today_high_chg_pool_sync_api.py,sha256=KfEp2Mu8dZKB8DBai4m0UpZwgkiYpKfg_pdmWSECZwo,21283
76
79
  mns_scheduler/zt/zt_five_boards_sync_api.py,sha256=HfjPHKD99fU9c37kSenEX2_qNvFAjQGgy8ERuacSxwk,10916
77
80
  mns_scheduler/zt/zt_pool_sync_api.py,sha256=RrVAbU1u-HTqXF9BSwNlzIxMHrUgjNaLpDKFgXC1XuY,7604
78
81
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
79
82
  mns_scheduler/zz_task/data_sync_task.py,sha256=ftMN3POBxSRz9qPh4BjLJB-3VU3yVlZxZxOLD-l2lIU,16262
80
83
  mns_scheduler/zz_task/sync_realtime_quotes_task.py,sha256=DN3bq2XCDZC-PHlbD2NTog48bR44EruIEc2QVGKg7Tk,932
81
- mns_scheduler-1.0.5.1.dist-info/METADATA,sha256=zP_ZAZ1QotD3_f8XV5ki2-NtQjiAW7HTox9i6JXSLPs,64
82
- mns_scheduler-1.0.5.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
83
- mns_scheduler-1.0.5.1.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
84
- mns_scheduler-1.0.5.1.dist-info/RECORD,,
84
+ mns_scheduler-1.0.5.4.dist-info/METADATA,sha256=OyLc4UHODz7Sk4gFockOr5CkH98LCxjipGqPbOviZm0,64
85
+ mns_scheduler-1.0.5.4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
86
+ mns_scheduler-1.0.5.4.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
87
+ mns_scheduler-1.0.5.4.dist-info/RECORD,,