From fc05840cf8f3dfdeb7b3a691c91708a808ffac50 Mon Sep 17 00:00:00 2001 From: jingboyitiji Date: Wed, 6 Aug 2025 19:47:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=9A=E7=83=AF=E7=83=83=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E9=A2=84=E6=B5=8B=E4=BF=9D=E7=95=99=E6=95=B4?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E7=9B=B8=E5=85=B3=E6=80=A7=E4=BF=9D=E7=95=99?= =?UTF-8?q?=E4=B8=A4=E4=BD=8D=E5=B0=8F=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tools.py | 8 ++++---- main_juxiting.py | 2 +- main_juxiting_yuedu.py | 13 +++++++------ main_juxiting_zhoudu.py | 2 +- models/nerulforcastmodels.py | 2 +- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/tools.py b/lib/tools.py index 8569c22..3536cce 100644 --- a/lib/tools.py +++ b/lib/tools.py @@ -835,7 +835,7 @@ def convert_df_to_pydantic_pp(df_predict, model_id_name_dict, global_config): if c not in ['ds', 'created_dt']: data['model_id'] = reverse_model_id_name_dict[c] data['predicted_price'] = Decimal( - round(df_predict[c].values[0], 2)) + int(df_predict[c].values[0])) result = PpPredictionResult(**data) results.append(result) return results @@ -959,7 +959,7 @@ def find_best_models(date='', global_config=None): ciridate = last_trading_day_str global_config['logger'].info(f'计算预测{last_trading_day}的次日{last_trading_day}最佳模型') global_config['logger'].info( - f'{date}真实价格:{true_price[true_price["ds"] == date]["y"].values[0]}') + f'{date}真实价格:{true_price[true_price["ds"] == last_trading_day_str]["y"].values[0]}') price = df[['data_date', wd, 'model_id']] price = price[(price['data_date'] == ciridate) | (price['data_date'] == date)] @@ -1098,7 +1098,7 @@ def plot_pp_predict_result(y_hat, global_config,wd='yuedu'): y = pd.read_csv('juxitingdataset/指标数据.csv')[['ds', 'y']][-30:] xgx_df = pd.read_csv('juxitingdataset/相关系数.csv') xgx_df = xgx_df.rename(columns={xgx_df.columns[0]: '指标', xgx_df.columns[1]: '系数'}) - top_10_correlations = xgx_df.sort_values(by='系数',ascending=False)[1:11] + top_10_correlations = xgx_df.sort_values(by='系数', ascending=False)[1:11].round().astype({'系数': int}) y['ds'] = pd.to_datetime(y['ds']) y = y[y['ds'] < y_hat['ds'].iloc[0]] @@ -1138,7 +1138,7 @@ def plot_pp_predict_result(y_hat, global_config,wd='yuedu'): 'next_march_price': '次三月', 'next_april_price': '次四月', }, inplace=True) columns = y_hat.columns.tolist() - data = y_hat.values.tolist() + data = [round(num) for num in y_hat.values.ravel().tolist()] # 将日期转换为字符串格式 for row in data: diff --git a/main_juxiting.py b/main_juxiting.py index 188ffe9..b0989d8 100644 --- a/main_juxiting.py +++ b/main_juxiting.py @@ -557,7 +557,7 @@ if __name__ == '__main__': # except Exception as e: # logger.info(f'预测失败:{e}') # continue - global_config['end_time'] = '2025-08-04' + # global_config['end_time'] = '2025-08-05' predict_main() # global_config['end_time'] = '2025-08-01' diff --git a/main_juxiting_yuedu.py b/main_juxiting_yuedu.py index 352a8ac..58b56a1 100644 --- a/main_juxiting_yuedu.py +++ b/main_juxiting_yuedu.py @@ -530,12 +530,13 @@ if __name__ == '__main__': # logger.info(f'预测失败:{e}') # continue - global_config['end_time'] = '2025-08-04' - predict_main() + # global_config['end_time'] = '2025-08-05' + # predict_main() # push_market_value() + # sql_inset_predict(global_config) # 图片报告 - # global_config['end_time'] = '2025-07-31' - # logger.info('图片报告ing') - # pp_bdwd_png(global_config=global_config) - # logger.info('图片报告end') + global_config['end_time'] = '2025-08-05' + logger.info('图片报告ing') + pp_bdwd_png(global_config=global_config) + logger.info('图片报告end') diff --git a/main_juxiting_zhoudu.py b/main_juxiting_zhoudu.py index a283543..01c33d3 100644 --- a/main_juxiting_zhoudu.py +++ b/main_juxiting_zhoudu.py @@ -513,7 +513,7 @@ if __name__ == '__main__': # continue - global_config['end_time'] = '2025-08-04' + global_config['end_time'] = '2025-08-05' predict_main() diff --git a/models/nerulforcastmodels.py b/models/nerulforcastmodels.py index 1ce2e59..b142c6b 100644 --- a/models/nerulforcastmodels.py +++ b/models/nerulforcastmodels.py @@ -396,7 +396,7 @@ def ex_Model_Juxiting(df, horizon, input_size, train_steps, val_check_steps, ear # VanillaTransformer(h=horizon, input_size=input_size, max_steps=train_steps, val_check_steps=val_check_steps, scaler_type='standard', ), //报错了 # Autoformer(h=horizon, input_size=input_size, max_steps=train_steps, val_check_steps=val_check_steps, scaler_type='standard', ), //报错了 - # NBEATS(h=horizon, input_size=input_size, max_steps=train_steps, val_check_steps=val_check_steps, scaler_type='standard', ), + NBEATS(h=horizon, input_size=input_size, max_steps=train_steps, val_check_steps=val_check_steps, scaler_type='standard', ), # NBEATSx (h=horizon, input_size=input_size, max_steps=train_steps, val_check_steps=val_check_steps, scaler_type='standard',activation='ReLU', ), //报错 # HINT(h=horizon),