mns-common 1.2.6.2__tar.gz → 1.2.6.4__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-common might be problematic. Click here for more details.

Files changed (130) hide show
  1. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/PKG-INFO +1 -1
  2. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/app/ths_concept_index_app.py +33 -25
  3. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/zt/ths_stock_zt_pool_v2_api.py +14 -19
  4. mns_common-1.2.6.4/mns_common/component/tfp/__init__.py +7 -0
  5. mns_common-1.2.6.4/mns_common/component/tfp/stock_tfp_api.py +44 -0
  6. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common.egg-info/PKG-INFO +1 -1
  7. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common.egg-info/SOURCES.txt +2 -0
  8. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/setup.py +1 -1
  9. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/README.md +0 -0
  10. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/__init__.py +0 -0
  11. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/__init__.py +0 -0
  12. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/akshare/__init__.py +0 -0
  13. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/akshare/k_line_api.py +0 -0
  14. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/akshare/stock_bid_ask_api.py +0 -0
  15. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/akshare/stock_dt_pool.py +0 -0
  16. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/akshare/stock_zb_pool.py +0 -0
  17. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/akshare/stock_zt_pool_api.py +0 -0
  18. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/akshare/yjyg_sync_api.py +0 -0
  19. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/__init__.py +0 -0
  20. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/east_money_debt_api.py +0 -0
  21. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/east_money_etf_api.py +0 -0
  22. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/east_money_stock_api.py +0 -0
  23. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/east_money_stock_gdfx_free_top_10_api.py +0 -0
  24. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/east_money_stock_hk_api.py +0 -0
  25. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/east_money_stock_v2_api.py +0 -0
  26. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/em_concept_index_api.py +0 -0
  27. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/em/self_choose/__init__.py +0 -0
  28. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/hk/__init__.py +0 -0
  29. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/hk/ths_hk_company_info_api.py +0 -0
  30. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/__init__.py +0 -0
  31. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/common/__init__.py +0 -0
  32. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/common/kpl_common_api.py +0 -0
  33. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/common/kpl_common_field_constant.py +0 -0
  34. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/concept/__init__.py +0 -0
  35. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/concept/kpl_concept_api.py +0 -0
  36. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/constant/__init__.py +0 -0
  37. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/constant/kpl_constant.py +0 -0
  38. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/industry/__init__.py +0 -0
  39. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/industry/kpl_industry_api.py +0 -0
  40. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/selection/__init__.py +0 -0
  41. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/selection/kpl_selection_plate_api.py +0 -0
  42. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/symbol/__init__.py +0 -0
  43. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/symbol/kpl_real_time_quotes_api.py +0 -0
  44. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/symbol/kpl_symbol_common_field_constant.py +0 -0
  45. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/kpl/symbol/symbol_his_quotes_api.py +0 -0
  46. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/msg/__init__.py +0 -0
  47. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/msg/push_msg_api.py +0 -0
  48. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/__init__.py +0 -0
  49. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/big_deal/__init__.py +0 -0
  50. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/big_deal/ths_big_deal_api.py +0 -0
  51. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/__init__.py +0 -0
  52. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/app/__init__.py +0 -0
  53. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/app/ths_concept_detail_app.py +0 -0
  54. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/web/__init__.py +0 -0
  55. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/web/ths_common_js_api.py +0 -0
  56. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/web/ths_company_info_web.py +0 -0
  57. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/web/ths_concept_detail_web.py +0 -0
  58. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/concept/web/ths_concept_index_web.py +0 -0
  59. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/self_choose/__init__.py +0 -0
  60. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/self_choose/ths_self_choose_api.py +0 -0
  61. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/wen_cai/__init__.py +0 -0
  62. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/wen_cai/ths_wen_cai_api.py +0 -0
  63. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/zt/__init__.py +0 -0
  64. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/api/ths/zt/ths_stock_zt_pool_api.py +0 -0
  65. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/__init__.py +0 -0
  66. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/cache/__init__.py +0 -0
  67. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/cache/cache_service.py +0 -0
  68. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/classify/__init__.py +0 -0
  69. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/classify/symbol_classify_api.py +0 -0
  70. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/classify/symbol_classify_param.py +0 -0
  71. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/common_service_fun_api.py +0 -0
  72. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/company/__init__.py +0 -0
  73. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/company/company_common_service_api.py +0 -0
  74. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/company/company_common_service_new_api.py +0 -0
  75. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/concept/__init__.py +0 -0
  76. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/concept/kpl_concept_common_service_api.py +0 -0
  77. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/concept/ths_concept_common_service_api.py +0 -0
  78. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/data/__init__.py +0 -0
  79. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/data/data_init_api.py +0 -0
  80. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/deal/__init__.py +0 -0
  81. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/deal/deal_service_api.py +0 -0
  82. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/deal/terminal_enum.py +0 -0
  83. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/hk/__init__.py +0 -0
  84. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/hk/company_hk_service_api.py +0 -0
  85. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/industry/__init__.py +0 -0
  86. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/industry/ths_industry_index_api.py +0 -0
  87. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/__init__.py +0 -0
  88. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/clean/__init__.py +0 -0
  89. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/clean/k_line_param.py +0 -0
  90. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/clean/sh_small_normal_zt_k_line_check_api.py +0 -0
  91. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/common/__init__.py +0 -0
  92. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/common/k_line_common_service_api.py +0 -0
  93. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/patterns/__init__.py +0 -0
  94. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/patterns/k_line_patterns_service_api.py +0 -0
  95. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/k_line/patterns/pattern_Enum.py +0 -0
  96. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/price/__init__.py +0 -0
  97. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/price/trade_price_service_api.py +0 -0
  98. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/qmt/__init__.py +0 -0
  99. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/qmt/qmt_buy_service.py +0 -0
  100. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/real_time/__init__.py +0 -0
  101. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/real_time/real_time_common_service_api.py +0 -0
  102. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/redis_msg/__init__.py +0 -0
  103. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/redis_msg/redis_msg_publish_service.py +0 -0
  104. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/self_choose/__init__.py +0 -0
  105. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/self_choose/black_list_service_api.py +0 -0
  106. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/self_choose/self_choose_service_api.py +0 -0
  107. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/trade_date/__init__.py +0 -0
  108. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/trade_date/trade_date_common_service_api.py +0 -0
  109. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/zt/__init__.py +0 -0
  110. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/component/zt/zt_common_service_api.py +0 -0
  111. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/constant/__init__.py +0 -0
  112. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/constant/black_list_classify_enum.py +0 -0
  113. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/constant/db_name_constant.py +0 -0
  114. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/constant/price_enum.py +0 -0
  115. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/constant/redis_msg_constant.py +0 -0
  116. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/constant/self_choose_constant.py +0 -0
  117. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/db/MongodbUtil.py +0 -0
  118. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/db/MongodbUtilLocal.py +0 -0
  119. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/db/__init__.py +0 -0
  120. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/utils/__init__.py +0 -0
  121. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/utils/async_fun.py +0 -0
  122. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/utils/cmd_util.py +0 -0
  123. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/utils/data_frame_util.py +0 -0
  124. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/utils/date_handle_util.py +0 -0
  125. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/utils/db_util.py +0 -0
  126. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/utils/file_util.py +0 -0
  127. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common/utils/ip_util.py +0 -0
  128. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common.egg-info/dependency_links.txt +0 -0
  129. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/mns_common.egg-info/top_level.txt +0 -0
  130. {mns_common-1.2.6.2 → mns_common-1.2.6.4}/setup.cfg +0 -0
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.2.6.2
3
+ Version: 1.2.6.4
@@ -12,8 +12,8 @@ import requests
12
12
  import pandas as pd
13
13
 
14
14
  '''
15
- begin_time:开始时间
16
- end_time:结束时间
15
+ begin_time:开始时间 只能是交易时间
16
+ end_time: 结束时间 只能是交易时间
17
17
  page_size:分页大小
18
18
  type: 类型 1:行业 2 概念 3 风格 4 地域
19
19
  地址:https://eq.10jqka.com.cn/webpage/sector-retrospect/home.html#/
@@ -147,28 +147,36 @@ def get_new_concept_from_app_search(symbol: str = "886019"):
147
147
  return None
148
148
 
149
149
 
150
- from datetime import datetime
150
+ from mns_common.db.MongodbUtil import MongodbUtil
151
151
 
152
+ mongodb_util = MongodbUtil('27017')
152
153
  if __name__ == '__main__':
153
-
154
- while True:
155
- now_date = datetime.now()
156
- str_day = now_date.strftime('%Y%m%d')
157
- hour = now_date.hour
158
- minute = now_date.minute
159
- second = now_date.second
160
- second = 0
161
- if hour < 10:
162
- hour = '0' + str(hour)
163
- if minute < 10:
164
- minute = '0' + str(minute)
165
- if second < 10:
166
- second = '0' + str(second)
167
-
168
- end_time = str_day + str(hour) + str(minute) + str(second)
169
- end_time = str(end_time)
170
-
171
- result_df_test = get_ths_concept_his_info('20240617093000', end_time, 500, 2)
172
- print(result_df_test)
173
- search_result = get_new_concept_from_app_search('886078')
174
- print(search_result)
154
+ end_time_test = '20241009093000'
155
+ result_df_test = get_ths_concept_his_info('20241009093000', end_time_test, 500, 2)
156
+ result_df_test['block_code'] = result_df_test['block_code'].astype(int)
157
+ result_df_test['_id'] = result_df_test['block_code']
158
+
159
+ mongodb_util.save_mongo(result_df_test, 'ths_concept_info')
160
+ print(result_df_test)
161
+
162
+ # while True:
163
+ # now_date = datetime.now()
164
+ # str_day = now_date.strftime('%Y%m%d')
165
+ # hour = now_date.hour
166
+ # minute = now_date.minute
167
+ # second = now_date.second
168
+ # second = 0
169
+ # if hour < 10:
170
+ # hour = '0' + str(hour)
171
+ # if minute < 10:
172
+ # minute = '0' + str(minute)
173
+ # if second < 10:
174
+ # second = '0' + str(second)
175
+ #
176
+ # end_time_test = str_day + str(hour) + str(minute) + str(second)
177
+ # end_time_test = str(end_time_test)
178
+ #
179
+ # result_df_test = get_ths_concept_his_info('20241008093000', end_time_test, 500, 2)
180
+ # print(result_df_test)
181
+ # search_result = get_new_concept_from_app_search('886078')
182
+ # print(search_result)
@@ -54,11 +54,11 @@ mongodb_util = MongodbUtil('27017')
54
54
 
55
55
  # 缓存key
56
56
  THS_NOW_ZT_POOL = 'ths_now_zt_pool'
57
- # 缓存过期时间
57
+ # 缓存过期时间 一分钟
58
58
  CACHE_TIME_OUT_TIME = 60
59
59
 
60
60
 
61
- # 频繁调用容易被封
61
+ # 频繁调用容易被封 设置缓存
62
62
  def get_ths_stock_zt_reason_with_cache(str_day):
63
63
  stock_zt_reason = cache_service.get_cache(THS_NOW_ZT_POOL)
64
64
  if data_frame_util.is_empty(stock_zt_reason):
@@ -79,7 +79,7 @@ def get_zt_reason(str_day):
79
79
  zt_df = ths_wen_cai_api.wen_cai_api(key_word, 'stock')
80
80
  if data_frame_util.is_empty(zt_df):
81
81
  return None
82
- zt_df.fillna('', inplace=True)
82
+ zt_df.fillna('0', inplace=True)
83
83
  no_slash_day = date_handle_util.no_slash_date(str_day)
84
84
  no_slash_day = "[" + no_slash_day + "]"
85
85
  zt_df = zt_df.rename(columns={
@@ -114,7 +114,6 @@ def get_zt_reason(str_day):
114
114
  del zt_df['flow_mv']
115
115
  zt_df['zt_flag'] = True
116
116
  zt_df['str_day'] = str_day
117
- zt_df = zt_df.fillna('')
118
117
  # 渣渣有重复的数据
119
118
  zt_df.drop_duplicates('symbol', keep='last', inplace=True)
120
119
  return zt_df
@@ -188,7 +187,7 @@ def get_real_time_zt_info():
188
187
  real_time_df_zt = common_service_fun_api.total_mv_classification(real_time_df_zt)
189
188
  real_time_df_zt = common_service_fun_api.symbol_amount_simple(real_time_df_zt)
190
189
  real_time_df_zt = common_service_fun_api.exclude_new_stock(real_time_df_zt)
191
- real_time_df_zt.fillna(0, inplace=True)
190
+ real_time_df_zt.fillna('0', inplace=True)
192
191
  real_time_df_zt['chg'] = real_time_df_zt['chg'].astype(float)
193
192
  real_time_df_zt['chg'] = round(
194
193
  real_time_df_zt['chg'], 2)
@@ -305,20 +304,15 @@ def merge_zt_reason(now_zt_pool_df, str_day, last_trade_zt):
305
304
  zt_reason_na = zt_reason_na.set_index(['symbol'], drop=False)
306
305
  zt_reason_na = pd.merge(zt_reason_na, last_trade_zt_copy, how='outer',
307
306
  left_index=True, right_index=True)
308
- zt_reason_na['zt_reason'] = zt_reason_na['zt_reason'].fillna('未有')
309
-
307
+ zt_reason_na['zt_reason'] = zt_reason_na['zt_reason'].fillna('0')
310
308
  # 删除昨日涨停 今日未涨停的
311
309
  zt_reason_na.dropna(subset=['symbol'], inplace=True)
312
-
313
310
  result = pd.concat([zt_reason_na,
314
311
  zt_reason_not_na])
315
-
316
312
  result.dropna(subset=['symbol'], inplace=True)
317
313
  result.drop_duplicates('symbol', keep='last', inplace=True)
318
-
319
- result['zt_reason'] = result['zt_reason'].replace({0: '其他',
320
- '': '其他',
321
- '0': '其他', })
314
+ result['zt_reason'] = result['zt_reason'].replace({0: '0',
315
+ '': '0'})
322
316
 
323
317
  return result
324
318
 
@@ -372,13 +366,14 @@ def zt_reason_group(zt_pool_df):
372
366
 
373
367
 
374
368
  if __name__ == '__main__':
375
- str_day_test = '2024-09-30'
369
+ str_day_test = '2024-10-09'
370
+
371
+ # 东财涨停池
376
372
  em_now_zt_pool_test = stock_zt_pool_api.stock_em_zt_pool_df(date_handle_util.no_slash_date(str_day_test))
373
+ # 同花顺涨停
377
374
  ths_zt_pool_df = get_zt_reason(str_day_test)
378
375
 
379
- em_now_zt_pool_test.loc[~(em_now_zt_pool_test['symbol'].isin(ths_zt_pool_df['symbol']))]
376
+ miss_zt_df = em_now_zt_pool_test.loc[~(em_now_zt_pool_test['symbol'].isin(ths_zt_pool_df['symbol']))]
377
+ pass
378
+
380
379
 
381
- while True:
382
- result_zt_df_test = get_now_zt_pool_with_reason(str_day_test)
383
- zt_reason_group(result_zt_df_test)
384
- logger.info(1)
@@ -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,44 @@
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.date_handle_util as date_handle_util
10
+ from loguru import logger
11
+ import mns_common.utils.data_frame_util as data_frame_util
12
+ from functools import lru_cache
13
+
14
+
15
+ def get_stock_tfp_by_day(str_day):
16
+ stock_tfp_em_df = ak.stock_tfp_em(date_handle_util.no_slash_date(str_day))
17
+ stock_tfp_em_df = stock_tfp_em_df.rename(
18
+ columns={'序号': 'index',
19
+ '代码': 'symbol',
20
+ '名称': 'name',
21
+ '停牌时间': 'sus_begin_time',
22
+ '停牌截止时间': 'sus_end_time',
23
+ '停牌截止时间': 'sus_end_time',
24
+ '停牌期限': 'sus_period',
25
+ '停牌原因': 'sus_reason',
26
+ '所属市场': 'market',
27
+ '预计复牌时间': 'resume_time'
28
+ })
29
+ return stock_tfp_em_df
30
+
31
+
32
+ # 获取停牌股票列表
33
+ @lru_cache(maxsize=None)
34
+ def get_stock_tfp_symbol_list_by_day(str_day):
35
+ try:
36
+ stock_tfp_em_df = get_stock_tfp_by_day(str_day)
37
+ if data_frame_util.is_not_empty(stock_tfp_em_df):
38
+ return list(stock_tfp_em_df['symbol'])
39
+ else:
40
+ return ['666666']
41
+
42
+ except BaseException as e:
43
+ logger.error("获取停牌信息异常:{}", e)
44
+ return ['666666']
@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns_common
3
- Version: 1.2.6.2
3
+ Version: 1.2.6.4
@@ -103,6 +103,8 @@ mns_common/component/redis_msg/redis_msg_publish_service.py
103
103
  mns_common/component/self_choose/__init__.py
104
104
  mns_common/component/self_choose/black_list_service_api.py
105
105
  mns_common/component/self_choose/self_choose_service_api.py
106
+ mns_common/component/tfp/__init__.py
107
+ mns_common/component/tfp/stock_tfp_api.py
106
108
  mns_common/component/trade_date/__init__.py
107
109
  mns_common/component/trade_date/trade_date_common_service_api.py
108
110
  mns_common/component/zt/__init__.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mns_common',
5
- version='1.2.6.2',
5
+ version='1.2.6.4',
6
6
  # packages=["mns_common", "mns_common.api",
7
7
  # "mns_common.api.akshare",
8
8
  # "mns_common.api.em",
File without changes
File without changes