mns-scheduler 1.0.4.0__tar.gz → 1.0.4.3__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.

Potentially problematic release.


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

Files changed (76) hide show
  1. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/PKG-INFO +1 -1
  2. mns-scheduler-1.0.4.3/mns_scheduler/concept/clean/ths_concept_clean_api.py +113 -0
  3. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zz_task/data_sync_task.py +1 -1
  4. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler.egg-info/PKG-INFO +1 -1
  5. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/setup.py +1 -1
  6. mns-scheduler-1.0.4.0/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -62
  7. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/README.md +0 -0
  8. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/__init__.py +0 -0
  9. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/__init__.py +0 -0
  10. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/app/__init__.py +0 -0
  11. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/app/ths_new_concept_sync_app.py +0 -0
  12. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/em/__init__.py +0 -0
  13. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
  14. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
  15. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
  16. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/wen_cai/__init__.py +0 -0
  17. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py +0 -0
  18. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/big_deal/__init__.py +0 -0
  19. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
  20. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/company_info/__init__.py +0 -0
  21. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/company_info/company_constant_data.py +0 -0
  22. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/company_info/company_info_sync_api.py +0 -0
  23. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/__init__.py +0 -0
  24. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/clean/__init__.py +0 -0
  25. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/__init__.py +0 -0
  26. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/common/__init__.py +0 -0
  27. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
  28. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
  29. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
  30. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_by_ak_api.py +0 -0
  31. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/sync_new_index/sync_ths_new_concept_by_web_api.py +0 -0
  32. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
  33. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
  34. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
  35. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/db/__init__.py +0 -0
  36. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/db/col_move_service.py +0 -0
  37. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/db/db_status.py +0 -0
  38. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/dt/__init__.py +0 -0
  39. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
  40. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/finance/__init__.py +0 -0
  41. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/k_line/__init__.py +0 -0
  42. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/k_line/clean/__init__.py +0 -0
  43. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
  44. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/k_line/clean/k_line_info_clean_service.py +0 -0
  45. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/k_line/sync/__init__.py +0 -0
  46. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
  47. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/__init__.py +0 -0
  48. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/selection/__init__.py +0 -0
  49. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
  50. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
  51. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
  52. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
  53. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
  54. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
  55. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
  56. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/real_time/__init__.py +0 -0
  57. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -0
  58. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
  59. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/trade/__init__.py +0 -0
  60. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
  61. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
  62. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/trade/sync_position_api.py +0 -0
  63. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zb/__init__.py +0 -0
  64. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
  65. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zt/__init__.py +0 -0
  66. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zt/export_open_data_to_excel.py +0 -0
  67. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py +0 -0
  68. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zt/today_high_chg_pool_sync_api.py +0 -0
  69. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zt/zt_five_boards_sync_api.py +0 -0
  70. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zt/zt_pool_sync_api.py +0 -0
  71. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zz_task/__init__.py +0 -0
  72. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
  73. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler.egg-info/SOURCES.txt +0 -0
  74. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler.egg-info/dependency_links.txt +0 -0
  75. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/mns_scheduler.egg-info/top_level.txt +0 -0
  76. {mns-scheduler-1.0.4.0 → mns-scheduler-1.0.4.3}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.4.0
3
+ Version: 1.0.4.3
@@ -0,0 +1,113 @@
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
+ from mns_common.db.MongodbUtil import MongodbUtil
9
+ import pandas as pd
10
+ import mns_common.api.ths.ths_stock_api as ths_stock_api
11
+ import time
12
+ from loguru import logger
13
+ import mns_common.component.company.company_common_service_api as company_common_service_api
14
+ import mns_common.constant.db_name_constant as db_name_constant
15
+
16
+ mongodb_util = MongodbUtil('27017')
17
+
18
+
19
+ # 统计概念数量
20
+ def update_concept_num():
21
+ ths_concept_list = mongodb_util.find_all_data(db_name_constant.THS_CONCEPT_LIST)
22
+ for ths_concept_one in ths_concept_list.itertuples():
23
+ try:
24
+ query = {'concept_code': ths_concept_one.symbol}
25
+ ths_stock_concept_detail_df = (mongodb_util
26
+ .find_query_data(db_name_constant.THS_STOCK_CONCEPT_DETAIL, query))
27
+ concept_count = ths_stock_concept_detail_df.shape[0]
28
+ ths_concept_list_one_df = ths_concept_list.loc[ths_concept_list['symbol'] == ths_concept_one.symbol]
29
+ ths_concept_list_one_df['concept_count'] = concept_count
30
+
31
+ ths_stock_concept_detail_df = ths_stock_concept_detail_df.reset_index(drop=True)
32
+ if 'industry' in ths_stock_concept_detail_df.columns:
33
+ del ths_stock_concept_detail_df['industry']
34
+
35
+ company_info_df = company_common_service_api.get_company_info_industry()
36
+ company_info_df = company_info_df[['_id', 'industry']]
37
+ company_info_df = company_info_df.loc[
38
+ company_info_df['_id'].isin(list(ths_stock_concept_detail_df['symbol']))]
39
+ company_info_df = company_info_df.set_index(['_id'], drop=True)
40
+
41
+ ths_stock_concept_detail_df = ths_stock_concept_detail_df.set_index(['symbol'], drop=False)
42
+ ths_stock_concept_detail_df = pd.merge(ths_stock_concept_detail_df, company_info_df,
43
+ how='outer',
44
+ left_index=True, right_index=True)
45
+ ths_stock_concept_detail_df.dropna(subset=['industry'], axis=0, inplace=True)
46
+
47
+ grouped = ths_stock_concept_detail_df.groupby('industry')
48
+ result_list = grouped.size()
49
+ ths_concept_group = pd.DataFrame(result_list, columns=['number'])
50
+ ths_concept_group['industry'] = ths_concept_group.index
51
+ ths_concept_group = ths_concept_group.sort_values(by=['number'], ascending=False)
52
+ if ths_concept_group.shape[0] >= 2:
53
+ first_relevance_industry = list(ths_concept_group.iloc[0:1]['industry'])[0]
54
+ first_relevance_industry_number = list(ths_concept_group.iloc[0:1]['number'])[0]
55
+ second_relevance_industry = list(ths_concept_group.iloc[1:2]['industry'])[0]
56
+ second_relevance_industry_number = list(ths_concept_group.iloc[1:2]['number'])[0]
57
+ else:
58
+ first_relevance_industry = list(ths_concept_group.iloc[0:1]['industry'])[0]
59
+ first_relevance_industry_number = list(ths_concept_group.iloc[0:1]['number'])[0]
60
+ second_relevance_industry = '无'
61
+ second_relevance_industry_number = 0
62
+ ths_concept_list_one_df['first_relevance_industry'] = first_relevance_industry
63
+ ths_concept_list_one_df['second_relevance_industry'] = second_relevance_industry
64
+ ths_concept_list_one_df['first_relevance_industry_number'] = first_relevance_industry_number
65
+ ths_concept_list_one_df['second_relevance_industry_number'] = second_relevance_industry_number
66
+
67
+ ths_stock_concept_detail_df['first_relevance_industry'] = first_relevance_industry
68
+ ths_stock_concept_detail_df['second_relevance_industry'] = second_relevance_industry
69
+
70
+ mongodb_util.save_mongo(ths_concept_list_one_df, db_name_constant.THS_CONCEPT_LIST)
71
+ mongodb_util.save_mongo(ths_stock_concept_detail_df, db_name_constant.THS_STOCK_CONCEPT_DETAIL)
72
+
73
+ except BaseException as e:
74
+ logger.error("更新概念信息异常:{},{}", e, ths_concept_one.name)
75
+
76
+
77
+ # 更新空名字
78
+ def update_null_name():
79
+ query = {"_id": {'$gte': 886025}}
80
+ ths_concept_list = mongodb_util.find_query_data('ths_concept_list', query)
81
+ ths_concept_list = ths_concept_list.sort_values(by=['_id'], ascending=False)
82
+
83
+ for concept_one in ths_concept_list.itertuples():
84
+ concept_code = concept_one.symbol
85
+ name = concept_one.name
86
+ exist_url = concept_one.url
87
+
88
+ if name == '':
89
+ concept_name = ths_stock_api.get_concept_name(concept_code)
90
+ query_concept = {"symbol": concept_code}
91
+ new_values = {'$set': {"name": concept_name}}
92
+ mongodb_util.update_one_query(query_concept, new_values, 'ths_concept_list')
93
+
94
+ new_values_detail = {'$set': {"concept_name": concept_name}}
95
+
96
+ query_concept_detail = {"concept_code": concept_code}
97
+
98
+ mongodb_util.update_many(query_concept_detail, new_values_detail, 'ths_stock_concept_detail')
99
+ time.sleep(10)
100
+
101
+ if exist_url == '' or pd.isna(exist_url):
102
+ url = 'http://q.10jqka.com.cn/thshy/detail/code/' + str(concept_code)
103
+ str_now_time = concept_one.str_day + " " + "00:00:00"
104
+ query_concept = {"symbol": concept_code}
105
+ new_values = {'$set': {"url": url, "str_now_time": str_now_time}}
106
+ mongodb_util.update_one_query(query_concept, new_values, 'ths_concept_list')
107
+
108
+
109
+ if __name__ == '__main__':
110
+ logger.info("开始")
111
+ update_concept_num()
112
+ logger.info("结束")
113
+ update_null_name()
@@ -347,7 +347,7 @@ blockingScheduler.add_job(sync_today_trade_k_line_info, 'cron', hour='08', minut
347
347
  blockingScheduler.add_job(sync_stock_gdfx_free_top_10_one_day, 'cron', hour='08,22', minute='23')
348
348
 
349
349
  # 更新同花顺概念信息
350
- blockingScheduler.add_job(ths_concept_info_clean, 'cron', hour='9,18', minute='01')
350
+ blockingScheduler.add_job(ths_concept_info_clean, 'cron', hour='9,12,20', minute='24')
351
351
 
352
352
  # 更新概念指数下所有股票组成 by 概念代码
353
353
  blockingScheduler.add_job(update_one_concept_all_symbol_detail, 'cron', hour='08,18,12', minute='30')
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.0.4.0
3
+ Version: 1.0.4.3
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns-scheduler',
5
- version='1.0.4.0',
5
+ version='1.0.4.3',
6
6
  packages=find_packages(),
7
7
  install_requires=[], # 如果有依赖项,可以在这里列出
8
8
  )
@@ -1,62 +0,0 @@
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
- from mns_common.db.MongodbUtil import MongodbUtil
9
- import pandas as pd
10
- import mns_common.api.ths.ths_stock_api as ths_stock_api
11
- import time
12
-
13
- mongodb_util = MongodbUtil('27017')
14
-
15
-
16
- # 统计概念数量
17
- def update_concept_num():
18
- ths_concept_list = mongodb_util.find_all_data('ths_concept_list')
19
- for ths_concept_one in ths_concept_list.itertuples():
20
- query = {'concept_code': ths_concept_one.symbol}
21
- concept_count = (mongodb_util
22
- .count(query, 'ths_stock_concept_detail'))
23
- ths_concept_list_one_df = ths_concept_list.loc[ths_concept_list['symbol'] == ths_concept_one.symbol]
24
- ths_concept_list_one_df['concept_count'] = concept_count
25
- mongodb_util.save_mongo(ths_concept_list_one_df, 'ths_concept_list')
26
-
27
-
28
- # 更新空名字
29
- def update_null_name():
30
- query = {"_id": {'$gte': 886025}}
31
- ths_concept_list = mongodb_util.find_query_data('ths_concept_list', query)
32
- ths_concept_list = ths_concept_list.sort_values(by=['_id'], ascending=False)
33
-
34
- for concept_one in ths_concept_list.itertuples():
35
- concept_code = concept_one.symbol
36
- name = concept_one.name
37
- exist_url = concept_one.url
38
-
39
- if name == '':
40
- concept_name = ths_stock_api.get_concept_name(concept_code)
41
- query_concept = {"symbol": concept_code}
42
- new_values = {'$set': {"name": concept_name}}
43
- mongodb_util.update_one_query(query_concept, new_values, 'ths_concept_list')
44
-
45
- new_values_detail = {'$set': {"concept_name": concept_name}}
46
-
47
- query_concept_detail = {"concept_code": concept_code}
48
-
49
- mongodb_util.update_many(query_concept_detail, new_values_detail, 'ths_stock_concept_detail')
50
- time.sleep(10)
51
-
52
- if exist_url == '' or pd.isna(exist_url):
53
- url = 'http://q.10jqka.com.cn/thshy/detail/code/' + str(concept_code)
54
- str_now_time = concept_one.str_day + " " + "00:00:00"
55
- query_concept = {"symbol": concept_code}
56
- new_values = {'$set': {"url": url, "str_now_time": str_now_time}}
57
- mongodb_util.update_one_query(query_concept, new_values, 'ths_concept_list')
58
-
59
-
60
- if __name__ == '__main__':
61
- update_null_name()
62
- update_concept_num()