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

@@ -14,6 +14,7 @@ import mns_common.component.k_line.patterns.k_line_patterns_service_api as k_lin
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
16
  import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
17
+ import mns_scheduler.k_line.clean.recent_hot_stocks_clean_service as recent_hot_stocks_clean_service
17
18
 
18
19
  mongodb_util = MongodbUtil('27017')
19
20
  # 排除最近10天有三个连板的股票
@@ -152,6 +153,9 @@ def handle_day_line(k_line_info, str_day, symbol):
152
153
  k_line_info = check_recent_zt_stock(str_day, k_line_info)
153
154
  # 计算 昨日最高点到开盘涨幅差值 and # 昨日最高点到当日收盘涨幅之间的差值
154
155
  k_line_info = calculate_chg_diff_value(k_line_info)
156
+
157
+ recent_hot_stocks_clean_service.calculate_recent_hot_stocks(stock_qfq_daily, symbol, str_day)
158
+
155
159
  return k_line_info
156
160
 
157
161
 
@@ -17,7 +17,7 @@ import mns_common.component.common_service_fun_api as common_service_fun_api
17
17
  import mns_scheduler.k_line.sync.daily_week_month_line_sync as daily_week_month_line_sync_api
18
18
  import mns_scheduler.k_line.clean.k_line_info_clean_impl as k_line_info_clean_impl
19
19
  import mns_common.utils.data_frame_util as data_frame_util
20
-
20
+ import mns_common.component.company.company_common_service_api as company_common_service_api
21
21
  K_LINE_CLEAN_DB_NAME = 'k_line_clean_fail_name'
22
22
 
23
23
  # 定义一个全局锁,用于保护 result 变量的访问
@@ -47,8 +47,8 @@ def sync_k_line_info(str_day, symbol_list):
47
47
  if symbol_list is not None:
48
48
  for symbol in symbol_list:
49
49
  try:
50
- query = {'symbol': symbol}
51
- company_info_df = mongodb_util.find_query_data('company_info', query)
50
+ company_df = company_common_service_api.get_company_info_industry_list_date()
51
+ company_info_df = company_df.loc[company_df['_id'] == symbol]
52
52
  if data_frame_util.is_not_empty(company_info_df):
53
53
 
54
54
  # 将日期数值转换为日期时间格式
@@ -184,6 +184,6 @@ def clean_history_data():
184
184
 
185
185
 
186
186
  if __name__ == '__main__':
187
- sync_k_line_info("2024-01-04",['000001'])
187
+ sync_k_line_info("2024-05-24", None)
188
188
  # clean_history_data()
189
189
  # sync_k_line_info("2023-12-22")
@@ -0,0 +1,66 @@
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
+ import pandas as pd
10
+ import mns_common.utils.date_handle_util as date_handle_util
11
+ import mns_common.constant.db_name_constant as db_name_constant
12
+ from mns_common.db.MongodbUtil import MongodbUtil
13
+ import mns_common.component.company.company_common_service_api as company_common_service_api
14
+
15
+ mongodb_util = MongodbUtil('27017')
16
+ # 高涨幅阈值
17
+ HIGH_CHG = 50
18
+
19
+
20
+ # 最近大涨股票
21
+ def calculate_recent_hot_stocks(stock_qfq_daily_60, symbol, str_day):
22
+ company_df = company_common_service_api.get_company_info_industry_list_date()
23
+ company_one_df = company_df.loc[company_df['_id'] == symbol]
24
+ company_one_df['list_date_01'] = pd.to_datetime(company_one_df['list_date'], format='%Y%m%d')
25
+ list_date = list(company_one_df['list_date_01'])[0]
26
+
27
+ str_list_date = date_handle_util.no_slash_date(list_date.strftime('%Y-%m-%d'))
28
+ # 排除上市第一天的数据
29
+ stock_qfq_daily_60 = stock_qfq_daily_60.loc[stock_qfq_daily_60['date'] > str_list_date]
30
+
31
+ stock_qfq_daily_05 = stock_qfq_daily_60.iloc[0:5]
32
+
33
+ stock_qfq_daily_10 = stock_qfq_daily_60.iloc[0:10]
34
+
35
+ stock_qfq_daily_20 = stock_qfq_daily_60.iloc[0:20]
36
+
37
+ stock_qfq_daily_30 = stock_qfq_daily_60.iloc[0:30]
38
+ sum_five_chg = round(sum(stock_qfq_daily_05['chg']), 2)
39
+ sum_ten_chg = round(sum(stock_qfq_daily_10['chg']), 2)
40
+
41
+ sum_twenty_chg = round(sum(stock_qfq_daily_20['chg']), 2)
42
+
43
+ sum_thirty_chg = round(sum(stock_qfq_daily_30['chg']), 2)
44
+
45
+ sum_sixty_chg = round(sum(stock_qfq_daily_60['chg']), 2)
46
+ if (sum_sixty_chg >= HIGH_CHG
47
+ or sum_ten_chg >= HIGH_CHG
48
+ or sum_twenty_chg >= HIGH_CHG
49
+ or sum_thirty_chg >= HIGH_CHG
50
+ or sum_sixty_chg >= HIGH_CHG):
51
+ query = {'symbol': symbol}
52
+ company_info_df = mongodb_util.find_query_data(db_name_constant.COMPANY_INFO, query)
53
+ name = list(company_info_df['name'])[0]
54
+ hot_stocks_dict = {
55
+ "_id": str_day + "_" + symbol,
56
+ "symbol": symbol,
57
+ "name": name,
58
+ "str_day": str_day,
59
+ "sum_five_chg": sum_five_chg,
60
+ "sum_ten_chg": sum_ten_chg,
61
+ "sum_twenty_chg": sum_twenty_chg,
62
+ "sum_thirty_chg": sum_thirty_chg,
63
+ "sum_sixty_chg": sum_sixty_chg,
64
+ }
65
+ hot_stocks_df = pd.DataFrame(hot_stocks_dict, index=[1])
66
+ mongodb_util.save_mongo(hot_stocks_df, db_name_constant.RECENT_HOT_STOCKS)
@@ -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,18 @@
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
+ import akshare as ak
10
+
11
+ # 当天龙虎榜股票
12
+ stock_lhb_detail_em_df = ak.stock_lhb_detail_em(start_date="20240520", end_date="20240522")
13
+ print(stock_lhb_detail_em_df)
14
+
15
+ # 000560 某只股票当天龙虎榜详情
16
+ stock_lhb_stock_detail_em_df = ak.stock_lhb_stock_detail_em(symbol="600383", date="20240521", flag="买入")
17
+ stock_lhb_stock_detail_em_df = ak.stock_lhb_stock_detail_em(symbol="600383", date="20240521", flag="卖出")
18
+ print(stock_lhb_stock_detail_em_df)
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.5.4
3
+ Version: 1.0.5.5
4
4
 
@@ -47,8 +47,9 @@ mns_scheduler/irm/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg
47
47
  mns_scheduler/irm/stock_irm_cninfo_service.py,sha256=yl6A6eknmfgHWZB5EdeHeUalEGX3D7Cmw3gbBnhtsuk,2086
48
48
  mns_scheduler/k_line/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
49
49
  mns_scheduler/k_line/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
50
- mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=t1arXrYeAGrkiCMVpXSQEBZowmKMPYikDTwPot-bJWY,22057
51
- mns_scheduler/k_line/clean/k_line_info_clean_service.py,sha256=zsb6HmyD4eqN7b135S4UgFR8U1vBLwqEZA1kIc8RuQ0,7988
50
+ mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=2xk7gzLX728PRTKUgx2sXoyPKDu-xGAvNpefgeBBd2w,22262
51
+ mns_scheduler/k_line/clean/k_line_info_clean_service.py,sha256=k75D_NfkVQMzo3m8qydkrv6nRGnQiAo6eiWzValQPSc,8118
52
+ mns_scheduler/k_line/clean/recent_hot_stocks_clean_service.py,sha256=whm-pYhAd_7OKurIw2cteBwWse5vVXS88lcrTbbcSaE,2628
52
53
  mns_scheduler/k_line/sync/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
53
54
  mns_scheduler/k_line/sync/daily_week_month_line_sync.py,sha256=MsBY-GtDXu9Eyd2nYanvSsLSTFnXIUq0BlQG4ptknqQ,5652
54
55
  mns_scheduler/kpl/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
@@ -60,6 +61,8 @@ mns_scheduler/kpl/selection/symbol/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3Z
60
61
  mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py,sha256=kUKs0SWCqekhvV0o5A1pDv0Nw4x6VTS-ij0AryzKe8w,4679
61
62
  mns_scheduler/kpl/selection/total/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
62
63
  mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py,sha256=WRK-Pu0-7ub9q1n5TK406_sAGQwOEUl2CZLu9suo70k,10461
64
+ mns_scheduler/lhb/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
65
+ mns_scheduler/lhb/stock_lhb_sync_service.py,sha256=NIW0jX23N1dCEdsrKwt7MyzXSfhU7vXNpIO04dUSZwc,641
63
66
  mns_scheduler/real_time/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
64
67
  mns_scheduler/real_time/realtime_quotes_now_create_db_index.py,sha256=qQCjcsG3WYgn3zemS45Ms0AHtbkCwlSVPPCntxVvK8Q,1066
65
68
  mns_scheduler/real_time/realtime_quotes_now_sync.py,sha256=XIz454cysRO-xfdgsEw3glR0LgTxFdZoCNONd4O7EgM,9165
@@ -81,7 +84,7 @@ mns_scheduler/zt/zt_pool_sync_api.py,sha256=RrVAbU1u-HTqXF9BSwNlzIxMHrUgjNaLpDKF
81
84
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
82
85
  mns_scheduler/zz_task/data_sync_task.py,sha256=ftMN3POBxSRz9qPh4BjLJB-3VU3yVlZxZxOLD-l2lIU,16262
83
86
  mns_scheduler/zz_task/sync_realtime_quotes_task.py,sha256=DN3bq2XCDZC-PHlbD2NTog48bR44EruIEc2QVGKg7Tk,932
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,,
87
+ mns_scheduler-1.0.5.5.dist-info/METADATA,sha256=piGwgGHRH-DLPnDMDkbIydK4NYbkPeJLilC8k1qxEyE,64
88
+ mns_scheduler-1.0.5.5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
89
+ mns_scheduler-1.0.5.5.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
90
+ mns_scheduler-1.0.5.5.dist-info/RECORD,,