聚烯烃更改预测标的为PP期货
This commit is contained in:
parent
830f369dc6
commit
7ed37c23cb
@ -167,7 +167,7 @@ ClassifyId = 1161
|
||||
# "funcModule": '研究报告信息',
|
||||
# "funcOperation": '上传聚烯烃PP价格预测报告',
|
||||
# "data": {
|
||||
# "groupNo": '000211' # 用户组编号
|
||||
# "groupNo": '000211', # 用户组编号
|
||||
# "ownerAccount": '36541', # 报告所属用户账号 36541 - 贾青雪
|
||||
# "reportType": 'OIL_PRICE_FORECAST', # 报告类型,固定为OIL_PRICE_FORECAST
|
||||
# "fileName": '', # 文件名称
|
||||
@ -176,7 +176,7 @@ ClassifyId = 1161
|
||||
# "smartBusinessClassCode": 'JXTJGYCBG', # 分析报告分类编码
|
||||
# "reportEmployeeCode": "E40482", # 报告人 E40482 - 管理员 0000027663 - 刘小朋
|
||||
# "reportDeptCode": "JXTJGYCBG", # 报告部门 - 002000621000 SH期货研究部
|
||||
# "productGroupCode": "RAW_MATERIAL" # 商品分类
|
||||
# "productGroupCode": "RAW_MATERIAL" # 商品分类
|
||||
# }
|
||||
# }
|
||||
|
||||
@ -196,8 +196,9 @@ ClassifyId = 1161
|
||||
# "funcOperation": "查询",
|
||||
# "data": {
|
||||
# "dateStart": "20200101",
|
||||
# "dateEnd": "20241231",
|
||||
# "dataItemNoList": ["Brentzdj", "Brentzgj"] # 数据项编码,代表 brent最低价和最高价
|
||||
# "dateEnd": "",
|
||||
# # 数据项编码,代表 PP期货 价格
|
||||
# "dataItemNoList": ["MAIN_CONFT_SETTLE_PRICE"]
|
||||
# }
|
||||
# }
|
||||
|
||||
@ -334,8 +335,9 @@ query_data_list_item_nos_data = {
|
||||
"funcOperation": "查询",
|
||||
"data": {
|
||||
"dateStart": "20200101",
|
||||
"dateEnd": "20241231",
|
||||
"dataItemNoList": ["Brentzdj", "Brentzgj"] # 数据项编码,代表 brent最低价和最高价
|
||||
"dateEnd": "",
|
||||
# 数据项编码,代表 PP期货 价格
|
||||
"dataItemNoList": ["MAIN_CONFT_SETTLE_PRICE"]
|
||||
}
|
||||
}
|
||||
|
||||
@ -424,8 +426,8 @@ DEFAULT_CONFIG = {
|
||||
# 开关
|
||||
is_train = True # 是否训练
|
||||
is_debug = False # 是否调试
|
||||
is_eta = True # 是否使用eta接口
|
||||
is_market = False # 是否通过市场信息平台获取特征 ,在is_eta 为true 的情况下生效
|
||||
is_eta = False # 是否使用eta接口
|
||||
is_market = True # 是否通过市场信息平台获取特征 ,在is_eta 为true 的情况下生效
|
||||
is_timefurture = True # 是否使用时间特征
|
||||
is_fivemodels = False # 是否使用之前保存的最佳的5个模型
|
||||
is_edbcode = False # 特征使用edbcoding列表中的
|
||||
@ -457,15 +459,18 @@ if add_kdj and is_edbnamelist:
|
||||
edbnamelist = edbnamelist+['K', 'D', 'J']
|
||||
|
||||
# 模型参数
|
||||
y = 'AVG-金能大唐久泰青州'
|
||||
avg_cols = [
|
||||
'PP:拉丝:1102K:出厂价:青州:国家能源宁煤(日)',
|
||||
'PP:拉丝:L5E89:出厂价:华北(第二区域):内蒙古久泰新材料(日)',
|
||||
'PP:拉丝:L5E89:出厂价:河北、鲁北:大唐内蒙多伦(日)',
|
||||
'PP:拉丝:HP550J:市场价:青岛:金能化学(日)'
|
||||
]
|
||||
offsite = 80
|
||||
offsite_col = ['PP:拉丝:HP550J:市场价:青岛:金能化学(日)']
|
||||
# y = 'AVG-金能大唐久泰青州'
|
||||
# avg_cols = [
|
||||
# 'PP:拉丝:1102K:出厂价:青州:国家能源宁煤(日)',
|
||||
# 'PP:拉丝:L5E89:出厂价:华北(第二区域):内蒙古久泰新材料(日)',
|
||||
# 'PP:拉丝:L5E89:出厂价:河北、鲁北:大唐内蒙多伦(日)',
|
||||
# 'PP:拉丝:HP550J:市场价:青岛:金能化学(日)'
|
||||
# ]
|
||||
# offsite = 80
|
||||
# offsite_col = ['PP:拉丝:HP550J:市场价:青岛:金能化学(日)']
|
||||
|
||||
y = 'MAIN_CONFT_SETTLE_PRICE'
|
||||
|
||||
horizon = 5 # 预测的步长
|
||||
input_size = 40 # 输入序列长度
|
||||
train_steps = 50 if is_debug else 1000 # 训练步数,用来限定epoch次数
|
||||
|
@ -993,14 +993,14 @@ def datachuli_juxiting(df_zhibiaoshuju, df_zhibiaoliebiao, datecol='date', end_t
|
||||
# date转为pddate
|
||||
df.rename(columns={datecol: 'ds'}, inplace=True)
|
||||
|
||||
# 指定列统一减少数值
|
||||
print(global_config.keys())
|
||||
df[global_config['offsite_col']] = df[global_config['offsite_col']] - \
|
||||
global_config['offsite']
|
||||
# 预测列为avg_cols的均值
|
||||
df[global_config['y']] = df[global_config['avg_cols']].mean(axis=1)
|
||||
# 去掉多余的列avg_cols
|
||||
df = df.drop(columns=global_config['avg_cols'])
|
||||
# # 指定列统一减少数值
|
||||
# print(global_config.keys())
|
||||
# df[global_config['offsite_col']] = df[global_config['offsite_col']] - \
|
||||
# global_config['offsite']
|
||||
# # 预测列为avg_cols的均值
|
||||
# df[global_config['y']] = df[global_config['avg_cols']].mean(axis=1)
|
||||
# # 去掉多余的列avg_cols
|
||||
# df = df.drop(columns=global_config['avg_cols'])
|
||||
|
||||
# 重命名预测列
|
||||
df.rename(columns={global_config['y']: 'y'}, inplace=True)
|
||||
@ -2334,7 +2334,6 @@ def get_market_data(end_time, df):
|
||||
items_res = requests.post(url=config.query_data_list_item_nos_url, headers=headers,
|
||||
json=config.query_data_list_item_nos_data, timeout=(3, 35))
|
||||
json_data = json.loads(items_res.text)
|
||||
config.logger.info(f"获取到的数据:{json_data}")
|
||||
df3 = pd.DataFrame(json_data['data'])
|
||||
# 按照dataItemNo 分组 得到多个dataframe ,最后根据dataDate merge 成一个dataframe
|
||||
df2 = pd.DataFrame()
|
||||
@ -2350,7 +2349,9 @@ def get_market_data(end_time, df):
|
||||
# 20240101 转换为 2024-01-01
|
||||
df2['date'] = pd.to_datetime(df2['date'], format='%Y%m%d')
|
||||
df2['date'] = df2['date'].dt.strftime('%Y-%m-%d')
|
||||
config.logger.info(f'市场信息指标拼接前:{df.shape}')
|
||||
df = pd.merge(df, df2, how='left', on='date')
|
||||
config.logger.info(f'市场信息指标拼接后:{df.shape}')
|
||||
return df
|
||||
|
||||
|
||||
|
@ -13,9 +13,9 @@ global_config.update({
|
||||
'logger': logger,
|
||||
'dataset': dataset,
|
||||
'y': y,
|
||||
'offsite_col': offsite_col,
|
||||
'avg_cols': avg_cols,
|
||||
'offsite': offsite,
|
||||
# 'offsite_col': offsite_col,
|
||||
# 'avg_cols': avg_cols,
|
||||
# 'offsite': offsite,
|
||||
'edbcodenamedict': edbcodenamedict,
|
||||
'is_debug': is_debug,
|
||||
'is_train': is_train,
|
||||
@ -303,7 +303,7 @@ def predict_main():
|
||||
try:
|
||||
# 如果是测试环境,最高价最低价取excel文档
|
||||
if server_host == '192.168.100.53':
|
||||
logger.info('从excel文档获取最高价最低价')
|
||||
logger.info('从excel文档获取市场信息平台指标')
|
||||
df_zhibiaoshuju = get_high_low_data(df_zhibiaoshuju)
|
||||
else:
|
||||
logger.info('从市场信息平台获取数据')
|
||||
@ -311,7 +311,7 @@ def predict_main():
|
||||
end_time, df_zhibiaoshuju)
|
||||
|
||||
except:
|
||||
logger.info('最高最低价拼接失败')
|
||||
logger.info('市场信息平台数据项-eta数据项 拼接失败')
|
||||
|
||||
# 保存到xlsx文件的sheet表
|
||||
with pd.ExcelWriter(os.path.join(dataset, data_set)) as file:
|
||||
@ -556,8 +556,7 @@ if __name__ == '__main__':
|
||||
# logger.info(f'预测失败:{e}')
|
||||
# continue
|
||||
|
||||
# predict_main()
|
||||
predict_main()
|
||||
|
||||
# push_market_value()
|
||||
|
||||
sql_inset_predict(global_config)
|
||||
# sql_inset_predict(global_config)
|
||||
|
Loading…
Reference in New Issue
Block a user