mns-scheduler 1.2.7.4__py3-none-any.whl → 1.2.7.6__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.

@@ -1,98 +1,98 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 17
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- import mns_common.utils.date_handle_util as date_handle_util
9
- from datetime import datetime, time, timedelta
10
- from loguru import logger
11
- import mns_common.utils.data_frame_util as data_frame_util
12
- from mns_common.db.MongodbUtil import MongodbUtil
13
- import mns_common.api.ths.big_deal.ths_big_deal_api as ths_big_deal_api
14
- import time as sleep_time
15
- import mns_common.constant.db_name_constant as db_name_constant
16
-
17
- mongodb_util = MongodbUtil('27017')
18
-
19
-
20
- #
21
- def get_last_number(str_day):
22
- query = {'str_day': str_day}
23
- big_deal_df = mongodb_util.descend_query(query, db_name_constant.BIG_DEAL_NAME, "number", 1)
24
- if data_frame_util.is_empty(big_deal_df):
25
- return 1
26
- else:
27
- return list(big_deal_df['number'])[0]
28
-
29
-
30
- def create_index():
31
- mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("symbol", 1)])
32
- mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("str_day", 1)])
33
- mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("symbol", 1), ("str_day", 1)])
34
- mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("number", 1), ("str_day", 1)])
35
-
36
-
37
- def sync_ths_big_deal(tag):
38
- create_index()
39
- now_date_begin = datetime.now()
40
- str_day_begin = now_date_begin.strftime('%Y-%m-%d')
41
- number = get_last_number(str_day_begin)
42
- while True:
43
- now_date = datetime.now()
44
- begin_date = now_date + timedelta(minutes=-2)
45
- if tag or date_handle_util.is_trade_time(now_date):
46
- try:
47
- str_day = now_date.strftime('%Y-%m-%d')
48
- str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
49
-
50
- begin_str_date = begin_date.strftime('%Y-%m-%d %H:%M:%S')
51
-
52
- target_time_09_30 = time(9, 30)
53
- if now_date.time() < target_time_09_30:
54
- continue
55
- ths_big_deal_df = ths_big_deal_api.stock_fund_flow_big_deal(begin_str_date, str_now_date)
56
- if data_frame_util.is_empty(ths_big_deal_df):
57
- sleep_time.sleep(10)
58
- continue
59
- ths_big_deal_df['str_day'] = ths_big_deal_df['deal_time'].str.slice(0, 10)
60
- ths_big_deal_df = ths_big_deal_df.loc[ths_big_deal_df['str_day'] == str_day]
61
- ths_big_deal_df['number'] = number
62
- ths_big_deal_df['amount_str'] = ths_big_deal_df.amount.astype(str)
63
- ths_big_deal_df['type'] = ths_big_deal_df['type'].replace('买盘', 'buy')
64
- ths_big_deal_df['type'] = ths_big_deal_df['type'].replace("卖盘", "sell")
65
-
66
- ths_big_deal_df["_id"] = (ths_big_deal_df['deal_time'] + "-" + ths_big_deal_df['symbol'] + "-"
67
- + ths_big_deal_df['amount_str'] + "-" + ths_big_deal_df['type'])
68
- ths_big_deal_df.drop_duplicates('_id', keep='last', inplace=True)
69
- ths_big_deal_df['sync_str_date'] = str_now_date
70
- # 设置卖盘为负数
71
- ths_big_deal_df.loc[ths_big_deal_df['type'] == 'sell', 'amount'] = -ths_big_deal_df.loc[
72
- ths_big_deal_df['type'] == 'sell', 'amount']
73
-
74
- ths_big_deal_df['chg'] = ths_big_deal_df['chg'].str.replace('%', '')
75
- ths_big_deal_df['chg'] = ths_big_deal_df['chg'].astype(float)
76
-
77
- del ths_big_deal_df['amount_str']
78
- exist_code_df = mongodb_util.find_query_data_choose_field(db_name_constant.BIG_DEAL_NAME,
79
- {},
80
- {"_id": 1})
81
- if data_frame_util.is_empty(exist_code_df):
82
- new_df = ths_big_deal_df
83
- else:
84
- exist_code_list = list(exist_code_df['_id'])
85
- new_df = ths_big_deal_df.loc[~(ths_big_deal_df['_id'].isin(exist_code_list))]
86
-
87
- if data_frame_util.is_empty(new_df):
88
- continue
89
- mongodb_util.insert_mongo(new_df, db_name_constant.BIG_DEAL_NAME)
90
- number = number + 1
91
- except Exception as e:
92
- logger.error('策略执行异常:{}', e)
93
- elif date_handle_util.is_close_time(now_date):
94
- break
95
-
96
-
97
- if __name__ == '__main__':
98
- sync_ths_big_deal(False)
1
+ # import sys
2
+ # import os
3
+ #
4
+ # file_path = os.path.abspath(__file__)
5
+ # end = file_path.index('mns') + 17
6
+ # project_path = file_path[0:end]
7
+ # sys.path.append(project_path)
8
+ # import mns_common.utils.date_handle_util as date_handle_util
9
+ # from datetime import datetime, time, timedelta
10
+ # from loguru import logger
11
+ # import mns_common.utils.data_frame_util as data_frame_util
12
+ # from mns_common.db.MongodbUtil import MongodbUtil
13
+ # import mns_common.api.ths.big_deal.ths_big_deal_api as ths_big_deal_api
14
+ # import time as sleep_time
15
+ # import mns_common.constant.db_name_constant as db_name_constant
16
+ #
17
+ # mongodb_util = MongodbUtil('27017')
18
+ #
19
+ #
20
+ # #
21
+ # def get_last_number(str_day):
22
+ # query = {'str_day': str_day}
23
+ # big_deal_df = mongodb_util.descend_query(query, db_name_constant.BIG_DEAL_NAME, "number", 1)
24
+ # if data_frame_util.is_empty(big_deal_df):
25
+ # return 1
26
+ # else:
27
+ # return list(big_deal_df['number'])[0]
28
+ #
29
+ #
30
+ # def create_index():
31
+ # mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("symbol", 1)])
32
+ # mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("str_day", 1)])
33
+ # mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("symbol", 1), ("str_day", 1)])
34
+ # mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("number", 1), ("str_day", 1)])
35
+ #
36
+ #
37
+ # def sync_ths_big_deal(tag):
38
+ # create_index()
39
+ # now_date_begin = datetime.now()
40
+ # str_day_begin = now_date_begin.strftime('%Y-%m-%d')
41
+ # number = get_last_number(str_day_begin)
42
+ # while True:
43
+ # now_date = datetime.now()
44
+ # begin_date = now_date + timedelta(minutes=-2)
45
+ # if tag or date_handle_util.is_trade_time(now_date):
46
+ # try:
47
+ # str_day = now_date.strftime('%Y-%m-%d')
48
+ # str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
49
+ #
50
+ # begin_str_date = begin_date.strftime('%Y-%m-%d %H:%M:%S')
51
+ #
52
+ # target_time_09_30 = time(9, 30)
53
+ # if now_date.time() < target_time_09_30:
54
+ # continue
55
+ # ths_big_deal_df = ths_big_deal_api.stock_fund_flow_big_deal(begin_str_date, str_now_date)
56
+ # if data_frame_util.is_empty(ths_big_deal_df):
57
+ # sleep_time.sleep(10)
58
+ # continue
59
+ # ths_big_deal_df['str_day'] = ths_big_deal_df['deal_time'].str.slice(0, 10)
60
+ # ths_big_deal_df = ths_big_deal_df.loc[ths_big_deal_df['str_day'] == str_day]
61
+ # ths_big_deal_df['number'] = number
62
+ # ths_big_deal_df['amount_str'] = ths_big_deal_df.amount.astype(str)
63
+ # ths_big_deal_df['type'] = ths_big_deal_df['type'].replace('买盘', 'buy')
64
+ # ths_big_deal_df['type'] = ths_big_deal_df['type'].replace("卖盘", "sell")
65
+ #
66
+ # ths_big_deal_df["_id"] = (ths_big_deal_df['deal_time'] + "-" + ths_big_deal_df['symbol'] + "-"
67
+ # + ths_big_deal_df['amount_str'] + "-" + ths_big_deal_df['type'])
68
+ # ths_big_deal_df.drop_duplicates('_id', keep='last', inplace=True)
69
+ # ths_big_deal_df['sync_str_date'] = str_now_date
70
+ # # 设置卖盘为负数
71
+ # ths_big_deal_df.loc[ths_big_deal_df['type'] == 'sell', 'amount'] = -ths_big_deal_df.loc[
72
+ # ths_big_deal_df['type'] == 'sell', 'amount']
73
+ #
74
+ # ths_big_deal_df['chg'] = ths_big_deal_df['chg'].str.replace('%', '')
75
+ # ths_big_deal_df['chg'] = ths_big_deal_df['chg'].astype(float)
76
+ #
77
+ # del ths_big_deal_df['amount_str']
78
+ # exist_code_df = mongodb_util.find_query_data_choose_field(db_name_constant.BIG_DEAL_NAME,
79
+ # {},
80
+ # {"_id": 1})
81
+ # if data_frame_util.is_empty(exist_code_df):
82
+ # new_df = ths_big_deal_df
83
+ # else:
84
+ # exist_code_list = list(exist_code_df['_id'])
85
+ # new_df = ths_big_deal_df.loc[~(ths_big_deal_df['_id'].isin(exist_code_list))]
86
+ #
87
+ # if data_frame_util.is_empty(new_df):
88
+ # continue
89
+ # mongodb_util.insert_mongo(new_df, db_name_constant.BIG_DEAL_NAME)
90
+ # number = number + 1
91
+ # except Exception as e:
92
+ # logger.error('策略执行异常:{}', e)
93
+ # elif date_handle_util.is_close_time(now_date):
94
+ # break
95
+ #
96
+ #
97
+ # if __name__ == '__main__':
98
+ # sync_ths_big_deal(False)
@@ -54,7 +54,7 @@ def sync_etf_one_minute(data_tag):
54
54
  one_min_df['_id'] = one_min_df['symbol'] + '_' + one_min_df['time']
55
55
  if data_frame_util.is_empty(one_min_df) or one_min_df.shape[0] < 241:
56
56
  symbol_handle_util.save_fail_data(now_day, symbol_prefix, col_name)
57
- logger.error("当前ETF数据同步异常:{}", symbol)
57
+ logger.error("当前ETF分钟数据同步异常:{}", symbol)
58
58
  continue
59
59
  else:
60
60
  del one_min_df['ava_price']
@@ -65,8 +65,8 @@ def sync_etf_one_minute(data_tag):
65
65
  except BaseException as e:
66
66
  time.sleep(2)
67
67
  symbol_handle_util.save_fail_data(now_day, symbol_prefix, col_name)
68
- logger.error("同步ETF数据出现异常:{},{},{}", e, symbol, now_day)
69
- logger.info("同步完ETF数据:{},{}", stock_one.symbol, stock_one.name)
68
+ logger.error("同步ETF分钟数据出现异常:{},{},{}", e, symbol, now_day)
69
+ logger.info("同步完ETF分钟数据:{},{}", stock_one.symbol, stock_one.name)
70
70
 
71
71
 
72
72
  def classify_symbol(etf_real_time_quotes):
@@ -57,7 +57,7 @@ def sync_main_index_one_minute(data_tag):
57
57
  one_min_df['symbol'] = symbol
58
58
  one_min_df['_id'] = one_min_df['symbol'] + '_' + one_min_df['time']
59
59
  if data_frame_util.is_empty(one_min_df) or one_min_df.shape[0] < 241:
60
- logger.error("当前沪深指数数据同步异常:{}", symbol)
60
+ logger.error("当前沪深指数分钟数据同步异常:{}", symbol)
61
61
  continue
62
62
  else:
63
63
  del one_min_df['ava_price']
@@ -66,8 +66,8 @@ def sync_main_index_one_minute(data_tag):
66
66
  else:
67
67
  mongodbUtilV2_27019.save_mongo(one_min_df, col_name)
68
68
  except BaseException as e:
69
- logger.error("沪深指数数据同步异常:{},{}", symbol, e)
70
- logger.info("沪深指数数据同步完成:{}", symbol)
69
+ logger.error("沪深指数分钟数据同步异常:{},{}", symbol, e)
70
+ logger.info("沪深指数分钟数据同步完成:{}", symbol)
71
71
 
72
72
 
73
73
  if __name__ == '__main__':
@@ -54,7 +54,7 @@ def sync_kzz_one_minute(data_tag):
54
54
  one_min_df['_id'] = one_min_df['symbol'] + '_' + one_min_df['time']
55
55
  if data_frame_util.is_empty(one_min_df) or one_min_df.shape[0] < 241:
56
56
  symbol_handle_util.save_fail_data(now_day, symbol_prefix, col_name)
57
- logger.error("当前可转债数据同步异常:{}", symbol)
57
+ logger.error("当前可转债分钟数据同步异常:{}", symbol)
58
58
  continue
59
59
  else:
60
60
  del one_min_df['ava_price']
@@ -65,8 +65,8 @@ def sync_kzz_one_minute(data_tag):
65
65
  except BaseException as e:
66
66
  time.sleep(2)
67
67
  symbol_handle_util.save_fail_data(now_day, symbol_prefix, col_name)
68
- logger.error("同步可转债数据出现异常:,{},{},{}", e, symbol, now_day)
69
- logger.info("同步完数据:{},{}", stock_one.symbol, stock_one.name)
68
+ logger.error("同步可转债分钟数据出现异常:,{},{},{}", e, symbol, now_day)
69
+ logger.info("同步完可转债分钟数据:{},{}", stock_one.symbol, stock_one.name)
70
70
 
71
71
 
72
72
  def classify_symbol(debt_real_time_quotes_df):
@@ -70,7 +70,7 @@ def sync_stock_one_minute(data_tag):
70
70
  one_min_df['_id'] = one_min_df['symbol'] + '_' + one_min_df['time']
71
71
  if data_frame_util.is_empty(one_min_df) or one_min_df.shape[0] < 241:
72
72
  symbol_handle_util.save_fail_data(now_day, symbol_prefix, col_name)
73
- logger.error("当前股票数据同步异常:{}", symbol)
73
+ logger.error("当前股票分钟数据同步异常:{}", symbol)
74
74
  continue
75
75
  else:
76
76
  del one_min_df['ava_price']
@@ -81,8 +81,8 @@ def sync_stock_one_minute(data_tag):
81
81
  except BaseException as e:
82
82
  time.sleep(2)
83
83
  symbol_handle_util.save_fail_data(now_day, symbol_prefix, col_name)
84
- logger.error("同步股票数据出现异常:,{},{},{}", e, symbol, now_day)
85
- logger.info("同步股票数据完数据:{},{}", stock_one.symbol, stock_one.name)
84
+ logger.error("同步股票分钟数据出现异常:,{},{},{}", e, symbol, now_day)
85
+ logger.info("同步股票分钟票数据完整:{},{}", stock_one.symbol, stock_one.name)
86
86
 
87
87
 
88
88
  if __name__ == '__main__':
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.7.4
3
+ Version: 1.2.7.6
4
4
 
@@ -1,6 +1,6 @@
1
1
  mns_scheduler/__init__.py,sha256=_nhtk1b00OsMAiqRATNrb3HD44RmgjSG5jqS-QLNMrQ,130
2
2
  mns_scheduler/big_deal/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
3
- mns_scheduler/big_deal/ths_big_deal_sync.py,sha256=aMFj-_pLprh4vGjSSzmr_tlYoPA0L4Lm0SkLRkQwIiw,4564
3
+ mns_scheduler/big_deal/ths_big_deal_sync.py,sha256=c3VmLEbEBB3uoQTFZ2HyOtijAiyVRP6wVgNgBS9EuVk,4744
4
4
  mns_scheduler/company_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
5
5
  mns_scheduler/company_info/announce/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
6
6
  mns_scheduler/company_info/announce/company_announce_sync_service.py,sha256=O0x0dqqnCmzzFenw4fShzWPAi_wegtvAZ9EB0ubrvnM,2808
@@ -58,13 +58,13 @@ mns_scheduler/extraIncome/one_minute/common/__init__.py,sha256=wEg73KlZo-dU0yKGw
58
58
  mns_scheduler/extraIncome/one_minute/common/db_create_index.py,sha256=WhCAaLNrrc4nuGpa_GW6qrWyml6I-Fk4E2jJRSbUUZw,323
59
59
  mns_scheduler/extraIncome/one_minute/common/symbol_handle_util.py,sha256=W5BbmAghEXag7yv6Cwdi0augJww2uMbHn0Z7mUW7O9Y,1275
60
60
  mns_scheduler/extraIncome/one_minute/etf/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
61
- mns_scheduler/extraIncome/one_minute/etf/etf_one_minute_sync_task.py,sha256=Gd13DHmUagvxC8dJ5vfh4R98QwO2kRrrjj76iw18Yuc,3682
61
+ mns_scheduler/extraIncome/one_minute/etf/etf_one_minute_sync_task.py,sha256=yHyBL3y2jlHuX6wR9kW3-ZPP-BTOdgY-53rK789p6cc,3700
62
62
  mns_scheduler/extraIncome/one_minute/index/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
63
- mns_scheduler/extraIncome/one_minute/index/main_index_sync_task.py,sha256=xWrTLDrP93S6EkTaCDtymrc65eAwOsKb1fuWAKd7EMA,2631
63
+ mns_scheduler/extraIncome/one_minute/index/main_index_sync_task.py,sha256=AbfHfbQznNa5w6zoElmYAI3iZpFtQGMdsLQZz-_7wF8,2649
64
64
  mns_scheduler/extraIncome/one_minute/kzz/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
65
- mns_scheduler/extraIncome/one_minute/kzz/kzz_one_minute_sync_task.py,sha256=dEb8k1_7rqd14xO45agALHz1nmTrPj-NzOlif9NHmeQ,3691
65
+ mns_scheduler/extraIncome/one_minute/kzz/kzz_one_minute_sync_task.py,sha256=3hbLesQkce_TeHkcIKqoNRR0TKcESo_g0tL7e_ZaeUk,3722
66
66
  mns_scheduler/extraIncome/one_minute/stock/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
67
- mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py,sha256=xP6KHUR0LLjU8-Hs00UiyWuPnnJgwvY0SKYKewdlzyc,4576
67
+ mns_scheduler/extraIncome/one_minute/stock/stock_one_minute_sync_task.py,sha256=II7yqa3FFaTZxnjV-9UTh0AD5EopQq_w-Xp4ZWAQerE,4594
68
68
  mns_scheduler/extraIncome/temp/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
69
69
  mns_scheduler/extraIncome/temp/tu_share_data_etf_sync.py,sha256=XBsLl4o1Ras1zUQBkJ2BAgWtPebqAf9VUu_kLEisGmQ,4464
70
70
  mns_scheduler/extraIncome/temp/tu_share_data_kzz_sync.py,sha256=A2Aa4TB2mgTHiDlW9_UpB0mdRCR_1sOTaPZKs-IBbXc,4850
@@ -175,7 +175,7 @@ mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=3OGBmWEX6G-fTuONgoB6Lu5x
175
175
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=1uoiR2Uw46kDfjkvNg2US5rd_4OIkYO3872gIJOufUY,2135
176
176
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
177
177
  mns_scheduler/zz_task/data_sync_task.py,sha256=MA2RfrM_neT3ElejjF34XXq3fUA8B01lVyJBuOHOYrc,23507
178
- mns_scheduler-1.2.7.4.dist-info/METADATA,sha256=xh4o3ZVd_CCVuMkMfOA8ZFma3D-xa4L4m7Tq2MrKMrk,64
179
- mns_scheduler-1.2.7.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
180
- mns_scheduler-1.2.7.4.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
181
- mns_scheduler-1.2.7.4.dist-info/RECORD,,
178
+ mns_scheduler-1.2.7.6.dist-info/METADATA,sha256=JNhRfn2QYkzpCeZTMqEle3QvQVWtNwWjCnkP0kUgnck,64
179
+ mns_scheduler-1.2.7.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
180
+ mns_scheduler-1.2.7.6.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
181
+ mns_scheduler-1.2.7.6.dist-info/RECORD,,