diff --git a/src/static/stat_growth_em.py b/src/static/stat_growth_em.py index 5418336..fdf2a7e 100644 --- a/src/static/stat_growth_em.py +++ b/src/static/stat_growth_em.py @@ -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", "市净率", "总市值" ]) # 写入每行数据