聚烯烃线上配置更改
This commit is contained in:
		
							parent
							
								
									9fb0f61d79
								
							
						
					
					
						commit
						aded91c23b
					
				| @ -155,14 +155,14 @@ login_data = { | ||||
| 
 | ||||
| upload_data = { | ||||
|     "funcModule":'研究报告信息', | ||||
|     "funcOperation":'上传原油价格预测报告', | ||||
|     "funcOperation":'上传聚烯烃PP价格预测报告', | ||||
|     "data":{ | ||||
|         "ownerAccount":'arui', #报告所属用户账号 | ||||
|         "reportType":'OIL_PRICE_FORECAST', # 报告类型,固定为OIL_PRICE_FORECAST | ||||
|         "fileName": '2000-40-5-50--100-原油指标数据.xlsx-Brent活跃合约--2024-09-06-15-01-29-预测报告.pdf', #文件名称  | ||||
|         "fileBase64": '' ,#文件内容base64 | ||||
|         "categoryNo":'yyjgycbg', # 研究报告分类编码 | ||||
|         "smartBusinessClassCode":'YCJGYCBG', #分析报告分类编码 | ||||
|         "smartBusinessClassCode":'JXTJGYCBG', #分析报告分类编码 | ||||
|         "reportEmployeeCode":"E40116", # 报告人 | ||||
|         "reportDeptCode" :"D0044" ,# 报告部门 | ||||
|         "productGroupCode":"RAW_MATERIAL"  # 商品分类 | ||||
| @ -210,7 +210,7 @@ is_fivemodels = False # 是否使用之前保存的最佳的5个模型 | ||||
| is_edbcode = False # 特征使用edbcoding列表中的 | ||||
| is_edbnamelist = False # 自定义特征,对应上面的edbnamelist | ||||
| is_update_eta  = True  # 预测结果上传到eta | ||||
| is_update_report = False # 是否上传报告 | ||||
| is_update_report = True # 是否上传报告 | ||||
| is_update_warning_data =  False # 是否上传预警数据 | ||||
| is_del_corr = 0.6 # 是否删除相关性高的特征,取值为 0-1 ,0 为不删除,0.6 表示删除相关性小于0.6的特征 | ||||
| is_del_tow_month = True # 是否删除两个月不更新的特征 | ||||
|  | ||||
							
								
								
									
										325
									
								
								config_juxiting_pro.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										325
									
								
								config_juxiting_pro.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,325 @@ | ||||
| import logging | ||||
| import os | ||||
| import logging.handlers | ||||
| import datetime | ||||
| from lib.tools import MySQLDB,SQLiteHandler | ||||
| 
 | ||||
| 
 | ||||
| # eta 接口token | ||||
| APPID = "XNLDvxZHHugj7wJ7" | ||||
| SECRET = "iSeU4s6cKKBVbt94htVY1p0sqUMqb2xa" | ||||
| 
 | ||||
| # eta 接口url | ||||
| sourcelisturl = 'http://10.189.2.78:8108/v1/edb/source/list'   | ||||
| classifylisturl = 'http://10.189.2.78:8108/v1/edb/classify/list?ClassifyType=' | ||||
| uniquecodedataurl = 'http://10.189.2.78:8108/v1/edb/data?UniqueCode=4991c37becba464609b409909fe4d992&StartDate=2024-02-01' | ||||
| classifyidlisturl = 'http://10.189.2.78:8108/v1/edb/list?ClassifyId=' | ||||
| edbcodedataurl = 'http://10.189.2.78:8108/v1/edb/data?EdbCode=' | ||||
| edbdatapushurl = 'http://10.189.2.78:8108/v1/edb/push'  | ||||
| edbdeleteurl = 'http://10.189.2.78:8108/v1/edb/business/edb/del'   | ||||
| edbbusinessurl = 'http://10.189.2.78:8108/v1/edb/business/data/del'   | ||||
| edbcodelist = ['ID01385938','lmcads03 lme comdty', | ||||
| 'GC1 COMB Comdty', | ||||
| 'C2404171822', | ||||
| 'dxy curncy', | ||||
| 'S5443199 ', | ||||
| 'S5479800', | ||||
| 'S5443108', | ||||
| 'H7358586', | ||||
| 'LC3FM1 INDEX', | ||||
| 'CNY REGN Curncy', | ||||
| 's0105897', | ||||
| 'M0067419', | ||||
| 'M0066351', | ||||
| 'S0266372', | ||||
| 'S0266438', | ||||
| 'S0266506', | ||||
| 'ID01384463'] | ||||
| 
 | ||||
| # 临时写死用指定的列,与上面的edbcode对应,后面更改 | ||||
| edbnamelist = [ | ||||
|     'ds','y', | ||||
|     'LME铜价', | ||||
|     '黄金连1合约', | ||||
|     'Brent-WTI', | ||||
|     '美元指数', | ||||
|     '甲醇鲁南价格', | ||||
|     '甲醇太仓港口价格', | ||||
|     '山东丙烯主流价', | ||||
|     '丙烷(山东)', | ||||
|     'FEI丙烷 M1', | ||||
|     '在岸人民币汇率', | ||||
|     '南华工业品指数', | ||||
|     'PVC期货主力', | ||||
|     'PE期货收盘价', | ||||
| 'PP连续-1月', | ||||
| 'PP连续-5月', | ||||
| 'PP连续-9月', | ||||
| 'PP:拉丝:L5E89:出厂价:华北(第二区域):内蒙古久泰新材料(日)' | ||||
|     ] | ||||
| 
 | ||||
| edbcodenamedict = { | ||||
| 'ID01385938':'PP:拉丝:1102K:市场价:青州:国家能源宁煤(日)', | ||||
| 'ID01384463':'PP:拉丝:L5E89:出厂价:华北(第二区域):内蒙古久泰新材料(日)', | ||||
| 'lmcads03 lme comdty':'LME铜价', | ||||
| 'GC1 COMB Comdty':'黄金连1合约', | ||||
| 'C2404171822':'Brent-WTI', | ||||
| 'dxy curncy':'美元指数', | ||||
| 'S5443199 ':'甲醇鲁南价格', | ||||
| 'S5479800':'甲醇太仓港口价格', | ||||
| 'S5443108':'山东丙烯主流价', | ||||
| 'H7358586':'丙烷(山东)', | ||||
| 'LC3FM1 INDEX':'FEI丙烷 M1', | ||||
| 'CNY REGN Curncy':'在岸人民币汇率', | ||||
| 's0105897':'南华工业品指数', | ||||
| 'M0067419':'PVC期货主力', | ||||
| 'M0066351':'PE期货收盘价', | ||||
| 'S0266372':'PP连续-1月', | ||||
| 'S0266438':'PP连续-5月', | ||||
| 'S0266506':'PP连续-9月', | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| # eta自有数据指标编码 | ||||
| modelsindex = { | ||||
|         'NHITS': 'SELF0000077', | ||||
|         'Informer':'SELF0000078', | ||||
|         'LSTM':'SELF0000079', | ||||
|         'iTransformer':'SELF0000080', | ||||
|         'TSMixer':'SELF0000081', | ||||
|         'TSMixerx':'SELF0000082', | ||||
|         'PatchTST':'SELF0000083', | ||||
|         'RNN':'SELF0000084', | ||||
|         'GRU':'SELF0000085', | ||||
|         'TCN':'SELF0000086', | ||||
|         'BiTCN':'SELF0000087', | ||||
|         'DilatedRNN':'SELF0000088', | ||||
|         'MLP':'SELF0000089', | ||||
|         'DLinear':'SELF0000090', | ||||
|         'NLinear':'SELF0000091', | ||||
|         'TFT':'SELF0000092', | ||||
|         'FEDformer':'SELF0000093', | ||||
|         'StemGNN':'SELF0000094', | ||||
|         'MLPMultivariate':'SELF0000095', | ||||
|         'TiDE':'SELF0000096', | ||||
|         'DeepNPTS':'SELF0000097' | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # eta 上传预测结果的请求体,后面发起请求的时候更改 model datalist  数据 | ||||
| data = { | ||||
|             "IndexCode": "", | ||||
|             "IndexName": "价格预测模型", | ||||
|             "Unit": "无", | ||||
|             "Frequency": "日度", | ||||
|             "SourceName": f"价格预测", | ||||
|             "Remark": 'ddd', | ||||
|             "DataList": [ | ||||
|                 { | ||||
|                     "Date": "2024-05-02", | ||||
|                     "Value": 333444 | ||||
|                 } | ||||
|             ] | ||||
|         } | ||||
| 
 | ||||
| # eta 分类 | ||||
| # level:3才可以获取到数据,所以需要人工把能源化工下所有的level3级都找到 | ||||
|         # url = 'http://10.189.2.78:8108/v1/edb/list?ClassifyId=1214' | ||||
|         #ParentId ":1160, 能源化工 | ||||
|         # ClassifyId ":1214,原油 | ||||
|         #ParentId ":1214,",就是原油下所有的数据。 | ||||
| ClassifyId = 1161   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ################################################################################################################  变量定义--线上环境 | ||||
| server_host = '10.200.32.39' | ||||
| login_pushreport_url = f"http://{server_host}/jingbo-api/api/server/login" | ||||
| upload_url = f"http://{server_host}/jingbo-api/api/analysis/reportInfo/researchUploadReportSave" | ||||
| upload_warning_url = f"http://{server_host}/jingbo-api/api/basicBuiness/crudeOilWarning/save" | ||||
| query_data_list_item_nos_url = f"http://{server_host}/jingbo-api/api/warehouse/dwDataItem/queryDataListItemNos" | ||||
| 
 | ||||
| login_data = { | ||||
|     "data": { | ||||
|         "account": "api_dev", | ||||
|         "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", | ||||
|         "tenantHashCode": "8a4577dbd919675758d57999a1e891fe", | ||||
|         "terminal": "API" | ||||
|     }, | ||||
|     "funcModule": "API", | ||||
|     "funcOperation": "获取token" | ||||
| } | ||||
| 
 | ||||
| upload_data = { | ||||
|     "funcModule":'研究报告信息', | ||||
|     "funcOperation":'上传聚烯烃价格预测报告', | ||||
|     "data":{ | ||||
|         "ownerAccount":'36541', #报告所属用户账号 36541 - 贾青雪 | ||||
|         "reportType":'OIL_PRICE_FORECAST', # 报告类型,固定为OIL_PRICE_FORECAST | ||||
|         "fileName": '', #文件名称 | ||||
|         "fileBase64": '' ,#文件内容base64 | ||||
|         "categoryNo":'jxtjgycbg', # 研究报告分类编码 | ||||
|         "smartBusinessClassCode":'JXTJGYCBG', #分析报告分类编码 | ||||
|         "reportEmployeeCode":"305000050000" ,# 报告人  E40482  - 管理员  305000050000 - 贾青雪   | ||||
|         "reportDeptCode" :"002000621000", # 报告部门 - 002000621000  SH期货研究部   | ||||
|         "productGroupCode":"RAW_MATERIAL" # 商品分类 | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| warning_data = { | ||||
|     "funcModule":'原油特征停更预警', | ||||
|     "funcOperation":'原油特征停更预警', | ||||
|     "data":{ | ||||
|     'WARNING_TYPE_NAME':'特征数据停更预警', | ||||
|     'WARNING_CONTENT':'', | ||||
|     'WARNING_DATE':'' | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| query_data_list_item_nos_data = { | ||||
|    "funcModule": "数据项", | ||||
|    "funcOperation": "查询", | ||||
|     "data": { | ||||
|         "dateStart":"20200101", | ||||
|         "dateEnd":"20241231", | ||||
|         "dataItemNoList":["Brentzdj","Brentzgj"] # 数据项编码,代表 brent最低价和最高价 | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| # 生产环境数据库 | ||||
| host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com' | ||||
| port = 3306 | ||||
| dbusername ='jingbo'   | ||||
| password = 'shihua@123' | ||||
| dbname = 'jingbo' | ||||
| table_name = 'v_tbl_crude_oil_warning' | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # 预生产环境 | ||||
| # host = 'rm-2zehj3r1n60ttz9x5ko.mysql.rds.aliyuncs.com' | ||||
| # port = 3306 | ||||
| # dbusername ='jingbo'   | ||||
| # password = 'shihua@123' | ||||
| # dbname = 'jingbo-test' | ||||
| # table_name = 'v_tbl_crude_oil_warning' | ||||
| 
 | ||||
| ### 线上开关 | ||||
| is_train = True # 是否训练 | ||||
| is_debug = False # 是否调试 | ||||
| is_eta = True # 是否使用eta接口 | ||||
| is_market = False # 是否通过市场信息平台获取特征 ,在is_eta 为true 的情况下生效 | ||||
| is_timefurture = True # 是否使用时间特征 | ||||
| is_fivemodels = False # 是否使用之前保存的最佳的5个模型 | ||||
| is_edbcode = False # 特征使用edbcoding列表中的 | ||||
| is_edbnamelist = False # 自定义特征,对应上面的edbnamelist | ||||
| is_update_eta  = True  # 预测结果上传到eta | ||||
| is_update_report = True # 是否上传报告 | ||||
| is_update_warning_data =  False # 是否上传预警数据 | ||||
| is_del_corr = 0.6 # 是否删除相关性高的特征,取值为 0-1 ,0 为不删除,0.6 表示删除相关性小于0.6的特征 | ||||
| is_del_tow_month = True # 是否删除两个月不更新的特征 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # 连接到数据库 | ||||
| db_mysql = MySQLDB(host=host, user=dbusername, password=password, database=dbname) | ||||
| db_mysql.connect() | ||||
| print("数据库连接成功",host,dbname,dbusername) | ||||
| 
 | ||||
| 
 | ||||
| # 数据截取日期 | ||||
| start_year = 2020 # 数据开始年份 | ||||
| end_time = '' # 数据截取日期 | ||||
| freq = 'B'  # 时间频率,"D": 天 "W": 周"M": 月"Q": 季度"A": 年 "H": 小时 "T": 分钟 "S": 秒 "B": 工作日 | ||||
| delweekenday = True if freq == 'B' else False # 是否删除周末数据 | ||||
| is_corr = False # 特征是否参与滞后领先提升相关系数 | ||||
| add_kdj = False # 是否添加kdj指标 | ||||
| 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:市场价:青岛:金能化学(日)'] | ||||
| horizon =5 # 预测的步长 | ||||
| input_size = 40  # 输入序列长度 | ||||
| train_steps = 50 if is_debug else 1000 # 训练步数,用来限定epoch次数 | ||||
| val_check_steps = 30  # 评估频率 | ||||
| early_stop_patience_steps = 5 # 早停的耐心步数    | ||||
| # --- 交叉验证用的参数 | ||||
| test_size = 100  # 测试集大小,定义100,后面使用的时候重新赋值 | ||||
| val_size = test_size # 验证集大小,同测试集大小 | ||||
| 
 | ||||
| ### 特征筛选用到的参数 | ||||
| k = 100 # 特征筛选数量,如果是0或者值比特征数量大,代表全部特征 | ||||
| corr_threshold = 0.6 # 相关性大于0.6的特征 | ||||
| rote = 0.06 # 绘图上下界阈值 | ||||
| 
 | ||||
| ### 计算准确率 | ||||
| weight_dict = [0.4,0.15,0.1,0.1,0.25] # 权重 | ||||
| 
 | ||||
| 
 | ||||
| ### 文件 | ||||
| data_set = 'PP指标数据.xlsx'  # 数据集文件   | ||||
| dataset = 'juxitingdataset' # 数据集文件夹 | ||||
| 
 | ||||
| # 数据库名称 | ||||
| db_name = os.path.join(dataset,'jbsh_juxiting.db') | ||||
| sqlitedb = SQLiteHandler(db_name)  | ||||
| sqlitedb.connect() | ||||
| 
 | ||||
| settings = f'{input_size}-{horizon}-{train_steps}--{k}-{data_set}-{y}'  | ||||
| # 获取日期时间 | ||||
| # now = datetime.datetime.now().strftime('%Y%m%d%H%M%S') # 获取当前日期时间 | ||||
| now = datetime.datetime.now().strftime('%Y-%m-%d') # 获取当前日期时间 | ||||
| reportname = f'PP大模型预测报告--{end_time}.pdf' # 报告文件名 | ||||
| reportname = reportname.replace(':', '-') # 替换冒号 | ||||
| if end_time == '': | ||||
|     end_time = now | ||||
| ### 邮件配置 | ||||
| username='1321340118@qq.com' | ||||
| passwd='wgczgyhtyyyyjghi' | ||||
| # recv=['liurui_test@163.com','52585119@qq.com'] | ||||
| recv=['liurui_test@163.com'] | ||||
| # recv=['liurui_test@163.com'] | ||||
| title='reportname' | ||||
| content=y+'预测报告请看附件' | ||||
| file=os.path.join(dataset,'reportname') | ||||
| # file=os.path.join(dataset,'14-7-50--100-原油指标数据.xlsx-Brent连1合约价格--20240731175936-预测报告.pdf') | ||||
| ssl=True | ||||
| 
 | ||||
| 
 | ||||
| ### 日志配置 | ||||
| 
 | ||||
| # 创建日志目录(如果不存在) | ||||
| log_dir = 'logs' | ||||
| if not os.path.exists(log_dir): | ||||
|     os.makedirs(log_dir) | ||||
| 
 | ||||
| # 配置日志记录器 | ||||
| logger = logging.getLogger('my_logger') | ||||
| logger.setLevel(logging.INFO) | ||||
| 
 | ||||
| # 配置文件处理器,将日志记录到文件 | ||||
| file_handler = logging.handlers.RotatingFileHandler(os.path.join(log_dir, 'pricepredict.log'), maxBytes=1024 * 1024, backupCount=5) | ||||
| file_handler.setFormatter(logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')) | ||||
| 
 | ||||
| # 配置控制台处理器,将日志打印到控制台 | ||||
| console_handler = logging.StreamHandler() | ||||
| console_handler.setFormatter(logging.Formatter('%(message)s')) | ||||
| 
 | ||||
| # 将处理器添加到日志记录器 | ||||
| logger.addHandler(file_handler) | ||||
| logger.addHandler(console_handler) | ||||
| 
 | ||||
| # logger.info('当前配置:'+settings) | ||||
| 
 | ||||
| @ -44,7 +44,8 @@ plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号 | ||||
| # from config_jingbo import * | ||||
| # from config_jingbo_zhoudu import * | ||||
| # from config_yongan import * | ||||
| from config_juxiting import * | ||||
| # from config_juxiting import * | ||||
| from config_juxiting_pro import * | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user