mns-scheduler 1.3.1.2__py3-none-any.whl → 1.3.1.6__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/baidu/__init__.py +1 -1
- mns_scheduler/baidu/baidu_yun_pan_handle_service.py +2 -2
- mns_scheduler/company_info/announce/__init__.py +1 -1
- mns_scheduler/company_info/announce/company_announce_sync_service.py +1 -1
- mns_scheduler/company_info/base/__init__.py +1 -1
- mns_scheduler/company_info/base/sync_company_hold_info_api.py +1 -1
- mns_scheduler/company_info/clean/__init__.py +1 -1
- mns_scheduler/company_info/clean/company_info_clean_api.py +1 -1
- mns_scheduler/company_info/constant/__init__.py +1 -1
- 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 +1 -1
- mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py +8 -3
- mns_scheduler/company_info/remark/__init__.py +1 -1
- mns_scheduler/company_info/remark/company_remark_info_sync.py +1 -1
- mns_scheduler/concept/clean/kpl_concept_clean_api.py +1 -1
- 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 +1 -1
- mns_scheduler/db/script/db_move/col_move_one_service.py +1 -1
- mns_scheduler/db/script/sync/__init__.py +1 -1
- mns_scheduler/db/script/sync/remote_data_sync_to_local.py +1 -1
- mns_scheduler/db/script/sync/sync_hui_ce_test_data.py +1 -1
- mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py +1 -1
- mns_scheduler/db/script/update/__init__.py +1 -1
- mns_scheduler/db/script/update/update_col_field.py +1 -1
- mns_scheduler/debt/__init__.py +1 -1
- mns_scheduler/debt/kzz_bond_info_sync.py +1 -1
- mns_scheduler/extraIncome/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/common/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/common/symbol_handle_util.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/etf/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/etf/etf_one_minute_sync_task.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/index/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/index/main_index_sync_task.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/kzz/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/kzz/kzz_one_minute_sync_task.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/one_minute_sync_task.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/stock/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/stock/stock_one_minute_sync_task.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/upload/__init__.py +1 -1
- mns_scheduler/extraIncome/a_stock/one_minute/upload/etf_upload_to_baidu_task.py +95 -0
- mns_scheduler/extraIncome/a_stock/one_minute/upload/index_upload_to_baidu_task.py +87 -0
- mns_scheduler/extraIncome/a_stock/one_minute/upload/kzz_upload_to_baidu_task.py +95 -0
- mns_scheduler/extraIncome/a_stock/one_minute/upload/{upload_to_baidu_task.py → stock_upload_to_baidu_task.py} +4 -2
- mns_scheduler/extraIncome/hk/__init__.py +1 -1
- mns_scheduler/extraIncome/hk/hk_stock_qfq_daily_k_line.py +1 -1
- mns_scheduler/extraIncome/us/__init__.py +1 -1
- mns_scheduler/extraIncome/us/daily/__init__.py +1 -1
- mns_scheduler/extraIncome/us/daily/us_stock_qfq_daily_k_line.py +1 -1
- mns_scheduler/extraIncome/us/one_minute/__init__.py +1 -1
- mns_scheduler/extraIncome/us/one_minute/api/__init__.py +0 -7
- mns_scheduler/extraIncome/us/one_minute/api/alpha_vantage_api.py +2 -2
- mns_scheduler/extraIncome/us/one_minute/api/em_us_one_minute_api.py +139 -0
- mns_scheduler/extraIncome/us/one_minute/api/stock_etf_info_api.py +68 -0
- mns_scheduler/extraIncome/us/one_minute/api/y_finance_api.py +25 -9
- mns_scheduler/extraIncome/us/one_minute/etf/__init__.py +1 -1
- mns_scheduler/extraIncome/us/one_minute/stock/__init__.py +1 -1
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/__init__.py +1 -1
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/__init__.py +5 -1
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/down_load_ETF_his_2024.py +1 -1
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/handle_down_load_fail_ETF.py +1 -1
- mns_scheduler/extraIncome/us/one_minute/stock/{his → down_load/stock}/__init__.py +1 -1
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/stock/down_load_stock_his_01.py +203 -0
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/{down_load_stock_his_2024_02.py → stock/down_load_stock_his_02.py} +65 -16
- mns_scheduler/extraIncome/us/one_minute/stock/down_load/{down_load_stock_his_2024_01.py → stock/down_load_stock_his_2025.py} +10 -11
- mns_scheduler/extraIncome/us/one_minute/stock/now/__init__.py +7 -0
- mns_scheduler/extraIncome/us/one_minute/stock/now/us_etf_one_minute_sync.py +52 -0
- mns_scheduler/extraIncome/us/one_minute/stock/now/us_stock_one_minute_sync.py +141 -0
- mns_scheduler/finance/__init__.py +1 -1
- mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py +1 -1
- mns_scheduler/finance/em_financial_profit_sync_service_api.py +1 -1
- mns_scheduler/finance/finance_common_api.py +1 -1
- mns_scheduler/finance/sync_financial_report_service_api.py +1 -1
- mns_scheduler/hk/__init__.py +1 -1
- mns_scheduler/hk/hk_company_info_sync_service_api.py +1 -1
- mns_scheduler/hk/hk_industry_info_sync_service_api.py +1 -1
- mns_scheduler/industry/__init__.py +1 -1
- mns_scheduler/industry/ths/__init__.py +1 -1
- mns_scheduler/industry/ths/ths_industry_index_service.py +1 -1
- mns_scheduler/industry/ths/ths_industry_sync_service.py +1 -1
- 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 +1 -1
- mns_scheduler/k_line/clean/daily/__init__.py +1 -1
- mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py +1 -1
- mns_scheduler/k_line/clean/daily/daily_k_line_service.py +1 -1
- 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 +1 -1
- mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py +1 -1
- 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/test/__init__.py +1 -1
- mns_scheduler/k_line/test/k_line_info_clean_his_data.py +1 -1
- mns_scheduler/k_line/year_quarter/__init__.py +1 -1
- mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py +1 -1
- 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 +1 -1
- mns_scheduler/risk/__init__.py +1 -1
- mns_scheduler/risk/financial/annual_report_audit_check_api.py +1 -1
- mns_scheduler/risk/financial/profit_income_check_api.py +1 -1
- 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 +1 -1
- mns_scheduler/risk/transactions/transactions_check_api.py +1 -1
- mns_scheduler/self_choose/__init__.py +1 -1
- mns_scheduler/self_choose/ths_self_choose_service.py +1 -1
- mns_scheduler/trade/auto_login/trader_auto_service.py +1 -1
- mns_scheduler/trade/auto_sell_service_api.py +2 -2
- mns_scheduler/trade/balance/__init__.py +1 -1
- mns_scheduler/trade/balance/ths_account_balance_service.py +1 -1
- mns_scheduler/trade/sync_position_api.py +1 -1
- mns_scheduler/trade/task/trader_task_service.py +1 -1
- mns_scheduler/trade/tfp/__init__.py +1 -1
- mns_scheduler/trade/tfp/stock_tfp_info_sync.py +1 -1
- mns_scheduler/us/__init__.py +1 -1
- mns_scheduler/us/baidu_yun_pan_handle_service.py +1 -1
- mns_scheduler/us/us_company_info_sync_service_api.py +1 -1
- mns_scheduler/zt/script/__init__.py +1 -1
- mns_scheduler/zt/script/fix_error_deal_day.py +1 -1
- mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py +1 -1
- mns_scheduler/zt/script/sync_high_chg_pool_his_data.py +1 -1
- mns_scheduler/zt/script/sync_now_higt_chg_zt.py +1 -1
- mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py +1 -1
- mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py +1 -1
- mns_scheduler/zz_task/data_sync_task.py +13 -3
- {mns_scheduler-1.3.1.2.dist-info → mns_scheduler-1.3.1.6.dist-info}/METADATA +1 -1
- mns_scheduler-1.3.1.6.dist-info/RECORD +210 -0
- mns_scheduler/extraIncome/us/one_minute/stock/his/us_stock_one_minute_his.py +0 -199
- mns_scheduler/extraIncome/us/one_minute/stock/his/us_stock_one_minute_his_2024.py +0 -212
- mns_scheduler/extraIncome/us/one_minute/stock/us_stock_one_minute_task.py +0 -26
- mns_scheduler-1.3.1.2.dist-info/RECORD +0 -204
- {mns_scheduler-1.3.1.2.dist-info → mns_scheduler-1.3.1.6.dist-info}/WHEEL +0 -0
- {mns_scheduler-1.3.1.2.dist-info → mns_scheduler-1.3.1.6.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
mns_scheduler/__init__.py,sha256=_nhtk1b00OsMAiqRATNrb3HD44RmgjSG5jqS-QLNMrQ,130
|
|
2
|
+
mns_scheduler/baidu/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
3
|
+
mns_scheduler/baidu/baidu_yun_pan_handle_service.py,sha256=aUW85TV4taC4VHELskMLIRXYiDJHiy1wBJKTNz3mxuk,3320
|
|
4
|
+
mns_scheduler/big_deal/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
5
|
+
mns_scheduler/big_deal/ths_big_deal_sync.py,sha256=c3VmLEbEBB3uoQTFZ2HyOtijAiyVRP6wVgNgBS9EuVk,4744
|
|
6
|
+
mns_scheduler/company_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
7
|
+
mns_scheduler/company_info/announce/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
8
|
+
mns_scheduler/company_info/announce/company_announce_sync_service.py,sha256=JV3DXURxhc3Tjeszvi-ZClddRSbzgTRwTX5eae5ZLII,2808
|
|
9
|
+
mns_scheduler/company_info/base/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
10
|
+
mns_scheduler/company_info/base/sync_company_base_info_api.py,sha256=XFdTpZHaW-vupu6_bHuudy2SsYqddgWuO92Dxv6Sa8o,20796
|
|
11
|
+
mns_scheduler/company_info/base/sync_company_hold_info_api.py,sha256=ep9CthkoL_NNqkZgAeAdZqaf7_LNFDCrZonUjrT7w5o,1587
|
|
12
|
+
mns_scheduler/company_info/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
13
|
+
mns_scheduler/company_info/clean/company_info_clean_api.py,sha256=P_-Nms6S1nVyqVOFKDT-Cq1RvriZV4IMz9eZCDF5Ovk,6104
|
|
14
|
+
mns_scheduler/company_info/constant/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
15
|
+
mns_scheduler/company_info/constant/company_constant_data.py,sha256=0qhRXLASsQlYnJe_vy5HCwNQZWz-hmJslbr9VuBnmGY,22486
|
|
16
|
+
mns_scheduler/company_info/de_list_stock/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
17
|
+
mns_scheduler/company_info/de_list_stock/de_list_stock_service.py,sha256=QNtKc1ZI6xHjupcxbOBN7fBhi6oAGtL7X1TQZVzfpnk,1993
|
|
18
|
+
mns_scheduler/company_info/em_stock_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
19
|
+
mns_scheduler/company_info/em_stock_info/sync_em_stock_info_sync.py,sha256=i6wyS-hNeP6l37dn9gTQu0FFwMx-59pk5fj-VSuNSn0,3439
|
|
20
|
+
mns_scheduler/company_info/remark/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
21
|
+
mns_scheduler/company_info/remark/company_remark_info_sync.py,sha256=L8wC8LU7-GYZb1TyKLjODJURROOEO4izZBxnWEM7Ahc,2334
|
|
22
|
+
mns_scheduler/concept/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
23
|
+
mns_scheduler/concept/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
24
|
+
mns_scheduler/concept/clean/kpl_concept_clean_api.py,sha256=NuTJnu1uF7uQ4LcMpXHRKfdNBd-FC4rDmVWsFBj1n2I,4512
|
|
25
|
+
mns_scheduler/concept/clean/ths_concept_clean_api.py,sha256=ICp1g2jP13Px1ett1En05vPzUaB25Usp7r2_L-seRgU,7077
|
|
26
|
+
mns_scheduler/concept/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
27
|
+
mns_scheduler/concept/ths/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
28
|
+
mns_scheduler/concept/ths/common/ths_concept_sync_common_api.py,sha256=mJHFdZGpkVn9xiby2eCYvapZAhQuxSfxQGrGsr3dso0,10222
|
|
29
|
+
mns_scheduler/concept/ths/common/ths_concept_update_common_api.py,sha256=Mwy2g5bXWJBbcS_qS7bY_yx7g41mIQ36GIwa0Qbrd0E,4577
|
|
30
|
+
mns_scheduler/concept/ths/detaill/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
+
mns_scheduler/concept/ths/detaill/ths_concept_detail_api.py,sha256=O99zE0QHGedcCdY_PKWtOYhR4BCAD2hJRO7lCD7gNfg,10865
|
|
32
|
+
mns_scheduler/concept/ths/sync_new_index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
33
|
+
mns_scheduler/concept/ths/sync_new_index/sync_ths_concept_new_index_api.py,sha256=wllTGr3HfP4HSg776I5v6XcMGZMrunSTJCmWwTnT1VU,7923
|
|
34
|
+
mns_scheduler/concept/ths/update_concept_info/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
35
|
+
mns_scheduler/concept/ths/update_concept_info/sync_one_concept_all_symbols_api.py,sha256=wwuLfjj9AnFcHP-oQPC5AhpwgZ8IsPiNUh-Z6swcngA,1380
|
|
36
|
+
mns_scheduler/concept/ths/update_concept_info/sync_one_symbol_all_concepts_api.py,sha256=uOB8blinBrQ2LRVxFSfOMaUn9G3PwOwEy_XaSReHhCY,9392
|
|
37
|
+
mns_scheduler/db/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
38
|
+
mns_scheduler/db/col_move_service.py,sha256=9pOrHJ6rQuMPQdGFho1IJMEy2xvpQ20iku3p20MuAhg,4238
|
|
39
|
+
mns_scheduler/db/db_status.py,sha256=e5eW5ZSm5J7tHvmxxhFmFdbZb2_oB_SAcdcFqc4KDmw,733
|
|
40
|
+
mns_scheduler/db/script/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
41
|
+
mns_scheduler/db/script/col_move_script.py,sha256=Qgo4rktcxJECXwQ4o1lxRj0g306lQhlRCs-0ngyUi70,1163
|
|
42
|
+
mns_scheduler/db/script/db_move/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
43
|
+
mns_scheduler/db/script/db_move/col_move_one_service.py,sha256=v-4qzgIy95iI0EVFBEh4XXJH5jCzDsMUtImFpz8yqJE,913
|
|
44
|
+
mns_scheduler/db/script/sync/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
45
|
+
mns_scheduler/db/script/sync/local_mongo_util.py,sha256=MFG-S7aUBLKe4tkhKNklUzpiZef2n078YXd39dfOMy0,7540
|
|
46
|
+
mns_scheduler/db/script/sync/remote_data_sync_to_local.py,sha256=XTJWlTxV0lrDtuhcAUEw0LKNkWqCEdzkeFOVNemZg-I,2789
|
|
47
|
+
mns_scheduler/db/script/sync/remote_mongo_util.py,sha256=-BCR2zeQ9z0zeZg6wO0aCS4bGnsGIohFRH7QR8XXJSo,10966
|
|
48
|
+
mns_scheduler/db/script/sync/sync_hui_ce_test_data.py,sha256=UVbfs6ovi_eARZHqhpKlJmljJ_j5Qt4ufZnzWTm5qJU,2096
|
|
49
|
+
mns_scheduler/db/script/sync/sync_hui_ce_test_data_01.py,sha256=ixTeREKxuILR4VdwVeO56VcQjw7GfEwlh07vUJcVjKI,2135
|
|
50
|
+
mns_scheduler/db/script/update/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
51
|
+
mns_scheduler/db/script/update/update_col_field.py,sha256=m7RJbNLTcaeknwHR50i3aebT--Rc6udpbOqyGwt61qg,1274
|
|
52
|
+
mns_scheduler/debt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
53
|
+
mns_scheduler/debt/kzz_bond_info_sync.py,sha256=FOefhRDqSN1YRqY6drCN3p6PgzVD_isWQ15l9OllCGI,1346
|
|
54
|
+
mns_scheduler/dt/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
55
|
+
mns_scheduler/dt/stock_dt_pool_sync.py,sha256=5ivRUOnFtOapZniwTbujf1lVq3y4btm2Cmd5R6JJAVo,3466
|
|
56
|
+
mns_scheduler/extraIncome/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
57
|
+
mns_scheduler/extraIncome/a_stock/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
58
|
+
mns_scheduler/extraIncome/a_stock/one_minute/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
59
|
+
mns_scheduler/extraIncome/a_stock/one_minute/one_minute_sync_task.py,sha256=X4zC2VsTvxnOArGLwCsBs9a-XwtxtMQ4nqL6binxHp4,1589
|
|
60
|
+
mns_scheduler/extraIncome/a_stock/one_minute/common/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
61
|
+
mns_scheduler/extraIncome/a_stock/one_minute/common/db_create_index.py,sha256=WhCAaLNrrc4nuGpa_GW6qrWyml6I-Fk4E2jJRSbUUZw,323
|
|
62
|
+
mns_scheduler/extraIncome/a_stock/one_minute/common/symbol_handle_util.py,sha256=cq1LVCx-an2CuRbLl3CBpgOltUx3AyMrQ4Qf1vd9VIQ,1275
|
|
63
|
+
mns_scheduler/extraIncome/a_stock/one_minute/etf/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
64
|
+
mns_scheduler/extraIncome/a_stock/one_minute/etf/etf_one_minute_sync_task.py,sha256=NAgnTNcUuDDnw6cUJzICCfS2hxvQiOcRggrEutYElSc,3707
|
|
65
|
+
mns_scheduler/extraIncome/a_stock/one_minute/index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
66
|
+
mns_scheduler/extraIncome/a_stock/one_minute/index/main_index_sync_task.py,sha256=kbhzbRHKGO97m4hmWVKTMKMl_DOk3m0P0xVM_yBHSL0,2665
|
|
67
|
+
mns_scheduler/extraIncome/a_stock/one_minute/kzz/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
68
|
+
mns_scheduler/extraIncome/a_stock/one_minute/kzz/kzz_one_minute_sync_task.py,sha256=Qo7ITX-kGj_TEQve7A6Zjs8WDSyCguuGpk2dN0gCxiM,3707
|
|
69
|
+
mns_scheduler/extraIncome/a_stock/one_minute/stock/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
70
|
+
mns_scheduler/extraIncome/a_stock/one_minute/stock/stock_one_minute_sync_task.py,sha256=O-iDs9IZnimdC00hZOc7T35pWmgzvDCx4lh8nooFS1k,4592
|
|
71
|
+
mns_scheduler/extraIncome/a_stock/one_minute/upload/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
72
|
+
mns_scheduler/extraIncome/a_stock/one_minute/upload/etf_upload_to_baidu_task.py,sha256=Vy8IbF4KnWd7kxSnBvtWIlxl-VsbYb6FqZ6rzGh3I1Y,3659
|
|
73
|
+
mns_scheduler/extraIncome/a_stock/one_minute/upload/index_upload_to_baidu_task.py,sha256=9uVWKlsy2bXR0Vz5IjtnpN8N81kOzK9BDVWPGgjHb0A,2640
|
|
74
|
+
mns_scheduler/extraIncome/a_stock/one_minute/upload/kzz_upload_to_baidu_task.py,sha256=tNy3LB6TmC4JdQ9GHlZidmqTWH-WC83zil0NBvVpJ4U,3672
|
|
75
|
+
mns_scheduler/extraIncome/a_stock/one_minute/upload/stock_upload_to_baidu_task.py,sha256=7ihM6-n3uWjGxlMsL0WNyMTbWW85bdtz9MLHKO8LtoI,3801
|
|
76
|
+
mns_scheduler/extraIncome/hk/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
77
|
+
mns_scheduler/extraIncome/hk/hk_stock_qfq_daily_k_line.py,sha256=R20XnJKaHaManU28_mo7fwDwmLwnF1GKfo_ccjU5Ydw,4236
|
|
78
|
+
mns_scheduler/extraIncome/us/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
79
|
+
mns_scheduler/extraIncome/us/daily/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
80
|
+
mns_scheduler/extraIncome/us/daily/us_stock_qfq_daily_k_line.py,sha256=QToKweEXKZMGOxfC4ua2n-ZKmQ-vssdX8iilLOZspKA,4234
|
|
81
|
+
mns_scheduler/extraIncome/us/one_minute/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
82
|
+
mns_scheduler/extraIncome/us/one_minute/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
83
|
+
mns_scheduler/extraIncome/us/one_minute/api/alpha_vantage_api.py,sha256=tMywgIs47_mJbEES7lhl3WTYoQbZzpJh4EW7_yiWhmk,899
|
|
84
|
+
mns_scheduler/extraIncome/us/one_minute/api/em_us_one_minute_api.py,sha256=0sW473oQgohr17SSCCSvWZ84TLUVJep8JcSv-z0E0YQ,5198
|
|
85
|
+
mns_scheduler/extraIncome/us/one_minute/api/stock_etf_info_api.py,sha256=jBw-EUU4YKYyMx04RiiJXRXM5ATwkuVJjsu7K8KTsZI,2538
|
|
86
|
+
mns_scheduler/extraIncome/us/one_minute/api/y_finance_api.py,sha256=Y1QklHaxUgf5Q_79t-QIvvUcj18koYMVh-AFUTRa4_g,2139
|
|
87
|
+
mns_scheduler/extraIncome/us/one_minute/etf/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
88
|
+
mns_scheduler/extraIncome/us/one_minute/stock/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
89
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
90
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/__init__.py,sha256=sb7uvmLWbASPFK0DTXcid92WM4ApnTnjTM9_60_sTdA,255
|
|
91
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/down_load_ETF_his_2024.py,sha256=DkzyISWT0jTiTfvkXHvXSB0rqx9iTSFcg7RjVD51uBo,5816
|
|
92
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/etf/handle_down_load_fail_ETF.py,sha256=yv5BYVQ4P046mX_U1592vkIVKYOgEb_8HYeVdpr65rQ,2530
|
|
93
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/stock/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
94
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/stock/down_load_stock_his_01.py,sha256=s5CM1yAyuLxjpXUvTmJoCOOEx0Qgu3ashEVGgh-bMS0,6918
|
|
95
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/stock/down_load_stock_his_02.py,sha256=oW2GvJVSFl2CWhfcXy_iKIUM_J3EGzmnWrzu_R409tk,6855
|
|
96
|
+
mns_scheduler/extraIncome/us/one_minute/stock/down_load/stock/down_load_stock_his_2025.py,sha256=1HyYBAWatjXsWwPDxuC36ONO6RQNUJeLt8E4c-8aaWA,5310
|
|
97
|
+
mns_scheduler/extraIncome/us/one_minute/stock/now/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
98
|
+
mns_scheduler/extraIncome/us/one_minute/stock/now/us_etf_one_minute_sync.py,sha256=HHrICmSiDMmDBjF_7rcai4u383c0O1zc12gGjMHwqAg,2045
|
|
99
|
+
mns_scheduler/extraIncome/us/one_minute/stock/now/us_stock_one_minute_sync.py,sha256=jvD4QeNRrUyR3gnfAZxZuiJscqEdKkxebSD_li2-l_0,5658
|
|
100
|
+
mns_scheduler/finance/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
101
|
+
mns_scheduler/finance/em_financial_asset_liability_sync_service_api.py,sha256=xcThdnFD5hGRkUsYpIgCi3GR_54_otQnurz-9pzHo9Y,19417
|
|
102
|
+
mns_scheduler/finance/em_financial_profit_sync_service_api.py,sha256=KWUfpDs_OuUPToEeoUScQuvYFQvszh5nQu3DVDONfHc,14514
|
|
103
|
+
mns_scheduler/finance/finance_common_api.py,sha256=rqsVJZEklJjvM9ogl-9GQaWxyh1LE6IKoTkQkN5cBvE,2453
|
|
104
|
+
mns_scheduler/finance/sync_financial_report_service_api.py,sha256=3p4ZtrIfx5zn7b5RObSsPvUGtZbm0mxnT0SZ4G6ZVKE,6632
|
|
105
|
+
mns_scheduler/hk/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
106
|
+
mns_scheduler/hk/hk_company_info_sync_service_api.py,sha256=MGIKodN9oXaY0iwtdsrg4wwHXkMglFvY8eyeTpbas6k,3724
|
|
107
|
+
mns_scheduler/hk/hk_industry_info_sync_service_api.py,sha256=WdCTaBi4GDicWfmiYbI-byBCXZwknkYZHk6y2IloMys,2275
|
|
108
|
+
mns_scheduler/industry/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
109
|
+
mns_scheduler/industry/ths/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
110
|
+
mns_scheduler/industry/ths/ths_industry_index_service.py,sha256=MHvzUsDHnmdQn-mJc_D2uBKP0qvVWWagDV568xChPqg,2686
|
|
111
|
+
mns_scheduler/industry/ths/ths_industry_sync_service.py,sha256=r0jLbY3JcnCGgLWYzRrXiqIbeT8PBGnG2dT_INuN824,2762
|
|
112
|
+
mns_scheduler/irm/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
113
|
+
mns_scheduler/irm/stock_irm_cninfo_service.py,sha256=H1v7DIPVR6Irb1cORFYPmngCaI8CEXE67AfBfkBSL08,9542
|
|
114
|
+
mns_scheduler/irm/api/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
115
|
+
mns_scheduler/irm/api/sh_stock_sns_sse_info_api.py,sha256=EE09q9iIPNAEzxhKCM-2tsm1FZID3-fqdfikK1VS6H8,4931
|
|
116
|
+
mns_scheduler/irm/api/sz_stock_sns_sse_info_api.py,sha256=iJ9K8FhatQpCx5PqusIH5x4MAw3F1v3fYC1Ztsp_2Zw,6199
|
|
117
|
+
mns_scheduler/k_line/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
|
|
118
|
+
mns_scheduler/k_line/clean/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
119
|
+
mns_scheduler/k_line/clean/k_line_info_clean_impl.py,sha256=ZTnSpQ2zKnNPWCkHKPJkLdkxVK29szgufxNV6uvXG7s,1344
|
|
120
|
+
mns_scheduler/k_line/clean/k_line_info_clean_task.py,sha256=htllTDOmzJLhhdpHTEgAn03iSlJT7D8GQOhhdnwDktc,8852
|
|
121
|
+
mns_scheduler/k_line/clean/daily/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
122
|
+
mns_scheduler/k_line/clean/daily/daily_k_line_clean_common_service.py,sha256=gIoInwd1eCKCmhIOJHo8MuNEwj8ehMxYw83j52pxmxk,20447
|
|
123
|
+
mns_scheduler/k_line/clean/daily/daily_k_line_service.py,sha256=1S-6sih0KptZEWYBN3jgVJHlv5y11QPONYjR-MpOQn8,6906
|
|
124
|
+
mns_scheduler/k_line/clean/week_month/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
125
|
+
mns_scheduler/k_line/clean/week_month/normal_week_month_k_line_service.py,sha256=n2osY8dozHClIlSOE7NR6S_oK_8GV-z72Az13D3fhCQ,10160
|
|
126
|
+
mns_scheduler/k_line/clean/week_month/sub_new_week_month_k_line_service.py,sha256=0rc2Rz_EoqoqpVvgPe4daCe09JtHBlJsQr1bMIlBQ2o,5526
|
|
127
|
+
mns_scheduler/k_line/hot_stocks/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
128
|
+
mns_scheduler/k_line/hot_stocks/recent_hot_stocks_clean_service.py,sha256=8woZzGVORYX9KZr6xtfiYYgApDKissnzYM6hS2k6XBA,2628
|
|
129
|
+
mns_scheduler/k_line/month_week_daily/__init__.py,sha256=ffZXFCLFdIwOsbxnw__u1MbQYh9yz7Bs8UMP6VF0X2M,161
|
|
130
|
+
mns_scheduler/k_line/month_week_daily/bfq_k_line_sync.py,sha256=nfkJj9NR2XCt1Op5FWXo_zOPA8lWkaQ0q0dxF-hMXrY,4200
|
|
131
|
+
mns_scheduler/k_line/month_week_daily/daily_week_month_line_sync.py,sha256=WAznTr6AZOqukz_gJJ745fuWtoJulEBEAg_pJUSRryk,6008
|
|
132
|
+
mns_scheduler/k_line/test/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
133
|
+
mns_scheduler/k_line/test/k_line_info_clean_his_data.py,sha256=eWtzWL1geX5rrwfrlvDCuaTvy1CI9Zgk7CC4zlsncD4,1663
|
|
134
|
+
mns_scheduler/k_line/year_quarter/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
135
|
+
mns_scheduler/k_line/year_quarter/year_quarter_line_sync.py,sha256=6d5XIy2lMaOA-pGp68IvYM8zChLi3jO0WkrGlIF-dc0,2751
|
|
136
|
+
mns_scheduler/kpl/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
137
|
+
mns_scheduler/kpl/selection/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
138
|
+
mns_scheduler/kpl/selection/index/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
139
|
+
mns_scheduler/kpl/selection/index/sync_best_choose_his_index.py,sha256=Cle5cU90HVo-vulFCRwaAFDG-J3dCriXmWm1OKHPnr4,4748
|
|
140
|
+
mns_scheduler/kpl/selection/index/sync_best_choose_index.py,sha256=-34drqAMsx792DxR8P1A8DrGCM5yIVGsop3UzDNzsPw,8016
|
|
141
|
+
mns_scheduler/kpl/selection/symbol/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
142
|
+
mns_scheduler/kpl/selection/symbol/sync_best_choose_symbol.py,sha256=Pztaa4D-zl5pc0ksBi9yLZcCXA3yyrZ5jJ7Y378-gx0,4775
|
|
143
|
+
mns_scheduler/kpl/selection/total/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
144
|
+
mns_scheduler/kpl/selection/total/sync_kpl_best_total_sync_api.py,sha256=oMXD81ZIDFAYZvUPhhEbZei5lKhT28TUa7dagZ1G6PQ,10465
|
|
145
|
+
mns_scheduler/lhb/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
146
|
+
mns_scheduler/lhb/stock_lhb_sync_service.py,sha256=-nJBWo7LMyB4oCZE9BWX_aRyh5c6iAljPe7t4okSBZg,641
|
|
147
|
+
mns_scheduler/open/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
148
|
+
mns_scheduler/open/sync_one_day_open_data_to_db_service.py,sha256=4ghPSJaeSZB974TGLUWFIpBIy_5nSppCfVWFY4Ofurk,2638
|
|
149
|
+
mns_scheduler/risk/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
150
|
+
mns_scheduler/risk/financial_report_risk_check_api.py,sha256=cOW_zh0bGn432cjj_kLlXW1Yp66Ne17aPwwg77yzOmE,1648
|
|
151
|
+
mns_scheduler/risk/compliance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
|
+
mns_scheduler/risk/compliance/undisclosed_annual_report_api.py,sha256=sRU6cbvIpICZbTUJIUIobwoV02HG5lINUeTL0LSrZNE,3870
|
|
153
|
+
mns_scheduler/risk/financial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
|
+
mns_scheduler/risk/financial/annual_report_audit_check_api.py,sha256=bNiMXDNt88XEsk0W8oUOQ4OdBvJzwRGjN9SNAygYlhI,2580
|
|
155
|
+
mns_scheduler/risk/financial/net_assets_check_api.py,sha256=glhBAyixc4mNfFUCRyT22wsAQC20R67jthyg8uvsOS4,4737
|
|
156
|
+
mns_scheduler/risk/financial/profit_income_check_api.py,sha256=PAKAcDlau3PCPlQxL1lJ_fsL6HMHqN0Ew5s4L1DfKkE,4568
|
|
157
|
+
mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py,sha256=SQ7dieSCOf1z42Wi1zDEii3poAT5wfyBrV43dXkAaaw,22
|
|
158
|
+
mns_scheduler/risk/major_violations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
159
|
+
mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py,sha256=Mf_jrNE7m2kVILfj-SukVpZ4d2a-BBZrXhPK1oR_vkw,5672
|
|
160
|
+
mns_scheduler/risk/self/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
|
+
mns_scheduler/risk/self/wei_pan_stock_api.py,sha256=ac_hhdwoK8-uI_ag40YEj4iTOkB8GZ9vzT9mB8Rlwbc,1899
|
|
162
|
+
mns_scheduler/risk/test/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
163
|
+
mns_scheduler/risk/test/fix_blask_list.py,sha256=IRDedHWuTi9y8EIZSwdiRxEUZcYAY3TH15GgJRmnQEw,1245
|
|
164
|
+
mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
|
+
mns_scheduler/risk/transactions/transactions_check_api.py,sha256=fSHa15GlmzT-fnsYBTlhigKkXHHmO4JIUjpwQ66fszE,7379
|
|
166
|
+
mns_scheduler/self_choose/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
167
|
+
mns_scheduler/self_choose/ths_self_choose_service.py,sha256=38pXivl0CPXkCJyu8_5_rvwZpLCa4HNUUDah3Ai8iXg,7006
|
|
168
|
+
mns_scheduler/trade/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
169
|
+
mns_scheduler/trade/auto_ipo_buy_api.py,sha256=jVe5ZiXwzkDy_j_4X4rUamSzJpmzhV16lNKwbeWgpQw,386
|
|
170
|
+
mns_scheduler/trade/auto_sell_service_api.py,sha256=A2RB3WFxVHqbNPaPvhIgO-3uaicFZVmBKUy2TsfMU90,4624
|
|
171
|
+
mns_scheduler/trade/sync_position_api.py,sha256=eGJAL1WoP_WwDloKQqeUXZUqtQv8G6VlODe8EDhmgMY,2748
|
|
172
|
+
mns_scheduler/trade/auto_login/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
173
|
+
mns_scheduler/trade/auto_login/trader_auto_service.py,sha256=_rJbiD93CaHdjWikhARkvWtPmsow5php2M0DKxbGWzI,688
|
|
174
|
+
mns_scheduler/trade/balance/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
175
|
+
mns_scheduler/trade/balance/ths_account_balance_service.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
176
|
+
mns_scheduler/trade/task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
177
|
+
mns_scheduler/trade/task/trader_task_service.py,sha256=_LyhX_YSh5RuseiXc3_n1fxDaR8LhOdviAKMhlmbvYA,1560
|
|
178
|
+
mns_scheduler/trade/tfp/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
179
|
+
mns_scheduler/trade/tfp/stock_tfp_info_sync.py,sha256=ViAVG-1GWLkRxiSBPLIfNICZRnpNZ3mHf44R7X7O4IE,2440
|
|
180
|
+
mns_scheduler/us/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
181
|
+
mns_scheduler/us/baidu_yun_pan_handle_service.py,sha256=T0BHGKgQUqJcJ0p6wFFexbi7-K4YfkdDAC3NZDzdM-s,2730
|
|
182
|
+
mns_scheduler/us/k_line.py,sha256=0F6IR1WCtREGFjLfL6Mcu5gAhNY2yaAshRlXTUE-0Sg,4100
|
|
183
|
+
mns_scheduler/us/us_company_info_sync_service_api.py,sha256=IRmg9Qq71Zyu_0lnU7hOZ7xjg7DnFqTwecfXHEGzJp8,1227
|
|
184
|
+
mns_scheduler/zb/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
185
|
+
mns_scheduler/zb/stock_zb_pool_sync.py,sha256=YXXmofkOsXxTQSUboy7AfEQUeszXVop5oZxLKBqQpJE,1272
|
|
186
|
+
mns_scheduler/zt/__init__.py,sha256=Rzolrn2R5RZIj-eOmu9KcL6oZBY9Wjz_uBFXPlzirQc,1641
|
|
187
|
+
mns_scheduler/zt/connected_boards/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
188
|
+
mns_scheduler/zt/connected_boards/zt_five_boards_sync_api.py,sha256=HfjPHKD99fU9c37kSenEX2_qNvFAjQGgy8ERuacSxwk,10916
|
|
189
|
+
mns_scheduler/zt/export/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
190
|
+
mns_scheduler/zt/export/export_kcx_high_chg_open_data_to_excel.py,sha256=9LK1s2BCzsXLMAYMmiMAZsmz8iha88JVcp6SKqIW37s,4063
|
|
191
|
+
mns_scheduler/zt/high_chg/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
192
|
+
mns_scheduler/zt/high_chg/sync_high_chg_pool_service.py,sha256=rrvFgxduBTRdJig5KKd-BoepKpCn5SKDSRo6A4U3LFI,13329
|
|
193
|
+
mns_scheduler/zt/high_chg/sync_high_chg_real_time_quotes_service.py,sha256=IvP8tTtWTuMvTdIGFGLmhf9MH_Qfa8P5IpRuHfxTkdw,6351
|
|
194
|
+
mns_scheduler/zt/open_data/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
195
|
+
mns_scheduler/zt/open_data/kcx_high_chg_open_data_sync.py,sha256=wZiqOre2UK9CxIR7dDk11DmqRY3n2_eE2pe0JfmMcjk,11616
|
|
196
|
+
mns_scheduler/zt/script/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
197
|
+
mns_scheduler/zt/script/fix_error_deal_day.py,sha256=7GrCfI_XCq5G69_17JS5i4FE0l3pwWVkL-ZnqmH5FVA,1624
|
|
198
|
+
mns_scheduler/zt/script/kcx_high_chg_open_his_data_handle.py,sha256=1pm16xy_DHgd_hAyiQwwg7A88QkemwK_TTcCIxkBP-A,5571
|
|
199
|
+
mns_scheduler/zt/script/sync_high_chg_pool_his_data.py,sha256=xzfjlwNqsiDQqkTTmaLlFRG0WwkOSYDI-1mw38Z_hNc,1685
|
|
200
|
+
mns_scheduler/zt/script/sync_now_higt_chg_zt.py,sha256=cArTHjZmnGJFEO6kAnva8rVOg9mV3vHIuwS-zg3BobM,1844
|
|
201
|
+
mns_scheduler/zt/zt_pool/__init__.py,sha256=Tyvi_iQlv3jz59EdH67Mycnt9CSixcWPQoJwu55bOq0,165
|
|
202
|
+
mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=tA-f0OTtQo-dcSwq2gOooYe7TFrfPcz6vVH16SWFCd0,11930
|
|
203
|
+
mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=u0IvwPuI2hnjTOrwwe8EhBAMv8NbQTENpRbb-_5lDlM,9803
|
|
204
|
+
mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=caW-MuF0RFLavJZafeLDYQ29-GxwGsmr5YVrN4lost8,2135
|
|
205
|
+
mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
|
|
206
|
+
mns_scheduler/zz_task/data_sync_task.py,sha256=97XQqGXS6xce8tq7I804RpYKk90MGsU2GYHsqgvLr_s,25015
|
|
207
|
+
mns_scheduler-1.3.1.6.dist-info/METADATA,sha256=4Q9r7eo0UTBiWEVijcR__qSujh7qLhV9i_Bp6_iZNBg,64
|
|
208
|
+
mns_scheduler-1.3.1.6.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
209
|
+
mns_scheduler-1.3.1.6.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
|
|
210
|
+
mns_scheduler-1.3.1.6.dist-info/RECORD,,
|
|
@@ -1,199 +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.component.em.em_stock_info_api as em_stock_info_api
|
|
9
|
-
from loguru import logger
|
|
10
|
-
import time
|
|
11
|
-
import mns_common.utils.data_frame_util as data_frame_util
|
|
12
|
-
from mns_common.db.MongodbUtil import MongodbUtil
|
|
13
|
-
from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
|
|
14
|
-
import mns_scheduler.extraIncome.a_stock.one_minute.common.db_create_index as db_create_index
|
|
15
|
-
import mns_common.constant.extra_income_db_name as extra_income_db_name
|
|
16
|
-
import mns_scheduler.extraIncome.us.one_minute.api.alpha_vantage_api as alpha_vantage_api
|
|
17
|
-
import pandas as pd
|
|
18
|
-
from functools import lru_cache
|
|
19
|
-
|
|
20
|
-
mongodb_util_27017 = MongodbUtil('27017')
|
|
21
|
-
mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
|
|
22
|
-
from datetime import datetime
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def sync_us_stock_one_minute(now_year, now_month, begin_year):
|
|
26
|
-
real_time_quotes_all_us = em_stock_info_api.get_us_stock_info()
|
|
27
|
-
real_time_quotes_all_us_stocks = real_time_quotes_all_us.loc[real_time_quotes_all_us['flow_mv'] != 0]
|
|
28
|
-
real_time_quotes_all_us_stocks = real_time_quotes_all_us_stocks.sort_values(by=['amount'], ascending=False)
|
|
29
|
-
|
|
30
|
-
# todo 改集合名字
|
|
31
|
-
col_name = extra_income_db_name.US_STOCK_MINUTE_K_LINE_BFQ
|
|
32
|
-
col_name = col_name + '_' + str(now_year)
|
|
33
|
-
# 创建索引
|
|
34
|
-
db_create_index.create_index(mongodb_util_27017, col_name)
|
|
35
|
-
|
|
36
|
-
for stock_one in real_time_quotes_all_us_stocks.itertuples():
|
|
37
|
-
|
|
38
|
-
symbol = stock_one.symbol
|
|
39
|
-
# simple_symbol = int(stock_one.simple_symbol)
|
|
40
|
-
# code = str(simple_symbol) + '.' + symbol
|
|
41
|
-
list_date = str(stock_one.list_date)
|
|
42
|
-
list_date_year = int(list_date[0:4])
|
|
43
|
-
if list_date_year > now_year:
|
|
44
|
-
continue
|
|
45
|
-
try:
|
|
46
|
-
|
|
47
|
-
now_date = datetime.now()
|
|
48
|
-
if net_work_check(now_date):
|
|
49
|
-
# 休眠 6分钟
|
|
50
|
-
time.sleep(6 * 60)
|
|
51
|
-
|
|
52
|
-
df = alpha_vantage_api.sync_one_minute_data(symbol, now_month)
|
|
53
|
-
df['time'] = df['time'].dt.strftime('%Y-%m-%d %H:%M:%S')
|
|
54
|
-
df['str_day'] = df['time'].str.slice(0, 10)
|
|
55
|
-
df['minute'] = df['time'].str.slice(11, 19)
|
|
56
|
-
df['_id'] = symbol + "_" + df['time']
|
|
57
|
-
df['symbol'] = symbol
|
|
58
|
-
df_export_df = df.copy()
|
|
59
|
-
export_original_data(df_export_df, symbol, now_year, now_month)
|
|
60
|
-
handle_pan_qian_or_hou_data(df, symbol, col_name)
|
|
61
|
-
|
|
62
|
-
except BaseException as e:
|
|
63
|
-
time.sleep(1)
|
|
64
|
-
fail_dict = {
|
|
65
|
-
'_id': symbol + '_' + now_month,
|
|
66
|
-
'symbol': symbol,
|
|
67
|
-
'now_year': now_year,
|
|
68
|
-
'now_month': now_month
|
|
69
|
-
}
|
|
70
|
-
fail_df = pd.DataFrame(fail_dict, index=[1])
|
|
71
|
-
|
|
72
|
-
mongodb_util_27017.insert_mongo(fail_df, 'us_stock_one_minute_k_line_bfq_fail')
|
|
73
|
-
logger.error("同步股票分钟数据出现异常:,{},{},{}", e, symbol, now_month)
|
|
74
|
-
logger.info("同步股票分钟票数据完整:{},{}", stock_one.symbol, stock_one.name)
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
def handle_pan_qian_or_hou_data(df, symbol, col_name):
|
|
78
|
-
hand_pan_hou_data(df.copy(), symbol, col_name)
|
|
79
|
-
hand_pan_qian_data(df.copy(), col_name)
|
|
80
|
-
handle_middle_data(df.copy(), col_name)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
def handle_middle_data(df_copy, col_name):
|
|
84
|
-
df = df_copy.copy()
|
|
85
|
-
df = df.loc[df['minute'] < '16:00:00']
|
|
86
|
-
df = df.loc[df['minute'] > '09:30:00']
|
|
87
|
-
mongodb_util_27017.insert_mongo(df, col_name)
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
def hand_pan_qian_data(df_copy, col_name):
|
|
91
|
-
df = df_copy.copy()
|
|
92
|
-
df_pan_qian_init = df.loc[df['minute'] == '09:30:00']
|
|
93
|
-
del df_pan_qian_init['volume']
|
|
94
|
-
pan_qian_data = df.loc[df['minute'] <= '09:30:00']
|
|
95
|
-
pan_qian_data_group_df = pan_qian_data.groupby('str_day')['volume'].sum().reset_index()
|
|
96
|
-
|
|
97
|
-
pan_qian_data_group_df = pan_qian_data_group_df.set_index(['str_day'], drop=True)
|
|
98
|
-
df_pan_qian_init = df_pan_qian_init.set_index(['str_day'], drop=False)
|
|
99
|
-
|
|
100
|
-
df_pan_qian_init = pd.merge(pan_qian_data_group_df, df_pan_qian_init,
|
|
101
|
-
how='outer',
|
|
102
|
-
left_index=True, right_index=True)
|
|
103
|
-
|
|
104
|
-
mongodb_util_27017.insert_mongo(df_pan_qian_init, col_name)
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
def hand_pan_hou_data(df_copy, symbol, col_name):
|
|
108
|
-
df = df_copy.copy()
|
|
109
|
-
df_pan_hou_init = df.loc[df['minute'] == '16:00:00']
|
|
110
|
-
k_line_trade_df = query_k_line(symbol)
|
|
111
|
-
trade_date_list = list(df_pan_hou_init['str_day'])
|
|
112
|
-
|
|
113
|
-
k_line_trade_df = k_line_trade_df.loc[k_line_trade_df['date'].isin(trade_date_list)]
|
|
114
|
-
|
|
115
|
-
k_line_trade_df = k_line_trade_df.rename(columns={'volume': "k_line_volume"})
|
|
116
|
-
|
|
117
|
-
# 收盘前的
|
|
118
|
-
df = df.loc[df['minute'] < '16:00:00']
|
|
119
|
-
total_volume_df = df.groupby('str_day')['volume'].sum().reset_index()
|
|
120
|
-
total_volume_df = total_volume_df.rename(columns={'volume': "total_volume"})
|
|
121
|
-
|
|
122
|
-
total_volume_df = total_volume_df.set_index(['str_day'], drop=False)
|
|
123
|
-
|
|
124
|
-
k_line_trade_df = k_line_trade_df.set_index(['date'], drop=True)
|
|
125
|
-
|
|
126
|
-
pan_hou_diff_df = pd.merge(total_volume_df, k_line_trade_df,
|
|
127
|
-
how='outer',
|
|
128
|
-
left_index=True, right_index=True)
|
|
129
|
-
|
|
130
|
-
pan_hou_diff_df['volume'] = pan_hou_diff_df['k_line_volume'] - pan_hou_diff_df['total_volume']
|
|
131
|
-
|
|
132
|
-
del df_pan_hou_init['volume']
|
|
133
|
-
|
|
134
|
-
pan_hou_diff_df = pan_hou_diff_df.set_index(['str_day'], drop=True)
|
|
135
|
-
del pan_hou_diff_df['k_line_volume']
|
|
136
|
-
del pan_hou_diff_df['total_volume']
|
|
137
|
-
|
|
138
|
-
df_pan_hou_init = df_pan_hou_init.set_index(['str_day'], drop=False)
|
|
139
|
-
|
|
140
|
-
df_pan_hou_result = pd.merge(pan_hou_diff_df, df_pan_hou_init,
|
|
141
|
-
how='outer',
|
|
142
|
-
left_index=True, right_index=True)
|
|
143
|
-
mongodb_util_27017.insert_mongo(df_pan_hou_result, col_name)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
def export_original_data(df, symbol, year, now_month):
|
|
147
|
-
path = r'H:\us_stock\one_minute\{}'.format(year)
|
|
148
|
-
if not os.path.exists(path):
|
|
149
|
-
os.makedirs(path)
|
|
150
|
-
|
|
151
|
-
path = path + '\{}'.format(now_month)
|
|
152
|
-
if not os.path.exists(path):
|
|
153
|
-
os.makedirs(path)
|
|
154
|
-
|
|
155
|
-
file_name = path + '\{}.csv'.format(symbol)
|
|
156
|
-
if data_frame_util.is_not_empty(df):
|
|
157
|
-
del df['str_day']
|
|
158
|
-
del df['minute']
|
|
159
|
-
del df['_id']
|
|
160
|
-
del df['symbol']
|
|
161
|
-
df.to_csv(file_name, index=False, encoding='utf-8')
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
@lru_cache()
|
|
165
|
-
def query_k_line(symbol):
|
|
166
|
-
query = {'symbol': symbol}
|
|
167
|
-
query_field = {"volume": 1, 'date': 1, '_id': 0}
|
|
168
|
-
return mongodbUtilV2_27019.find_query_data_choose_field(extra_income_db_name.US_STOCK_DAILY_QFQ_K_LINE, query,
|
|
169
|
-
query_field)
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
def net_work_check(now_date):
|
|
173
|
-
hour = now_date.hour
|
|
174
|
-
minute = now_date.minute
|
|
175
|
-
if hour == 7 and minute == 34:
|
|
176
|
-
return True
|
|
177
|
-
elif hour == 9 and minute == 59:
|
|
178
|
-
return True
|
|
179
|
-
elif hour == 10 and minute == 29:
|
|
180
|
-
return True
|
|
181
|
-
elif hour == 10 and minute == 59:
|
|
182
|
-
return True
|
|
183
|
-
elif hour == 12 and minute == 49:
|
|
184
|
-
return True
|
|
185
|
-
elif hour == 13 and minute == 28:
|
|
186
|
-
return True
|
|
187
|
-
elif hour == 13 and minute == 58:
|
|
188
|
-
return True
|
|
189
|
-
elif hour == 14 and minute == 28:
|
|
190
|
-
return True
|
|
191
|
-
elif hour == 15 and minute == 1:
|
|
192
|
-
return True
|
|
193
|
-
else:
|
|
194
|
-
return False
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
if __name__ == '__main__':
|
|
198
|
-
# k_line_df = query_k_line('TSLA')
|
|
199
|
-
sync_us_stock_one_minute(2025, '2025-04', 2000)
|
|
@@ -1,212 +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.component.em.em_stock_info_api as em_stock_info_api
|
|
9
|
-
from loguru import logger
|
|
10
|
-
import time
|
|
11
|
-
import mns_common.utils.data_frame_util as data_frame_util
|
|
12
|
-
from mns_common.db.MongodbUtil import MongodbUtil
|
|
13
|
-
from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
|
|
14
|
-
import mns_scheduler.extraIncome.a_stock.one_minute.common.db_create_index as db_create_index
|
|
15
|
-
import mns_common.constant.extra_income_db_name as extra_income_db_name
|
|
16
|
-
import mns_scheduler.extraIncome.us.one_minute.api.alpha_vantage_api as alpha_vantage_api
|
|
17
|
-
import pandas as pd
|
|
18
|
-
from functools import lru_cache
|
|
19
|
-
|
|
20
|
-
mongodb_util_27017 = MongodbUtil('27017')
|
|
21
|
-
mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
|
|
22
|
-
from datetime import datetime
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def sync_us_stock_one_minute(now_year, now_month):
|
|
26
|
-
real_time_quotes_all_us = em_stock_info_api.get_us_stock_info()
|
|
27
|
-
real_time_quotes_all_us_stocks = real_time_quotes_all_us.loc[real_time_quotes_all_us['flow_mv'] != 0]
|
|
28
|
-
real_time_quotes_all_us_stocks = real_time_quotes_all_us_stocks.sort_values(by=['amount'], ascending=False)
|
|
29
|
-
|
|
30
|
-
# todo 改集合名字
|
|
31
|
-
col_name = extra_income_db_name.US_STOCK_MINUTE_K_LINE_BFQ
|
|
32
|
-
col_name = col_name + '_' + str(now_year)
|
|
33
|
-
# 创建索引
|
|
34
|
-
db_create_index.create_index(mongodb_util_27017, col_name)
|
|
35
|
-
|
|
36
|
-
for stock_one in real_time_quotes_all_us_stocks.itertuples():
|
|
37
|
-
|
|
38
|
-
symbol = stock_one.symbol
|
|
39
|
-
# simple_symbol = int(stock_one.simple_symbol)
|
|
40
|
-
# code = str(simple_symbol) + '.' + symbol
|
|
41
|
-
list_date = str(stock_one.list_date)
|
|
42
|
-
list_date_year = int(list_date[0:4])
|
|
43
|
-
if list_date_year > now_year:
|
|
44
|
-
continue
|
|
45
|
-
try:
|
|
46
|
-
|
|
47
|
-
now_date = datetime.now()
|
|
48
|
-
if net_work_check(now_date):
|
|
49
|
-
# 休眠 6分钟
|
|
50
|
-
time.sleep(5 * 60)
|
|
51
|
-
|
|
52
|
-
df = alpha_vantage_api.sync_one_minute_data(symbol, now_month)
|
|
53
|
-
df['time'] = df['time'].dt.strftime('%Y-%m-%d %H:%M:%S')
|
|
54
|
-
df['str_day'] = df['time'].str.slice(0, 10)
|
|
55
|
-
df['minute'] = df['time'].str.slice(11, 19)
|
|
56
|
-
df['_id'] = symbol + "_" + df['time']
|
|
57
|
-
df['symbol'] = symbol
|
|
58
|
-
df_export_df = df.copy()
|
|
59
|
-
export_original_data(df_export_df, symbol, now_year, now_month)
|
|
60
|
-
handle_pan_qian_or_hou_data(df, symbol, col_name)
|
|
61
|
-
|
|
62
|
-
except BaseException as e:
|
|
63
|
-
time.sleep(1)
|
|
64
|
-
fail_dict = {
|
|
65
|
-
'_id': symbol + '_' + now_month,
|
|
66
|
-
'symbol': symbol,
|
|
67
|
-
'now_year': now_year,
|
|
68
|
-
'now_month': now_month
|
|
69
|
-
}
|
|
70
|
-
fail_df = pd.DataFrame(fail_dict, index=[1])
|
|
71
|
-
|
|
72
|
-
mongodb_util_27017.insert_mongo(fail_df, 'us_stock_one_minute_k_line_bfq_fail')
|
|
73
|
-
logger.error("同步股票分钟数据出现异常:,{},{},{}", e, symbol, now_month)
|
|
74
|
-
logger.info("同步股票分钟票数据完成:{},{}", stock_one.symbol, stock_one.name)
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
def handle_pan_qian_or_hou_data(df, symbol, col_name):
|
|
78
|
-
hand_pan_hou_data(df.copy(), symbol, col_name)
|
|
79
|
-
hand_pan_qian_data(df.copy(), col_name)
|
|
80
|
-
handle_middle_data(df.copy(), col_name)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
def handle_middle_data(df_copy, col_name):
|
|
84
|
-
df = df_copy.copy()
|
|
85
|
-
df = df.loc[df['minute'] < '16:00:00']
|
|
86
|
-
df = df.loc[df['minute'] > '09:30:00']
|
|
87
|
-
mongodb_util_27017.insert_mongo(df, col_name)
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
def hand_pan_qian_data(df_copy, col_name):
|
|
91
|
-
df = df_copy.copy()
|
|
92
|
-
df_pan_qian_init = df.loc[df['minute'] == '09:30:00']
|
|
93
|
-
del df_pan_qian_init['volume']
|
|
94
|
-
pan_qian_data = df.loc[df['minute'] <= '09:30:00']
|
|
95
|
-
pan_qian_data_group_df = pan_qian_data.groupby('str_day')['volume'].sum().reset_index()
|
|
96
|
-
|
|
97
|
-
pan_qian_data_group_df = pan_qian_data_group_df.set_index(['str_day'], drop=True)
|
|
98
|
-
df_pan_qian_init = df_pan_qian_init.set_index(['str_day'], drop=False)
|
|
99
|
-
|
|
100
|
-
df_pan_qian_init = pd.merge(pan_qian_data_group_df, df_pan_qian_init,
|
|
101
|
-
how='outer',
|
|
102
|
-
left_index=True, right_index=True)
|
|
103
|
-
|
|
104
|
-
mongodb_util_27017.insert_mongo(df_pan_qian_init, col_name)
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
def hand_pan_hou_data(df_copy, symbol, col_name):
|
|
108
|
-
df = df_copy.copy()
|
|
109
|
-
df_pan_hou_init = df.loc[df['minute'] == '16:00:00']
|
|
110
|
-
k_line_trade_df = query_k_line(symbol)
|
|
111
|
-
trade_date_list = list(df_pan_hou_init['str_day'])
|
|
112
|
-
|
|
113
|
-
k_line_trade_df = k_line_trade_df.loc[k_line_trade_df['date'].isin(trade_date_list)]
|
|
114
|
-
|
|
115
|
-
k_line_trade_df = k_line_trade_df.rename(columns={'volume': "k_line_volume"})
|
|
116
|
-
|
|
117
|
-
# 收盘前的
|
|
118
|
-
df = df.loc[df['minute'] < '16:00:00']
|
|
119
|
-
total_volume_df = df.groupby('str_day')['volume'].sum().reset_index()
|
|
120
|
-
total_volume_df = total_volume_df.rename(columns={'volume': "total_volume"})
|
|
121
|
-
|
|
122
|
-
total_volume_df = total_volume_df.set_index(['str_day'], drop=False)
|
|
123
|
-
|
|
124
|
-
k_line_trade_df = k_line_trade_df.set_index(['date'], drop=True)
|
|
125
|
-
|
|
126
|
-
pan_hou_diff_df = pd.merge(total_volume_df, k_line_trade_df,
|
|
127
|
-
how='outer',
|
|
128
|
-
left_index=True, right_index=True)
|
|
129
|
-
|
|
130
|
-
pan_hou_diff_df['volume'] = pan_hou_diff_df['k_line_volume'] - pan_hou_diff_df['total_volume']
|
|
131
|
-
|
|
132
|
-
del df_pan_hou_init['volume']
|
|
133
|
-
|
|
134
|
-
pan_hou_diff_df = pan_hou_diff_df.set_index(['str_day'], drop=True)
|
|
135
|
-
del pan_hou_diff_df['k_line_volume']
|
|
136
|
-
del pan_hou_diff_df['total_volume']
|
|
137
|
-
|
|
138
|
-
df_pan_hou_init = df_pan_hou_init.set_index(['str_day'], drop=False)
|
|
139
|
-
|
|
140
|
-
df_pan_hou_result = pd.merge(pan_hou_diff_df, df_pan_hou_init,
|
|
141
|
-
how='outer',
|
|
142
|
-
left_index=True, right_index=True)
|
|
143
|
-
mongodb_util_27017.insert_mongo(df_pan_hou_result, col_name)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
def export_original_data(df, symbol, year, now_month):
|
|
147
|
-
path = r'H:\us_stock\one_minute\{}'.format(year)
|
|
148
|
-
if not os.path.exists(path):
|
|
149
|
-
os.makedirs(path)
|
|
150
|
-
|
|
151
|
-
path = path + '\{}'.format(now_month)
|
|
152
|
-
if not os.path.exists(path):
|
|
153
|
-
os.makedirs(path)
|
|
154
|
-
|
|
155
|
-
file_name = path + '\{}.csv'.format(symbol)
|
|
156
|
-
if data_frame_util.is_not_empty(df):
|
|
157
|
-
del df['str_day']
|
|
158
|
-
del df['minute']
|
|
159
|
-
del df['_id']
|
|
160
|
-
del df['symbol']
|
|
161
|
-
df.to_csv(file_name, index=False, encoding='utf-8')
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
@lru_cache()
|
|
165
|
-
def query_k_line(symbol):
|
|
166
|
-
query = {'symbol': symbol}
|
|
167
|
-
query_field = {"volume": 1, 'date': 1, '_id': 0}
|
|
168
|
-
return mongodbUtilV2_27019.find_query_data_choose_field(extra_income_db_name.US_STOCK_DAILY_QFQ_K_LINE, query,
|
|
169
|
-
query_field)
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
def net_work_check(now_date):
|
|
173
|
-
hour = now_date.hour
|
|
174
|
-
minute = now_date.minute
|
|
175
|
-
if hour == 7 and minute == 34:
|
|
176
|
-
return True
|
|
177
|
-
elif hour == 9 and minute == 59:
|
|
178
|
-
return True
|
|
179
|
-
elif hour == 10 and minute == 29:
|
|
180
|
-
return True
|
|
181
|
-
elif hour == 10 and minute == 59:
|
|
182
|
-
return True
|
|
183
|
-
elif hour == 12 and minute == 49:
|
|
184
|
-
return True
|
|
185
|
-
elif hour == 13 and minute == 28:
|
|
186
|
-
return True
|
|
187
|
-
elif hour == 13 and minute == 58:
|
|
188
|
-
return True
|
|
189
|
-
elif hour == 14 and minute == 28:
|
|
190
|
-
return True
|
|
191
|
-
elif hour == 15 and minute == 1:
|
|
192
|
-
return True
|
|
193
|
-
else:
|
|
194
|
-
return False
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
def sync_by_year(begin_year):
|
|
198
|
-
begin_month = 12
|
|
199
|
-
while begin_month > 0:
|
|
200
|
-
if begin_month < 10:
|
|
201
|
-
str_month = '0' + str(begin_month)
|
|
202
|
-
else:
|
|
203
|
-
str_month = str(begin_month)
|
|
204
|
-
str_month = str(begin_year) + '-' + str_month
|
|
205
|
-
sync_us_stock_one_minute(begin_year, str_month)
|
|
206
|
-
begin_month = begin_month - 1
|
|
207
|
-
logger.error("同步完成月份:{}", str_month)
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
if __name__ == '__main__':
|
|
211
|
-
# k_line_df = query_k_line('TSLA')
|
|
212
|
-
sync_by_year(2024)
|
|
@@ -1,26 +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.component.em.em_stock_info_api as em_stock_info_api
|
|
9
|
-
from loguru import logger
|
|
10
|
-
import time
|
|
11
|
-
import mns_common.utils.data_frame_util as data_frame_util
|
|
12
|
-
from mns_common.db.MongodbUtil import MongodbUtil
|
|
13
|
-
import mns_scheduler.extraIncome.a_stock.one_minute.common.symbol_handle_util as symbol_handle_util
|
|
14
|
-
from mns_common.db.v2.MongodbUtilV2 import MongodbUtilV2
|
|
15
|
-
import mns_scheduler.extraIncome.a_stock.one_minute.common.db_create_index as db_create_index
|
|
16
|
-
import mns_common.constant.extra_income_db_name as extra_income_db_name
|
|
17
|
-
import mns_scheduler.extraIncome.us.one_minute.api.alpha_vantage_api as alpha_vantage_api
|
|
18
|
-
import pandas as pd
|
|
19
|
-
from functools import lru_cache
|
|
20
|
-
|
|
21
|
-
mongodb_util_27017 = MongodbUtil('27017')
|
|
22
|
-
mongodbUtilV2_27019 = MongodbUtilV2('27019', extra_income_db_name.EXTRA_INCOME)
|
|
23
|
-
def sync_us_stock_one_minute(now_year, now_month, begin_year):
|
|
24
|
-
real_time_quotes_all_us = em_stock_info_api.get_us_stock_info()
|
|
25
|
-
real_time_quotes_all_us_stocks = real_time_quotes_all_us.loc[real_time_quotes_all_us['flow_mv'] != 0]
|
|
26
|
-
real_time_quotes_all_us_stocks = real_time_quotes_all_us_stocks.sort_values(by=['amount'], ascending=False)
|