mns-common 1.5.1.7__py3-none-any.whl → 1.5.1.9__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 (22) hide show
  1. mns_common/api/{akshare → em/real_time/real_time}/__init__.py +1 -1
  2. mns_common/api/em/real_time/{east_money_debt_api.py → real_time/east_money_debt_api.py} +135 -19
  3. mns_common/api/em/real_time/{east_money_etf_api.py → real_time/east_money_etf_api.py} +140 -10
  4. mns_common/api/em/real_time/{east_money_stock_a_api.py → real_time/east_money_stock_a_api.py} +18 -16
  5. mns_common/api/em/real_time/{east_money_stock_hk_api.py → real_time/east_money_stock_hk_api.py} +234 -102
  6. mns_common/api/em/real_time/{real_time_quotes_repeat_api.py → real_time/real_time_quotes_repeat_api.py} +0 -4
  7. {mns_common-1.5.1.7.dist-info → mns_common-1.5.1.9.dist-info}/METADATA +1 -1
  8. {mns_common-1.5.1.7.dist-info → mns_common-1.5.1.9.dist-info}/RECORD +16 -22
  9. mns_common/api/akshare/k_line_api.py +0 -123
  10. mns_common/api/akshare/stock_bid_ask_api.py +0 -94
  11. mns_common/api/akshare/stock_dt_pool.py +0 -47
  12. mns_common/api/akshare/stock_zb_pool.py +0 -48
  13. mns_common/api/akshare/stock_zt_pool_api.py +0 -47
  14. mns_common/api/akshare/yjyg_sync_api.py +0 -98
  15. /mns_common/api/em/{concept → real_time/concept}/__init__.py +0 -0
  16. /mns_common/api/em/{concept → real_time/concept}/em_concept_index_api.py +0 -0
  17. /mns_common/api/em/{gd → real_time/gd}/__init__.py +0 -0
  18. /mns_common/api/em/{gd → real_time/gd}/east_money_stock_gdfx_free_top_10_api.py +0 -0
  19. /mns_common/api/em/real_time/{east_money_stock_a_v2_api.py → real_time/east_money_stock_a_v2_api.py} +0 -0
  20. /mns_common/api/em/real_time/{east_money_stock_us_api.py → real_time/east_money_stock_us_api.py} +0 -0
  21. {mns_common-1.5.1.7.dist-info → mns_common-1.5.1.9.dist-info}/WHEEL +0 -0
  22. {mns_common-1.5.1.7.dist-info → mns_common-1.5.1.9.dist-info}/top_level.txt +0 -0
@@ -1,47 +0,0 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 14
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- import akshare as ak
9
- from loguru import logger
10
- import mns_common.utils.data_frame_util as data_frame_util
11
- import mns_common.utils.date_handle_util as date_handle_util
12
-
13
-
14
- def stock_em_dt_pool_df(date):
15
- try:
16
- date = date_handle_util.no_slash_date(date)
17
- stock_dt_pool_df = ak.stock_zt_pool_dtgc_em(date)
18
- if data_frame_util.is_empty(stock_dt_pool_df):
19
- return None
20
- stock_dt_pool_df.rename(columns={"序号": "index",
21
- "代码": "symbol",
22
- "名称": "name",
23
- "涨跌幅": "chg",
24
- "最新价": "now_price",
25
- "成交额": "amount",
26
- "流通市值": "flow_mv",
27
- "总市值": "total_mv",
28
- "动态市盈率": "ttm_pe",
29
- "换手率": "exchange",
30
- "封单资金": "closure_funds",
31
- "最后封板时间": "last_closure_time",
32
- "板上成交额": "plates_deal",
33
- "连续跌停": "connected_boards_numbers",
34
- "开板次数": "frying_plates_numbers",
35
- "所属行业": "industry"
36
- }, inplace=True)
37
- stock_dt_pool_df.loc[stock_dt_pool_df['amount'] == '-', 'amount'] = 0
38
- stock_dt_pool_df.loc[stock_dt_pool_df['exchange'] == '-', 'exchange'] = 0
39
- stock_dt_pool_df.loc[stock_dt_pool_df['closure_funds'] == '-', 'closure_funds'] = 0
40
- return stock_dt_pool_df
41
- except BaseException as e:
42
- logger.error("同步股票跌停数据出现异常:{},{}", date, e)
43
- return None
44
-
45
-
46
- if __name__ == '__main__':
47
- stock_em_dt_pool_df('20231215')
@@ -1,48 +0,0 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 14
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- import akshare as ak
9
- from loguru import logger
10
- import mns_common.utils.data_frame_util as data_frame_util
11
- import mns_common.utils.date_handle_util as date_handle_util
12
-
13
-
14
- def stock_zb_pool_df(date):
15
- try:
16
- date = date_handle_util.no_slash_date(date)
17
- stock_zb_pool = ak.stock_zt_pool_zbgc_em(date)
18
- if data_frame_util.is_empty(stock_zb_pool):
19
- return None
20
- stock_zb_pool.rename(columns={"序号": "index",
21
- "代码": "symbol",
22
- "名称": "name",
23
- "涨跌幅": "chg",
24
- "最新价": "now_price",
25
- "炸板股价": "zt_price",
26
- "成交额": "amount",
27
- "流通市值": "flow_mv",
28
- "总市值": "total_mv",
29
- "动态市盈率": "ttm_pe",
30
- "换手率": "exchange",
31
- "涨速": "speed",
32
- "首次封板时间": "first_closure_time",
33
- "炸板次数": "frying_plates_numbers",
34
- "炸板股统计": "statistics",
35
- "振幅": "pct_chg",
36
- "所属行业": "industry"
37
- }, inplace=True)
38
- stock_zb_pool.loc[stock_zb_pool['amount'] == '-', 'amount'] = 0
39
- stock_zb_pool.loc[stock_zb_pool['exchange'] == '-', 'exchange'] = 0
40
- return stock_zb_pool
41
- except BaseException as e:
42
- logger.error("同步股票炸板数据出现异常:{},{}", date, e)
43
- return None
44
-
45
-
46
- if __name__ == '__main__':
47
- df = stock_zb_pool_df('2024-09-04')
48
- print(df)
@@ -1,47 +0,0 @@
1
- import sys
2
- import os
3
-
4
- file_path = os.path.abspath(__file__)
5
- end = file_path.index('mns') + 14
6
- project_path = file_path[0:end]
7
- sys.path.append(project_path)
8
- import akshare as ak
9
- from loguru import logger
10
- import mns_common.utils.date_handle_util as date_handle_util
11
-
12
-
13
- def stock_em_zt_pool_df(date):
14
- try:
15
- date = date_handle_util.no_slash_date(date)
16
- zt_df = ak.stock_zt_pool_em(date)
17
- if zt_df is None or zt_df.shape[0] == 0:
18
- return None
19
- zt_df.rename(columns={"序号": "index",
20
- "代码": "symbol",
21
- "名称": "name",
22
- "最新价": "now_price",
23
- "涨跌幅": "chg",
24
- "成交额": "amount",
25
- "流通市值": "flow_mv",
26
- "总市值": "total_mv",
27
- "换手率": "exchange",
28
- "封板资金": "closure_funds",
29
- "首次封板时间": "first_closure_time",
30
- "最后封板时间": "last_closure_time",
31
- "炸板次数": "frying_plates_numbers",
32
- "涨停统计": "statistics",
33
- "连板数": "connected_boards_numbers",
34
- "所属行业": "industry"
35
- }, inplace=True)
36
- zt_df.loc[zt_df['amount'] == '-', 'amount'] = 0
37
- zt_df.loc[zt_df['exchange'] == '-', 'exchange'] = 0
38
- zt_df.loc[zt_df['closure_funds'] == '-', 'closure_funds'] = 0
39
- return zt_df
40
- except BaseException as e:
41
- logger.error("同步股票涨停数据出现异常:{},{}", date, e)
42
- return None
43
-
44
-
45
- if __name__ == '__main__':
46
- df = stock_em_zt_pool_df('2025-10-24')
47
- print(df)
@@ -1,98 +0,0 @@
1
- import sys
2
- import os
3
- import akshare as ak
4
- from mns_common.db.MongodbUtil import MongodbUtil
5
- import mns_common.utils.data_frame_util as data_frame_util
6
- import pandas as pd
7
- from datetime import datetime
8
-
9
- file_path = os.path.abspath(__file__)
10
- end = file_path.index('mns') + 14
11
- project_path = file_path[0:end]
12
- sys.path.append(project_path)
13
- mongodb_util = MongodbUtil('27017')
14
-
15
- predictor_translation_map = {
16
- "主营业务收入": "main_operating_revenue",
17
- "净利润": "net_profit",
18
- "归属于上市公司股东的净利润": "net_profit_attributable_to_shareholders",
19
- "扣除后营业收入": "operating_revenue_deducted",
20
- "扣除非经常性损益后的净利润": "net_profit_excluding_non_recurring_items",
21
- "扣非后每股收益": "earnings_per_share_excluding_non_recurring_items",
22
- "每股收益": "earnings_per_share",
23
- "营业收入": "operating_revenue",
24
- "非经常性损益": "non_recurring_items"
25
- }
26
- # ['net_profit', 'net_profit_attributable_to_shareholders', 'net_profit_excluding_non_recurring_items',
27
- # 'earnings_per_share_excluding_non_recurring_items', 'earnings_per_share']
28
- predict_type_translation_map = {
29
- "不确定": "uncertain",
30
- "减亏": "loss_reduction",
31
- "增亏": "increased_loss",
32
- "扭亏": "turnaround",
33
- "略减": "slight_decrease",
34
- "略增": "slight_increase",
35
- "续亏": "continued_loss",
36
- "续盈": "continued_profit",
37
- "预减": "pre_loss",
38
- "预增": "pre_increase",
39
- "首亏": "first_loss"
40
- }
41
-
42
-
43
- # ['turnaround', 'slight_increase', 'continued_profit', 'pre_increase']
44
-
45
-
46
- def sync_yjyg_data(period):
47
- stock_yjyg_em_df = ak.stock_yjyg_em(date=period)
48
- if data_frame_util.is_empty(stock_yjyg_em_df):
49
- return None
50
- now_date = datetime.now()
51
- str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
52
- sync_day = now_date.strftime('%Y-%m-%d')
53
- stock_yjyg_em_df.rename(columns={"序号": "index",
54
- "股票代码": "symbol",
55
- "股票简称": "name",
56
- "预测指标": "predictor",
57
- "业绩变动": "perform_change_detail",
58
- "预测数值": "predicted_value",
59
- "业绩变动幅度": "perform_chg",
60
- "业绩变动原因": "perform_change_reason",
61
- "预告类型": "predict_type",
62
- "上年同期值": "last_year_period",
63
- "公告日期": "release_day"}, inplace=True)
64
-
65
- stock_yjyg_em_df['predictor_en'] = stock_yjyg_em_df['predictor'].map(lambda x: predictor_translation_map.get(x, x))
66
- stock_yjyg_em_df['predict_type_en'] = stock_yjyg_em_df['predict_type'].map(
67
- lambda x: predict_type_translation_map.get(x, x))
68
-
69
- stock_yjyg_em_df.loc[:, 'period'] = period
70
- stock_yjyg_em_df.loc[:, 'sync_day'] = sync_day
71
- stock_yjyg_em_df.loc[:, 'str_now_date'] = str_now_date
72
- stock_yjyg_em_df['release_day'] = pd.to_datetime(stock_yjyg_em_df['release_day'])
73
- stock_yjyg_em_df['release_day'] = stock_yjyg_em_df['release_day'].dt.strftime('%Y-%m-%d')
74
-
75
- stock_yjyg_em_df['perform_chg'].fillna(0, inplace=True)
76
- stock_yjyg_em_df['_id'] = stock_yjyg_em_df['symbol'] + '_' + period + '_' + stock_yjyg_em_df[
77
- 'predictor_en'] + '_' + stock_yjyg_em_df['predict_type_en']
78
- stock_yjyg_em_df = stock_yjyg_em_df[
79
- ['_id', 'symbol', 'name', 'predictor',
80
- 'predictor_en',
81
- 'perform_change_detail',
82
- 'predicted_value',
83
- 'perform_chg',
84
- 'perform_change_reason',
85
- 'predict_type',
86
- 'predict_type_en',
87
- 'last_year_period',
88
- 'release_day',
89
- 'period',
90
- 'sync_day',
91
- 'str_now_date',
92
- 'index']]
93
-
94
- mongodb_util.save_mongo(stock_yjyg_em_df, 'stock_yjyg_em_df')
95
-
96
-
97
- if __name__ == '__main__':
98
- sync_yjyg_data('20230630')
File without changes