|
@@ -0,0 +1,78 @@
|
|
|
+import os
|
|
|
+
|
|
|
+import pandas as pd
|
|
|
+import xtquant.xtdata
|
|
|
+from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
|
|
|
+from xtquant.xttype import StockAccount
|
|
|
+from xtquant import xtdata, xtconstant
|
|
|
+from functools import reduce
|
|
|
+from datetime import datetime as dt
|
|
|
+import pymysql
|
|
|
+import math
|
|
|
+import multiprocessing as mp
|
|
|
+import traceback
|
|
|
+
|
|
|
+
|
|
|
+db_pool = pymysql.connect(host='localhost',
|
|
|
+ user='root',
|
|
|
+ port=3307,
|
|
|
+ password='r6kEwqWU9!v3',
|
|
|
+ database='hlfx_pool')
|
|
|
+cursor_pool = db_pool.cursor()
|
|
|
+
|
|
|
+def err_call_back(err):
|
|
|
+ print(f'问题在这里~ error:{str(err)}')
|
|
|
+ traceback.print_exc()
|
|
|
+
|
|
|
+def to_sql(stocks, sector_list):
|
|
|
+ print(f'my pid is {os.getpid()}')
|
|
|
+ for stock in stocks:
|
|
|
+ sec_lt = []
|
|
|
+ for i in sector_list:
|
|
|
+ sector = xtdata.get_stock_list_in_sector(i)
|
|
|
+ if stock in sector:
|
|
|
+ sec_lt.append(i)
|
|
|
+ print(f'{stock}属于:')
|
|
|
+ print(f'{sec_lt}板块')
|
|
|
+ results_list = ','.join(set(sec_lt))
|
|
|
+ print(results_list)
|
|
|
+ sql = "INSERT INTO sector_data (stock_code, sector) VALUES('%s', '%s')" \
|
|
|
+ % (stock, results_list)
|
|
|
+ cursor_pool.execute(sql)
|
|
|
+ db_pool.commit()
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ sttime = dt.now()
|
|
|
+ stock_list = xtdata.get_stock_list_in_sector('沪深A股')
|
|
|
+ sector_list = xtdata.get_sector_list()
|
|
|
+ step = math.ceil(len(stock_list) / mp.cpu_count())
|
|
|
+ pool = mp.Pool(processes=mp.cpu_count())
|
|
|
+ for i in range(0, len(stock_list), step):
|
|
|
+ pool.apply_async(func=to_sql, args=(stock_list[i:i+step], sector_list,), error_callback=err_call_back)
|
|
|
+ pool.close()
|
|
|
+ pool.join()
|
|
|
+
|
|
|
+ print(dt.now()-sttime)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|