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