update em stat scripts.
This commit is contained in:
@ -102,8 +102,13 @@ def load_index_codes():
|
|||||||
#cursor.execute("SELECT code, code_name FROM hs_index where index_code='000300' ")
|
#cursor.execute("SELECT code, code_name FROM hs_index where index_code='000300' ")
|
||||||
#中证A500
|
#中证A500
|
||||||
#cursor.execute("SELECT code, code_name FROM hs_index where index_code='000510' ")
|
#cursor.execute("SELECT code, code_name FROM hs_index where index_code='000510' ")
|
||||||
#沪深300和中证A500的并集
|
#沪深300和中证A500的并集,去重
|
||||||
cursor.execute("SELECT DISTINCT code, code_name FROM hs_index where index_code IN ('000300', '000510') ")
|
#cursor.execute("SELECT DISTINCT CONCAT('index-', code) as code, code_name FROM hs_index where index_code IN ('000300', '000510') ")
|
||||||
|
#沪深300和中证A500的合并,不去重
|
||||||
|
#cursor.execute("SELECT DISTINCT CONCAT(index_code , '-', code) as code, code_name FROM hs_index where index_code IN ('000300', '000510') ")
|
||||||
|
#沪深300、中证A500、中证A50、科创芯片、科创创业50,不去重
|
||||||
|
cursor.execute("SELECT DISTINCT CONCAT(index_code , '-', code) as code, code_name FROM hs_index where index_code IN ('000300', '000510', '930050', '000685', '931643') ")
|
||||||
|
|
||||||
hs300_data = cursor.fetchall()
|
hs300_data = cursor.fetchall()
|
||||||
cursor.close()
|
cursor.close()
|
||||||
conn.close()
|
conn.close()
|
||||||
@ -249,10 +254,18 @@ def write_to_csv(results, filename='../stock_statistics.csv'):
|
|||||||
|
|
||||||
# 主函数,执行逻辑
|
# 主函数,执行逻辑
|
||||||
def main(list, debug):
|
def main(list, debug):
|
||||||
|
futu_codes = []
|
||||||
|
index_codes = []
|
||||||
|
|
||||||
if list == 'futu':
|
if list == 'futu':
|
||||||
codes = load_futu_all_codes()
|
futu_codes = load_futu_all_codes()
|
||||||
|
elif list == 'all':
|
||||||
|
futu_codes = load_futu_all_codes()
|
||||||
|
index_codes = load_index_codes()
|
||||||
else:
|
else:
|
||||||
codes = load_index_codes()
|
index_codes = load_index_codes()
|
||||||
|
codes = futu_codes + index_codes
|
||||||
|
|
||||||
all_results = []
|
all_results = []
|
||||||
|
|
||||||
# 获取快照数据,并保存到文件
|
# 获取快照数据,并保存到文件
|
||||||
@ -260,7 +273,9 @@ def main(list, debug):
|
|||||||
if snap_data.empty:
|
if snap_data.empty:
|
||||||
logging.error(f"fetching snapshot data error!")
|
logging.error(f"fetching snapshot data error!")
|
||||||
return
|
return
|
||||||
snap_data.to_csv(f'../result/snapshot_em_{current_date}.csv', index=False, encoding='utf-8')
|
file_name = f'../result/snapshot_em_{current_date}.csv'
|
||||||
|
snap_data.to_csv(file_name, index=False, encoding='utf-8')
|
||||||
|
logging.info(f"市场快照数据已经写入 CSV 文件 {file_name}\n\n")
|
||||||
|
|
||||||
for item in codes:
|
for item in codes:
|
||||||
code = item['code']
|
code = item['code']
|
||||||
@ -289,7 +304,10 @@ def main(list, debug):
|
|||||||
break
|
break
|
||||||
|
|
||||||
if all_results:
|
if all_results:
|
||||||
file_name = f'../result/stock_statistics_{list}_{current_date}.csv'
|
file_name = f'../result/stock_statistics_{list}_{current_date}'
|
||||||
|
if debug:
|
||||||
|
file_name = f'{file_name}_debug'
|
||||||
|
file_name = f'{file_name}.csv'
|
||||||
write_to_csv(all_results, f'{file_name}')
|
write_to_csv(all_results, f'{file_name}')
|
||||||
logging.info(f"统计结果已写入 CSV 文件 {file_name}")
|
logging.info(f"统计结果已写入 CSV 文件 {file_name}")
|
||||||
else:
|
else:
|
||||||
@ -298,7 +316,7 @@ def main(list, debug):
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# 命令行参数处理
|
# 命令行参数处理
|
||||||
parser = argparse.ArgumentParser(description='计算指定股票的区间收益率')
|
parser = argparse.ArgumentParser(description='计算指定股票的区间收益率')
|
||||||
parser.add_argument('--list', type=str, default='futu', help='Stocklist to process (futu or index)')
|
parser.add_argument('--list', type=str, default='futu', help='Stocklist to process (futu , index, all)')
|
||||||
parser.add_argument('--debug', action='store_true', help='Enable debug mode (limit records)')
|
parser.add_argument('--debug', action='store_true', help='Enable debug mode (limit records)')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user