@ -1,617 +0,0 @@
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 '
edbcodenamedict = {
' C2403283369 ' : ' 预赔阳极加工利润(高端) ' ,
' C2403285560 ' : ' 预培阳极加工利润(低端) ' ,
' C2403288616 ' : ' 低硫石油焦煅烧利润 ' ,
' S6949656 ' : ' 平均价:氧化铝:一级:全国 ' ,
' S5807052 ' : ' 氧化铝:一级:贵阳 ' ,
' S5443355 ' : ' 市场价:煤沥青:河北地区 ' ,
' S5443357 ' : ' 市场价:煤沥青:山西地区 ' ,
' W000294 ' : ' 国内主要港口石油焦出货量(隆重) ' ,
' W000293 ' : ' 日照港库存(隆重) ' ,
' W000292 ' : ' 港口总库存(隆重) ' ,
' W000283 ' : ' 主营石油焦产量(隆重) ' ,
' W000282 ' : ' 地炼石油焦产量(隆重) ' ,
' W000281 ' : ' 中国石油焦产量(隆重) ' ,
' W000280 ' : ' 主营石油焦开工负荷率(隆重) ' ,
' W000279 ' : ' 地炼石油焦开工负荷率(隆重) ' ,
' ID00150273 ' : ' 石油焦: 1 # :市场低端价:东北地区(日) ' ,
' ID00150281 ' : ' 石油焦: 1 # :市场主流价:东北地区(日) ' ,
' ID00150277 ' : ' 石油焦: 1 # :市场高端价:东北地区(日) ' ,
' ID00150289 ' : ' 石油焦: 2 # :市场低端价:华东地区(日) ' ,
' ID00150285 ' : ' 石油焦: 2 # :市场低端价:西北地区(日) ' ,
' ID00150313 ' : ' 石油焦: 2 # :市场主流价:华东地区(日) ' ,
' ID00150309 ' : ' 石油焦: 2 # :市场主流价:西北地区(日) ' ,
' ID00150301 ' : ' 石油焦: 2 # :市场高端价:华东地区(日) ' ,
' ID00150297 ' : ' 石油焦: 2 # :市场高端价:西北地区(日) ' ,
' ID00150321 ' : ' 石油焦: 2 # A: 市场低端价: 山东( 日) ' ,
' ID00150329 ' : ' 石油焦: 2 # A: 市场主流价: 山东( 日) ' ,
' ID00150325 ' : ' 石油焦: 2 # A: 市场高端价: 山东( 日) ' ,
' ID00150337 ' : ' 石油焦: 2 # B: 市场低端价: 华南地区( 日) ' ,
' ID00150341 ' : ' 石油焦: 2 # B: 市场低端价: 华中地区( 日) ' ,
' ID00150361 ' : ' 石油焦: 2 # B: 市场主流价: 华南地区( 日) ' ,
' ID00150365 ' : ' 石油焦: 2 # B: 市场主流价: 华中地区( 日) ' ,
' ID00150349 ' : ' 石油焦: 2 # B: 市场高端价: 华南地区( 日) ' ,
' ID00150353 ' : ' 石油焦: 2 # B: 市场高端价: 华中地区( 日) ' ,
' ID00150333 ' : ' 石油焦: 2 # B: 市场低端价: 山东( 日) ' ,
' ID00150357 ' : ' 石油焦: 2 # B: 市场主流价: 山东( 日) ' ,
' ID00150345 ' : ' 石油焦: 2 # B: 市场高端价: 山东( 日) ' ,
' ID00150369 ' : ' 石油焦: 3 # :市场低端价:华中地区(日) ' ,
' ID00150373 ' : ' 石油焦: 3 # :市场高端价:华中地区(日) ' ,
' ID00150385 ' : ' 石油焦: 3 # A: 市场高端价: 山东( 日) ' ,
' ID00150393 ' : ' 石油焦: 3 # B: 市场低端价: 华东地区( 日) ' ,
' ID00150409 ' : ' 石油焦: 3 # B: 市场主流价: 华东地区( 日) ' ,
' ID00150401 ' : ' 石油焦: 3 # B: 市场高端价: 华东地区( 日) ' ,
' ID00146589 ' : ' 海绵焦: 4 # :出厂价:华中地区:洛阳石化(日) ' ,
' ID01242846 ' : ' 石油焦: 4 # B: 挂牌价: 华北地区: 中石化燕山( 日) ' ,
' ID01300358 ' : ' 石油焦: 3 # C: 市场低端价: 山东( 日) ' ,
' ID01300357 ' : ' 石油焦: 3 # C: 市场高端价: 山东( 日) ' ,
' ID00150377 ' : ' 石油焦: 3 # :市场主流价:华中地区(日) ' ,
' ID01387643 ' : ' 煅烧焦: 低硫: 0.5 % S: 市场价: 东北地区( 日) ' ,
' ID01387646 ' : ' 煅烧焦: 低硫: 3.5 % S: 市场价: 东北地区( 日) ' ,
' ID01387660 ' : ' 煅烧焦: 中硫: 3 % S, 400V: 市场价: 山东( 日) ' ,
' ID00150381 ' : ' 石油焦: 3 # A: 市场低端价: 山东( 日) ' ,
' ID00150397 ' : ' 石油焦: 3 # B: 市场低端价: 山东( 日) ' ,
' ID00150405 ' : ' 石油焦: 3 # B: 市场高端价: 山东( 日) ' ,
' ID00146545 ' : ' 海绵焦: 3B: 出厂价: 山东: 山东东明( 日) ' ,
' B3e90b34e4b9e7a6ea3 ' : ' 石油焦市场均价(元/吨) ' ,
' B6b5c53b270a3af12ac ' : ' 石油焦1 # 市场均价(元/吨) ' ,
' B10721189a11c209a20 ' : ' 石油焦2 # 市场均价(元/吨) ' ,
' B6accfa9d2bf4735a50 ' : ' 石油焦3 # 市场均价(元/吨) ' ,
' B8a0ab5357569c385a9 ' : ' 石油焦海绵焦市场均价(元/吨) ' ,
' B19dcf45e22fbfd3e43 ' : ' 石油焦海绵焦东北1 # A焦( 低端) (元/吨)(百川) ' ,
' B5832a62d1e0fba50b6 ' : ' 石油焦海绵焦东北1 # A焦( 高端) (元/吨)(百川) ' ,
' B1de4fba026d4609cc7 ' : ' 石油焦海绵焦东北1 # B焦( 低端) (元/吨)(百川) ' ,
' B38f89180736172490d ' : ' 石油焦海绵焦东北1 # B焦( 高端) (元/吨)(百川) ' ,
' B4f847871674c3d77f2 ' : ' 石油焦海绵焦山东地炼1 # -3#焦(低端)(元/吨) ' ,
' B1aefb8a64a5200adbd ' : ' 石油焦海绵焦山东地炼1 # -3#焦(高端)(元/吨) ' ,
' B1df7d0afbfedfb628a ' : ' 煅烧焦东北低硫(高端S < 0.5)(元/吨) ' ,
' B5f8f9859635876da28 ' : ' 煅烧焦东北低硫(低端S < 0.5)(元/吨) ' ,
' B2342a8c5a39fa00348 ' : ' 煅烧焦华北中硫(高端S < 3.0,钒 < 400)(元/吨) ' ,
' B051f27900397c6a35f ' : ' 煅烧焦山东中硫(高端S < 3.0,钒 < 400)(元/吨) ' ,
' Be2a8050a48e86cae1f ' : ' 煅烧焦华东中硫(高端S < 3.0,钒 < 400)(元/吨) ' ,
' B4a1811938f85065f6a ' : ' 煅烧焦华中中硫(高端S < 3.0,钒 < 400)(元/吨) ' ,
' Bc197d4834ef7fb98ec ' : ' 煅烧焦华东高硫(高端S < 3.5,钒 < 400)(元/吨) ' ,
' B62be5dbdb8c6454530 ' : ' 煅烧焦低硫参考价格(元/吨)(百川) ' ,
' Bdd813140bffc4edfa6 ' : ' 煅烧焦中硫微量市场均价(元/吨)(百川) ' ,
' B185a597decfc71915a ' : ' 预焙阳极山东低端(元/吨)(百川) ' ,
' B1bcde6130de031bd42 ' : ' 山西 改质沥青(元/吨) ' ,
' Bb9f4a1f6dd32b4ad8a ' : ' 山东 改质沥青(元/吨) ' ,
' C2411261557491549 ' : ' 石油焦市场均价(元/吨)/4DMA ' ,
' C2411271143174617 ' : ' 石油焦市场均价(元/吨)/9DMA ' ,
' ID01387649 ' : ' 煅烧焦: 中硫: 3 % S, 350V: 市场价: 华东地区( 日) ' ,
' ID01387655 ' : ' 煅烧焦: 中硫: 3 % S, 350V: 市场价: 山东( 日) ' ,
' RE00010076 ' : ' 煅烧焦:低硫:生产毛利:东北地区(周) ' ,
' B9d1acaf80383683da3 ' : ' 石油焦总产量(周)(吨) ' ,
' Bdaa719a38936c8dd76 ' : ' 石油焦开工率(周)( % ) ' ,
' B9459d549a332b200e7 ' : ' 石油焦行业总库存(周)(吨) ' ,
' Bce6e098b9518370cff ' : ' 石油焦工厂库存(周)(吨) ' ,
' B577ce2809772779710 ' : ' 石油焦市场库存(周)(吨) ' ,
' B5d8c564c62f3e6b77f ' : ' 石油焦成本(周)(吨) ' ,
' B43baa98bcaa06c11a5 ' : ' 石油焦利润(周)(吨) ' ,
' Bdd0c1361d94081211c ' : ' 煅烧石油焦总产量(周)(吨) ' ,
' B65315111fa28951b1e ' : ' 煅烧石油焦开工率(周)( % ) ' ,
' B2aff5f2632a20027d0 ' : ' 煅烧石油焦行业总库存(周)(吨) ' ,
' B29fbd31128cd71b212 ' : ' 煅烧石油焦工厂库存(周)(吨) ' ,
' B7a88313a89d1261c53 ' : ' 煅烧石油焦成本(周)(吨) ' ,
' Bd4fa36b4decec0aafa ' : ' 煅烧石油焦利润(周)(吨) ' ,
' B9bd80eac7df81ffbd4 ' : ' 预焙阳极总产量(周)(吨) ' ,
' B27074786605f4660d2 ' : ' 预焙阳极开工率(周)( % ) ' ,
' Bdc2a5985ecb56b6a0c ' : ' 预焙阳极行业总库存(周)(吨) ' ,
' Bce8511f899e487e5b6 ' : ' 预焙阳极工厂库存(周)(吨) ' ,
' B13ec89105bd866a2bd ' : ' 预焙阳极成本(周)(吨) ' ,
' B66c3abcfa15a2e611c ' : ' 预焙阳极利润(周)(吨) ' ,
' Bf7efe3200f9abc0453 ' : ' 电解铝开工率(周)( % ) ' ,
' Be193166f347267b1a7 ' : ' 电解铝行业总库存(周)(吨) ' ,
' Baa744fc97769353175 ' : ' 电解铝工厂库存(周)(吨) ' ,
' Bf9654603913cfc5282 ' : ' 电解铝市场库存(周)(吨) ' ,
' Bef1535c96da0d70fbc ' : ' 电解铝利润(周)(吨) ' ,
' B7d1d0b24316d49cbdc ' : ' 煤沥青总产量(周)(吨) ' ,
' B4303fb002ea1c214da ' : ' 煤沥青开工率(周)( % ) ' ,
' Be9a470c97e9efe660c ' : ' 煤沥青行业总库存(周)(吨) ' ,
' B50d4d87f6b78bca587 ' : ' 煤沥青工厂库存(周)(吨) ' ,
' B46cc7d0a90155b5bfd ' : ' 煅烧焦山东高硫(高端S < 3.5,普货)(元/吨) '
}
edbcodelist = edbcodenamedict . keys ( )
# 临时写死用指定的列,与上面的edbcode对应, 后面更改
edbnamelist = [ ' ds ' , ' y ' ] + [ edbcodenamedict [ edbcodename ]
for edbcodename in edbcodelist ]
# eta自有数据指标编码, 石油焦铝用还没新增, 暂且留空
# eta自有数据指标编码 次周,隔周
bdwdname = [
' 次月 ' ,
' 次二月 ' ,
' 次三月 ' ,
' 次四月 ' ,
]
modelsindex = [ { " NHITS " : " SELF0000451 " ,
" Informer " : " SELF0000452 " ,
" LSTM " : " SELF0000453 " ,
" iTransformer " : " SELF0000454 " ,
" TSMixer " : " SELF0000455 " ,
" TSMixerx " : " SELF0000456 " ,
" PatchTST " : " SELF0000457 " ,
" RNN " : " SELF0000458 " ,
" GRU " : " SELF0000459 " ,
" TCN " : " SELF0000460 " ,
" BiTCN " : " SELF0000461 " ,
" DilatedRNN " : " SELF0000462 " ,
" MLP " : " SELF0000463 " ,
" DLinear " : " SELF0000464 " ,
" NLinear " : " SELF0000465 " ,
" TFT " : " SELF0000466 " ,
" FEDformer " : " SELF0000467 " ,
" StemGNN " : " SELF0000468 " ,
" MLPMultivariate " : " SELF0000469 " ,
" TiDE " : " SELF0000470 " ,
" DeepNPTS " : " SELF0000471 " ,
" NBEATS " : " SELF0000472 " ,
} , { " NHITS " : " SELF0000473 " ,
" Informer " : " SELF0000474 " ,
" LSTM " : " SELF0000475 " ,
" iTransformer " : " SELF0000476 " ,
" TSMixer " : " SELF0000477 " ,
" TSMixerx " : " SELF0000478 " ,
" PatchTST " : " SELF0000479 " ,
" RNN " : " SELF0000480 " ,
" GRU " : " SELF0000481 " ,
" TCN " : " SELF0000482 " ,
" BiTCN " : " SELF0000483 " ,
" DilatedRNN " : " SELF0000484 " ,
" MLP " : " SELF0000485 " ,
" DLinear " : " SELF0000486 " ,
" NLinear " : " SELF0000487 " ,
" TFT " : " SELF0000488 " ,
" FEDformer " : " SELF0000489 " ,
" StemGNN " : " SELF0000490 " ,
" MLPMultivariate " : " SELF0000491 " ,
" TiDE " : " SELF0000492 " ,
" DeepNPTS " : " SELF0000493 " ,
" NBEATS " : " SELF0000494 " ,
} , { " NHITS " : " SELF0000495 " ,
" Informer " : " SELF0000496 " ,
" LSTM " : " SELF0000497 " ,
" iTransformer " : " SELF0000498 " ,
" TSMixer " : " SELF0000499 " ,
" TSMixerx " : " SELF0000500 " ,
" PatchTST " : " SELF0000501 " ,
" RNN " : " SELF0000502 " ,
" GRU " : " SELF0000503 " ,
" TCN " : " SELF0000504 " ,
" BiTCN " : " SELF0000505 " ,
" DilatedRNN " : " SELF0000506 " ,
" MLP " : " SELF0000507 " ,
" DLinear " : " SELF0000508 " ,
" NLinear " : " SELF0000509 " ,
" TFT " : " SELF0000510 " ,
" FEDformer " : " SELF0000511 " ,
" StemGNN " : " SELF0000512 " ,
" MLPMultivariate " : " SELF0000513 " ,
" TiDE " : " SELF0000514 " ,
" DeepNPTS " : " SELF0000515 " ,
" NBEATS " : " SELF0000516 " ,
} , { " NHITS " : " SELF0000517 " ,
" Informer " : " SELF0000518 " ,
" LSTM " : " SELF0000519 " ,
" iTransformer " : " SELF0000520 " ,
" TSMixer " : " SELF0000521 " ,
" TSMixerx " : " SELF0000522 " ,
" PatchTST " : " SELF0000523 " ,
" RNN " : " SELF0000524 " ,
" GRU " : " SELF0000525 " ,
" TCN " : " SELF0000526 " ,
" BiTCN " : " SELF0000527 " ,
" DilatedRNN " : " SELF0000528 " ,
" MLP " : " SELF0000529 " ,
" DLinear " : " SELF0000530 " ,
" NLinear " : " SELF0000531 " ,
" TFT " : " SELF0000532 " ,
" FEDformer " : " SELF0000533 " ,
" StemGNN " : " SELF0000534 " ,
" MLPMultivariate " : " SELF0000535 " ,
" TiDE " : " SELF0000536 " ,
" DeepNPTS " : " SELF0000537 " ,
" NBEATS " : " SELF0000538 " ,
} ]
# 百川数据指标编码
baichuanidnamedict = {
' 1588348470396480901 ' : ' 石油焦滨州-友泰 ' ,
' 1588348470396480903 ' : ' 石油焦东营-海科瑞林 ' ,
' 1588348470396480902 ' : ' 石油焦东营-华联2 ' ,
' 1588348470396481080 ' : ' 石油焦东营-华联3 ' ,
' 1588348470396480905 ' : ' 石油焦东营-联合 ' ,
' 1588348470396481081 ' : ' 石油焦东营-联合3 ' ,
' 1588348470396480915 ' : ' 石油焦淄博-汇丰 ' ,
' 1588348470396480888 ' : ' 石油焦沧州-鑫海 ' ,
' 1588348470396480917 ' : ' 石油焦东营-万通 ' ,
' 1588348470396480925 ' : ' 石油焦东营-齐润 ' ,
' 1588348470396481084 ' : ' 石油焦东营-尚能4 ' ,
' 1588348470396480930 ' : ' 石油焦潍坊-寿光鲁清 ' ,
' 1588348470396480929 ' : ' 石油焦滨州-鑫岳 '
}
# baichuanidnamedict = {'1588348470396475286': 'test1', '1666': 'test2'} # 北京环境测试用
# eta 上传预测结果的请求体,后面发起请求的时候更改 model datalist 数据
data = {
" IndexCode " : " " ,
" IndexName " : " 石油焦铝用价格预测xx模型-yy " ,
" 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,原油 3912 石油焦
# ParentId ":1214,",就是原油下所有的数据。
ClassifyId = 3707
# 变量定义--线上环境
# server_host = '10.200.32.39'
# login_pushreport_url = "http://10.200.32.39/jingbo-api/api/server/login"
# upload_url = "http://10.200.32.39/jingbo-api/api/analysis/reportInfo/researchUploadReportSave"
# upload_warning_url = "http://10.200.32.39/jingbo-api/api/basicBuiness/crudeOilWarning/save"
# query_data_list_item_nos_url = f"http://{server_host}/jingbo-api/api/warehouse/dwDataItem/queryDataListItemNos"
# # 上传数据项值
# push_data_value_list_url = f"http://{server_host}/jingbo-api/api/dw/dataValue/pushDataValueList"
# login_data = {
# "data": {
# "account": "api_dev",
# "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=",
# "tenantHashCode": "8a4577dbd919675758d57999a1e891fe",
# "terminal": "API"
# },
# "funcModule": "API",
# "funcOperation": "获取token"
# }
# upload_data = {
# "funcModule":'研究报告信息',
# "funcOperation":'上传原油价格预测报告',
# "data":{
# "groupNo":'', # 用户组id
# "ownerAccount":'27663', #报告所属用户账号 27663 - 刘小朋
# "reportType":'OIL_PRICE_FORECAST', # 报告类型, 固定为OIL_PRICE_FORECAST
# "fileName": '', #文件名称
# "fileBase64": '' ,#文件内容base64
# "categoryNo":'yyjgycbg', # 研究报告分类编码
# "smartBusinessClassCode":'YCJGYCBG', #分析报告分类编码
# "reportEmployeeCode":"E40482" ,# 报告人 E40482 - 管理员 0000027663 - 刘小朋
# "reportDeptCode" :"002000621000", # 报告部门 - 002000621000 SH期货研究部
# "productGroupCode":"RAW_MATERIAL" # 商品分类
# }
# }
# warning_data = {
# "groupNo":'', # 用户组id
# "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最低价和最高价
# }
# }
# push_data_value_list_data = {
# "funcModule": "数据表信息列表",
# "funcOperation": "新增",
# "data": [
# {"dataItemNo": "91230600716676129",
# "dataDate": "20230113",
# "dataStatus": "add",
# "dataValue": 100.11
# },
# {"dataItemNo": "91230600716676129P|ETHYL_BEN|CAPACITY",
# "dataDate": "20230113",
# "dataStatus": "add",
# "dataValue": 100.55
# },
# {"dataItemNo": "91230600716676129P|ETHYL_BEN|CAPACITY",
# "dataDate": "20230113",
# "dataStatus": "add",
# "dataValue": 100.55
# }
# ]
# }
# # 八大维度数据项编码
# bdwd_items = {
# 'ciri': '原油大数据预测|FORECAST|PRICE|T',
# 'benzhou': '原油大数据预测|FORECAST|PRICE|W',
# 'cizhou': '原油大数据预测|FORECAST|PRICE|W_1',
# 'gezhou': '原油大数据预测|FORECAST|PRICE|W_2',
# 'ciyue': '原油大数据预测|FORECAST|PRICE|M_1',
# 'cieryue': '原油大数据预测|FORECAST|PRICE|M_2',
# 'cisanyue': '原油大数据预测|FORECAST|PRICE|M_3',
# 'cisiyue': '原油大数据预测|FORECAST|PRICE|M_4',
# }
# # 生产环境数据库
# host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com'
# port = 3306
# dbusername ='jingbo'
# password = 'shihua@123'
# dbname = 'jingbo'
# table_name = 'v_tbl_crude_oil_warning'
# # 变量定义--测试环境
server_host = ' 192.168.100.53:8080 ' # 内网
# server_host = '183.242.74.28' # 外网
login_pushreport_url = f " http:// { server_host } /jingbo-dev/api/server/login "
upload_url = f " http:// { server_host } /jingbo-dev/api/analysis/reportInfo/researchUploadReportSave "
upload_warning_url = f " http:// { server_host } /jingbo-dev/api/basicBuiness/crudeOilWarning/save "
query_data_list_item_nos_url = f " http:// { server_host } /jingbo-dev/api/warehouse/dwDataItem/queryDataListItemNos "
# 上传数据项值
push_data_value_list_url = f " http:// { server_host } /jingbo-dev/api/dw/dataValue/pushDataValueList "
login_data = {
" data " : {
" account " : " api_test " ,
# "password": "MmVmNzNlOWI0MmY0ZDdjZGUwNzE3ZjFiMDJiZDZjZWU=", # Shihua@123456
" password " : " ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U= " , # 123456
" tenantHashCode " : " 8a4577dbd919675758d57999a1e891fe " ,
" terminal " : " API "
} ,
" funcModule " : " API " ,
" funcOperation " : " 获取token "
}
upload_data = {
" groupNo " : ' ' , # 用户组id
" funcModule " : ' 研究报告信息 ' ,
" funcOperation " : ' 上传原油价格预测报告 ' ,
" 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 ' , # 分析报告分类编码
" reportEmployeeCode " : " E40116 " , # 报告人
" reportDeptCode " : " D0044 " , # 报告部门
" productGroupCode " : " RAW_MATERIAL " # 商品分类
}
}
warning_data = {
" groupNo " : ' ' , # 用户组id
" 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最低价和最高价
}
}
push_data_value_list_data = {
" funcModule " : " 数据表信息列表 " ,
" funcOperation " : " 新增 " ,
" data " : [
{ " dataItemNo " : " 91230600716676129 " ,
" dataDate " : " 20230113 " ,
" dataStatus " : " add " ,
" dataValue " : 100.11
} ,
{ " dataItemNo " : " 91230600716676129P|ETHYL_BEN|CAPACITY " ,
" dataDate " : " 20230113 " ,
" dataStatus " : " add " ,
" dataValue " : 100.55
} ,
{ " dataItemNo " : " 91230600716676129P|ETHYL_BEN|CAPACITY " ,
" dataDate " : " 20230113 " ,
" dataStatus " : " add " ,
" dataValue " : 100.55
}
]
}
# 八大维度数据项编码
bdwd_items = {
' ciri ' : ' syjlyycbdwdcr ' ,
' benzhou ' : ' syjlyycbdwdbz ' ,
' cizhou ' : ' syjlyycbdwdcz ' ,
' gezhou ' : ' syjlyycbdwdgz ' ,
' ciyue ' : ' syjlyycbdwdcy ' ,
' cieryue ' : ' syjlyycbdwdcey ' ,
' cisanyue ' : ' syjlyycbdwdcsy ' ,
' cisiyue ' : ' syjlyycbdwdcsiy ' ,
}
# 报告中八大维度数据项重命名
columnsrename = { ' syjlyycbdwdbz ' : ' 本周 ' , ' syjlyycbdwdcey ' : ' 次二月 ' , ' syjlyycbdwdcr ' : ' 次日 ' , ' syjlyycbdwdcsiy ' : ' 次四月 ' ,
' syjlyycbdwdcsy ' : ' 次三月 ' , ' syjlyycbdwdcy ' : ' 次月 ' , ' syjlyycbdwdcz ' : ' 次周 ' , ' syjlyycbdwdgz ' : ' 隔周 ' , }
# 北京环境数据库
host = ' 192.168.101.27 '
port = 3306
dbusername = ' root '
password = ' 123456 '
dbname = ' jingbo_test '
# 京博测试环境
# host = 'rm-2zehj3r1n60ttz9x5ko.mysql.rds.aliyuncs.com'
# port = 3306
# dbusername = 'jingbo'
# password = 'shihua@123'
# dbname = 'jingbo-test'
table_name = ' v_tbl_crude_oil_warning '
baichuan_table_name = ' V_TBL_BAICHUAN_YINGFU_VALUE '
# select BAICHUAN_ID, DATA_DATE, DATA_VALUE from V_TBL_BAICHUAN_YINGFU_VALUE where BAICHUAN_ID in ('1588348470396475286', '1666')
# 开关
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_update_predict_value = True # 是否上传预测值到市场信息平台
is_del_corr = 0.6 # 是否删除相关性高的特征,取值为 0-1 , 0 为不删除, 0.6 表示删除相关性小于0.6的特征
is_del_tow_month = False # 是否删除两个月不更新的特征
is_bdwd = True # 是否使用八大维度
# 连接到数据库
db_mysql = MySQLDB ( host = host , user = dbusername ,
password = password , database = dbname )
db_mysql . connect ( )
print ( " 数据库连接成功 " , host , dbname , dbusername )
# 数据截取日期
start_year = 2000 # 数据开始年份
end_time = ' ' # 数据截取日期
freq = ' M ' # 时间频率,"D": 天 "W": 周"M": 月"Q": 季度"A": 年 "H": 小时 "T": 分钟 "S": 秒 "B": 工作日 "WW" 自定义周
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 = ' 石油焦: 3 # B: 市场低端价: 山东( 日) '
avg_cols = [
]
offsite = 80
offsite_col = [ ]
horizon = 4 # 预测的步长
input_size = 16 # 输入序列长度
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 = ' 石油焦铝用指标数据.xlsx ' # 数据集文件
dataset = ' shiyoujiaolvyongyuedudataset ' # 数据集文件夹
# 数据库名称
db_name = os . path . join ( dataset , ' jbsh_shiyoujiao_lvyong_yuedu.db ' )
sqlitedb = SQLiteHandler ( db_name )
sqlitedb . connect ( )
settings = f ' { input_size } - { horizon } - { train_steps } -- { k } - { data_set } '
# 获取日期时间
# now = datetime.datetime.now().strftime('%Y%m%d%H%M%S') # 获取当前日期时间
now = datetime . datetime . now ( ) . strftime ( ' % Y- % m- %d ' ) # 获取当前日期时间
reportname = f ' 石油焦铝用大模型月度预测报告-- { 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)