mns-scheduler 1.0.5.1__tar.gz → 1.0.5.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.5.1 → mns-scheduler-1.0.5.4}/PKG-INFO +1 -1
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/company_info/company_info_sync_api.py +25 -4
- mns-scheduler-1.0.5.4/mns_scheduler/irm/stock_irm_cninfo_service.py +42 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py +7 -3
- mns-scheduler-1.0.5.4/mns_scheduler/risk/__init__.py +7 -0
- mns-scheduler-1.0.5.4/mns_scheduler/risk/stock_equity_mortgage_sync_api.py +32 -0
- mns-scheduler-1.0.5.4/mns_scheduler/zb/__init__.py +8 -0
- mns-scheduler-1.0.5.4/mns_scheduler/zt/__init__.py +37 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py +5 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler.egg-info/PKG-INFO +1 -1
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler.egg-info/SOURCES.txt +3 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/setup.py +1 -1
- mns-scheduler-1.0.5.1/mns_scheduler/k_line/sync/__init__.py +0 -7
- mns-scheduler-1.0.5.1/mns_scheduler/zz_task/__init__.py +0 -7
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/README.md +0 -0
- {mns-scheduler-1.0.5.1/mns_scheduler/zb → mns-scheduler-1.0.5.4/mns_scheduler}/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/app/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/app/ths_new_concept_sync_app.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/em/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/em/em_new_concept_his_sync.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/em/em_new_concept_sync_common_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/em/em_new_concept_sync_web.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/wen_cai/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/wen_cai/wen_cai_concept_sync.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/big_deal/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/big_deal/ths_big_deal_sync.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/company_info/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/company_info/company_constant_data.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/company_info/de_list_stock_service.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/clean/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/clean/kpl_concept_clean_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/clean/ths_concept_clean_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/common/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/common/ths_concept_update_common_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/sync_new_index/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_by_ak_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/sync_new_index/sync_ths_new_concept_by_web_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/update_concept_info/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/db/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/db/col_move_service.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/db/db_status.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/dt/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/dt/stock_dt_pool_sync.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/em_financial_profit_sync_service_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/finance_common_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/financial_high_risk_stock_clean_service_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/sync_financial_report_service_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/test/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/test/fix_blask_list.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/hk/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/hk/hk_company_info_sync_service_api.py +0 -0
- {mns-scheduler-1.0.5.1/mns_scheduler/risk → mns-scheduler-1.0.5.4/mns_scheduler/irm}/__init__.py +0 -0
- {mns-scheduler-1.0.5.1/mns_scheduler → mns-scheduler-1.0.5.4/mns_scheduler/k_line}/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/k_line/clean/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/k_line/clean/k_line_info_clean_service.py +0 -0
- {mns-scheduler-1.0.5.1/mns_scheduler/k_line → mns-scheduler-1.0.5.4/mns_scheduler/k_line/sync}/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/k_line/sync/daily_week_month_line_sync.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/index/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/index/sync_best_choose_index.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/symbol/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/total/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/real_time/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/real_time/realtime_quotes_now_create_db_index.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/real_time/realtime_quotes_now_sync.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/risk/register_and_investigate_stock_sync_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/trade/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/trade/auto_ipo_buy_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/trade/auto_sell_service_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/trade/sync_position_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zb/stock_zb_pool_sync.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zt/export_open_data_to_excel.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zt/today_high_chg_pool_sync_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zt/zt_five_boards_sync_api.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zt/zt_pool_sync_api.py +0 -0
- {mns-scheduler-1.0.5.1/mns_scheduler/zt → mns-scheduler-1.0.5.4/mns_scheduler/zz_task}/__init__.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zz_task/data_sync_task.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zz_task/sync_realtime_quotes_task.py +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler.egg-info/dependency_links.txt +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler.egg-info/top_level.txt +0 -0
- {mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/setup.cfg +0 -0
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/company_info/company_info_sync_api.py
RENAMED
|
@@ -19,6 +19,8 @@ import mns_common.api.kpl.symbol.kpl_real_time_quotes_api as kpl_real_time_quote
|
|
|
19
19
|
import mns_common.utils.data_frame_util as data_frame_util
|
|
20
20
|
import mns_common.api.kpl.constant.kpl_constant as kpl_constant
|
|
21
21
|
import mns_common.component.company.company_common_service_api as company_common_service_api
|
|
22
|
+
import mns_common.constant.db_name_constant as db_name_constant
|
|
23
|
+
import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
|
|
22
24
|
|
|
23
25
|
mongodb_util = MongodbUtil('27017')
|
|
24
26
|
# 分页大小
|
|
@@ -89,6 +91,7 @@ def filed_sort(company_info):
|
|
|
89
91
|
"holder_controller_rate",
|
|
90
92
|
"area",
|
|
91
93
|
"list_date",
|
|
94
|
+
"deal_days",
|
|
92
95
|
"pe_ttm",
|
|
93
96
|
"pb",
|
|
94
97
|
"ROE",
|
|
@@ -196,13 +199,28 @@ def fix_company_industry(symbol):
|
|
|
196
199
|
try:
|
|
197
200
|
company_info.dropna(subset=['symbol'], axis=0, inplace=True)
|
|
198
201
|
company_info.dropna(subset=['_id'], axis=0, inplace=True)
|
|
199
|
-
mongodb_util.save_mongo(company_info,
|
|
202
|
+
mongodb_util.save_mongo(company_info, db_name_constant.COMPANY_INFO)
|
|
203
|
+
# 保存历史数据
|
|
204
|
+
save_company_info_his(company_info)
|
|
200
205
|
except BaseException as e:
|
|
201
206
|
logger.error("出现异常:{},{}", symbol, e)
|
|
202
207
|
|
|
203
208
|
return company_info
|
|
204
209
|
|
|
205
210
|
|
|
211
|
+
def save_company_info_his(company_info_df):
|
|
212
|
+
now_date = datetime.now()
|
|
213
|
+
str_day = now_date.strftime('%Y-%m-%d')
|
|
214
|
+
company_info_df['symbol'] = company_info_df['_id']
|
|
215
|
+
company_info_df['str_day'] = str_day
|
|
216
|
+
company_info_df['_id'] = company_info_df['_id'] + "_" + str_day
|
|
217
|
+
remove_query = {'str_day': str_day}
|
|
218
|
+
tag = mongodb_util.remove_data(remove_query, db_name_constant.COMPANY_INFO_HIS)
|
|
219
|
+
success = tag.acknowledged
|
|
220
|
+
if success:
|
|
221
|
+
mongodb_util.insert_mongo(company_info_df, db_name_constant.COMPANY_INFO_HIS)
|
|
222
|
+
|
|
223
|
+
|
|
206
224
|
def sync_company_base_info(symbol_list):
|
|
207
225
|
global result
|
|
208
226
|
result = []
|
|
@@ -310,7 +328,10 @@ def single_thread_sync_company_info(east_money_stock_info,
|
|
|
310
328
|
company_info_type['kpl_plate_list_info'] = '-'
|
|
311
329
|
company_info_type['kpl_plate_name'] = '-'
|
|
312
330
|
company_info_type['kpl_most_relative_name'] = '-'
|
|
313
|
-
|
|
331
|
+
now_date = datetime.now()
|
|
332
|
+
str_day = now_date.strftime('%Y-%m-%d')
|
|
333
|
+
deal_days = k_line_common_service_api.get_deal_days(str_day, company_one.symbol)
|
|
334
|
+
company_info_type['deal_days'] = deal_days
|
|
314
335
|
try:
|
|
315
336
|
if data_frame_util.is_not_empty(kpl_real_time_quotes):
|
|
316
337
|
kpl_real_time_quotes_one = kpl_real_time_quotes.loc[
|
|
@@ -472,6 +493,6 @@ if __name__ == '__main__':
|
|
|
472
493
|
# 300293
|
|
473
494
|
# sync_company_base_info(None)
|
|
474
495
|
# new_company_info_update()
|
|
475
|
-
sync_company_base_info(
|
|
476
|
-
fix_company_industry(
|
|
496
|
+
sync_company_base_info(None)
|
|
497
|
+
fix_company_industry(None)
|
|
477
498
|
# group_by_industry()
|
|
@@ -0,0 +1,42 @@
|
|
|
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 akshare as ak
|
|
9
|
+
import mns_common.utils.data_frame_util as data_frame_util
|
|
10
|
+
import pandas as pd
|
|
11
|
+
from loguru import logger
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# 获取股票提问 互动易-提问
|
|
15
|
+
def get_stock_irm_cninfo(symbol):
|
|
16
|
+
try:
|
|
17
|
+
stock_irm_cninfo_df = ak.stock_irm_cninfo(symbol)
|
|
18
|
+
except Exception as e:
|
|
19
|
+
logger.error("获取提问者异常:{},{}", symbol, e)
|
|
20
|
+
return pd.DataFrame()
|
|
21
|
+
if data_frame_util.is_empty(stock_irm_cninfo_df):
|
|
22
|
+
return pd.DataFrame()
|
|
23
|
+
stock_irm_cninfo_df = stock_irm_cninfo_df.rename(columns={"股票代码": "symbol",
|
|
24
|
+
"公司简称": "name",
|
|
25
|
+
"行业": "industry",
|
|
26
|
+
"行业代码": "industry_code",
|
|
27
|
+
"问题": "question",
|
|
28
|
+
'提问者': "questioner",
|
|
29
|
+
'来源': "source",
|
|
30
|
+
'提问时间': "question_time",
|
|
31
|
+
'更新时间': "update_time",
|
|
32
|
+
"提问者编号": "questioner_no",
|
|
33
|
+
"问题编号": "question_no",
|
|
34
|
+
"回答ID": "answer_id",
|
|
35
|
+
"回答内容": "answer_content",
|
|
36
|
+
"回答者": "answer"
|
|
37
|
+
})
|
|
38
|
+
return stock_irm_cninfo_df
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
if __name__ == '__main__':
|
|
42
|
+
get_stock_irm_cninfo('301191')
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/k_line/clean/k_line_info_clean_impl.py
RENAMED
|
@@ -13,6 +13,7 @@ import mns_common.utils.date_handle_util as date_handle_util
|
|
|
13
13
|
import mns_common.component.k_line.patterns.k_line_patterns_service_api as k_line_patterns_service
|
|
14
14
|
import mns_common.component.k_line.clean.sh_small_normal_zt_k_line_check_api as sh_small_normal_zt_k_line_check_api
|
|
15
15
|
import mns_common.component.classify.symbol_classify_api as symbol_classify_api
|
|
16
|
+
import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
|
|
16
17
|
|
|
17
18
|
mongodb_util = MongodbUtil('27017')
|
|
18
19
|
# 排除最近10天有三个连板的股票
|
|
@@ -119,11 +120,11 @@ def handle_week_line(k_line_info, str_day, symbol):
|
|
|
119
120
|
|
|
120
121
|
# 处理日线
|
|
121
122
|
def handle_day_line(k_line_info, str_day, symbol):
|
|
122
|
-
|
|
123
|
-
query = {"symbol": symbol, 'date': {"$lt": date_handle_util.no_slash_date(str_day)}}
|
|
124
|
-
deal_days = mongodb_util.count(query, 'stock_qfq_daily')
|
|
123
|
+
deal_days = k_line_common_service_api.get_deal_days(str_day, symbol)
|
|
125
124
|
|
|
126
125
|
# 取五天刚好包含一周 todo 选择60天的历史记录
|
|
126
|
+
# 当天没有k线数据时 进行同步
|
|
127
|
+
query = {"symbol": symbol, 'date': {"$lt": date_handle_util.no_slash_date(str_day)}}
|
|
127
128
|
stock_qfq_daily = mongodb_util.descend_query(query, 'stock_qfq_daily', 'date', 60)
|
|
128
129
|
if stock_qfq_daily.shape[0] == 0:
|
|
129
130
|
return k_line_info
|
|
@@ -406,15 +407,18 @@ def set_history_list(stock_qfq_daily_one, stock_qfq_daily):
|
|
|
406
407
|
stock_qfq_daily_ten = stock_qfq_daily.iloc[0:10]
|
|
407
408
|
# 计算 amount 的标准差
|
|
408
409
|
std_amount_ten = round(stock_qfq_daily_ten['amount_level'].std(), 2)
|
|
410
|
+
# 计算 amount 的平均值
|
|
409
411
|
mean_amount_ten = round(stock_qfq_daily_ten['amount_level'].mean(), 2)
|
|
410
412
|
|
|
411
413
|
if daily_num >= 30:
|
|
412
414
|
stock_qfq_daily_thirty = stock_qfq_daily.iloc[0:30]
|
|
413
415
|
# 计算 amount 的标准差
|
|
414
416
|
std_amount_thirty = round(stock_qfq_daily_thirty['amount_level'].std(), 2)
|
|
417
|
+
# 计算 amount 的平均值
|
|
415
418
|
mean_amount_thirty = round(stock_qfq_daily_thirty['amount_level'].mean(), 2)
|
|
416
419
|
if daily_num >= 60:
|
|
417
420
|
std_amount_sixty = round(stock_qfq_daily['amount_level'].std(), 2)
|
|
421
|
+
# 计算 amount 的平均值
|
|
418
422
|
mean_amount_sixty = round(stock_qfq_daily['amount_level'].mean(), 2)
|
|
419
423
|
|
|
420
424
|
# text = list(stock_qfq_daily_one['history_data'])[0]
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
|
|
9
|
+
# 股权质押 https://data.eastmoney.com/gpzy/pledgeRatio.aspx
|
|
10
|
+
|
|
11
|
+
import requests
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def get_equity_mortgage():
|
|
15
|
+
url = (
|
|
16
|
+
'https://datacenter-web.eastmoney.com/api/data/v1/get?callback=jQuery1123018114616341595302_1715993497168&sortColumns=PLEDGE_RATIO&sortTypes=-1'
|
|
17
|
+
'&pageSize=50000'
|
|
18
|
+
'&pageNumber=1'
|
|
19
|
+
'&reportName=RPT_CSDC_LIST&columns=ALL"eColumns=&source=WEB'
|
|
20
|
+
'&client=WEB'
|
|
21
|
+
'&filter=(TRADE_DATE%3D%272024-05-17%27)')
|
|
22
|
+
|
|
23
|
+
headers = {
|
|
24
|
+
"Content-Type": "application/json"
|
|
25
|
+
}
|
|
26
|
+
r = requests.post(url, headers=headers)
|
|
27
|
+
data_json = r.json()
|
|
28
|
+
print(data_json)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
if __name__ == '__main__':
|
|
32
|
+
get_equity_mortgage()
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
# from mns_common.db.MongodbUtil import MongodbUtil
|
|
9
|
+
# import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
|
|
10
|
+
#
|
|
11
|
+
# mongodb_util = MongodbUtil('27017')
|
|
12
|
+
# # query = {"deal_days": {"$exists": False}}
|
|
13
|
+
# deal_days = 8
|
|
14
|
+
# fail_id_list = []
|
|
15
|
+
# while True:
|
|
16
|
+
# query = {"deal_days": deal_days}
|
|
17
|
+
# realtime_quotes_now_zt_new_kc_open_df = mongodb_util.find_query_data('realtime_quotes_now_zt_new_kc_open', query)
|
|
18
|
+
#
|
|
19
|
+
# for stock_one in realtime_quotes_now_zt_new_kc_open_df.itertuples():
|
|
20
|
+
# try:
|
|
21
|
+
# str_day = stock_one.str_day
|
|
22
|
+
# deal_days = k_line_common_service_api.get_deal_days(str_day, stock_one.symbol)
|
|
23
|
+
#
|
|
24
|
+
# realtime_quotes_now_zt_new_kc_open_one = realtime_quotes_now_zt_new_kc_open_df.loc[
|
|
25
|
+
# (realtime_quotes_now_zt_new_kc_open_df['symbol'] == stock_one.symbol)
|
|
26
|
+
# & (realtime_quotes_now_zt_new_kc_open_df['str_day'] == stock_one.str_day)]
|
|
27
|
+
#
|
|
28
|
+
# realtime_quotes_now_zt_new_kc_open_one['deal_days'] = deal_days
|
|
29
|
+
#
|
|
30
|
+
# mongodb_util.save_mongo(realtime_quotes_now_zt_new_kc_open_one, 'realtime_quotes_now_zt_new_kc_open')
|
|
31
|
+
# except Exception as e:
|
|
32
|
+
# mongodb_util.insert_mongo(realtime_quotes_now_zt_new_kc_open_one, 'realtime_quotes_now_zt_new_kc_open_fail')
|
|
33
|
+
# print(stock_one.symbol)
|
|
34
|
+
# deal_days = deal_days + 1
|
|
35
|
+
# if deal_days > 3479:
|
|
36
|
+
# print(deal_days)
|
|
37
|
+
# break
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zt/realtime_quotes_now_zt_kc_sync.py
RENAMED
|
@@ -17,6 +17,7 @@ import pandas as pd
|
|
|
17
17
|
from datetime import time
|
|
18
18
|
from mns_common.db.MongodbUtil import MongodbUtil
|
|
19
19
|
import mns_common.utils.data_frame_util as data_frame_util
|
|
20
|
+
import mns_common.component.k_line.common.k_line_common_service_api as k_line_common_service_api
|
|
20
21
|
|
|
21
22
|
mongodb_util = MongodbUtil('27017')
|
|
22
23
|
mongodb_util_21019 = MongodbUtil('27019')
|
|
@@ -223,6 +224,10 @@ def one_symbol_day_open_data(realtime_quotes_now_kc, kc_one, str_day):
|
|
|
223
224
|
del realtime_quotes_now_zt_new_kc_open_copy['str_day_01']
|
|
224
225
|
del realtime_quotes_now_zt_new_kc_open_copy['list_date_01']
|
|
225
226
|
|
|
227
|
+
deal_days = k_line_common_service_api.get_deal_days(str_day, kc_one.symbol)
|
|
228
|
+
|
|
229
|
+
realtime_quotes_now_zt_new_kc_open_copy['deal_days'] = deal_days
|
|
230
|
+
|
|
226
231
|
mongodb_util.save_mongo(realtime_quotes_now_zt_new_kc_open_copy, 'realtime_quotes_now_zt_new_kc_open')
|
|
227
232
|
|
|
228
233
|
|
|
@@ -49,6 +49,8 @@ mns_scheduler/finance/test/__init__.py
|
|
|
49
49
|
mns_scheduler/finance/test/fix_blask_list.py
|
|
50
50
|
mns_scheduler/hk/__init__.py
|
|
51
51
|
mns_scheduler/hk/hk_company_info_sync_service_api.py
|
|
52
|
+
mns_scheduler/irm/__init__.py
|
|
53
|
+
mns_scheduler/irm/stock_irm_cninfo_service.py
|
|
52
54
|
mns_scheduler/k_line/__init__.py
|
|
53
55
|
mns_scheduler/k_line/clean/__init__.py
|
|
54
56
|
mns_scheduler/k_line/clean/k_line_info_clean_impl.py
|
|
@@ -69,6 +71,7 @@ mns_scheduler/real_time/realtime_quotes_now_create_db_index.py
|
|
|
69
71
|
mns_scheduler/real_time/realtime_quotes_now_sync.py
|
|
70
72
|
mns_scheduler/risk/__init__.py
|
|
71
73
|
mns_scheduler/risk/register_and_investigate_stock_sync_api.py
|
|
74
|
+
mns_scheduler/risk/stock_equity_mortgage_sync_api.py
|
|
72
75
|
mns_scheduler/trade/__init__.py
|
|
73
76
|
mns_scheduler/trade/auto_ipo_buy_api.py
|
|
74
77
|
mns_scheduler/trade/auto_sell_service_api.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/app/ths_new_concept_sync_app.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/em/em_new_concept_his_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/backup/em/em_new_concept_sync_web.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.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.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/company_info/company_constant_data.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/company_info/de_list_stock_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/clean/kpl_concept_clean_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/clean/ths_concept_clean_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/concept/ths/common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.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
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/finance/test/fix_blask_list.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/hk/hk_company_info_sync_service_api.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.5.1/mns_scheduler/risk → mns-scheduler-1.0.5.4/mns_scheduler/irm}/__init__.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.5.1/mns_scheduler → mns-scheduler-1.0.5.4/mns_scheduler/k_line}/__init__.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.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/index/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/kpl/selection/symbol/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.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.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/real_time/realtime_quotes_now_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/trade/auto_sell_service_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zt/export_open_data_to_excel.py
RENAMED
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zt/today_high_chg_pool_sync_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1/mns_scheduler/zt → mns-scheduler-1.0.5.4/mns_scheduler/zz_task}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mns-scheduler-1.0.5.1 → mns-scheduler-1.0.5.4}/mns_scheduler/zz_task/sync_realtime_quotes_task.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|