mns-common 1.3.9.2__py3-none-any.whl → 1.6.1.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-common might be problematic. Click here for more details.

Files changed (67) hide show
  1. mns_common/__init__.py +1 -0
  2. mns_common/api/akshare/__init__.py +0 -1
  3. mns_common/api/akshare/k_line_api.py +20 -82
  4. mns_common/api/akshare/stock_bid_ask_api.py +21 -14
  5. mns_common/api/akshare/stock_zb_pool.py +2 -0
  6. mns_common/api/akshare/stock_zt_pool_api.py +1 -1
  7. mns_common/api/em/gd/east_money_stock_gdfx_free_top_10_api.py +62 -7
  8. mns_common/api/em/real_time/__init__.py +1 -1
  9. mns_common/api/em/real_time/east_money_debt_api.py +168 -71
  10. mns_common/api/em/real_time/east_money_etf_api.py +165 -27
  11. mns_common/api/em/real_time/east_money_stock_a_api.py +37 -38
  12. mns_common/api/em/real_time/east_money_stock_a_v2_api.py +97 -53
  13. mns_common/api/em/real_time/east_money_stock_common_api.py +174 -0
  14. mns_common/api/em/real_time/east_money_stock_hk_api.py +252 -271
  15. mns_common/api/em/real_time/east_money_stock_hk_gtt_api.py +291 -0
  16. mns_common/api/em/real_time/east_money_stock_multi_thread_api_v3.py +154 -0
  17. mns_common/api/em/real_time/east_money_stock_us_api.py +210 -82
  18. mns_common/api/em/real_time/real_time_quotes_repeat_api.py +195 -0
  19. mns_common/api/foreign_exchange/foreign_exchange_api.py +38 -0
  20. mns_common/api/k_line/stock_k_line_data_api.py +11 -1
  21. mns_common/api/kpl/common/__init__.py +3 -2
  22. mns_common/api/kpl/common/kpl_common_api.py +35 -0
  23. mns_common/api/kpl/symbol/symbol_his_quotes_api.py +1 -1
  24. mns_common/api/kpl/theme/kpl_theme_api.py +69 -0
  25. mns_common/api/kpl/yidong/__init__.py +7 -0
  26. mns_common/api/kpl/yidong/stock_bid_yi_dong_api.py +52 -0
  27. mns_common/api/proxies/liu_guan_proxy_api.py +55 -5
  28. mns_common/api/ths/company/company_product_area_industry_index_query.py +46 -0
  29. mns_common/api/ths/company/ths_company_info_api.py +2 -1
  30. mns_common/api/ths/company/ths_company_info_web.py +159 -0
  31. mns_common/api/ths/concept/app/ths_concept_index_app.py +3 -1
  32. mns_common/api/ths/wen_cai/ths_wen_cai_api.py +1 -1
  33. mns_common/api/ths/zt/ths_stock_zt_pool_api.py +20 -1
  34. mns_common/api/ths/zt/ths_stock_zt_pool_v2_api.py +105 -29
  35. mns_common/api/ths/zt/ths_stock_zt_reason_web_api.py +100 -0
  36. mns_common/api/us/ths_us_company_info_api.py +131 -0
  37. mns_common/api/xueqiu/xue_qiu_k_line_api.py +31 -23
  38. mns_common/component/common_service_fun_api.py +28 -8
  39. mns_common/component/company/company_common_service_new_api.py +2 -0
  40. mns_common/component/cookie/cookie_enum.py +16 -0
  41. mns_common/component/cookie/cookie_info_service.py +18 -8
  42. mns_common/component/data/data_init_api.py +13 -8
  43. mns_common/component/deal/deal_service_api.py +70 -8
  44. mns_common/component/deal/deal_service_v2_api.py +167 -0
  45. mns_common/component/em/em_stock_info_api.py +12 -3
  46. mns_common/component/exception/ExceptionMonitor.py +86 -0
  47. mns_common/component/exception/__init__.py +7 -0
  48. mns_common/component/main_line/__init__.py +7 -0
  49. mns_common/component/main_line/main_line_zt_reason_service.py +257 -0
  50. mns_common/component/proxies/proxy_common_api.py +199 -31
  51. mns_common/component/tfp/stock_tfp_api.py +82 -12
  52. mns_common/component/us/__init__.py +7 -0
  53. mns_common/component/us/us_stock_etf_info_api.py +130 -0
  54. mns_common/constant/db_name_constant.py +75 -26
  55. mns_common/constant/extra_income_db_name.py +97 -11
  56. mns_common/constant/strategy_classify.py +72 -0
  57. mns_common/db/MongodbUtil.py +3 -0
  58. mns_common/db/MongodbUtilLocal.py +3 -0
  59. {mns_common-1.3.9.2.dist-info → mns_common-1.6.1.4.dist-info}/METADATA +1 -1
  60. {mns_common-1.3.9.2.dist-info → mns_common-1.6.1.4.dist-info}/RECORD +64 -47
  61. mns_common/api/ths/concept/web/ths_company_info_web.py +0 -163
  62. mns_common/component/qmt/qmt_buy_service.py +0 -172
  63. mns_common/component/task/real_time_data_sync_check.py +0 -97
  64. /mns_common/{component/qmt → api/foreign_exchange}/__init__.py +0 -0
  65. /mns_common/{component/task → api/kpl/theme}/__init__.py +0 -0
  66. {mns_common-1.3.9.2.dist-info → mns_common-1.6.1.4.dist-info}/WHEEL +0 -0
  67. {mns_common-1.3.9.2.dist-info → mns_common-1.6.1.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,130 @@
1
+ import sys
2
+ import os
3
+
4
+ file_path = os.path.abspath(__file__)
5
+ end = file_path.index('mns') + 21
6
+ project_path = file_path[0:end]
7
+ sys.path.append(project_path)
8
+ from loguru import logger
9
+ import csv
10
+ import requests
11
+ import pandas as pd
12
+ import mns_common.component.em.em_stock_info_api as em_stock_info_api
13
+ from functools import lru_cache
14
+ import mns_common.utils.data_frame_util as data_frame_util
15
+
16
+
17
+ @lru_cache()
18
+ def get_us_stock_info():
19
+ # 东财美股列表
20
+ em_us_stock_info_df = em_stock_info_api.get_us_stock_info()
21
+ em_us_stock_info_df['symbol'] = em_us_stock_info_df['symbol'].str.replace('_', '-')
22
+ em_us_stock_info_df = em_us_stock_info_df.loc[em_us_stock_info_df['total_mv'] != 0]
23
+
24
+ if data_frame_util.is_not_empty(em_us_stock_info_df):
25
+ em_us_stock_info_df.fillna({'list_date': 10000101}, inplace=True)
26
+ em_us_stock_info_df = em_us_stock_info_df[['symbol', 'name', 'list_date']]
27
+
28
+ # alpha 股票名单
29
+ alpha_us_stock_info = get_us_alpha_stock_list()
30
+ alpha_us_stock_info = alpha_us_stock_info.loc[alpha_us_stock_info['assetType'] == 'Stock']
31
+ if data_frame_util.is_not_empty(alpha_us_stock_info):
32
+ alpha_us_stock_info.fillna({'list_date': '1000-01-01'}, inplace=True)
33
+ alpha_us_stock_info = alpha_us_stock_info[['symbol', 'name', 'list_date']]
34
+
35
+ alpha_us_stock_info['list_date'] = alpha_us_stock_info['list_date'].astype(str).str.replace('-', '').astype(int)
36
+
37
+ us_stock_result_df = pd.concat([alpha_us_stock_info, em_us_stock_info_df])
38
+ us_stock_result_df.drop_duplicates(subset=['symbol'], inplace=True)
39
+
40
+ return us_stock_result_df
41
+
42
+
43
+ @lru_cache()
44
+ def get_us_etf_info():
45
+ us_etf_info_df = em_stock_info_api.get_us_etf_info()
46
+ if data_frame_util.is_not_empty(us_etf_info_df):
47
+ us_etf_info_df.fillna({'list_date': 10000101}, inplace=True)
48
+ us_etf_info_df = us_etf_info_df[['symbol', 'name', 'list_date']]
49
+
50
+ # alpha ETF名单
51
+ alpha_us_etf_info = get_us_alpha_stock_list()
52
+ alpha_us_etf_info = alpha_us_etf_info.loc[alpha_us_etf_info['assetType'] == 'ETF']
53
+ if data_frame_util.is_not_empty(alpha_us_etf_info):
54
+ alpha_us_etf_info.fillna({'list_date': '1000-01-01'}, inplace=True)
55
+ alpha_us_etf_info = alpha_us_etf_info[['symbol', 'name', 'list_date']]
56
+
57
+ alpha_us_etf_info['list_date'] = alpha_us_etf_info['list_date'].astype(str).str.replace('-', '').astype(int)
58
+ us_etf_result_df = pd.concat([us_etf_info_df, alpha_us_etf_info])
59
+ us_etf_result_df.drop_duplicates(subset=['symbol'], inplace=True)
60
+
61
+ return us_etf_result_df
62
+
63
+
64
+ # 退市 https://www.alphavantage.co/query?function=LISTING_STATUS&date=2012-07-10&state=delisted&apikey=QODR3TBYB2U4M9YR
65
+ @lru_cache()
66
+ def get_us_alpha_stock_list(apikey):
67
+ try:
68
+ # replace the "demo" apikey below with your own key from https://www.alphavantage.co/support/#api-key
69
+ CSV_URL = 'https://www.alphavantage.co/query?function=LISTING_STATUS&apikey=' + apikey
70
+ with requests.Session() as s:
71
+ download = s.get(CSV_URL)
72
+ decoded_content = download.content.decode('utf-8')
73
+ cr = csv.reader(decoded_content.splitlines(), delimiter=',')
74
+ my_list = list(cr)
75
+ # 提取列名(第1行)
76
+ columns = my_list[0]
77
+ # 提取数据(第2行及以后)
78
+ values = my_list[1:]
79
+
80
+ # 转换为 DataFrame
81
+ df = pd.DataFrame(values, columns=columns)
82
+ df = df.rename(columns={'ipoDate': 'list_date'})
83
+ if data_frame_util.is_not_empty(df):
84
+ df.to_csv(r'D:\mns\mns-common\mns_common\component\us\listing_status.csv', index=False, encoding='gbk')
85
+ else:
86
+ df = pd.read_csv(r'D:\mns\mns-common\mns_common\component\us\listing_status.csv', encoding='utf-8')
87
+ return df
88
+ except BaseException as e:
89
+ logger.error("下载出现异常:{},", e)
90
+ df = pd.read_csv(r'D:\mns\mns-common\mns_common\component\us\listing_status.csv', encoding='utf-8')
91
+ df = df.rename(columns={'ipoDate': 'list_date'})
92
+ return df
93
+
94
+
95
+ def get_us_alpha_stock_de_list(apikey):
96
+ try:
97
+ # replace the "demo" apikey below with your own key from https://www.alphavantage.co/support/#api-key
98
+ CSV_URL = 'https://www.alphavantage.co/query?function=LISTING_STATUS&state=delisted&apikey=' + apikey
99
+ with requests.Session() as s:
100
+ download = s.get(CSV_URL)
101
+ decoded_content = download.content.decode('utf-8')
102
+ cr = csv.reader(decoded_content.splitlines(), delimiter=',')
103
+ my_list = list(cr)
104
+ # 提取列名(第1行)
105
+ columns = my_list[0]
106
+ # 提取数据(第2行及以后)
107
+ values = my_list[1:]
108
+
109
+ # 转换为 DataFrame
110
+ df = pd.DataFrame(values, columns=columns)
111
+ df = df.rename(columns={'ipoDate': 'list_date'})
112
+ if data_frame_util.is_not_empty(df):
113
+ df.to_csv(r'D:\mns\mns-common\mns_common\component\us\de_list_status.csv', index=False, encoding='gbk')
114
+ else:
115
+ df = pd.read_csv(r'D:\mns\mns-common\mns_common\component\us\de_list_status.csv', encoding='utf-8')
116
+ return df
117
+ except BaseException as e:
118
+ logger.error("下载出现异常:{},", e)
119
+ df = pd.read_csv(r'D:\mns\mns-common\mns_common\component\us\de_list_status.csv', encoding='utf-8')
120
+ df = df.rename(columns={'ipoDate': 'list_date'})
121
+ return df
122
+
123
+
124
+ if __name__ == '__main__':
125
+ # get_us_alpha_stock_de_list()
126
+ get_us_alpha_stock_de_list()
127
+ df_test = get_us_stock_info()
128
+ df_test.drop_duplicates(subset=['symbol'], inplace=True)
129
+ print(df_test)
130
+ get_us_alpha_stock_de_list()
@@ -24,6 +24,9 @@ EM_US_STOCK_INFO = 'em_us_stock_info'
24
24
  # ip代理池
25
25
  IP_PROXY_POOL = 'ip_proxy_pool'
26
26
 
27
+ # ip代理城市信息
28
+ IP_PROXY_CITY_PROVINCE = 'ip_proxy_city_province'
29
+
27
30
  # 大单同步表
28
31
  BIG_DEAL_NAME = "ths_big_deal_fund"
29
32
  # 大单选择表
@@ -38,10 +41,6 @@ CALL_AUCTION_DB_NAME = 'call_auction_signal'
38
41
  CALL_AUCTION_DB_NAME_REAL_TIME = 'call_auction_signal_realtime'
39
42
  # 涨停打板表
40
43
  NOW_TIME_ZT_DA_BAN = 'now_time_zt_da_ban'
41
- # 开盘啦精选指数表
42
- KPL_BEST_CHOOSE_INDEX = 'kpl_best_choose_index'
43
- # 开盘啦详细组成
44
- KPL_BEST_CHOOSE_INDEX_DETAIL = "kpl_best_choose_index_detail"
45
44
 
46
45
  # 同花顺概念表
47
46
  THS_CONCEPT_LIST = "ths_concept_list"
@@ -54,33 +53,30 @@ THS_STOCK_CONCEPT_DETAIL_APP = "ths_stock_concept_detail_app"
54
53
 
55
54
  # 今日排除买入股票
56
55
  TODAY_EXCLUDE_STOCK = "today_exclude_stocks"
56
+
57
57
  # 今日买入股票
58
58
  BUY_STOCK_NAME = 'trade_stocks'
59
59
 
60
- # 公司信息表
61
- COMPANY_INFO = 'company_info'
62
- # 公司信息历史表
63
- COMPANY_INFO_HIS = 'company_info_his'
64
-
65
60
  # TODAY_NEW_CONCEPT_LIST
66
61
  TODAY_NEW_CONCEPT_LIST = 'today_new_concept_list'
67
62
 
68
- # 开票啦历史数据
69
- KPL_BEST_CHOOSE_HIS = 'kpl_best_choose_his'
70
-
71
- # 开票啦每日数据
72
- KPL_BEST_CHOOSE_DAILY = 'kpl_best_choose_daily'
73
-
74
63
  # 当前持仓股票
75
64
  POSITION_STOCK = 'position_stock'
76
65
 
66
+ # 订单委托表
67
+ STOCK_TRADE_ORDERS = 'stock_trade_orders'
68
+
77
69
  # 个股黑名单
78
70
  SELF_BLACK_STOCK = 'self_black_stock'
79
- # 自选板块
71
+ # 长期自选板块
80
72
  SELF_CHOOSE_PLATE = 'self_choose_plate'
81
- # 自选个股
73
+ # 长期自选个股
82
74
  SELF_CHOOSE_STOCK = 'self_choose_stock'
83
75
 
76
+
77
+ # 个股异动名单Abnormal Rule
78
+ STOCK_ABNORMAL_LIST = 'stock_abnormal_list'
79
+
84
80
  # 今日自选个股
85
81
  TODAY_SELF_CHOOSE_STOCK = 'today_self_choose_stock'
86
82
 
@@ -116,7 +112,10 @@ STOCK_INTERACTIVE_QUESTION = 'stock_interactive_question'
116
112
 
117
113
  # 上交所 互动ID映射代码
118
114
 
119
- SSE_INFO_UID = 'sse_info_uid'
115
+ SH_INFO_UID = 'sh_info_uid'
116
+
117
+ # 深交所 互动ID映射代码
118
+ SZ_INFO_UID = 'sz_info_uid'
120
119
 
121
120
  # kcx 高涨幅>9.5 当天开盘数据
122
121
  KCX_HIGH_CHG_OPEN_DATA = 'realtime_quotes_now_zt_new_kc_open'
@@ -135,9 +134,6 @@ KZZ_DEBT_INFO = 'kzz_debt_info'
135
134
  # 交易配置信息
136
135
  TRADE_CONFIG_INFO = 'trade_config_info'
137
136
 
138
- # 公司备注信息
139
- COMPANY_REMARK_INFO = 'company_remark_info'
140
-
141
137
  # 打板待选
142
138
  DA_BAN_SELF_CHOOSE = 'da_ban_self_choose'
143
139
  # 打板排除
@@ -146,11 +142,28 @@ DA_BAN_SELF_EXCLUDE = 'da_ban_self_exclude'
146
142
  # 港股公司行业列表
147
143
  HK_COMPANY_INDUSTRY = 'hk_company_industry'
148
144
 
145
+ # 公司基本信息
146
+ COMPANY_BASE_INFO = 'company_base_info'
147
+
149
148
  # 公司控股信息 子孙公司 联营公司
150
149
  COMPANY_HOLDING_INFO = 'company_holding_info'
150
+ # 公司业务组成
151
+ COMPANY_BUSINESS_INFO = 'company_business_info'
152
+
151
153
  # 公司公告信息
152
154
  COMPANY_ANNOUNCE_INFO = 'company_announce_info'
153
155
 
156
+ # 公司行业信息
157
+ COMPANY_INDUSTRY_INFO = 'company_industry_info'
158
+
159
+ # 公司信息临时表
160
+ COMPANY_INFO_TEMP = 'company_info_temp'
161
+
162
+ # 公司信息表
163
+ COMPANY_INFO = 'company_info'
164
+ # 公司信息历史表
165
+ COMPANY_INFO_HIS = 'company_info_his'
166
+
154
167
  # 行业和概念自己的备注
155
168
  INDUSTRY_CONCEPT_REMARK = 'industry_concept_remark'
156
169
 
@@ -163,9 +176,6 @@ FU_PAN_NOTE = 'fu_pan_note'
163
176
  # 公司停复牌
164
177
  STOCK_TFP_INFO = 'stock_tfp_info'
165
178
 
166
- # 公司停复牌
167
- STOCK_TFP_INFO = 'stock_tfp_info'
168
-
169
179
  # 隔夜打板
170
180
  OVER_NIGHT_DA_BAN = 'over_night_da_ban'
171
181
 
@@ -184,7 +194,46 @@ THS_STOCK_INDUSTRY_DETAIL = 'ths_stock_industry_detail'
184
194
  # 年k线前复权
185
195
  STOCK_QFQ_YEAR = 'stock_qfq_year'
186
196
 
187
- # 主线集合
188
- MAIN_LINE_LIST = 'main_line_list'
197
+ # 涨停原因 详情
198
+ ZT_REASON_ANALYSIS = 'zt_reason_analysis'
189
199
  # 主线详情
190
200
  MAIN_LINE_DETAIL = 'main_line_detail'
201
+
202
+ # 主线龙头
203
+ MAIN_LINE_LEADER = 'main_line_leader'
204
+
205
+ # 自选主线列表
206
+ MAIN_LINE_LIST = 'main_line_list'
207
+
208
+ # 整体选择表
209
+ STRATEGY_TOTAL_CHOOSE_PARAM = 'strategy_total_choose_param'
210
+ # k 线参数表
211
+ STRATEGY_K_LINE_PARAM = 'strategy_k_line_param'
212
+ # 评分参数
213
+ STRATEGY_SCORE_PARAM = 'strategy_score_param'
214
+
215
+ # todo 开盘啦数据
216
+
217
+ # 开盘啦精选指数表
218
+ KPL_BEST_CHOOSE_INDEX = 'kpl_best_choose_index'
219
+ # 开盘啦详细组成
220
+ KPL_BEST_CHOOSE_INDEX_DETAIL = "kpl_best_choose_index_detail"
221
+
222
+ # 开盘啦历史数据
223
+ KPL_BEST_CHOOSE_HIS = 'kpl_best_choose_his'
224
+
225
+ # 开盘啦每日数据
226
+ KPL_BEST_CHOOSE_DAILY = 'kpl_best_choose_daily'
227
+
228
+ # 开盘啦题材列表
229
+ KPL_THEME_LIST = 'kpl_theme_list'
230
+
231
+ # 开盘啦题材详细信息
232
+ KPL_THEME_DETAILS = 'kpl_theme_details'
233
+ # 开盘啦题材列 子列表1
234
+ KPL_THEME_LIST_L1 = 'kpl_theme_list_l1'
235
+ # 开盘啦题材列 子列表2
236
+ KPL_THEME_LIST_L2 = 'kpl_theme_list_l2'
237
+ # 开盘啦题材 股票备注 优先级
238
+ KPL_THEME_STOCK_REMARK = 'kpl_theme_stock_remark'
239
+
@@ -7,9 +7,16 @@ project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
9
  # db_name
10
-
10
+ ######################################[数据库]##############################################################
11
11
  EXTRA_INCOME = 'extraIncome'
12
12
 
13
+ # us_stock 美股信息数据表
14
+ US_STOCK = 'us_stock'
15
+ # a股数据表
16
+ A_STOCK = 'a_stock'
17
+ # hk股票数据
18
+ HK_STOCK = 'hk_stock'
19
+ ######################################[集合表]##############################################################
13
20
  # 东方财富a股信息
14
21
  EM_A_STOCK_INFO = 'em_a_stock_info'
15
22
 
@@ -22,11 +29,8 @@ EM_KZZ_INFO = 'em_kzz_info'
22
29
  # 东方财富HK股信息
23
30
  EM_HK_STOCK_INFO = 'em_hk_stock_info'
24
31
 
25
- # 东方财富US股信息
26
- EM_US_STOCK_INFO = 'em_us_stock_info'
27
-
28
- # 东方财富US ETF信息
29
- EM_US_ETF_INFO = 'em_us_etf_info'
32
+ # 东方财富港股通信息
33
+ EM_HK_GGT_STOCK_INFO = 'em_hk_ggt_stock_info'
30
34
 
31
35
  # 创业板分钟集合数据
32
36
  ONE_MINUTE_K_LINE_BFQ_C = 'one_minute_k_line_bfq_c'
@@ -65,13 +69,35 @@ ONE_MINUTE_SYNC_FAIL = 'one_minute_sync_fail'
65
69
 
66
70
  # us stock daily_k_line
67
71
 
68
- US_STOCK_DAILY_QFQ_K_LINE = 'us_stock_daily_qfq_k_line'
69
72
 
70
- # us stock 1分钟集合数据
71
- US_STOCK_MINUTE_K_LINE_BFQ = 'us_stock_one_minute_k_line_bfq'
73
+ # 雪球利润表
74
+ XUE_QIU_LRB_INCOME = 'xue_qiu_lrb_income'
72
75
 
73
- # us etf 1分钟集合数据
74
- US_ETF_MINUTE_K_LINE_BFQ = 'us_etf_one_minute_k_line_bfq'
76
+ # 雪球资产负债表
77
+ XUE_QIU_ASSET_DEBT = 'xue_qiu_asset_debt'
78
+
79
+ # 雪球资产现金流量表
80
+ XUE_QIU_CASH_FLOW = 'xue_qiu_cash_flow'
81
+
82
+ # todo A股日k线
83
+ # A 可转债前复权日k线
84
+ A_KZZ_QFQ_DAILY = 'a_kzz_qfq_daily'
85
+
86
+ # A ETF前复权日k线
87
+ A_ETF_QFQ_DAILY = 'a_etf_qfq_daily'
88
+
89
+ # A 股票前复权日k线
90
+ A_STOCK_QFQ_DAILY = 'a_stock_qfq_daily'
91
+
92
+ # A 指数前复权日k线
93
+ A_INDEX_QFQ_DAILY = 'a_index_qfq_daily'
94
+
95
+ # todo 港股
96
+ # HK ETF前复权日k线
97
+ HK_ETF_QFQ_DAILY = 'hk_etf_qfq_daily'
98
+
99
+ # HK 股票前复权日k线
100
+ HK_STOCK_QFQ_DAILY = 'hk_stock_qfq_daily'
75
101
 
76
102
  # hk stock daily_k_line
77
103
  HK_STOCK_DAILY_QFQ_K_LINE = 'hk_stock_daily_qfq_k_line'
@@ -80,3 +106,63 @@ HK_STOCK_MINUTE_K_LINE_BFQ = 'hk_stock_one_minute_k_line_bfq'
80
106
 
81
107
  # hk etf 1分钟集合数据
82
108
  HK_ETF_MINUTE_K_LINE_BFQ = 'hk_etf_one_minute_k_line_bfq'
109
+
110
+ # todo US 美股
111
+
112
+ # US 同花顺公司信息
113
+ US_STOCK_INFO_THS = 'us_stock_info_ths'
114
+
115
+ # 东方财富US股信息
116
+ US_STOCK_INFO_EM = 'us_stock_info_em'
117
+
118
+ # 东方财富US ETF信息
119
+ US_ETF_INFO_EM = 'us_etf_info_em'
120
+
121
+ # alpha_vantage US股票信息
122
+ US_STOCK_INFO_ALPHA_VANTAGE = 'us_stock_info_alpha_vantage'
123
+
124
+ # alpha_vantage US ETF信息
125
+ US_ETF_INFO_ALPHA_VANTAGE = 'us_etf_info_alpha_vantage'
126
+
127
+ # alpha_vantage US 退市信息
128
+ US_DE_LIST_INFO_ALPHA_VANTAGE = 'us_de_list_info_alpha_vantage'
129
+
130
+ # 美股公司信息 清洗表
131
+ US_STOCK_LIST = 'us_stock_list'
132
+ # 美ETF信息 清洗表
133
+ US_ETF_LIST = 'us_etf_list'
134
+ # 美股所属行业信息
135
+ US_STOCK_INDUSTRY_LIST = 'us_stock_industry_list'
136
+ # 美股所属概念信息
137
+ US_STOCK_CONCEPT_LIST = 'us_stock_concept_list'
138
+
139
+ # todo 日k线集合
140
+ # US ETF前复权日k线
141
+ US_ETF_QFQ_DAILY = 'us_etf_qfq_daily'
142
+ # US ETF不复权日k线
143
+ US_ETF_BFQ_DAILY = 'us_etf_bfq_daily'
144
+ # US ETF后复权日k线
145
+ US_ETF_HFQ_DAILY = 'us_etf_hfq_daily'
146
+
147
+ # us stock 日k线前复权
148
+ US_STOCK_DAILY_QFQ_K_LINE = 'us_stock_daily_qfq_k_line'
149
+ # us stock 日k线不复权
150
+ US_STOCK_DAILY_BFQ_K_LINE = 'us_stock_daily_bfq_k_line'
151
+ # us stock 日k线后复权
152
+ US_STOCK_DAILY_HFQ_K_LINE = 'us_stock_daily_hfq_k_line'
153
+
154
+ # todo 一分钟集合
155
+ # us stock 1分钟集合数据
156
+ US_STOCK_MINUTE_K_LINE_BFQ = 'us_stock_one_minute_k_line_bfq'
157
+
158
+ # us etf 1分钟集合数据
159
+ US_ETF_MINUTE_K_LINE_BFQ = 'us_etf_one_minute_k_line_bfq'
160
+
161
+ # us 主要etf 1分钟集合数据
162
+ US_MAIN_ETF_MINUTE_K_LINE_BFQ = 'us_main_etf_one_minute_k_line_bfq'
163
+
164
+ # 美股分钟同步状态表
165
+ US_ONE_MINUTE_SYNC_STATUS = 'us_one_minute_sync_status'
166
+
167
+ # 外汇表
168
+ FOREIGN_EXCHANGE_TABLE = 'foreign_exchange_table'
@@ -0,0 +1,72 @@
1
+ from enum import Enum
2
+
3
+
4
+ class StrategyClassify(Enum):
5
+ # 731 到无穷天的股票 kc
6
+ KC_NORMAL = ('kc_normal', 'kc_normal')
7
+
8
+ # 365 到730的股票 kc
9
+ KC_NORMAL_SUB = ('kc_normal_sub', 'kc_normal_sub')
10
+
11
+ # 100 到 365 天的股票 kc
12
+ KC_SUB = ('kc_sub', 'kc_sub')
13
+
14
+ # 6 到 100的股票 kc
15
+ KC_SUB_NEW = ('kc_sub_new', 'kc_sub_new')
16
+
17
+ # 731 到无穷天的股票 sh
18
+ SH_NORMAL = ('sh_normal', 'sh_normal')
19
+
20
+ # 365 到730的股票 sh
21
+ SH_NORMAL_SUB = ('sh_normal_sub', 'sh_normal_sub')
22
+
23
+ # 100 到 365天的股票 sh
24
+ SH_SUB = ('sh_sub', 'sh_sub')
25
+
26
+ # 6 到 100的股票 sh
27
+ SH_SUB_NEW = ('sh_sub_new', 'sh_sub_new')
28
+
29
+ # 北交所股票 普通
30
+ BJS_NORMAL = ('bjs_normal', 'bjs_normal')
31
+
32
+ # 北交所股票 次新
33
+ BJS_SUB_NEW = ('bjs_sub_new', 'bjs_sub_new')
34
+
35
+ # 上市交易 1-5天的股票
36
+ NEW_STOCK = ('new_stock', 'new_stock')
37
+
38
+ # 集合竞价 高外盘买入 科创
39
+ HIGH_OUT_DISK_BUY_KC = ('high_out_disk_buy_kc', 'high_out_disk_buy_kc')
40
+
41
+ # 集合竞价 高外盘买入 沪深
42
+ HIGH_OUT_DISK_BUY_SH = ('high_out_disk_buy_sh', 'high_out_disk_buy_sh')
43
+
44
+ # 集合竞价 高外盘买入 北交所
45
+ HIGH_OUT_DISK_BUY_BJS = ('high_out_disk_buy_bjs', 'high_out_disk_buy_bjs')
46
+
47
+ # 所有策略
48
+ ALL = ('all', '所有')
49
+
50
+ def __init__(self, strategy_code, strategy_name):
51
+ self.strategy_name = strategy_name
52
+ self.strategy_code = strategy_code
53
+
54
+
55
+ # 获取策略分类
56
+ def get_strategy_classify(strategy_code, data_choose_df):
57
+ return data_choose_df.loc[data_choose_df['strategy_code'] == strategy_code]
58
+
59
+
60
+ class StrategyTimePeriod(Enum):
61
+ # 第一阶段
62
+ FIRST_PERIOD = ('first_period', 'first_period')
63
+ # 第二阶段
64
+ SECOND_PERIOD = ('second_period', 'second_period')
65
+ # 第三阶段
66
+ THIRD_PERIOD = ('third_period', 'third_period')
67
+ # 集合竞价阶段
68
+ CALL_AUCTION_PERIOD = ('call_auction_period', 'call_auction_period')
69
+
70
+ def __init__(self, time_code, time_name):
71
+ self.time_name = time_name
72
+ self.time_code = time_code
@@ -11,7 +11,10 @@ from mns_common.utils.async_fun import async_fun
11
11
  from loguru import logger
12
12
  import mns_common.utils.ip_util as ip_util
13
13
 
14
+ import warnings
14
15
 
16
+ # 忽略所有警告
17
+ warnings.filterwarnings("ignore")
15
18
 
16
19
  class MongodbUtil:
17
20
  def __init__(self, port):
@@ -9,7 +9,10 @@ import pandas as pd
9
9
  import pymongo
10
10
  from mns_common.utils.async_fun import async_fun
11
11
  from loguru import logger
12
+ import warnings
12
13
 
14
+ # 忽略所有警告
15
+ warnings.filterwarnings("ignore")
13
16
 
14
17
 
15
18
  class MongodbUtilLocal:
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-common
3
- Version: 1.3.9.2
3
+ Version: 1.6.1.4
4
4