mns-scheduler 1.3.1.0__py3-none-any.whl → 1.3.1.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.
Potentially problematic release.
This version of mns-scheduler might be problematic. Click here for more details.
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/down_load_stock_his_2024_01.py +2 -0
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/down_load_stock_his_2024_02.py +3 -1
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/down_load_ETF_his_2024.py +3 -1
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/handle_down_load_fail_ETF.py +67 -0
- mns_scheduler/self_choose/ths_self_choose_service.py +13 -6
- {mns_scheduler-1.3.1.0.dist-info → mns_scheduler-1.3.1.2.dist-info}/METADATA +1 -1
- {mns_scheduler-1.3.1.0.dist-info → mns_scheduler-1.3.1.2.dist-info}/RECORD +9 -8
- {mns_scheduler-1.3.1.0.dist-info → mns_scheduler-1.3.1.2.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.3.1.0.dist-info → mns_scheduler-1.3.1.2.dist-info}/top_level.txt +0 -0
|
@@ -68,6 +68,8 @@ def sync_us_stock_one_minute(now_year, now_month):
|
|
|
68
68
|
time.sleep(1)
|
|
69
69
|
fail_dict = {
|
|
70
70
|
'_id': symbol + '_' + now_month,
|
|
71
|
+
'type': "stock",
|
|
72
|
+
'path': path,
|
|
71
73
|
'symbol': symbol,
|
|
72
74
|
'now_year': now_year,
|
|
73
75
|
'now_month': now_month
|
|
@@ -124,7 +126,7 @@ def net_work_check(now_date):
|
|
|
124
126
|
|
|
125
127
|
|
|
126
128
|
def sync_by_year(begin_year):
|
|
127
|
-
begin_month =
|
|
129
|
+
begin_month = 11
|
|
128
130
|
while begin_month > 6:
|
|
129
131
|
if begin_month < 10:
|
|
130
132
|
str_month = '0' + str(begin_month)
|
|
@@ -22,12 +22,14 @@ mongodb_util_27017 = MongodbUtil('27017')
|
|
|
22
22
|
mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
|
|
23
23
|
from datetime import datetime
|
|
24
24
|
|
|
25
|
+
no_choose_symbol = ['FNGA', 'MSTU', 'SPYU']
|
|
26
|
+
|
|
25
27
|
|
|
26
28
|
def sync_us_stock_one_minute(now_year, now_month):
|
|
27
29
|
real_time_quotes_all_us = em_stock_info_api.get_us_stock_info()
|
|
28
30
|
real_time_quotes_all_us_stocks = real_time_quotes_all_us.loc[real_time_quotes_all_us['flow_mv'] == 0]
|
|
29
31
|
real_time_quotes_all_us_stocks = real_time_quotes_all_us_stocks.sort_values(by=['amount'], ascending=False)
|
|
30
|
-
|
|
32
|
+
real_time_quotes_all_us_stocks = real_time_quotes_all_us_stocks.loc[~real_time_quotes_all_us_stocks['symbol'].isin(no_choose_symbol)]
|
|
31
33
|
real_time_quotes_all_us_stocks = real_time_quotes_all_us_stocks.loc[
|
|
32
34
|
real_time_quotes_all_us_stocks['amount'] >= 50000000]
|
|
33
35
|
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
from loguru import logger
|
|
10
|
+
import mns_common.utils.data_frame_util as data_frame_util
|
|
11
|
+
from mns_common.db.MongodbUtil import MongodbUtil
|
|
12
|
+
from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
|
|
13
|
+
import mns_common.constant.extra_income_db_name as extra_income_db_name
|
|
14
|
+
import mns_scheduler.extraIncome.us.one_minute.api.alpha_vantage_api as alpha_vantage_api
|
|
15
|
+
|
|
16
|
+
mongodb_util_27017 = MongodbUtil('27017')
|
|
17
|
+
mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def handle_fail_data():
|
|
21
|
+
query = {"type": "ETF", }
|
|
22
|
+
fail_df = mongodb_util_27017.find_query_data('us_stock_one_minute_down_load_fail', query)
|
|
23
|
+
|
|
24
|
+
for stock_one in fail_df.itertuples():
|
|
25
|
+
try:
|
|
26
|
+
|
|
27
|
+
now_year = stock_one.now_year
|
|
28
|
+
now_month = stock_one.now_month
|
|
29
|
+
symbol = stock_one.symbol
|
|
30
|
+
id_key = symbol + '_' + now_month
|
|
31
|
+
path = r'F:\us_etf\one_minute\{}'.format(now_year)
|
|
32
|
+
if not os.path.exists(path):
|
|
33
|
+
os.makedirs(path)
|
|
34
|
+
|
|
35
|
+
path = path + '\{}'.format(now_month)
|
|
36
|
+
if not os.path.exists(path):
|
|
37
|
+
os.makedirs(path)
|
|
38
|
+
|
|
39
|
+
df = alpha_vantage_api.sync_one_minute_data(symbol, now_month)
|
|
40
|
+
df = df.fillna(0)
|
|
41
|
+
df['time'] = df['time'].dt.strftime('%Y-%m-%d %H:%M:%S')
|
|
42
|
+
df['str_day'] = df['time'].str.slice(0, 10)
|
|
43
|
+
df['minute'] = df['time'].str.slice(11, 19)
|
|
44
|
+
df['_id'] = symbol + "_" + df['time']
|
|
45
|
+
df['symbol'] = symbol
|
|
46
|
+
df_export_df = df.copy()
|
|
47
|
+
export_original_data(df_export_df, symbol, path)
|
|
48
|
+
logger.info("同步股票分钟票数据完成:{}", stock_one.symbol)
|
|
49
|
+
query = {"_id": id_key}
|
|
50
|
+
mongodb_util_27017.remove_data(query, 'us_stock_one_minute_down_load_fail')
|
|
51
|
+
except BaseException as e:
|
|
52
|
+
logger.error("同步股票分钟数据出现异常:,{},{},{}", e, symbol, now_month)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def export_original_data(df, symbol, path):
|
|
56
|
+
file_name = path + '\{}.csv'.format(symbol)
|
|
57
|
+
if data_frame_util.is_not_empty(df):
|
|
58
|
+
df = df.dropna(subset=['_id'])
|
|
59
|
+
del df['str_day']
|
|
60
|
+
del df['minute']
|
|
61
|
+
del df['_id']
|
|
62
|
+
del df['symbol']
|
|
63
|
+
df.to_csv(file_name, index=False, encoding='utf-8')
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
if __name__ == '__main__':
|
|
67
|
+
handle_fail_data()
|
|
@@ -121,14 +121,20 @@ def add_continue_boards_zt_stocks():
|
|
|
121
121
|
now_date = datetime.now()
|
|
122
122
|
str_day = now_date.strftime('%Y-%m-%d')
|
|
123
123
|
if trade_date_common_service_api.is_trade_day(str_day):
|
|
124
|
-
|
|
124
|
+
query = {'str_day': str_day}
|
|
125
|
+
stock_zt_pool_df = mongodb_util.find_query_data(db_name_constant.STOCK_ZT_POOL, query)
|
|
126
|
+
if data_frame_util.is_empty(stock_zt_pool_df):
|
|
127
|
+
str_day = trade_date_common_service_api.get_before_trade_date(str_day, 2)
|
|
128
|
+
query = {'str_day': str_day}
|
|
129
|
+
stock_zt_pool_df = mongodb_util.find_query_data(db_name_constant.STOCK_ZT_POOL, query)
|
|
125
130
|
else:
|
|
126
131
|
str_day = trade_date_common_service_api.get_last_trade_day(str_day)
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
+
query = {'str_day': str_day}
|
|
133
|
+
stock_zt_pool_df = mongodb_util.find_query_data(db_name_constant.STOCK_ZT_POOL, query)
|
|
134
|
+
stock_zt_pool_df = stock_zt_pool_df.loc[stock_zt_pool_df['connected_boards_numbers'] >= 3]
|
|
135
|
+
stock_zt_pool_df = common_service_fun_api.exclude_st_symbol(stock_zt_pool_df)
|
|
136
|
+
stock_zt_pool_df = stock_zt_pool_df.sort_values(by=['connected_boards_numbers'], ascending=False)
|
|
137
|
+
for stock_one in stock_zt_pool_df.itertuples():
|
|
132
138
|
ths_self_choose_api.add_stock_to_account(stock_one.symbol, ths_cookie)
|
|
133
139
|
|
|
134
140
|
|
|
@@ -146,4 +152,5 @@ def self_choose_stock_handle():
|
|
|
146
152
|
|
|
147
153
|
|
|
148
154
|
if __name__ == '__main__':
|
|
155
|
+
add_continue_boards_zt_stocks()
|
|
149
156
|
self_choose_stock_handle()
|
|
@@ -83,10 +83,11 @@ mns_scheduler/extraIncome/us/one_minute/etf/__init__.py,sha256=wEg73KlZo-dU0yKGw
|
|
|
83
83
|
mns_scheduler/extraIncome/us/one_minute/stock/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
84
84
|
mns_scheduler/extraIncome/us/one_minute/stock/us_stock_one_minute_task.py,sha256=WVRg94PPKWWUEtfXf2zoyOKAAM3WjCy5BTayF9-jvGE,1334
|
|
85
85
|
mns_scheduler/extraIncome/us/one_minute/stock/down_load/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
86
|
-
mns_scheduler/extraIncome/us/one_minute/stock/down_load/down_load_stock_his_2024_01.py,sha256=
|
|
87
|
-
mns_scheduler/extraIncome/us/one_minute/stock/down_load/down_load_stock_his_2024_02.py,sha256=
|
|
86
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/down_load_stock_his_2024_01.py,sha256=GWHgYej8ZFTXmtLWcJoKY6XCeZmG7L3VwD_EGPdhwqM,5452
|
|
87
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/down_load_stock_his_2024_02.py,sha256=rQ-qzYETfDecl9sN5N8LrNf_gUDtn_O8w2WOFfwd5zw,5713
|
|
88
88
|
mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
89
|
-
mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/down_load_ETF_his_2024.py,sha256=
|
|
89
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/down_load_ETF_his_2024.py,sha256=iyrzHW5jEKeBYKi8AOIOTWSX00L97nKrlBc5Yp-6lww,5816
|
|
90
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/handle_down_load_fail_ETF.py,sha256=xlW6V1cTSDyHbjHopBvWYrnZLgbby8B3I71cBZml00s,2530
|
|
90
91
|
mns_scheduler/extraIncome/us/one_minute/stock/his/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
91
92
|
mns_scheduler/extraIncome/us/one_minute/stock/his/us_stock_one_minute_his.py,sha256=tfWHw1jgNSSX-mbs1hKhGI0WEyliR00xAD4pX_nrn0w,7559
|
|
92
93
|
mns_scheduler/extraIncome/us/one_minute/stock/his/us_stock_one_minute_his_2024.py,sha256=zkD1WaGa1Wdggi2AHcwYPoEH0DeEIkptRrWneP0FHek,7947
|
|
@@ -157,7 +158,7 @@ mns_scheduler/risk/test/fix_blask_list.py,sha256=QKpEOP3-HcUKoCfcu2OeiqUlXGTzLQY
|
|
|
157
158
|
mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
159
|
mns_scheduler/risk/transactions/transactions_check_api.py,sha256=1Tbs8GNoAmdGPqwYOEFiyFjR4ghhvZ5fz4hl5kKjyfk,7379
|
|
159
160
|
mns_scheduler/self_choose/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
|
|
160
|
-
mns_scheduler/self_choose/ths_self_choose_service.py,sha256=
|
|
161
|
+
mns_scheduler/self_choose/ths_self_choose_service.py,sha256=2fkABUphuxPZciCmMepRIm6hQ9xyiRBLzBC3y2bIR-s,7006
|
|
161
162
|
mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
162
163
|
mns_scheduler/trade/auto_ipo_buy_api.py,sha256=jVe5ZiXwzkDy_j_4X4rUamSzJpmzhV16lNKwbeWgpQw,386
|
|
163
164
|
mns_scheduler/trade/auto_sell_service_api.py,sha256=EbVVf6khUm4-gF0yxPVzMg5XfvIhiGdkmeXDY9mcNeE,4623
|
|
@@ -197,7 +198,7 @@ mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=u0IvwPuI2hnjTOrwwe8EhBAM
|
|
|
197
198
|
mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=1uoiR2Uw46kDfjkvNg2US5rd_4OIkYO3872gIJOufUY,2135
|
|
198
199
|
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
199
200
|
mns_scheduler/zz_task/data_sync_task.py,sha256=-5KrZrdci_qKbqacSRMyYF2UKhJ2UVH-m9L87pFnu24,24332
|
|
200
|
-
mns_scheduler-1.3.1.
|
|
201
|
-
mns_scheduler-1.3.1.
|
|
202
|
-
mns_scheduler-1.3.1.
|
|
203
|
-
mns_scheduler-1.3.1.
|
|
201
|
+
mns_scheduler-1.3.1.2.dist-info/METADATA,sha256=1sLHQibIkJ56OQKcnAsAu8hqjiOqhl-Rkd3jFcROlnw,64
|
|
202
|
+
mns_scheduler-1.3.1.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
203
|
+
mns_scheduler-1.3.1.2.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
204
|
+
mns_scheduler-1.3.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|