mns-scheduler 1.0.9.1__tar.gz → 1.0.9.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-scheduler might be problematic. Click here for more details.
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/PKG-INFO +1 -1
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +2 -1
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/financial/net_assets_check_api.py +24 -6
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/financial/profit_income_check_api.py +2 -2
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +1 -1
- mns-scheduler-1.0.9.4/mns_scheduler/risk/transactions/transactions_check_api.py +165 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zz_task/data_sync_task.py +6 -3
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler.egg-info/PKG-INFO +1 -1
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler.egg-info/SOURCES.txt +3 -2
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/setup.py +1 -1
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/README.md +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/app/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/app/ths_new_concept_sync_app.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/em/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/wen_cai/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/big_deal/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/company_info/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/company_info/company_constant_data.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/company_info/company_info_sync_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/company_info/de_list_stock_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/clean/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/common/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_by_ak_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/sync_new_index/sync_ths_new_concept_by_web_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/db/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/db/col_move_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/db/db_status.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/dt/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/finance/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/finance/finance_common_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/finance/test → mns-scheduler-1.0.9.4/mns_scheduler/hk}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/hk → mns-scheduler-1.0.9.4/mns_scheduler/irm}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/irm → mns-scheduler-1.0.9.4/mns_scheduler/irm/api}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/__init__.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/irm/api → mns-scheduler-1.0.9.4/mns_scheduler/k_line/clean/daily}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/k_line/clean/daily → mns-scheduler-1.0.9.4/mns_scheduler/k_line/clean/week_month}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/k_line/clean/week_month → mns-scheduler-1.0.9.4/mns_scheduler/k_line/hot_stocks}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/sync/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/k_line/hot_stocks → mns-scheduler-1.0.9.4/mns_scheduler/k_line/test}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/k_line/test → mns-scheduler-1.0.9.4/mns_scheduler/lhb}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/lhb → mns-scheduler-1.0.9.4/mns_scheduler/open}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/real_time/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/open → mns-scheduler-1.0.9.4/mns_scheduler/risk}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/compliance/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/financial/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/major_violations/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/self/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/risk → mns-scheduler-1.0.9.4/mns_scheduler/risk/test}/__init__.py +0 -0
- {mns-scheduler-1.0.9.1/mns_scheduler/finance → mns-scheduler-1.0.9.4/mns_scheduler/risk}/test/fix_blask_list.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/transactions/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/trade/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/trade/sync_position_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zb/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/export/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/high_chg/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/open_data/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/script/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/zt_pool/zt_pool_sync_api.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zz_task/__init__.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler.egg-info/dependency_links.txt +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler.egg-info/top_level.txt +0 -0
- {mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/setup.cfg +0 -0
|
@@ -22,6 +22,7 @@ def annual_report_audit_check(new_report_df, period_time):
|
|
|
22
22
|
opinion_type = list(new_report_one_df['OPINION_TYPE'])[0]
|
|
23
23
|
symbol = list(new_report_one_df['SECURITY_CODE'])[0]
|
|
24
24
|
name = list(new_report_one_df['SECURITY_NAME_ABBR'])[0]
|
|
25
|
+
notice_date = list(new_report_one_df['NOTICE_DATE'])[0]
|
|
25
26
|
now_date = datetime.now()
|
|
26
27
|
str_day = now_date.strftime('%Y-%m-%d')
|
|
27
28
|
str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
@@ -33,7 +34,7 @@ def annual_report_audit_check(new_report_df, period_time):
|
|
|
33
34
|
symbol,
|
|
34
35
|
name,
|
|
35
36
|
str_day,
|
|
36
|
-
|
|
37
|
+
notice_date,
|
|
37
38
|
'年报审计有问题:' + "[" + str(opinion_type) + "]",
|
|
38
39
|
'年报审计有问题',
|
|
39
40
|
'',
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/financial/net_assets_check_api.py
RENAMED
|
@@ -8,8 +8,8 @@ from mns_common.constant.black_list_classify_enum import BlackClassify
|
|
|
8
8
|
mongodb_util = MongodbUtil('27017')
|
|
9
9
|
# 最大负债比
|
|
10
10
|
MAX_LIABILITY_RATIO = 90
|
|
11
|
-
#
|
|
12
|
-
MIN_NET_ASSET =
|
|
11
|
+
# 最小净资产1.5亿
|
|
12
|
+
MIN_NET_ASSET = 150000000
|
|
13
13
|
# 排除校验负债比的行业
|
|
14
14
|
EXCLUDE_INDUSTRY = ['保险', '银行', '证券']
|
|
15
15
|
|
|
@@ -20,7 +20,9 @@ def net_assets_check(report_type, new_report_df, period_time):
|
|
|
20
20
|
new_report_df = new_report_df.sort_values(by=['REPORT_DATE'], ascending=False)
|
|
21
21
|
new_report_one_df = new_report_df.iloc[0:1]
|
|
22
22
|
# 负债比
|
|
23
|
-
liability_ratio =
|
|
23
|
+
liability_ratio = round(
|
|
24
|
+
list(new_report_one_df['TOTAL_LIABILITIES'])[0] * 100 / list(new_report_one_df['TOTAL_ASSETS'])[0],
|
|
25
|
+
2)
|
|
24
26
|
# 净资产
|
|
25
27
|
net_asset = round(list(new_report_one_df['TOTAL_ASSETS'])[0] - list(new_report_one_df['TOTAL_LIABILITIES'])[0],
|
|
26
28
|
2)
|
|
@@ -31,7 +33,7 @@ def net_assets_check(report_type, new_report_df, period_time):
|
|
|
31
33
|
str_day = now_date.strftime('%Y-%m-%d')
|
|
32
34
|
str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
33
35
|
id_key = symbol + "_" + period_time + "_" + BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code
|
|
34
|
-
|
|
36
|
+
notice_date = list(new_report_one_df['NOTICE_DATE'])[0]
|
|
35
37
|
query_company = {'_id': symbol, 'industry': {'$in': EXCLUDE_INDUSTRY}}
|
|
36
38
|
if mongodb_util.exist_data_query(db_name_constant.COMPANY_INFO, query_company):
|
|
37
39
|
return None
|
|
@@ -41,8 +43,8 @@ def net_assets_check(report_type, new_report_df, period_time):
|
|
|
41
43
|
symbol,
|
|
42
44
|
name,
|
|
43
45
|
str_day,
|
|
44
|
-
|
|
45
|
-
'负债过高:' + "[" + str(
|
|
46
|
+
notice_date,
|
|
47
|
+
'负债过高:' + "[" + "负债比:" + str(
|
|
46
48
|
liability_ratio) + "]" + "," + "净资产:"
|
|
47
49
|
+ str(round(net_asset / common_service_fun_api.HUNDRED_MILLION,
|
|
48
50
|
0)) + "亿",
|
|
@@ -52,3 +54,19 @@ def net_assets_check(report_type, new_report_df, period_time):
|
|
|
52
54
|
BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_name,
|
|
53
55
|
BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code,
|
|
54
56
|
BlackClassify.FINANCIAL_PROBLEM_DEBT.level_name)
|
|
57
|
+
if net_asset < MIN_NET_ASSET:
|
|
58
|
+
black_list_service_api.save_black_stock(id_key,
|
|
59
|
+
symbol,
|
|
60
|
+
name,
|
|
61
|
+
str_day,
|
|
62
|
+
notice_date,
|
|
63
|
+
'净资产低:' + "[" + "负债比:" + str(
|
|
64
|
+
liability_ratio) + "]" + "," + "净资产:"
|
|
65
|
+
+ str(round(net_asset / common_service_fun_api.HUNDRED_MILLION,
|
|
66
|
+
0)) + "亿",
|
|
67
|
+
'净资产低:' + "[" + str(liability_ratio) + "]",
|
|
68
|
+
'',
|
|
69
|
+
BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_code,
|
|
70
|
+
BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_name,
|
|
71
|
+
BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code,
|
|
72
|
+
BlackClassify.FINANCIAL_PROBLEM_DEBT.level_name)
|
|
@@ -26,7 +26,7 @@ def profit_income_check(new_report_df, period_time, report_type):
|
|
|
26
26
|
now_date = datetime.now()
|
|
27
27
|
str_day = now_date.strftime('%Y-%m-%d')
|
|
28
28
|
str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
29
|
-
|
|
29
|
+
notice_date = list(new_report_one_df['NOTICE_DATE'])[0]
|
|
30
30
|
if report_type == db_name_constant.EM_STOCK_PROFIT:
|
|
31
31
|
# 利润总额 净利润 扣除非经常性损益后的净利润 三者最小为负
|
|
32
32
|
# 利润总额
|
|
@@ -63,7 +63,7 @@ def profit_income_check(new_report_df, period_time, report_type):
|
|
|
63
63
|
symbol,
|
|
64
64
|
name,
|
|
65
65
|
str_day,
|
|
66
|
-
|
|
66
|
+
notice_date,
|
|
67
67
|
'年报:利润:' + '[' + str(min_profit) + '万]' + '收入:' + str(
|
|
68
68
|
total_operate_income) + '[' + '亿元]--' + '触发退市风险',
|
|
69
69
|
'年报:利润:' + '[' + str(min_profit) + '万]' + '收入:' + str(
|
|
@@ -62,7 +62,7 @@ def sync_all_investigate_stocks(page_size, search_key, begin_day, end_day):
|
|
|
62
62
|
|
|
63
63
|
# 立案调查的股票
|
|
64
64
|
def sync_new_high_risk_stocks():
|
|
65
|
-
before_days =
|
|
65
|
+
before_days = 60
|
|
66
66
|
const_num = 30
|
|
67
67
|
init_date = datetime.now()
|
|
68
68
|
str_day = init_date.strftime('%Y-%m-%d')
|
|
@@ -0,0 +1,165 @@
|
|
|
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 mns_common.api.em.east_money_stock_api as east_money_stock_api
|
|
9
|
+
from datetime import datetime
|
|
10
|
+
import mns_common.component.self_choose.black_list_service_api as black_list_service_api
|
|
11
|
+
import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
|
|
12
|
+
from loguru import logger
|
|
13
|
+
import mns_common.constant.db_name_constant as db_name_constant
|
|
14
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
15
|
+
import mns_common.component.company.company_common_service_new_api as company_common_service_new_api
|
|
16
|
+
from mns_common.constant.black_list_classify_enum import BlackClassify
|
|
17
|
+
import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
18
|
+
import mns_common.utils.date_handle_util as date_handle_util
|
|
19
|
+
|
|
20
|
+
mongodb_util = MongodbUtil('27017')
|
|
21
|
+
|
|
22
|
+
# 主板 市值最小值 6亿 20个交易日低于5亿退市
|
|
23
|
+
MAIN_MARKET_MIN_MV = 600000000
|
|
24
|
+
|
|
25
|
+
# 创业 科创 北交所 市值最小值 4亿 20个交易日低于3亿退市
|
|
26
|
+
SUB_MARKET_MIN_MV = 400000000
|
|
27
|
+
|
|
28
|
+
# 最小面值 20个交易日低于1元退市
|
|
29
|
+
MIN_NOW_PRICE = 1.5
|
|
30
|
+
|
|
31
|
+
# 主板 120个交易日 参考600万 成交量低于500万股
|
|
32
|
+
MAIN_MARKET_MIN_VOLUME = 6000000
|
|
33
|
+
|
|
34
|
+
# 科创 创业 120个交易日 参考300万 成交量低于200万股
|
|
35
|
+
SUB_MARKET_MIN_VOLUME = 3000000
|
|
36
|
+
|
|
37
|
+
# 北交所 120个交易日 参考150万 成交量低于100万股
|
|
38
|
+
BJS_MARKET_MIN_VOLUME = 1500000
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def transactions_check_task():
|
|
42
|
+
real_time_quotes_now = east_money_stock_api.get_real_time_quotes_all_stocks()
|
|
43
|
+
real_time_quotes_now = common_service_fun_api.classify_symbol(real_time_quotes_now)
|
|
44
|
+
real_time_quotes_now = common_service_fun_api.exclude_ts_symbol(real_time_quotes_now)
|
|
45
|
+
|
|
46
|
+
de_list_symbol = company_common_service_new_api.get_de_list_company()
|
|
47
|
+
|
|
48
|
+
real_time_quotes_now = real_time_quotes_now.loc[~(real_time_quotes_now['symbol'].isin(de_list_symbol))]
|
|
49
|
+
|
|
50
|
+
query = {"up_level_code": BlackClassify.TRANSACTIONS.level_code}
|
|
51
|
+
tag = mongodb_util.remove_data(query, db_name_constant.SELF_BLACK_STOCK)
|
|
52
|
+
success = tag.acknowledged
|
|
53
|
+
if success:
|
|
54
|
+
|
|
55
|
+
for stock_one in real_time_quotes_now.itertuples():
|
|
56
|
+
try:
|
|
57
|
+
total_mv_check(stock_one)
|
|
58
|
+
now_price_check(stock_one)
|
|
59
|
+
volume_check(stock_one)
|
|
60
|
+
except BaseException as e:
|
|
61
|
+
logger.error("交易风险校验异常:{},{}", e, stock_one.symbol)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# 总市值check
|
|
65
|
+
def total_mv_check(stock_one):
|
|
66
|
+
classification = stock_one.classification
|
|
67
|
+
total_mv = stock_one.total_mv
|
|
68
|
+
now_date = datetime.now()
|
|
69
|
+
str_day = now_date.strftime('%Y-%m-%d')
|
|
70
|
+
str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
71
|
+
key_id = stock_one.symbol + "_" + BlackClassify.MV_RISK.level_code
|
|
72
|
+
tag = False
|
|
73
|
+
if classification in ['S', 'H'] and total_mv < MAIN_MARKET_MIN_MV:
|
|
74
|
+
tag = True
|
|
75
|
+
elif classification in ['K', 'C', "X"] and total_mv < SUB_MARKET_MIN_MV:
|
|
76
|
+
tag = True
|
|
77
|
+
|
|
78
|
+
if tag:
|
|
79
|
+
black_list_service_api.save_black_stock(
|
|
80
|
+
key_id,
|
|
81
|
+
stock_one.symbol,
|
|
82
|
+
stock_one.name,
|
|
83
|
+
str_day,
|
|
84
|
+
str_now_date,
|
|
85
|
+
BlackClassify.MV_RISK.level_name + ":" + str(
|
|
86
|
+
round(total_mv / common_service_fun_api.HUNDRED_MILLION, 2)) + "亿",
|
|
87
|
+
BlackClassify.MV_RISK.level_name + ":" + str(
|
|
88
|
+
round(total_mv / common_service_fun_api.HUNDRED_MILLION, 2)) + "亿",
|
|
89
|
+
"",
|
|
90
|
+
BlackClassify.MV_RISK.up_level_code,
|
|
91
|
+
BlackClassify.MV_RISK.up_level_name,
|
|
92
|
+
BlackClassify.MV_RISK.level_code,
|
|
93
|
+
BlackClassify.MV_RISK.level_name,
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
# 当前面值check
|
|
98
|
+
def now_price_check(stock_one):
|
|
99
|
+
now_price = stock_one.now_price
|
|
100
|
+
now_date = datetime.now()
|
|
101
|
+
str_day = now_date.strftime('%Y-%m-%d')
|
|
102
|
+
str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
103
|
+
key_id = stock_one.symbol + "_" + BlackClassify.CLOSE_PRICE_RISK.level_code
|
|
104
|
+
if now_price < MIN_NOW_PRICE:
|
|
105
|
+
black_list_service_api.save_black_stock(
|
|
106
|
+
key_id,
|
|
107
|
+
stock_one.symbol,
|
|
108
|
+
stock_one.name,
|
|
109
|
+
str_day,
|
|
110
|
+
str_now_date,
|
|
111
|
+
BlackClassify.CLOSE_PRICE_RISK.level_name + ":当前价格" + str(now_price),
|
|
112
|
+
BlackClassify.CLOSE_PRICE_RISK.level_name + ":当前价格" + str(now_price),
|
|
113
|
+
"",
|
|
114
|
+
BlackClassify.CLOSE_PRICE_RISK.up_level_code,
|
|
115
|
+
BlackClassify.CLOSE_PRICE_RISK.up_level_name,
|
|
116
|
+
BlackClassify.CLOSE_PRICE_RISK.level_code,
|
|
117
|
+
BlackClassify.CLOSE_PRICE_RISK.level_name,
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
#
|
|
122
|
+
def volume_check(stock_one):
|
|
123
|
+
now_date = datetime.now()
|
|
124
|
+
str_day = now_date.strftime('%Y-%m-%d')
|
|
125
|
+
str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
126
|
+
trade_date_120 = trade_date_common_service_api.get_before_trade_date(str_day, 120)
|
|
127
|
+
query = {'date': {"$gte": date_handle_util.no_slash_date(trade_date_120)}, 'symbol': stock_one.symbol}
|
|
128
|
+
stock_qfq_daily_df = mongodb_util.find_query_data(db_name_constant.STOCK_QFQ_DAILY, query)
|
|
129
|
+
if stock_qfq_daily_df.shape[0] < 120:
|
|
130
|
+
return
|
|
131
|
+
# volume 单位是100股
|
|
132
|
+
sum_volume = sum(stock_qfq_daily_df['volume']) * 100
|
|
133
|
+
key_id = stock_one.symbol + "_" + BlackClassify.AMOUNT_RISK.level_code
|
|
134
|
+
tag = False
|
|
135
|
+
classification = stock_one.classification
|
|
136
|
+
if classification in ['S', 'H'] and sum_volume < MAIN_MARKET_MIN_VOLUME:
|
|
137
|
+
tag = True
|
|
138
|
+
|
|
139
|
+
elif classification in ['K', 'C'] and sum_volume < SUB_MARKET_MIN_VOLUME:
|
|
140
|
+
tag = True
|
|
141
|
+
|
|
142
|
+
elif classification in ['X'] and sum_volume < BJS_MARKET_MIN_VOLUME:
|
|
143
|
+
tag = True
|
|
144
|
+
|
|
145
|
+
if tag:
|
|
146
|
+
black_list_service_api.save_black_stock(
|
|
147
|
+
key_id,
|
|
148
|
+
stock_one.symbol,
|
|
149
|
+
stock_one.name,
|
|
150
|
+
str_day,
|
|
151
|
+
str_now_date,
|
|
152
|
+
BlackClassify.AMOUNT_RISK.level_name + ":120个交易日成交量:" + str(
|
|
153
|
+
round(sum_volume / common_service_fun_api.TEN_THOUSAND), 0) + "万股",
|
|
154
|
+
BlackClassify.AMOUNT_RISK.level_name + ":120个交易日成交量:" + str(
|
|
155
|
+
round(sum_volume / common_service_fun_api.TEN_THOUSAND), 0) + "万股",
|
|
156
|
+
"",
|
|
157
|
+
BlackClassify.AMOUNT_RISK.up_level_code,
|
|
158
|
+
BlackClassify.AMOUNT_RISK.up_level_name,
|
|
159
|
+
BlackClassify.AMOUNT_RISK.level_code,
|
|
160
|
+
BlackClassify.AMOUNT_RISK.level_name,
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
if __name__ == '__main__':
|
|
165
|
+
transactions_check_task()
|
|
@@ -46,6 +46,7 @@ import mns_scheduler.open.sync_one_day_open_data_to_db_service as sync_one_day_o
|
|
|
46
46
|
import mns_scheduler.zt.high_chg.sync_high_chg_pool_service as sync_high_chg_pool_service
|
|
47
47
|
import mns_scheduler.zt.high_chg.sync_high_chg_real_time_quotes_service as sync_high_chg_real_time_quotes_service
|
|
48
48
|
import mns_scheduler.risk.self.wei_pan_stock_api as wei_pan_stock_api
|
|
49
|
+
import mns_scheduler.risk.transactions.transactions_check_api as transactions_check_api
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
# 同步交易日期任务完成
|
|
@@ -325,13 +326,15 @@ def sync_kpl_best_his_quotes():
|
|
|
325
326
|
logger.info('同步开盘啦当日精选指数行情数据任务完成')
|
|
326
327
|
|
|
327
328
|
|
|
328
|
-
#
|
|
329
|
+
# 同步高风险的股票
|
|
329
330
|
def sync_new_high_risk_stocks():
|
|
330
331
|
logger.info('同步被立案调查的股票')
|
|
331
332
|
register_and_investigate_stock_sync_api.sync_new_high_risk_stocks()
|
|
332
333
|
reason_detail = '微盘股拉黑'
|
|
333
334
|
concept_code_wei_pan = '883418'
|
|
334
335
|
wei_pan_stock_api.add_concept_to_lack_list(concept_code_wei_pan, reason_detail)
|
|
336
|
+
logger.info('同步交易类风险的股票')
|
|
337
|
+
transactions_check_api.transactions_check_task()
|
|
335
338
|
|
|
336
339
|
|
|
337
340
|
# 同步互动回答
|
|
@@ -392,10 +395,10 @@ blockingScheduler.add_job(update_one_concept_all_symbol_detail, 'cron', hour='08
|
|
|
392
395
|
blockingScheduler.add_job(update_one_symbol_all_concepts, 'cron', hour='09,18,12', minute='15')
|
|
393
396
|
|
|
394
397
|
# 开盘前同步同花顺新概念指数
|
|
395
|
-
blockingScheduler.add_job(sync_new_concept_data_web, 'cron', hour='09', minute='
|
|
398
|
+
blockingScheduler.add_job(sync_new_concept_data_web, 'cron', hour='09,22', minute='00,10,20,28')
|
|
396
399
|
|
|
397
400
|
# 同步同花顺新增概念指数(定时轮训,暂时10分钟)
|
|
398
|
-
blockingScheduler.add_job(sync_new_concept_data_web, 'interval', minutes=10, max_instances=4)
|
|
401
|
+
# blockingScheduler.add_job(sync_new_concept_data_web, 'interval', minutes=10, max_instances=4)
|
|
399
402
|
|
|
400
403
|
# 同步开盘啦新增精选概念(定时轮训,暂时五分钟)
|
|
401
404
|
blockingScheduler.add_job(sync_all_kpl_plate_info, 'interval', minutes=5, max_instances=4)
|
|
@@ -44,8 +44,6 @@ mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py
|
|
|
44
44
|
mns_scheduler/finance/em_financial_profit_sync_service_api.py
|
|
45
45
|
mns_scheduler/finance/finance_common_api.py
|
|
46
46
|
mns_scheduler/finance/sync_financial_report_service_api.py
|
|
47
|
-
mns_scheduler/finance/test/__init__.py
|
|
48
|
-
mns_scheduler/finance/test/fix_blask_list.py
|
|
49
47
|
mns_scheduler/hk/__init__.py
|
|
50
48
|
mns_scheduler/hk/hk_company_info_sync_service_api.py
|
|
51
49
|
mns_scheduler/irm/__init__.py
|
|
@@ -98,7 +96,10 @@ mns_scheduler/risk/major_violations/__init__.py
|
|
|
98
96
|
mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py
|
|
99
97
|
mns_scheduler/risk/self/__init__.py
|
|
100
98
|
mns_scheduler/risk/self/wei_pan_stock_api.py
|
|
99
|
+
mns_scheduler/risk/test/__init__.py
|
|
100
|
+
mns_scheduler/risk/test/fix_blask_list.py
|
|
101
101
|
mns_scheduler/risk/transactions/__init__.py
|
|
102
|
+
mns_scheduler/risk/transactions/transactions_check_api.py
|
|
102
103
|
mns_scheduler/trade/__init__.py
|
|
103
104
|
mns_scheduler/trade/auto_ipo_buy_api.py
|
|
104
105
|
mns_scheduler/trade/auto_sell_service_api.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/app/ths_new_concept_sync_app.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/em/em_new_concept_his_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/em/em_new_concept_sync_web.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/company_info/company_constant_data.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/company_info/company_info_sync_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/company_info/de_list_stock_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/clean/kpl_concept_clean_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/clean/ths_concept_clean_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/concept/ths/sync_new_index/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/hk/hk_company_info_sync_service_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1/mns_scheduler/hk → mns-scheduler-1.0.9.4/mns_scheduler/irm}/__init__.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1/mns_scheduler/irm → mns-scheduler-1.0.9.4/mns_scheduler/irm/api}/__init__.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/irm/stock_irm_cninfo_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/k_line/clean/k_line_info_clean_task.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/index/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/symbol/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/kpl/selection/total/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1/mns_scheduler/lhb → mns-scheduler-1.0.9.4/mns_scheduler/open}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/real_time/realtime_quotes_now_sync.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.9.1/mns_scheduler/open → mns-scheduler-1.0.9.4/mns_scheduler/risk}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/major_violations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/risk/self/wei_pan_stock_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/trade/auto_sell_service_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/connected_boards/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zt/zt_pool/zt_pool_sync_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.9.1 → mns-scheduler-1.0.9.4}/mns_scheduler/zz_task/sync_realtime_quotes_task.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|