mns-scheduler 1.1.0.9__tar.gz → 1.1.1.1__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.1.0.9 → mns-scheduler-1.1.1.1}/PKG-INFO +1 -1
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/k_line_info_clean_task.py +1 -1
- mns-scheduler-1.1.1.1/mns_scheduler/k_line/sync/bfq_k_line_sync.py +92 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +1 -9
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +1 -1
- mns-scheduler-1.1.0.9/mns_scheduler/zt/zt_pool/zt_pool_sync_api.py → mns-scheduler-1.1.1.1/mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +4 -0
- mns-scheduler-1.1.1.1/mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py +231 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zz_task/data_sync_task.py +6 -3
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler.egg-info/PKG-INFO +1 -1
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler.egg-info/SOURCES.txt +3 -1
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/setup.py +1 -1
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/README.md +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/em/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/ths/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/ths/sync_ths_concept_by_ak_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/ths/sync_ths_new_concept_by_web_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/big_deal/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/base/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/base/sync_company_base_info_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/clean/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/clean/company_info_clean_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/constant/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/constant/company_constant_data.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/de_list_stock/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/de_list_stock/de_list_stock_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/clean/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/common/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/common/detaill/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/common/detaill/ths_concept_detail_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/common/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/db/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/db/col_move_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/db/db_status.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/dt/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/finance/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/finance/finance_common_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/hk/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/irm/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/irm/api/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/irm/stock_irm_cninfo_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/daily/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/daily/daily_k_line_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/week_month/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/hot_stocks/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/sync/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/test/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/test/k_line_info_clean_his_data.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/lhb/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/lhb/stock_lhb_sync_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/open/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/open/sync_one_day_open_data_to_db_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/real_time/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/compliance/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/compliance/undisclosed_annual_report_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/financial/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/financial/annual_report_audit_check_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/financial/net_assets_check_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/financial/profit_income_check_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/financial_report_risk_check_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/major_violations/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/self/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/self/wei_pan_stock_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/test/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/test/fix_blask_list.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/transactions/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/transactions/transactions_check_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/trade/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/trade/sync_position_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zb/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/connected_boards/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/export/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/high_chg/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/open_data/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/script/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zt/zt_pool/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zz_task/__init__.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler.egg-info/dependency_links.txt +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler.egg-info/top_level.txt +0 -0
- {mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/setup.cfg +0 -0
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/k_line_info_clean_task.py
RENAMED
|
@@ -70,7 +70,7 @@ def sync_k_line_info(str_day, symbol_list):
|
|
|
70
70
|
k_line_result = k_line_info_clean_impl.calculate_k_line_info(str_day, symbol, diff_days)
|
|
71
71
|
save_k_line_data(symbol, str_day, k_line_result)
|
|
72
72
|
if result_k_line_list_df is None:
|
|
73
|
-
result_k_line_list_df =
|
|
73
|
+
result_k_line_list_df = k_line_result
|
|
74
74
|
else:
|
|
75
75
|
result_k_line_list_df = pd.concat([result_k_line_list_df, k_line_result])
|
|
76
76
|
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import sys
|
|
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
|
+
|
|
9
|
+
from loguru import logger
|
|
10
|
+
import mns_common.api.em.east_money_stock_api as east_money_stock_api
|
|
11
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
12
|
+
import mns_common.utils.date_handle_util as date_handle_util
|
|
13
|
+
import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
14
|
+
import mns_common.api.akshare.k_line_api as k_line_api
|
|
15
|
+
import mns_common.component.company.company_common_service_new_api as company_common_service_new_api
|
|
16
|
+
|
|
17
|
+
mongodb_util = MongodbUtil('27017')
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def sync_bfq_k_line_data(period='daily',
|
|
21
|
+
hq='hfq',
|
|
22
|
+
hq_col='stock_hfq_daily',
|
|
23
|
+
end_date='22220101',
|
|
24
|
+
symbol=None):
|
|
25
|
+
stock_hfq_df = k_line_api.stock_zh_a_hist(symbol=symbol, period=period,
|
|
26
|
+
start_date=date_handle_util.no_slash_date('1990-12-19'),
|
|
27
|
+
end_date=date_handle_util.no_slash_date(end_date),
|
|
28
|
+
adjust=hq)
|
|
29
|
+
|
|
30
|
+
stock_hfq_df.rename(columns={"日期": "date", "开盘": "open",
|
|
31
|
+
"收盘": "close", "最高": "high",
|
|
32
|
+
"最低": "low", "成交量": "volume",
|
|
33
|
+
"成交额": "amount", "振幅": "pct_chg",
|
|
34
|
+
"涨跌幅": "chg", "涨跌额": "change",
|
|
35
|
+
"换手率": "exchange"}, inplace=True)
|
|
36
|
+
|
|
37
|
+
stock_hfq_df['symbol'] = symbol
|
|
38
|
+
stock_hfq_df['_id'] = stock_hfq_df['symbol'] + '-' + stock_hfq_df['date']
|
|
39
|
+
stock_hfq_df['last_price'] = round(((stock_hfq_df['close']) / (1 + stock_hfq_df['chg'] / 100)), 2)
|
|
40
|
+
stock_hfq_df['max_chg'] = round(
|
|
41
|
+
((stock_hfq_df['high'] - stock_hfq_df['last_price']) / stock_hfq_df['last_price']) * 100, 2)
|
|
42
|
+
stock_hfq_df['amount_level'] = round((stock_hfq_df['amount'] / common_service_fun_api.HUNDRED_MILLION), 2)
|
|
43
|
+
stock_hfq_df['flow_mv'] = round(stock_hfq_df['amount'] * 100 / stock_hfq_df['exchange'], 2)
|
|
44
|
+
stock_hfq_df['flow_mv_sp'] = round(stock_hfq_df['flow_mv'] / common_service_fun_api.HUNDRED_MILLION, 2)
|
|
45
|
+
|
|
46
|
+
classification = common_service_fun_api.classify_symbol_one(symbol)
|
|
47
|
+
stock_hfq_df['classification'] = classification
|
|
48
|
+
stock_hfq_df = stock_hfq_df.sort_values(by=['date'], ascending=False)
|
|
49
|
+
insert_data(stock_hfq_df, hq_col, symbol)
|
|
50
|
+
logger.info(period + 'k线同步-' + hq + '-' + symbol)
|
|
51
|
+
return stock_hfq_df
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def sync_all_bfq_k_line(period='daily',
|
|
55
|
+
hq='hfq',
|
|
56
|
+
hq_col='stock_hfq_daily',
|
|
57
|
+
end_date='22220101',
|
|
58
|
+
symbol=None):
|
|
59
|
+
real_time_quotes_now_es = east_money_stock_api.get_real_time_quotes_all_stocks()
|
|
60
|
+
|
|
61
|
+
symbol_list = list(real_time_quotes_now_es['symbol'])
|
|
62
|
+
# 退市公司
|
|
63
|
+
de_list_company = company_common_service_new_api.get_de_list_company()
|
|
64
|
+
symbol_list.extend(de_list_company)
|
|
65
|
+
symbol_list = set(symbol_list)
|
|
66
|
+
if symbol is not None:
|
|
67
|
+
symbol_list = [symbol]
|
|
68
|
+
for symbol in symbol_list:
|
|
69
|
+
try:
|
|
70
|
+
sync_bfq_k_line_data(period,
|
|
71
|
+
hq,
|
|
72
|
+
hq_col,
|
|
73
|
+
end_date,
|
|
74
|
+
symbol)
|
|
75
|
+
except BaseException as e:
|
|
76
|
+
logger.warning("同步不复权k线:{},{}", symbol, e)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def insert_data(stock_hfq_df, hq_col, symbol):
|
|
80
|
+
query = {'symbol': symbol}
|
|
81
|
+
tag = mongodb_util.remove_data(query, hq_col)
|
|
82
|
+
success = tag.acknowledged
|
|
83
|
+
if success:
|
|
84
|
+
mongodb_util.insert_mongo(stock_hfq_df, hq_col)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
if __name__ == '__main__':
|
|
88
|
+
sync_all_bfq_k_line('daily',
|
|
89
|
+
'',
|
|
90
|
+
'stock_bfq_daily',
|
|
91
|
+
None,
|
|
92
|
+
None)
|
|
@@ -52,14 +52,6 @@ realtime_quotes_now_zt_new_kc_open_field = ['_id',
|
|
|
52
52
|
'max_real_main_inflow_multiple', 'list_date',
|
|
53
53
|
'real_super_main_inflow_multiple', 'real_flow_mv',
|
|
54
54
|
'real_disk_diff_amount_exchange', 'no_open_data']
|
|
55
|
-
# kcx 高涨幅开盘数据同步
|
|
56
|
-
def realtime_quotes_now_zt_new_kc_open_sync():
|
|
57
|
-
realtime_quotes_now_zt_new_kc_open = mongodb_util.find_all_data('realtime_quotes_now_zt_new_kc_open')
|
|
58
|
-
realtime_quotes_now_zt_new_kc_open = realtime_quotes_now_zt_new_kc_open[realtime_quotes_now_zt_new_kc_open_field]
|
|
59
|
-
realtime_quotes_now_zt_new_kc_open = realtime_quotes_now_zt_new_kc_open.sort_values(by=['str_day'], ascending=False)
|
|
60
|
-
|
|
61
|
-
mongodb_util.insert_mongo(realtime_quotes_now_zt_new_kc_open, 'realtime_quotes_now_zt_new_kc_open_copy')
|
|
62
|
-
|
|
63
55
|
|
|
64
56
|
# query = {'$and': [{"_id": {'$lte': str_end}}, {"_id": {'$gte': '2022-04-25'}}]}
|
|
65
57
|
def sync_all_high_chg_data(str_end):
|
|
@@ -92,7 +84,7 @@ def fix_miss_data(str_end):
|
|
|
92
84
|
|
|
93
85
|
|
|
94
86
|
if __name__ == '__main__':
|
|
95
|
-
kcx_high_chg_open_data_sync.sync_all_kc_zt_data('2024-06-
|
|
87
|
+
kcx_high_chg_open_data_sync.sync_all_kc_zt_data('2024-06-19', None)
|
|
96
88
|
# sync_all_kc_zt_data('2023-08-16')
|
|
97
89
|
# sync_all_kc_zt_data('2023-07-07')
|
|
98
90
|
# realtime_quotes_now_zt_new_kc_open_sync()
|
|
@@ -17,6 +17,10 @@ import mns_common.utils.data_frame_util as data_frame_util
|
|
|
17
17
|
import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
18
18
|
import mns_common.component.trade_date.trade_date_common_service_api as trade_date_common_service_api
|
|
19
19
|
|
|
20
|
+
'''
|
|
21
|
+
东方财富涨停池
|
|
22
|
+
'''
|
|
23
|
+
|
|
20
24
|
mongodb_util = MongodbUtil('27017')
|
|
21
25
|
|
|
22
26
|
ZT_FIELD = ['_id', 'symbol', 'name', 'now_price', 'chg', 'first_closure_time',
|
|
@@ -0,0 +1,231 @@
|
|
|
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.api.ths.zt.ths_stock_zt_pool_api as ths_stock_zt_pool_api
|
|
9
|
+
from datetime import datetime
|
|
10
|
+
import mns_common.utils.data_frame_util as data_frame_util
|
|
11
|
+
import pandas as pd
|
|
12
|
+
import mns_common.api.em.east_money_stock_api as east_money_stock_api
|
|
13
|
+
import mns_common.component.company.company_common_service_new_api as company_common_service_new_api
|
|
14
|
+
import mns_common.component.common_service_fun_api as common_service_fun_api
|
|
15
|
+
from loguru import logger
|
|
16
|
+
import mns_common.api.akshare.k_line_api as k_line_api
|
|
17
|
+
import mns_common.utils.date_handle_util as date_handle_util
|
|
18
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
19
|
+
import mns_common.constant.db_name_constant as db_name_constant
|
|
20
|
+
|
|
21
|
+
mongodb_util = MongodbUtil('27017')
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def ths_zt_pool(str_day, real_time_quotes_all_stocks):
|
|
25
|
+
'''
|
|
26
|
+
获取请求头
|
|
27
|
+
:param str_day: 日期
|
|
28
|
+
:param real_time_quotes_all_stocks: 实时行情
|
|
29
|
+
:return:
|
|
30
|
+
'''
|
|
31
|
+
now_date = datetime.now()
|
|
32
|
+
now_day_str_day = now_date.strftime('%Y-%m-%d')
|
|
33
|
+
ths_zt_pool_df = ths_stock_zt_pool_api.get_zt_reason(str_day)
|
|
34
|
+
if data_frame_util.is_empty(ths_zt_pool_df):
|
|
35
|
+
return pd.DataFrame()
|
|
36
|
+
if str_day == now_day_str_day:
|
|
37
|
+
ths_zt_pool_df = merge_now_day_zt_info(ths_zt_pool_df, real_time_quotes_all_stocks)
|
|
38
|
+
else:
|
|
39
|
+
ths_zt_pool_df = merge_his_day_zt_info(ths_zt_pool_df, str_day)
|
|
40
|
+
|
|
41
|
+
return ths_zt_pool_df
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def merge_now_day_zt_info(ths_zt_pool_df, real_time_quotes_all_stocks):
|
|
45
|
+
if real_time_quotes_all_stocks is None:
|
|
46
|
+
real_time_quotes_all_stocks = east_money_stock_api.get_real_time_quotes_all_stocks()
|
|
47
|
+
real_time_quotes_all_stocks = real_time_quotes_all_stocks[['symbol', 'amount',
|
|
48
|
+
'exchange', 'flow_mv', 'total_mv']]
|
|
49
|
+
real_time_quotes_all_stocks_zt = real_time_quotes_all_stocks.loc[
|
|
50
|
+
real_time_quotes_all_stocks['symbol'].isin(ths_zt_pool_df['symbol'])]
|
|
51
|
+
|
|
52
|
+
query_field = {
|
|
53
|
+
"ths_concept_name": 1,
|
|
54
|
+
"ths_concept_code": 1,
|
|
55
|
+
"ths_concept_sync_day": 1,
|
|
56
|
+
"company_type": 1,
|
|
57
|
+
"concept_create_day": 1,
|
|
58
|
+
"first_sw_industry": 1,
|
|
59
|
+
"third_sw_industry": 1,
|
|
60
|
+
"industry": 1,
|
|
61
|
+
"list_date": 1,
|
|
62
|
+
}
|
|
63
|
+
query_field_key = str(query_field)
|
|
64
|
+
query_key = str({'symbol': {"$in": list(ths_zt_pool_df['symbol'])}})
|
|
65
|
+
company_df_zt = company_common_service_new_api.get_company_info_by_field(query_key, query_field_key)
|
|
66
|
+
|
|
67
|
+
company_df_zt = company_df_zt.set_index(['_id'], drop=True)
|
|
68
|
+
real_time_quotes_all_stocks_zt = real_time_quotes_all_stocks_zt.set_index(['symbol'], drop=True)
|
|
69
|
+
ths_zt_pool_df = ths_zt_pool_df.set_index(['symbol'], drop=False)
|
|
70
|
+
|
|
71
|
+
ths_zt_pool_df = pd.merge(ths_zt_pool_df, company_df_zt, how='outer',
|
|
72
|
+
left_index=True, right_index=True)
|
|
73
|
+
|
|
74
|
+
ths_zt_pool_df = pd.merge(ths_zt_pool_df, real_time_quotes_all_stocks_zt, how='outer',
|
|
75
|
+
left_index=True, right_index=True)
|
|
76
|
+
ths_zt_pool_df['amount_level'] = round(ths_zt_pool_df['amount'] / common_service_fun_api.HUNDRED_MILLION, 2)
|
|
77
|
+
ths_zt_pool_df = common_service_fun_api.classify_symbol(ths_zt_pool_df)
|
|
78
|
+
ths_zt_pool_df = common_service_fun_api.total_mv_classification(ths_zt_pool_df)
|
|
79
|
+
ths_zt_pool_df.fillna('', inplace=True)
|
|
80
|
+
if 'zt_flag' in ths_zt_pool_df.columns:
|
|
81
|
+
del ths_zt_pool_df['zt_flag']
|
|
82
|
+
if 'zt_tag' in ths_zt_pool_df.columns:
|
|
83
|
+
del ths_zt_pool_df['zt_tag']
|
|
84
|
+
|
|
85
|
+
return ths_zt_pool_df
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
# 历史数据merge
|
|
89
|
+
def merge_his_day_zt_info(ths_zt_pool_df, str_day):
|
|
90
|
+
'''
|
|
91
|
+
获取请求头
|
|
92
|
+
:param ths_zt_pool_df: 涨停df
|
|
93
|
+
:param str_day: 日期
|
|
94
|
+
:return:
|
|
95
|
+
'''
|
|
96
|
+
|
|
97
|
+
query_field = {
|
|
98
|
+
"ths_concept_name": 1,
|
|
99
|
+
"ths_concept_code": 1,
|
|
100
|
+
"ths_concept_sync_day": 1,
|
|
101
|
+
"company_type": 1,
|
|
102
|
+
"concept_create_day": 1,
|
|
103
|
+
"first_sw_industry": 1,
|
|
104
|
+
"third_sw_industry": 1,
|
|
105
|
+
"industry": 1,
|
|
106
|
+
"list_date": 1,
|
|
107
|
+
}
|
|
108
|
+
query_field_key = str(query_field)
|
|
109
|
+
query_key = str({'symbol': {"$in": list(ths_zt_pool_df['symbol'])}})
|
|
110
|
+
company_df_zt = company_common_service_new_api.get_company_info_by_field(query_key, query_field_key)
|
|
111
|
+
|
|
112
|
+
bfq_k_line_df = get_bfq_daily_line(ths_zt_pool_df, str_day)
|
|
113
|
+
bfq_k_line_df['total_mv'] = bfq_k_line_df['flow_mv']
|
|
114
|
+
|
|
115
|
+
company_df_zt = company_df_zt.set_index(['_id'], drop=True)
|
|
116
|
+
bfq_k_line_df = bfq_k_line_df.set_index(['symbol'], drop=True)
|
|
117
|
+
ths_zt_pool_df = ths_zt_pool_df.set_index(['symbol'], drop=False)
|
|
118
|
+
|
|
119
|
+
if 'chg' in ths_zt_pool_df.columns:
|
|
120
|
+
del ths_zt_pool_df['chg']
|
|
121
|
+
if 'now_price' in ths_zt_pool_df.columns:
|
|
122
|
+
del ths_zt_pool_df['now_price']
|
|
123
|
+
|
|
124
|
+
ths_zt_pool_df = pd.merge(ths_zt_pool_df, company_df_zt, how='outer',
|
|
125
|
+
left_index=True, right_index=True)
|
|
126
|
+
|
|
127
|
+
ths_zt_pool_df = pd.merge(ths_zt_pool_df, bfq_k_line_df, how='outer',
|
|
128
|
+
left_index=True, right_index=True)
|
|
129
|
+
ths_zt_pool_df = common_service_fun_api.classify_symbol(ths_zt_pool_df)
|
|
130
|
+
ths_zt_pool_df = common_service_fun_api.total_mv_classification(ths_zt_pool_df)
|
|
131
|
+
ths_zt_pool_df.fillna('', inplace=True)
|
|
132
|
+
if 'zt_flag' in ths_zt_pool_df.columns:
|
|
133
|
+
del ths_zt_pool_df['zt_flag']
|
|
134
|
+
if 'zt_tag' in ths_zt_pool_df.columns:
|
|
135
|
+
del ths_zt_pool_df['zt_tag']
|
|
136
|
+
|
|
137
|
+
return ths_zt_pool_df
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
# 获取不复权k线信息
|
|
141
|
+
def get_bfq_daily_line(ths_zt_pool_df, str_day):
|
|
142
|
+
query_k_line = {'symbol': {"$in": list(ths_zt_pool_df['symbol'])}, 'date': date_handle_util.no_slash_date(str_day)}
|
|
143
|
+
bfq_daily_line_df = mongodb_util.find_query_data('stock_bfq_daily', query_k_line)
|
|
144
|
+
if data_frame_util.is_not_empty(bfq_daily_line_df):
|
|
145
|
+
bfq_daily_line_df = bfq_daily_line_df[['amount', 'chg', 'close', 'exchange',
|
|
146
|
+
'symbol', 'amount_level',
|
|
147
|
+
'flow_mv', 'flow_mv_sp'
|
|
148
|
+
]]
|
|
149
|
+
bfq_daily_line_df = bfq_daily_line_df.rename(columns={"close": 'now_price'})
|
|
150
|
+
return bfq_daily_line_df
|
|
151
|
+
|
|
152
|
+
bfq_k_line_df = pd.DataFrame()
|
|
153
|
+
for zt_one in ths_zt_pool_df.itertuples():
|
|
154
|
+
try:
|
|
155
|
+
symbol = zt_one.symbol
|
|
156
|
+
bfq_daily_line_df = k_line_api.stock_zh_a_hist(symbol,
|
|
157
|
+
'daily',
|
|
158
|
+
date_handle_util.no_slash_date(str_day),
|
|
159
|
+
date_handle_util.no_slash_date(str_day),
|
|
160
|
+
'')
|
|
161
|
+
if data_frame_util.is_empty(bfq_daily_line_df):
|
|
162
|
+
continue
|
|
163
|
+
bfq_daily_line_df = bfq_daily_line_df[['amount', 'chg', 'close', 'exchange',
|
|
164
|
+
'symbol', 'amount_level',
|
|
165
|
+
'flow_mv', 'flow_mv_sp'
|
|
166
|
+
]]
|
|
167
|
+
bfq_daily_line_df = bfq_daily_line_df.rename(columns={"close": 'now_price'})
|
|
168
|
+
bfq_k_line_df = pd.concat([bfq_k_line_df, bfq_daily_line_df])
|
|
169
|
+
except BaseException as e:
|
|
170
|
+
logger.warning("同步不复权k线异常:{},{}", symbol, e)
|
|
171
|
+
|
|
172
|
+
return bfq_k_line_df
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
def save_ths_zt_pool(ths_zt_pool_df):
|
|
176
|
+
ths_zt_pool_df = ths_zt_pool_df[[
|
|
177
|
+
"symbol",
|
|
178
|
+
"name",
|
|
179
|
+
"chg",
|
|
180
|
+
"connected_boards_numbers",
|
|
181
|
+
"statistics",
|
|
182
|
+
"statistics_detail",
|
|
183
|
+
"first_closure_time",
|
|
184
|
+
"last_closure_time",
|
|
185
|
+
"zt_detail",
|
|
186
|
+
"zt_reason",
|
|
187
|
+
"closure_volume",
|
|
188
|
+
"closure_funds",
|
|
189
|
+
"closure_funds_per_amount",
|
|
190
|
+
"closure_funds_per_flow_mv",
|
|
191
|
+
"frying_plates_numbers",
|
|
192
|
+
"zt_type",
|
|
193
|
+
"market_code",
|
|
194
|
+
"str_day",
|
|
195
|
+
"industry",
|
|
196
|
+
"first_sw_industry",
|
|
197
|
+
"third_sw_industry",
|
|
198
|
+
"ths_concept_name",
|
|
199
|
+
"ths_concept_code",
|
|
200
|
+
"ths_concept_sync_day",
|
|
201
|
+
"list_date",
|
|
202
|
+
"company_type",
|
|
203
|
+
"amount",
|
|
204
|
+
"now_price",
|
|
205
|
+
"exchange",
|
|
206
|
+
"amount_level",
|
|
207
|
+
"flow_mv",
|
|
208
|
+
"flow_mv_sp",
|
|
209
|
+
"total_mv",
|
|
210
|
+
"classification",
|
|
211
|
+
"total_mv_sp",
|
|
212
|
+
"flow_mv_level"
|
|
213
|
+
]]
|
|
214
|
+
ths_zt_pool_df['_id'] = ths_zt_pool_df['symbol'] + '_' + ths_zt_pool_df['str_day']
|
|
215
|
+
ths_zt_pool_df = ths_zt_pool_df.sort_values(by=['connected_boards_numbers'], ascending=False)
|
|
216
|
+
mongodb_util.save_mongo(ths_zt_pool_df, db_name_constant.THS_ZT_POOL)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
if __name__ == '__main__':
|
|
220
|
+
while True:
|
|
221
|
+
query = {'_id': {"$lte": '2019-10-29'}}
|
|
222
|
+
trade_date_list = mongodb_util.find_query_data('trade_date_list', query)
|
|
223
|
+
trade_date_list = trade_date_list.sort_values(by=['trade_date'], ascending=False)
|
|
224
|
+
for trade_one in trade_date_list.itertuples():
|
|
225
|
+
try:
|
|
226
|
+
trade_date = trade_one.trade_date
|
|
227
|
+
zt_df = ths_zt_pool(trade_date, None)
|
|
228
|
+
save_ths_zt_pool(zt_df)
|
|
229
|
+
logger.info("同步到日期:{}", trade_date)
|
|
230
|
+
except BaseException as e:
|
|
231
|
+
logger.warning("同步涨停到日期:{},{}", trade_one.trade_date, e)
|
|
@@ -23,7 +23,7 @@ import mns_scheduler.big_deal.ths_big_deal_sync as ths_big_deal_sync_api
|
|
|
23
23
|
import mns_scheduler.zt.open_data.kcx_high_chg_open_data_sync as kcx_high_chg_open_data_sync
|
|
24
24
|
import mns_scheduler.zt.export.export_kcx_high_chg_open_data_to_excel as export_kcx_high_chg_open_data_to_excel
|
|
25
25
|
import mns_scheduler.zt.connected_boards.zt_five_boards_sync_api as zt_five_boards_sync_api
|
|
26
|
-
import mns_scheduler.zt.zt_pool.
|
|
26
|
+
import mns_scheduler.zt.zt_pool.em_zt_pool_sync_api as em_zt_pool_sync_api
|
|
27
27
|
import mns_scheduler.k_line.clean.k_line_info_clean_task as k_line_info_clean_service
|
|
28
28
|
import mns_scheduler.concept.clean.ths_concept_clean_api as ths_concept_choose_api
|
|
29
29
|
import mns_common.api.em.east_money_stock_gdfx_free_top_10_api as east_money_stock_gdfx_free_top_10_api
|
|
@@ -47,6 +47,7 @@ import mns_scheduler.risk.self.wei_pan_stock_api as wei_pan_stock_api
|
|
|
47
47
|
import mns_scheduler.risk.transactions.transactions_check_api as transactions_check_api
|
|
48
48
|
import mns_scheduler.concept.ths.sync_new_index.sync_ths_concept_new_index_api as sync_ths_concept_new_index_api
|
|
49
49
|
import mns_scheduler.company_info.clean.company_info_clean_api as company_info_clean_api
|
|
50
|
+
import mns_scheduler.zt.zt_pool.ths_zt_pool_sync_api as ths_zt_pool_sync_api
|
|
50
51
|
|
|
51
52
|
|
|
52
53
|
# 同步交易日期任务完成
|
|
@@ -148,8 +149,10 @@ def sync_stock_zt_pool():
|
|
|
148
149
|
str_day = now_date.strftime('%Y-%m-%d')
|
|
149
150
|
if trade_date_common_service_api.is_trade_day(str_day):
|
|
150
151
|
logger.info('同步当天涨停池股开始')
|
|
151
|
-
|
|
152
|
-
zt_five_boards_sync_api.update_five_connected_boards_task(
|
|
152
|
+
em_stock_zt_pool = em_zt_pool_sync_api.save_zt_info(str_day)
|
|
153
|
+
zt_five_boards_sync_api.update_five_connected_boards_task(em_stock_zt_pool)
|
|
154
|
+
logger.info('同步ths股票涨停池')
|
|
155
|
+
ths_zt_pool_sync_api.ths_zt_pool(str_day, None)
|
|
153
156
|
logger.info('同步当天涨停池股票完成')
|
|
154
157
|
|
|
155
158
|
|
|
@@ -70,6 +70,7 @@ mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py
|
|
|
70
70
|
mns_scheduler/k_line/hot_stocks/__init__.py
|
|
71
71
|
mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py
|
|
72
72
|
mns_scheduler/k_line/sync/__init__.py
|
|
73
|
+
mns_scheduler/k_line/sync/bfq_k_line_sync.py
|
|
73
74
|
mns_scheduler/k_line/sync/daily_week_month_line_sync.py
|
|
74
75
|
mns_scheduler/k_line/test/__init__.py
|
|
75
76
|
mns_scheduler/k_line/test/k_line_info_clean_his_data.py
|
|
@@ -126,7 +127,8 @@ mns_scheduler/zt/script/__init__.py
|
|
|
126
127
|
mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py
|
|
127
128
|
mns_scheduler/zt/script/sync_high_chg_pool_his_data.py
|
|
128
129
|
mns_scheduler/zt/zt_pool/__init__.py
|
|
129
|
-
mns_scheduler/zt/zt_pool/
|
|
130
|
+
mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py
|
|
131
|
+
mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py
|
|
130
132
|
mns_scheduler/zz_task/__init__.py
|
|
131
133
|
mns_scheduler/zz_task/data_sync_task.py
|
|
132
134
|
mns_scheduler/zz_task/sync_realtime_quotes_task.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/em/em_new_concept_his_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/backup/em/em_new_concept_sync_web.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
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/clean/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/constant/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/company_info/de_list_stock/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/clean/kpl_concept_clean_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/clean/ths_concept_clean_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/common/detaill/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/concept/ths/common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/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
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/hk/hk_company_info_sync_service_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/irm/stock_irm_cninfo_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/daily/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py
RENAMED
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/k_line/clean/week_month/__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
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/index/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/symbol/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/kpl/selection/total/__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
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/real_time/realtime_quotes_now_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/financial/net_assets_check_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/risk/major_violations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/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
|
|
File without changes
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/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.1.0.9 → mns-scheduler-1.1.1.1}/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
|
{mns-scheduler-1.1.0.9 → mns-scheduler-1.1.1.1}/mns_scheduler/zz_task/sync_realtime_quotes_task.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|