modify scripts

This commit is contained in:
oscarz
2025-06-23 10:35:55 +08:00
parent 122020abb9
commit e8dc329cce

View File

@ -206,6 +206,13 @@ def calculate_stock_statistics(market, code, code_name):
logging.warning(f"{code}, {code_name} 未找到0403的数据, 以 {defaut_row['日期']} 的数据来代替")
row_0403 = defaut_row
# 获取0407收盘价
try:
row_0407 = data[data['日期'] == '2025-04-07'].iloc[0]
except IndexError:
logging.warning(f"{code}, {code_name} 未找到0407的数据, 以 {defaut_row['日期']} 的数据来代替")
row_0407 = defaut_row
# 获取2021年以来的最高价
max_close_row = data.loc[data['收盘'].idxmax()]
# 获取2021年以来的最低价
@ -229,6 +236,7 @@ def calculate_stock_statistics(market, code, code_name):
growth_1008 = (current_row['收盘'] / row_1008['收盘'] - 1)
growth_1008_open = (current_row['收盘'] / row_1008['开盘'] - 1)
growth_0403 = (current_row['收盘'] / row_0403['收盘'] - 1)
growth_0407 = (current_row['收盘'] / row_0407['收盘'] - 1)
year_amplitude = (year_max_row['收盘'] / year_min_row['收盘'] - 1)
max_amplitude = (max_close_row['收盘'] / min_close_row['收盘'] - 1)
stock_recovery = (current_row['收盘'] / max_close_row['收盘'] - 1)
@ -247,6 +255,7 @@ def calculate_stock_statistics(market, code, code_name):
row_0930['日期'], row_0930['收盘'] ,
row_1008['日期'], row_1008['开盘'] ,row_1008['收盘'] ,
row_0403['日期'], row_0403['收盘'] ,
row_0407['日期'], row_0407['收盘'] , float(row_0407['涨跌幅'])/100.0 ,
max_close_row['日期'], max_close_row['收盘'],
min_close_row['日期'], min_close_row['收盘'],
year_max_row['日期'], year_max_row['收盘'],
@ -257,6 +266,7 @@ def calculate_stock_statistics(market, code, code_name):
growth_1008 if growth_1008 is not None else 'N/A',
growth_1008_open if growth_1008_open is not None else 'N/A',
growth_0403 if growth_0403 is not None else 'N/A',
growth_0407 if growth_0407 is not None else 'N/A',
year_amplitude,
max_amplitude,
stock_recovery
@ -276,9 +286,9 @@ def write_to_csv(results, filename):
# 写入表头
writer.writerow([
"股市", "股票代码", "股票名称", "当前日期", "当前收盘", "年初日期", "年初收盘",
"0923日期", "0923收盘", "0930日期", "0930收盘", "1008日期", "1008开盘", "1008收盘", "0403日期", "0403收盘",
"0923日期", "0923收盘", "0930日期", "0930收盘", "1008日期", "1008开盘", "1008收盘", "0403日期", "0403收盘", "0407日期", "0407收盘", "0407涨跌幅",
"最高日期", "最高收盘", "最低日期", "最低收盘", "年内最高日期", "年内最高收盘", "年内最低日期", "年内最低收盘", "年内涨幅",
"相比0923收盘价涨幅", "相比0930收盘价涨幅", "相比1008收盘价涨幅", "相比1008开盘价涨幅", "相比0403收盘价涨幅",
"相比0923收盘价涨幅", "相比0930收盘价涨幅", "相比1008收盘价涨幅", "相比1008开盘价涨幅", "相比0403收盘价涨幅", "相比0407收盘价涨幅",
"年内振幅", "最大振幅", "股价自最高点恢复", "市盈率TTM", "市净率", "总市值"
])
# 写入每行数据