mns-scheduler 1.1.8.4__py3-none-any.whl → 1.4.3.2__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.
- mns_scheduler/__init__.py +1 -3
- mns_scheduler/company_info/announce/company_announce_sync_service.py +65 -0
- mns_scheduler/company_info/base/__init__.py +1 -1
- mns_scheduler/company_info/base/sync_company_base_info_api.py +171 -79
- mns_scheduler/company_info/base/sync_company_hold_info_api.py +3 -6
- mns_scheduler/company_info/base/sync_company_product_area_industry.py +161 -0
- mns_scheduler/company_info/clean/__init__.py +1 -1
- mns_scheduler/company_info/clean/company_info_clean_api.py +29 -9
- mns_scheduler/company_info/constant/__init__.py +1 -1
- mns_scheduler/company_info/constant/company_constant_data.py +285 -184
- mns_scheduler/company_info/de_list_stock/__init__.py +1 -1
- mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +1 -1
- mns_scheduler/company_info/em_stock_info/__init__.py +7 -0
- mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +80 -0
- mns_scheduler/company_info/remark/__init__.py +1 -1
- mns_scheduler/company_info/remark/company_remark_info_sync.py +3 -3
- mns_scheduler/concept/clean/kpl_concept_clean_api.py +1 -1
- mns_scheduler/concept/clean/ths_concept_clean_api.py +20 -4
- mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +21 -16
- mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +4 -1
- mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py +7 -7
- mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +9 -4
- mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +3 -3
- mns_scheduler/db/col_move_service.py +3 -3
- mns_scheduler/db/script/__init__.py +1 -1
- mns_scheduler/db/script/col_move_script.py +1 -1
- mns_scheduler/db/script/db_move/__init__.py +7 -0
- mns_scheduler/db/script/db_move/col_move_one_service.py +34 -0
- mns_scheduler/db/script/sync/__init__.py +1 -1
- mns_scheduler/db/script/sync/remote_data_sync_to_local.py +57 -4
- mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +80 -0
- mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py +69 -0
- mns_scheduler/db/script/update/__init__.py +7 -0
- mns_scheduler/db/script/update/update_col_field.py +36 -0
- mns_scheduler/finance/__init__.py +1 -1
- mns_scheduler/finance/{em_financial_asset_liability_sync_service_api.py → em/em_financial_asset_liability_sync_service_api.py} +2 -2
- mns_scheduler/finance/{em_financial_profit_sync_service_api.py → em/em_financial_profit_sync_service_api.py} +27 -26
- mns_scheduler/finance/{finance_common_api.py → em/finance_common_api.py} +3 -3
- mns_scheduler/finance/{sync_financial_report_service_api.py → sync_financial_report_service_task.py} +80 -27
- mns_scheduler/finance/xue_qiu/down_load_xueqiu_report_api.py +77 -0
- mns_scheduler/finance/xue_qiu/sync_xue_qiu_fiance_data.py +161 -0
- mns_scheduler/hk/__init__.py +1 -1
- mns_scheduler/hk/hk_company_info_sync_service_api.py +4 -4
- mns_scheduler/hk/hk_industry_info_sync_service_api.py +3 -5
- mns_scheduler/industry/__init__.py +7 -0
- mns_scheduler/industry/ths/__init__.py +7 -0
- mns_scheduler/industry/ths/ths_industry_index_service.py +58 -0
- mns_scheduler/industry/ths/ths_industry_sync_service.py +68 -0
- mns_scheduler/irm/__init__.py +1 -1
- mns_scheduler/irm/api/__init__.py +1 -1
- mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +1 -1
- mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +1 -1
- mns_scheduler/irm/stock_irm_cninfo_service.py +12 -8
- mns_scheduler/k_line/clean/daily/__init__.py +1 -1
- mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +52 -6
- mns_scheduler/k_line/clean/daily/daily_k_line_service.py +7 -2
- mns_scheduler/k_line/clean/k_line_info_clean_impl.py +3 -2
- mns_scheduler/k_line/clean/k_line_info_clean_task.py +42 -15
- mns_scheduler/k_line/clean/week_month/__init__.py +1 -1
- mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +124 -26
- mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +2 -2
- mns_scheduler/k_line/common/__init__.py +7 -0
- mns_scheduler/k_line/common/k_line_common_api.py +188 -0
- mns_scheduler/k_line/hot_stocks/__init__.py +1 -1
- mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +1 -1
- mns_scheduler/k_line/{sync → month_week_daily}/bfq_k_line_sync.py +14 -29
- mns_scheduler/k_line/{sync → month_week_daily}/daily_week_month_line_sync.py +11 -12
- mns_scheduler/k_line/sync_status/__init__.py +7 -0
- mns_scheduler/k_line/sync_status/k_line_sync_status_check.py +54 -0
- mns_scheduler/k_line/test/__init__.py +1 -1
- mns_scheduler/k_line/test/k_line_info_clean_his_data.py +14 -3
- mns_scheduler/k_line/year_quarter/__init__.py +7 -0
- mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +76 -0
- mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +1 -2
- mns_scheduler/kpl/selection/symbol/sync_kpl_concept_symbol_choose_reason_api.py +108 -0
- mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +5 -0
- mns_scheduler/lhb/__init__.py +1 -1
- mns_scheduler/lhb/stock_lhb_sync_service.py +1 -1
- mns_scheduler/open/__init__.py +1 -1
- mns_scheduler/open/sync_one_day_open_data_to_db_service.py +2 -3
- mns_scheduler/risk/__init__.py +1 -1
- mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +8 -2
- mns_scheduler/risk/financial/annual_report_audit_check_api.py +13 -3
- mns_scheduler/risk/financial/net_assets_check_api.py +21 -18
- mns_scheduler/risk/financial/profit_income_check_api.py +7 -2
- mns_scheduler/risk/financial_report_risk_check_api.py +1 -1
- mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +1 -1
- mns_scheduler/risk/self/wei_pan_stock_api.py +1 -1
- mns_scheduler/risk/test/__init__.py +1 -1
- mns_scheduler/risk/test/fix_blask_list.py +4 -6
- mns_scheduler/risk/transactions/transactions_check_api.py +22 -4
- mns_scheduler/self_choose/__init__.py +1 -1
- mns_scheduler/self_choose/ths_self_choose_service.py +60 -32
- mns_scheduler/trade/auto_login/trader_auto_service.py +6 -4
- mns_scheduler/trade/auto_sell_service_api.py +4 -4
- mns_scheduler/trade/balance/__init__.py +7 -0
- mns_scheduler/trade/balance/ths_account_balance_service.py +7 -0
- mns_scheduler/trade/sync_position_api.py +39 -6
- mns_scheduler/trade/task/trader_task_service.py +26 -9
- mns_scheduler/trade/tfp/__init__.py +7 -0
- mns_scheduler/trade/tfp/stock_tfp_info_sync.py +56 -0
- mns_scheduler/zb/stock_zb_pool_sync.py +1 -16
- mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +2 -2
- mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +1 -1
- mns_scheduler/zt/script/__init__.py +1 -1
- mns_scheduler/zt/script/fix_error_deal_day.py +41 -0
- mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +2 -2
- mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +2 -2
- mns_scheduler/zt/script/sync_now_higt_chg_zt.py +8 -7
- mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +256 -55
- mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +33 -90
- mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +24 -13
- mns_scheduler/zz_task/compensation/__init__.py +0 -0
- mns_scheduler/zz_task/compensation/compensate_task.py +161 -0
- mns_scheduler/zz_task/compensation/compensate_task_one_day.py +142 -0
- mns_scheduler/zz_task/data_sync_task.py +177 -91
- {mns_scheduler-1.1.8.4.dist-info → mns_scheduler-1.4.3.2.dist-info}/METADATA +1 -1
- mns_scheduler-1.4.3.2.dist-info/RECORD +169 -0
- {mns_scheduler-1.1.8.4.dist-info → mns_scheduler-1.4.3.2.dist-info}/WHEEL +1 -1
- mns_scheduler/2014-2015-test/2014_2015_chg_statistics.py +0 -87
- mns_scheduler/big_deal/ths_big_deal_sync.py +0 -98
- mns_scheduler/db/real_time_task_check.py +0 -84
- mns_scheduler/debt/kzz_bond_info_sync.py +0 -33
- mns_scheduler-1.1.8.4.dist-info/RECORD +0 -142
- /mns_scheduler/{big_deal → company_info/announce}/__init__.py +0 -0
- /mns_scheduler/{2014-2015-test → finance/em}/__init__.py +0 -0
- /mns_scheduler/{debt → finance/xue_qiu}/__init__.py +0 -0
- /mns_scheduler/k_line/{sync → month_week_daily}/__init__.py +0 -0
- {mns_scheduler-1.1.8.4.dist-info → mns_scheduler-1.4.3.2.dist-info}/top_level.txt +0 -0
|
@@ -1,87 +0,0 @@
|
|
|
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
|
-
import mns_common.constant.db_name_constant as db_name_constant
|
|
10
|
-
from mns_common.db.MongodbUtil import MongodbUtil
|
|
11
|
-
from loguru import logger
|
|
12
|
-
import mns_common.component.company.company_common_service_new_api as company_common_service_new_api
|
|
13
|
-
import mns_common.utils.date_handle_util as date_handle_util
|
|
14
|
-
import mns_common.api.akshare.k_line_api as k_line_api
|
|
15
|
-
|
|
16
|
-
mongodb_util = MongodbUtil('27017')
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def history_high_chg(symbol_param):
|
|
20
|
-
company_info_df = company_common_service_new_api.get_company_info_info()
|
|
21
|
-
begin_date = '20140722'
|
|
22
|
-
end_date = '20150615'
|
|
23
|
-
|
|
24
|
-
real_time_quotes_all_stocks_df = east_money_stock_api.get_real_time_quotes_all_stocks()
|
|
25
|
-
if symbol_param is not None:
|
|
26
|
-
real_time_quotes_all_stocks_df = real_time_quotes_all_stocks_df.loc[
|
|
27
|
-
real_time_quotes_all_stocks_df['symbol'] == symbol_param]
|
|
28
|
-
real_time_quotes_all_stocks_list_date_before = real_time_quotes_all_stocks_df.loc[
|
|
29
|
-
real_time_quotes_all_stocks_df['list_date'] < 20150615]
|
|
30
|
-
|
|
31
|
-
for company_one in real_time_quotes_all_stocks_list_date_before.itertuples():
|
|
32
|
-
try:
|
|
33
|
-
|
|
34
|
-
symbol = company_one.symbol
|
|
35
|
-
stock_qfq_daily_df = k_line_api.stock_zh_a_hist(symbol=symbol, period='daily',
|
|
36
|
-
start_date=date_handle_util.no_slash_date(begin_date),
|
|
37
|
-
end_date=date_handle_util.no_slash_date(end_date),
|
|
38
|
-
adjust='hfq')
|
|
39
|
-
|
|
40
|
-
if stock_qfq_daily_df.shape[0] < 100:
|
|
41
|
-
continue
|
|
42
|
-
logger.error("新股或者交易时间不足{}:{}", symbol, company_one.name)
|
|
43
|
-
stock_qfq_daily_df = stock_qfq_daily_df.sort_values(by=['date'], ascending=True)
|
|
44
|
-
first_row = stock_qfq_daily_df.iloc[0]
|
|
45
|
-
|
|
46
|
-
open_price = first_row.open
|
|
47
|
-
|
|
48
|
-
last_row = stock_qfq_daily_df.iloc[-1]
|
|
49
|
-
|
|
50
|
-
close_price = last_row.close
|
|
51
|
-
|
|
52
|
-
sum_chg = round((close_price - open_price) * 100 / open_price, 2)
|
|
53
|
-
|
|
54
|
-
company_info_df_one = company_info_df.loc[company_info_df['_id'] == symbol]
|
|
55
|
-
if company_info_df_one.shape[0] > 0:
|
|
56
|
-
company_info_df_one['sum_chg'] = sum_chg
|
|
57
|
-
company_info_df_one['name'] = company_one.name
|
|
58
|
-
company_info_df_one = company_info_df_one[
|
|
59
|
-
['_id',
|
|
60
|
-
'name',
|
|
61
|
-
'sum_chg',
|
|
62
|
-
'industry',
|
|
63
|
-
'first_sw_industry',
|
|
64
|
-
'second_sw_industry',
|
|
65
|
-
'third_sw_industry',
|
|
66
|
-
'em_industry',
|
|
67
|
-
'list_date',
|
|
68
|
-
'ths_concept_list_info',
|
|
69
|
-
'kpl_plate_name',
|
|
70
|
-
'kpl_plate_list_info',
|
|
71
|
-
'company_type']]
|
|
72
|
-
mongodb_util.save_mongo(company_info_df_one, '2014-2015-chg-statistics')
|
|
73
|
-
else:
|
|
74
|
-
logger.error("该股票已经退市{}:{}", symbol, company_one.name)
|
|
75
|
-
except BaseException as e:
|
|
76
|
-
logger.error("出现异常{}:{}", symbol, e)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if __name__ == '__main__':
|
|
80
|
-
symbol_test = None
|
|
81
|
-
|
|
82
|
-
# qfq_k_line_df = k_line_api.stock_zh_a_hist(symbol=symbol_test, period='daily',
|
|
83
|
-
# start_date=date_handle_util.no_slash_date('1990-12-19'),
|
|
84
|
-
# end_date=date_handle_util.no_slash_date('2990-12-19'),
|
|
85
|
-
# adjust='hfq')
|
|
86
|
-
|
|
87
|
-
history_high_chg(symbol_test)
|
|
@@ -1,98 +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
|
-
import mns_common.utils.date_handle_util as date_handle_util
|
|
9
|
-
from datetime import datetime, time, timedelta
|
|
10
|
-
from loguru import logger
|
|
11
|
-
import mns_common.utils.data_frame_util as data_frame_util
|
|
12
|
-
from mns_common.db.MongodbUtil import MongodbUtil
|
|
13
|
-
import mns_common.api.ths.big_deal.ths_big_deal_api as ths_big_deal_api
|
|
14
|
-
import time as sleep_time
|
|
15
|
-
import mns_common.constant.db_name_constant as db_name_constant
|
|
16
|
-
|
|
17
|
-
mongodb_util = MongodbUtil('27017')
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
#
|
|
21
|
-
def get_last_number(str_day):
|
|
22
|
-
query = {'str_day': str_day}
|
|
23
|
-
big_deal_df = mongodb_util.descend_query(query, db_name_constant.BIG_DEAL_NAME, "number", 1)
|
|
24
|
-
if data_frame_util.is_empty(big_deal_df):
|
|
25
|
-
return 1
|
|
26
|
-
else:
|
|
27
|
-
return list(big_deal_df['number'])[0]
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def create_index():
|
|
31
|
-
mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("symbol", 1)])
|
|
32
|
-
mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("str_day", 1)])
|
|
33
|
-
mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("symbol", 1), ("str_day", 1)])
|
|
34
|
-
mongodb_util.create_index(db_name_constant.BIG_DEAL_NAME, [("number", 1), ("str_day", 1)])
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def sync_ths_big_deal(tag):
|
|
38
|
-
create_index()
|
|
39
|
-
now_date_begin = datetime.now()
|
|
40
|
-
str_day_begin = now_date_begin.strftime('%Y-%m-%d')
|
|
41
|
-
number = get_last_number(str_day_begin)
|
|
42
|
-
while True:
|
|
43
|
-
now_date = datetime.now()
|
|
44
|
-
begin_date = now_date + timedelta(minutes=-2)
|
|
45
|
-
if tag or date_handle_util.is_trade_time(now_date):
|
|
46
|
-
try:
|
|
47
|
-
str_day = now_date.strftime('%Y-%m-%d')
|
|
48
|
-
str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
49
|
-
|
|
50
|
-
begin_str_date = begin_date.strftime('%Y-%m-%d %H:%M:%S')
|
|
51
|
-
|
|
52
|
-
target_time_09_30 = time(9, 30)
|
|
53
|
-
if now_date.time() < target_time_09_30:
|
|
54
|
-
continue
|
|
55
|
-
ths_big_deal_df = ths_big_deal_api.stock_fund_flow_big_deal(begin_str_date, str_now_date)
|
|
56
|
-
if data_frame_util.is_empty(ths_big_deal_df):
|
|
57
|
-
sleep_time.sleep(10)
|
|
58
|
-
continue
|
|
59
|
-
ths_big_deal_df['str_day'] = ths_big_deal_df['deal_time'].str.slice(0, 10)
|
|
60
|
-
ths_big_deal_df = ths_big_deal_df.loc[ths_big_deal_df['str_day'] == str_day]
|
|
61
|
-
ths_big_deal_df['number'] = number
|
|
62
|
-
ths_big_deal_df['amount_str'] = ths_big_deal_df.amount.astype(str)
|
|
63
|
-
ths_big_deal_df['type'] = ths_big_deal_df['type'].replace('买盘', 'buy')
|
|
64
|
-
ths_big_deal_df['type'] = ths_big_deal_df['type'].replace("卖盘", "sell")
|
|
65
|
-
|
|
66
|
-
ths_big_deal_df["_id"] = (ths_big_deal_df['deal_time'] + "-" + ths_big_deal_df['symbol'] + "-"
|
|
67
|
-
+ ths_big_deal_df['amount_str'] + "-" + ths_big_deal_df['type'])
|
|
68
|
-
ths_big_deal_df.drop_duplicates('_id', keep='last', inplace=True)
|
|
69
|
-
ths_big_deal_df['sync_str_date'] = str_now_date
|
|
70
|
-
# 设置卖盘为负数
|
|
71
|
-
ths_big_deal_df.loc[ths_big_deal_df['type'] == 'sell', 'amount'] = -ths_big_deal_df.loc[
|
|
72
|
-
ths_big_deal_df['type'] == 'sell', 'amount']
|
|
73
|
-
|
|
74
|
-
ths_big_deal_df['chg'] = ths_big_deal_df['chg'].str.replace('%', '')
|
|
75
|
-
ths_big_deal_df['chg'] = ths_big_deal_df['chg'].astype(float)
|
|
76
|
-
|
|
77
|
-
del ths_big_deal_df['amount_str']
|
|
78
|
-
exist_code_df = mongodb_util.find_query_data_choose_field(db_name_constant.BIG_DEAL_NAME,
|
|
79
|
-
{},
|
|
80
|
-
{"_id": 1})
|
|
81
|
-
if data_frame_util.is_empty(exist_code_df):
|
|
82
|
-
new_df = ths_big_deal_df
|
|
83
|
-
else:
|
|
84
|
-
exist_code_list = list(exist_code_df['_id'])
|
|
85
|
-
new_df = ths_big_deal_df.loc[~(ths_big_deal_df['_id'].isin(exist_code_list))]
|
|
86
|
-
|
|
87
|
-
if data_frame_util.is_empty(new_df):
|
|
88
|
-
continue
|
|
89
|
-
mongodb_util.insert_mongo(new_df, db_name_constant.BIG_DEAL_NAME)
|
|
90
|
-
number = number + 1
|
|
91
|
-
except Exception as e:
|
|
92
|
-
logger.error('策略执行异常:{}', e)
|
|
93
|
-
elif date_handle_util.is_close_time(now_date):
|
|
94
|
-
break
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if __name__ == '__main__':
|
|
98
|
-
sync_ths_big_deal(False)
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import sys
|
|
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.constant.db_name_constant as db_name_constant
|
|
9
|
-
import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
10
|
-
import mns_common.component.cache.cache_service as cache_service
|
|
11
|
-
import mns_common.utils.cmd_util as cmd_util
|
|
12
|
-
import mns_common.utils.data_frame_util as data_frame_util
|
|
13
|
-
from loguru import logger
|
|
14
|
-
from datetime import datetime
|
|
15
|
-
import mns_common.utils.date_handle_util as date_handle_util
|
|
16
|
-
from mns_common.db.MongodbUtil import MongodbUtil
|
|
17
|
-
|
|
18
|
-
mongodb_util = MongodbUtil('27017')
|
|
19
|
-
|
|
20
|
-
MAX_NUMBER_KEY = 'max_number_key'
|
|
21
|
-
# 实时行情同步任务 python名称
|
|
22
|
-
REAL_TIME_SCHEDULER_NAME = "sync_realtime_quotes_task"
|
|
23
|
-
# 实时行情补偿任务 python名称
|
|
24
|
-
REAL_TIME_TASK_NAME = "realtime_quotes_now_sync"
|
|
25
|
-
|
|
26
|
-
REAL_TIME_SCHEDULER_NAME_PATH = 'H:\\real_time_task.bat'
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def get_real_time_max_number():
|
|
30
|
-
number = common_service_fun_api.realtime_quotes_now_max_number(db_name_constant.REAL_TIME_QUOTES_NOW,
|
|
31
|
-
'number')
|
|
32
|
-
|
|
33
|
-
return number
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
# 检查数据同步最大值
|
|
37
|
-
def check_max_number():
|
|
38
|
-
now_max_number = get_real_time_max_number()
|
|
39
|
-
last_minute_number = cache_service.get_cache(MAX_NUMBER_KEY)
|
|
40
|
-
cache_service.set_cache(MAX_NUMBER_KEY, now_max_number)
|
|
41
|
-
if last_minute_number is None:
|
|
42
|
-
return True
|
|
43
|
-
elif now_max_number == last_minute_number:
|
|
44
|
-
return False
|
|
45
|
-
else:
|
|
46
|
-
return True
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
# 实时行情数据同步状态check
|
|
50
|
-
def run_check_real_time_data_sync_status():
|
|
51
|
-
now_date = datetime.now()
|
|
52
|
-
if bool(1 - date_handle_util.is_trade_time(now_date)):
|
|
53
|
-
return False
|
|
54
|
-
flag = check_max_number()
|
|
55
|
-
if bool(1 - flag):
|
|
56
|
-
all_cmd_processes = cmd_util.get_all_process()
|
|
57
|
-
if data_frame_util.is_empty(all_cmd_processes):
|
|
58
|
-
return None
|
|
59
|
-
all_cmd_processes_real_time_task = get_real_time_quotes_task(all_cmd_processes)
|
|
60
|
-
if data_frame_util.is_empty(all_cmd_processes_real_time_task):
|
|
61
|
-
return None
|
|
62
|
-
for match_task_one in all_cmd_processes_real_time_task.itertuples():
|
|
63
|
-
try:
|
|
64
|
-
processes_pid = match_task_one.process_pid
|
|
65
|
-
# 关闭当前进程
|
|
66
|
-
cmd_util.kill_process_by_pid(processes_pid)
|
|
67
|
-
# 清空临时数据表
|
|
68
|
-
mongodb_util.remove_all_data(db_name_constant.REAL_TIME_QUOTES_NOW)
|
|
69
|
-
|
|
70
|
-
except BaseException as e:
|
|
71
|
-
logger.error("关闭实时行情任务异常:{}", e)
|
|
72
|
-
# 重开任务进程
|
|
73
|
-
cmd_util.open_bat_file(REAL_TIME_SCHEDULER_NAME_PATH)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
def get_real_time_quotes_task(all_cmd_processes):
|
|
77
|
-
return all_cmd_processes[
|
|
78
|
-
(all_cmd_processes['total_info'].str.contains(REAL_TIME_SCHEDULER_NAME, case=False, na=False))
|
|
79
|
-
| (all_cmd_processes['total_info'].str.contains(REAL_TIME_TASK_NAME, case=False, na=False))]
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if __name__ == '__main__':
|
|
83
|
-
while True:
|
|
84
|
-
run_check_real_time_data_sync_status()
|
|
@@ -1,33 +0,0 @@
|
|
|
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_debt_api as east_money_debt_api
|
|
9
|
-
from datetime import datetime
|
|
10
|
-
import mns_common.constant.db_name_constant as db_name_constant
|
|
11
|
-
from mns_common.db.MongodbUtil import MongodbUtil
|
|
12
|
-
|
|
13
|
-
mongodb_util = MongodbUtil('27017')
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
# 同步可转债信息
|
|
17
|
-
def sync_debt_info():
|
|
18
|
-
now_date = datetime.now()
|
|
19
|
-
str_now_day = now_date.strftime('%Y-%m-%d')
|
|
20
|
-
kzz_bond_info_df = east_money_debt_api.get_kzz_bond_info()
|
|
21
|
-
kzz_bond_info_df = kzz_bond_info_df.fillna(0)
|
|
22
|
-
kzz_bond_info_df['apply_date'] = kzz_bond_info_df['apply_date'].astype(str)
|
|
23
|
-
kzz_bond_info_df['winning_date'] = kzz_bond_info_df['winning_date'].astype(str)
|
|
24
|
-
kzz_bond_info_df['list_date'] = kzz_bond_info_df['list_date'].astype(str)
|
|
25
|
-
kzz_bond_info_df['due_date'] = kzz_bond_info_df['due_date'].astype(str)
|
|
26
|
-
kzz_bond_info_df = kzz_bond_info_df.loc[kzz_bond_info_df['due_date'] >= str_now_day]
|
|
27
|
-
mongodb_util.remove_all_data(db_name_constant.KZZ_DEBT_INFO)
|
|
28
|
-
kzz_bond_info_df['_id'] = kzz_bond_info_df['symbol']
|
|
29
|
-
mongodb_util.insert_mongo(kzz_bond_info_df, db_name_constant.KZZ_DEBT_INFO)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if __name__ == '__main__':
|
|
33
|
-
sync_debt_info()
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
mns_scheduler/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
2
|
-
mns_scheduler/2014-2015-test/2014_2015_chg_statistics.py,sha256=u7QaSs764ZGXi3iLf0tX2VJzKWVlhmOG-3iPX8sZsnQ,3889
|
|
3
|
-
mns_scheduler/2014-2015-test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
4
|
-
mns_scheduler/big_deal/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
5
|
-
mns_scheduler/big_deal/ths_big_deal_sync.py,sha256=aMFj-_pLprh4vGjSSzmr_tlYoPA0L4Lm0SkLRkQwIiw,4564
|
|
6
|
-
mns_scheduler/company_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
7
|
-
mns_scheduler/company_info/base/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
8
|
-
mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=xH4awVhaXBvkGV79Hpxa8AWQonTIUnO1qgfEKBU2wNo,20290
|
|
9
|
-
mns_scheduler/company_info/base/sync_company_hold_info_api.py,sha256=W3Nj9st45efx8cy_42PRTcOXijWKnkO1-ZFRyyfR3S0,1587
|
|
10
|
-
mns_scheduler/company_info/clean/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
11
|
-
mns_scheduler/company_info/clean/company_info_clean_api.py,sha256=n3kxsqihPjKJvGDkAjMYqB_U2EPemOi1Yjez5yOYJeo,4858
|
|
12
|
-
mns_scheduler/company_info/constant/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
13
|
-
mns_scheduler/company_info/constant/company_constant_data.py,sha256=MHhVQfMa1NZpEw5GqBUHbGDszjA0ijvPPopWj6F58-g,17051
|
|
14
|
-
mns_scheduler/company_info/de_list_stock/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
15
|
-
mns_scheduler/company_info/de_list_stock/de_list_stock_service.py,sha256=GCp6hlvO-SuH1oIpEsYZwEnGUOa6fXb2D7CqAUYXKQA,1993
|
|
16
|
-
mns_scheduler/company_info/remark/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
17
|
-
mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=hzQ8uBK4-odbk3fA4M4IYbx1yLe34eHE7eH1ltPRtrU,2354
|
|
18
|
-
mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
19
|
-
mns_scheduler/concept/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
20
|
-
mns_scheduler/concept/clean/kpl_concept_clean_api.py,sha256=xxIIgrXLI6xLf10t4unJa7aMB_QeKeki1HJVeXsntkY,4512
|
|
21
|
-
mns_scheduler/concept/clean/ths_concept_clean_api.py,sha256=Q__cpjyT4IoXKhoDg0l_k4E_9lDY1LWRBcQJUwOC_ds,5955
|
|
22
|
-
mns_scheduler/concept/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
23
|
-
mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
24
|
-
mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=0cpQT_3diL5xgibvoZUdxxp9iThzucNOqtcwbsSLS9g,9757
|
|
25
|
-
mns_scheduler/concept/ths/common/ths_concept_update_common_api.py,sha256=4BQT3A9t-nDIyCpILgRZF7ZOgK1oabp-gJl5nyWvKWc,4418
|
|
26
|
-
mns_scheduler/concept/ths/detaill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
-
mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=DND0wPAbxXSSu8D9dJe6FaamAnnDftDMfLc9H6UmmSg,10885
|
|
28
|
-
mns_scheduler/concept/ths/sync_new_index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
29
|
-
mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py,sha256=nw1kv9L-1RMCEQ0iKIsok-KLMm3v4aZ967cPAQy9rls,7726
|
|
30
|
-
mns_scheduler/concept/ths/update_concept_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
31
|
-
mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py,sha256=wwuLfjj9AnFcHP-oQPC5AhpwgZ8IsPiNUh-Z6swcngA,1380
|
|
32
|
-
mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py,sha256=eWAgszLtmKcC9kF3Y00cPbT9A379_RLqWSm-wr-9bqQ,9406
|
|
33
|
-
mns_scheduler/db/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
34
|
-
mns_scheduler/db/col_move_service.py,sha256=tyWth-68MVs3lc6PTW-2SygD98_4_qUaCYZ6tX1JUp8,4230
|
|
35
|
-
mns_scheduler/db/db_status.py,sha256=e5eW5ZSm5J7tHvmxxhFmFdbZb2_oB_SAcdcFqc4KDmw,733
|
|
36
|
-
mns_scheduler/db/real_time_task_check.py,sha256=R8-ZmS7wzC_zZPGgDwv6kx2v25hBrYOTvXlU3cP2BVQ,3167
|
|
37
|
-
mns_scheduler/db/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
38
|
-
mns_scheduler/db/script/col_move_script.py,sha256=0WNv0xbnPPKTME2_WMEPSGNT0DUWC7hS4mJ2VeNgc08,1163
|
|
39
|
-
mns_scheduler/db/script/sync/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
40
|
-
mns_scheduler/db/script/sync/local_mongo_util.py,sha256=MFG-S7aUBLKe4tkhKNklUzpiZef2n078YXd39dfOMy0,7540
|
|
41
|
-
mns_scheduler/db/script/sync/remote_data_sync_to_local.py,sha256=WKJPo4u1Z6HeTz7aqlmDy81B1pOx6-sxxOWxix62-iQ,1558
|
|
42
|
-
mns_scheduler/db/script/sync/remote_mongo_util.py,sha256=-BCR2zeQ9z0zeZg6wO0aCS4bGnsGIohFRH7QR8XXJSo,10966
|
|
43
|
-
mns_scheduler/debt/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
44
|
-
mns_scheduler/debt/kzz_bond_info_sync.py,sha256=3o0Y4FBxP3AOXwf7Z7jVO1N_DcqxeOVqcgMM3y7E4uo,1336
|
|
45
|
-
mns_scheduler/dt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
46
|
-
mns_scheduler/dt/stock_dt_pool_sync.py,sha256=5ivRUOnFtOapZniwTbujf1lVq3y4btm2Cmd5R6JJAVo,3466
|
|
47
|
-
mns_scheduler/finance/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
48
|
-
mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py,sha256=kEZQZkxB7RF7UPH4DmHoRWfEKgI61ZN8BcNOzmBUoV0,19417
|
|
49
|
-
mns_scheduler/finance/em_financial_profit_sync_service_api.py,sha256=A_ONxC-1giGUWUhMJG1fE6jem52uJYtzlewzxPZtdd0,14270
|
|
50
|
-
mns_scheduler/finance/finance_common_api.py,sha256=_cjNHntTgXVbsfDT5F5KtCV_QNq2gbclgZ8UxrgGP64,2471
|
|
51
|
-
mns_scheduler/finance/sync_financial_report_service_api.py,sha256=NTdL2bIpo3-pGCeK8h97ZLepqOx5BKBELUh52jjKqVw,6641
|
|
52
|
-
mns_scheduler/hk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
53
|
-
mns_scheduler/hk/hk_company_info_sync_service_api.py,sha256=yZuJa3hDxudkfjurG4Z0LpA8X5JT6UAKESkVhKRNqx4,3746
|
|
54
|
-
mns_scheduler/hk/hk_industry_info_sync_service_api.py,sha256=HG-_KMQL3irL5pFbrnnv6srFT1Bo04QWwS_Kh3Qg0OU,2403
|
|
55
|
-
mns_scheduler/irm/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
56
|
-
mns_scheduler/irm/stock_irm_cninfo_service.py,sha256=mTwD7ZYKk9XlA3KD1SQWz2A8-OKAH2mdUl2A9Pzwrz8,9560
|
|
57
|
-
mns_scheduler/irm/api/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
58
|
-
mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py,sha256=iXy_FukyyQ_ZcU1WcT_DSpZ8-aEtDrTEcyiiIlFzXho,4931
|
|
59
|
-
mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py,sha256=6iZpdQ1pARchL3kV-oEVPDc9Ja0ciQBjBntVmxseeNE,6199
|
|
60
|
-
mns_scheduler/k_line/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
|
|
61
|
-
mns_scheduler/k_line/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
62
|
-
mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=2GgRc9Nb9wXMueoZhl9egYzjQP_NPhBCvj-XYcTlG9w,1238
|
|
63
|
-
mns_scheduler/k_line/clean/k_line_info_clean_task.py,sha256=ey6xTXAxxXh8_8cPzsWmUtVmG8Sd7jXFbpRpTrFrLDo,7622
|
|
64
|
-
mns_scheduler/k_line/clean/daily/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
65
|
-
mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py,sha256=j00d0LFZIjl5iabYnDOvU-aGRHgUI8mVaH__RmR0ZM8,18385
|
|
66
|
-
mns_scheduler/k_line/clean/daily/daily_k_line_service.py,sha256=BOzE5smjgJyUPdNvV4CUmN2phHT1VCtusosq7uhrGCw,6654
|
|
67
|
-
mns_scheduler/k_line/clean/week_month/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
68
|
-
mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py,sha256=4qInTtReDd77Jzb7ngme8yXHRd6INSbSCq84lhS3ScI,4862
|
|
69
|
-
mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py,sha256=BS5wouEZhz4WfqubDgjO2CcfmYonCFqRl1BOPnVN3r8,5518
|
|
70
|
-
mns_scheduler/k_line/hot_stocks/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
71
|
-
mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py,sha256=whm-pYhAd_7OKurIw2cteBwWse5vVXS88lcrTbbcSaE,2628
|
|
72
|
-
mns_scheduler/k_line/sync/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
|
|
73
|
-
mns_scheduler/k_line/sync/bfq_k_line_sync.py,sha256=i2NNdp4uVa-kiqQvOaY6odd8-DmQtlejeMXeVklKOIs,4067
|
|
74
|
-
mns_scheduler/k_line/sync/daily_week_month_line_sync.py,sha256=SHAvMkDW-2TKEC4wWkMdiOQWa4Ktc0Umm59OlceK1dg,5795
|
|
75
|
-
mns_scheduler/k_line/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
76
|
-
mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=2s0UW2dHGS_k25Rl9CeB7XZtbYRxWaHSp9Se5Okk7EI,1173
|
|
77
|
-
mns_scheduler/kpl/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
78
|
-
mns_scheduler/kpl/selection/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
79
|
-
mns_scheduler/kpl/selection/index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
80
|
-
mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py,sha256=Cle5cU90HVo-vulFCRwaAFDG-J3dCriXmWm1OKHPnr4,4748
|
|
81
|
-
mns_scheduler/kpl/selection/index/sync_best_choose_index.py,sha256=-34drqAMsx792DxR8P1A8DrGCM5yIVGsop3UzDNzsPw,8016
|
|
82
|
-
mns_scheduler/kpl/selection/symbol/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
83
|
-
mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py,sha256=Pztaa4D-zl5pc0ksBi9yLZcCXA3yyrZ5jJ7Y378-gx0,4775
|
|
84
|
-
mns_scheduler/kpl/selection/total/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
85
|
-
mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py,sha256=oMXD81ZIDFAYZvUPhhEbZei5lKhT28TUa7dagZ1G6PQ,10465
|
|
86
|
-
mns_scheduler/lhb/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
87
|
-
mns_scheduler/lhb/stock_lhb_sync_service.py,sha256=NIW0jX23N1dCEdsrKwt7MyzXSfhU7vXNpIO04dUSZwc,641
|
|
88
|
-
mns_scheduler/open/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
89
|
-
mns_scheduler/open/sync_one_day_open_data_to_db_service.py,sha256=wlwJtCeMoTrrqlTukq4A6RUrvj5RBNasa7kDpSt6QJc,2659
|
|
90
|
-
mns_scheduler/risk/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
91
|
-
mns_scheduler/risk/financial_report_risk_check_api.py,sha256=BPkMZ7aINfOFPswIV115kFUhyt0j7dLyA755QEDl-So,1648
|
|
92
|
-
mns_scheduler/risk/compliance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
93
|
-
mns_scheduler/risk/compliance/undisclosed_annual_report_api.py,sha256=4kY6mgDsZ-zd6W8E3awURwgP3Y71rNqwDkWTAFw8hZk,3676
|
|
94
|
-
mns_scheduler/risk/financial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
95
|
-
mns_scheduler/risk/financial/annual_report_audit_check_api.py,sha256=HxQNxlVSPusBkB9k96qUNfIcImlTYHA5Dmr11jAx_LY,2125
|
|
96
|
-
mns_scheduler/risk/financial/net_assets_check_api.py,sha256=TPiTDMlX8X7-rkx97M8biMorUVKQlXXes1IBNgtTs6w,4559
|
|
97
|
-
mns_scheduler/risk/financial/profit_income_check_api.py,sha256=4iGZEIveq5SIOBziyMH72oxSKbQJ3WfyjUMhDJfxUEU,4358
|
|
98
|
-
mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py,sha256=SQ7dieSCOf1z42Wi1zDEii3poAT5wfyBrV43dXkAaaw,22
|
|
99
|
-
mns_scheduler/risk/major_violations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
-
mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py,sha256=_xPQxT6OS7J7_PtA7hbfCmMS7VzpZTWoZUOXzwoesUs,5672
|
|
101
|
-
mns_scheduler/risk/self/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
|
-
mns_scheduler/risk/self/wei_pan_stock_api.py,sha256=5ebrjFqK49j_yEMffFBCumMeBzq_rmtsA4--lL5mhZs,1899
|
|
103
|
-
mns_scheduler/risk/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
104
|
-
mns_scheduler/risk/test/fix_blask_list.py,sha256=jjLhhIWH1L4CgNp2jQ_HAHbC3wVgeX1TzhqC--_D2MI,1249
|
|
105
|
-
mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
|
-
mns_scheduler/risk/transactions/transactions_check_api.py,sha256=_VOiUyIPyTGbcrbuxzJnp1KiLdKBJsRS584f-jqHXA0,6682
|
|
107
|
-
mns_scheduler/self_choose/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
108
|
-
mns_scheduler/self_choose/ths_self_choose_service.py,sha256=X0eiw5oAMQGBcyQVjUeBGBZi0WI-gI6ORRBUDnuUxAk,5526
|
|
109
|
-
mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
110
|
-
mns_scheduler/trade/auto_ipo_buy_api.py,sha256=jVe5ZiXwzkDy_j_4X4rUamSzJpmzhV16lNKwbeWgpQw,386
|
|
111
|
-
mns_scheduler/trade/auto_sell_service_api.py,sha256=b-4xmW6W6cd6dMuLPD7ZJu3tUtchMcUG-p7wOMm_RRY,4640
|
|
112
|
-
mns_scheduler/trade/sync_position_api.py,sha256=deeOySGWsUbTiM2S0bb5wCSjtC59gdmwwjVZsCf3Wn4,2748
|
|
113
|
-
mns_scheduler/trade/auto_login/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
114
|
-
mns_scheduler/trade/auto_login/trader_auto_service.py,sha256=S2J36VrFcV8ZTQ2eeR_1c23d4eHe810kCyOINk6b6o8,686
|
|
115
|
-
mns_scheduler/trade/task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
116
|
-
mns_scheduler/trade/task/trader_task_service.py,sha256=xBqByakfCO2ruWXuWWsRPJtZ_oCLXLgaOHDiLdD4SVw,1560
|
|
117
|
-
mns_scheduler/zb/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
118
|
-
mns_scheduler/zb/stock_zb_pool_sync.py,sha256=LLL7TgqdhEwGsfOmox5VJt9eveVvWsD4jJqC5LO0oGY,1974
|
|
119
|
-
mns_scheduler/zt/__init__.py,sha256=Rzolrn2R5RZIj-eOmu9KcL6oZBY9Wjz_uBFXPlzirQc,1641
|
|
120
|
-
mns_scheduler/zt/connected_boards/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
121
|
-
mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py,sha256=HfjPHKD99fU9c37kSenEX2_qNvFAjQGgy8ERuacSxwk,10916
|
|
122
|
-
mns_scheduler/zt/export/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
123
|
-
mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py,sha256=9LK1s2BCzsXLMAYMmiMAZsmz8iha88JVcp6SKqIW37s,4063
|
|
124
|
-
mns_scheduler/zt/high_chg/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
125
|
-
mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py,sha256=7hRfzQFhMSwdbzIg57JmX82DEW3Ig5hwZTzS_SPO0sg,13347
|
|
126
|
-
mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py,sha256=L69lsirRXaiddZ7GKSWbEABQcwMOeCOm33dlVKK3-oQ,6351
|
|
127
|
-
mns_scheduler/zt/open_data/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
128
|
-
mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py,sha256=wZiqOre2UK9CxIR7dDk11DmqRY3n2_eE2pe0JfmMcjk,11616
|
|
129
|
-
mns_scheduler/zt/script/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
130
|
-
mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py,sha256=aTrYgshcccoHv-6yoxwbO6GRtntOfeIQjfjEE_vrz3k,5571
|
|
131
|
-
mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=dtREQdNpoDM4KLTvdXuiEhXmdjpc1dScMDgR3fbEbww,1685
|
|
132
|
-
mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=bhoIGDWTI3w0YKVfIAVNHWpUrYqJYDMGPt-1i3d_Zmw,1850
|
|
133
|
-
mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
134
|
-
mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=Dian2Ebzm3qdYcuEfXETvydZdg697ECDVN3ufccY_Kc,10352
|
|
135
|
-
mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=Sy39T-yFwLSIIoSZqQzS-6-W1RlaFWvYpksEXKQVFdI,10456
|
|
136
|
-
mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=OuklSKUhZMj1aKcwDLpZilKIqFbHY3hvvIuA_UFnPqA,2135
|
|
137
|
-
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
138
|
-
mns_scheduler/zz_task/data_sync_task.py,sha256=UjKrV1TEhRH7Khmwh7cJnAu3pIKn7HOa22LsualCmRE,20518
|
|
139
|
-
mns_scheduler-1.1.8.4.dist-info/METADATA,sha256=T8Dx2fDM1kUIsPQO9np1tQbjaZnSbj3YKQKxfCA2Kxg,64
|
|
140
|
-
mns_scheduler-1.1.8.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
141
|
-
mns_scheduler-1.1.8.4.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
142
|
-
mns_scheduler-1.1.8.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|