聚烯烃图片报告标题更改
This commit is contained in:
parent
63de7af71d
commit
ae2dba7981
@ -380,7 +380,7 @@ DEFAULT_CONFIG = {
|
|||||||
# 开关
|
# 开关
|
||||||
is_train = True # 是否训练
|
is_train = True # 是否训练
|
||||||
is_debug = False # 是否调试
|
is_debug = False # 是否调试
|
||||||
is_eta = False # 是否使用eta接口
|
is_eta = True # 是否使用eta接口
|
||||||
is_market = True # 是否通过市场信息平台获取特征 ,在is_eta 为true 的情况下生效
|
is_market = True # 是否通过市场信息平台获取特征 ,在is_eta 为true 的情况下生效
|
||||||
is_timefurture = True # 是否使用时间特征
|
is_timefurture = True # 是否使用时间特征
|
||||||
is_fivemodels = False # 是否使用之前保存的最佳的5个模型
|
is_fivemodels = False # 是否使用之前保存的最佳的5个模型
|
||||||
|
@ -143,165 +143,23 @@ ClassifyId = 1161
|
|||||||
|
|
||||||
|
|
||||||
# 变量定义--线上环境
|
# 变量定义--线上环境
|
||||||
# server_host = '10.200.32.39'
|
server_host = '10.200.32.39'
|
||||||
# login_pushreport_url = "http://10.200.32.39/jingbo-api/api/server/login"
|
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_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"
|
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"
|
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"
|
|
||||||
# # 上传停更数据到市场信息平台
|
|
||||||
# push_waring_data_value_list_url = f"http://{server_host}/jingbo-api/api/basicBuiness/crudeOilWarning/crudeSaveOrupdate"
|
|
||||||
# # 获取预警数据中取消订阅指标ID
|
|
||||||
# get_waring_data_value_list_url = f"http://{server_host}/jingbo-api/api/basicBuiness/crudeOilWarning/dataList"
|
|
||||||
|
|
||||||
|
|
||||||
# login_data = {
|
|
||||||
# "data": {
|
|
||||||
# "account": "api_dev",
|
|
||||||
# "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=",
|
|
||||||
# "tenantHashCode": "8a4577dbd919675758d57999a1e891fe",
|
|
||||||
# "terminal": "API"
|
|
||||||
# },
|
|
||||||
# "funcModule": "API",
|
|
||||||
# "funcOperation": "获取token"
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
||||||
# upload_data = {
|
|
||||||
# "funcModule": '研究报告信息',
|
|
||||||
# "funcOperation": '上传聚烯烃PP价格预测报告',
|
|
||||||
# "data": {
|
|
||||||
# "groupNo": '000211', # 用户组编号
|
|
||||||
# "ownerAccount": '36541', # 报告所属用户账号 36541 - 贾青雪
|
|
||||||
# "reportType": 'OIL_PRICE_FORECAST', # 报告类型,固定为OIL_PRICE_FORECAST
|
|
||||||
# "fileName": '', # 文件名称
|
|
||||||
# "fileBase64": '', # 文件内容base64
|
|
||||||
# "categoryNo": 'jxtjgycbg', # 研究报告分类编码
|
|
||||||
# "smartBusinessClassCode": 'JXTJGYCBG', # 分析报告分类编码
|
|
||||||
# "reportEmployeeCode": "E40482", # 报告人 E40482 - 管理员 0000027663 - 刘小朋
|
|
||||||
# "reportDeptCode": "JXTJGYCBG", # 报告部门 - 002000621000 SH期货研究部
|
|
||||||
# "productGroupCode": "RAW_MATERIAL" # 商品分类
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
# warning_data = {
|
|
||||||
# "funcModule": '原油特征停更预警',
|
|
||||||
# "funcOperation": '原油特征停更预警',
|
|
||||||
# "data": {
|
|
||||||
# "groupNo": "000211",
|
|
||||||
# 'WARNING_TYPE_NAME': '特征数据停更预警',
|
|
||||||
# 'WARNING_CONTENT': '',
|
|
||||||
# 'WARNING_DATE': ''
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
# query_data_list_item_nos_data = {
|
|
||||||
# "funcModule": "数据项",
|
|
||||||
# "funcOperation": "查询",
|
|
||||||
# "data": {
|
|
||||||
# "dateStart": "20200101",
|
|
||||||
# "dateEnd": "",
|
|
||||||
# # 数据项编码,代表 PP期货 价格
|
|
||||||
# "dataItemNoList": ["MAIN_CONFT_SETTLE_PRICE"]
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# }
|
|
||||||
# ]
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
||||||
# push_waring_data_value_list_data = {
|
|
||||||
# "data": {
|
|
||||||
# "crudeOilWarningDtoList": [
|
|
||||||
# {
|
|
||||||
# "lastUpdateDate": "20240501",
|
|
||||||
# "updateSuspensionCycle": 1,
|
|
||||||
# "dataSource": "9",
|
|
||||||
# "frequency": "1",
|
|
||||||
# "indicatorName": "美元指数",
|
|
||||||
# "indicatorId": "myzs001",
|
|
||||||
# "warningDate": "2024-05-13"
|
|
||||||
# }
|
|
||||||
# ],
|
|
||||||
# "dataSource": "9"
|
|
||||||
# },
|
|
||||||
# "funcModule": "商品数据同步",
|
|
||||||
# "funcOperation": "同步"
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
||||||
# get_waring_data_value_list_data = {
|
|
||||||
# "data": "9", "funcModule": "商品数据同步", "funcOperation": "同步"}
|
|
||||||
|
|
||||||
|
|
||||||
# # 八大维度数据项编码
|
|
||||||
# bdwd_items = {
|
|
||||||
# 'ciri': '251889263|FORECAST|PRICE|T01',
|
|
||||||
# 'cierri': '251889263|FORECAST|PRICE|T02',
|
|
||||||
# 'cisanri': '251889263|FORECAST|PRICE|T03',
|
|
||||||
# 'cisiri': '251889263|FORECAST|PRICE|T04',
|
|
||||||
# 'benzhou': '251889263|FORECAST|PRICE|T05',
|
|
||||||
# 'cizhou': '251889263|FORECAST|PRICE|W_01',
|
|
||||||
# 'gezhou': '251889263|FORECAST|PRICE|W_02',
|
|
||||||
# 'ciyue': '251889263|FORECAST|PRICE|M_01',
|
|
||||||
# 'cieryue': '251889263|FORECAST|PRICE|M_02',
|
|
||||||
# 'cisanyue': '251889263|FORECAST|PRICE|M_03',
|
|
||||||
# 'cisiyue': '251889263|FORECAST|PRICE|M_04',
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
||||||
# # 生产环境数据库
|
|
||||||
# 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' # 内网
|
|
||||||
# server_host = '183.242.74.28' # 外网
|
|
||||||
login_pushreport_url = f"http://{server_host}:8080/jingbo-dev/api/server/login"
|
|
||||||
# 上传报告
|
|
||||||
upload_url = f"http://{server_host}:8080/jingbo-dev/api/analysis/reportInfo/researchUploadReportSave"
|
|
||||||
# 停更预警
|
|
||||||
upload_warning_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/save"
|
|
||||||
# 查询数据项编码
|
|
||||||
query_data_list_item_nos_url = f"http://{server_host}:8080/jingbo-dev/api/warehouse/dwDataItem/queryDataListItemNos"
|
|
||||||
# 上传数据项值
|
# 上传数据项值
|
||||||
push_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/dw/dataValue/pushDataValueList"
|
push_data_value_list_url = f"http://{server_host}/jingbo-api/api/dw/dataValue/pushDataValueList"
|
||||||
# 上传停更数据到市场信息平台
|
# 上传停更数据到市场信息平台
|
||||||
push_waring_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/crudeSaveOrupdate"
|
push_waring_data_value_list_url = f"http://{server_host}/jingbo-api/api/basicBuiness/crudeOilWarning/crudeSaveOrupdate"
|
||||||
# 获取预警数据中取消订阅指标ID
|
# 获取预警数据中取消订阅指标ID
|
||||||
get_waring_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/dataList"
|
get_waring_data_value_list_url = f"http://{server_host}/jingbo-api/api/basicBuiness/crudeOilWarning/dataList"
|
||||||
|
|
||||||
|
|
||||||
login_data = {
|
login_data = {
|
||||||
"data": {
|
"data": {
|
||||||
"account": "api_test",
|
"account": "api_dev",
|
||||||
# "password": "MmVmNzNlOWI0MmY0ZDdjZGUwNzE3ZjFiMDJiZDZjZWU=", # Shihua@123456
|
"password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=",
|
||||||
"password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", # 123456
|
|
||||||
"tenantHashCode": "8a4577dbd919675758d57999a1e891fe",
|
"tenantHashCode": "8a4577dbd919675758d57999a1e891fe",
|
||||||
"terminal": "API"
|
"terminal": "API"
|
||||||
},
|
},
|
||||||
@ -309,29 +167,29 @@ login_data = {
|
|||||||
"funcOperation": "获取token"
|
"funcOperation": "获取token"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
upload_data = {
|
upload_data = {
|
||||||
"funcModule": '研究报告信息',
|
"funcModule": '研究报告信息',
|
||||||
"funcOperation": '上传聚烯烃PP价格预测报告',
|
"funcOperation": '上传聚烯烃PP价格预测报告',
|
||||||
"data": {
|
"data": {
|
||||||
"groupNo": "000127",
|
"groupNo": '000211', # 用户组编号
|
||||||
"ownerAccount": 'arui', # 报告所属用户账号
|
"ownerAccount": '36541', # 报告所属用户账号 36541 - 贾青雪
|
||||||
"reportType": 'OIL_PRICE_FORECAST', # 报告类型,固定为OIL_PRICE_FORECAST
|
"reportType": 'OIL_PRICE_FORECAST', # 报告类型,固定为OIL_PRICE_FORECAST
|
||||||
"fileName": '2000-40-5-50--100-原油指标数据.xlsx-Brent活跃合约--2024-09-06-15-01-29-预测报告.pdf', # 文件名称
|
"fileName": '', # 文件名称
|
||||||
"fileBase64": '', # 文件内容base64
|
"fileBase64": '', # 文件内容base64
|
||||||
"categoryNo": 'yyjgycbg', # 研究报告分类编码
|
"categoryNo": 'jxtjgycbg', # 研究报告分类编码
|
||||||
"smartBusinessClassCode": 'JXTJGYCBG', # 分析报告分类编码
|
"smartBusinessClassCode": 'JXTJGYCBG', # 分析报告分类编码
|
||||||
"reportEmployeeCode": "E40116", # 报告人
|
"reportEmployeeCode": "E40482", # 报告人 E40482 - 管理员 0000027663 - 刘小朋
|
||||||
"reportDeptCode": "D0044", # 报告部门
|
"reportDeptCode": "JXTJGYCBG", # 报告部门 - 002000621000 SH期货研究部
|
||||||
"productGroupCode": "RAW_MATERIAL" # 商品分类
|
"productGroupCode": "RAW_MATERIAL" # 商品分类
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# 已弃用
|
|
||||||
warning_data = {
|
warning_data = {
|
||||||
"funcModule": '原油特征停更预警',
|
"funcModule": '原油特征停更预警',
|
||||||
"funcOperation": '原油特征停更预警',
|
"funcOperation": '原油特征停更预警',
|
||||||
"data": {
|
"data": {
|
||||||
"groupNo": "000127",
|
"groupNo": "000211",
|
||||||
'WARNING_TYPE_NAME': '特征数据停更预警',
|
'WARNING_TYPE_NAME': '特征数据停更预警',
|
||||||
'WARNING_CONTENT': '',
|
'WARNING_CONTENT': '',
|
||||||
'WARNING_DATE': ''
|
'WARNING_DATE': ''
|
||||||
@ -399,18 +257,160 @@ get_waring_data_value_list_data = {
|
|||||||
|
|
||||||
# 八大维度数据项编码
|
# 八大维度数据项编码
|
||||||
bdwd_items = {
|
bdwd_items = {
|
||||||
'ciri': 'jxtppbdwdcr',
|
'ciri': '251889263|FORECAST|PRICE|T01',
|
||||||
'cierri': 'jxtppbdwdcer',
|
'cierri': '251889263|FORECAST|PRICE|T02',
|
||||||
'cisanri': 'jxtppbdwdcsanr',
|
'cisanri': '251889263|FORECAST|PRICE|T03',
|
||||||
'cisiri': 'jxtppbdwdcsir',
|
'cisiri': '251889263|FORECAST|PRICE|T04',
|
||||||
'benzhou': 'jxtppbdwdbz',
|
'benzhou': '251889263|FORECAST|PRICE|T05',
|
||||||
'cizhou': 'jxtppbdwdcz',
|
'cizhou': '251889263|FORECAST|PRICE|W_01',
|
||||||
'gezhou': 'jxtppbdwdgz',
|
'gezhou': '251889263|FORECAST|PRICE|W_02',
|
||||||
'ciyue': 'jxtppbdwdcy',
|
'ciyue': '251889263|FORECAST|PRICE|M_01',
|
||||||
'cieryue': 'jxtppbdwdcey',
|
'cieryue': '251889263|FORECAST|PRICE|M_02',
|
||||||
'cisanyue': 'jxtppbdwdcsany',
|
'cisanyue': '251889263|FORECAST|PRICE|M_03',
|
||||||
'cisiyue': 'jxtppbdwdcsiy',
|
'cisiyue': '251889263|FORECAST|PRICE|M_04',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# 生产环境数据库
|
||||||
|
# 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' # 内网
|
||||||
|
# # server_host = '183.242.74.28' # 外网
|
||||||
|
# login_pushreport_url = f"http://{server_host}:8080/jingbo-dev/api/server/login"
|
||||||
|
# # 上传报告
|
||||||
|
# upload_url = f"http://{server_host}:8080/jingbo-dev/api/analysis/reportInfo/researchUploadReportSave"
|
||||||
|
# # 停更预警
|
||||||
|
# upload_warning_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/save"
|
||||||
|
# # 查询数据项编码
|
||||||
|
# query_data_list_item_nos_url = f"http://{server_host}:8080/jingbo-dev/api/warehouse/dwDataItem/queryDataListItemNos"
|
||||||
|
# # 上传数据项值
|
||||||
|
# push_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/dw/dataValue/pushDataValueList"
|
||||||
|
# # 上传停更数据到市场信息平台
|
||||||
|
# push_waring_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/crudeSaveOrupdate"
|
||||||
|
# # 获取预警数据中取消订阅指标ID
|
||||||
|
# get_waring_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/dataList"
|
||||||
|
|
||||||
|
# login_data = {
|
||||||
|
# "data": {
|
||||||
|
# "account": "api_test",
|
||||||
|
# # "password": "MmVmNzNlOWI0MmY0ZDdjZGUwNzE3ZjFiMDJiZDZjZWU=", # Shihua@123456
|
||||||
|
# "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", # 123456
|
||||||
|
# "tenantHashCode": "8a4577dbd919675758d57999a1e891fe",
|
||||||
|
# "terminal": "API"
|
||||||
|
# },
|
||||||
|
# "funcModule": "API",
|
||||||
|
# "funcOperation": "获取token"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# upload_data = {
|
||||||
|
# "funcModule": '研究报告信息',
|
||||||
|
# "funcOperation": '上传聚烯烃PP价格预测报告',
|
||||||
|
# "data": {
|
||||||
|
# "groupNo": "000127",
|
||||||
|
# "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": 'JXTJGYCBG', # 分析报告分类编码
|
||||||
|
# "reportEmployeeCode": "E40116", # 报告人
|
||||||
|
# "reportDeptCode": "D0044", # 报告部门
|
||||||
|
# "productGroupCode": "RAW_MATERIAL" # 商品分类
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
# # 已弃用
|
||||||
|
# warning_data = {
|
||||||
|
# "funcModule": '原油特征停更预警',
|
||||||
|
# "funcOperation": '原油特征停更预警',
|
||||||
|
# "data": {
|
||||||
|
# "groupNo": "000127",
|
||||||
|
# 'WARNING_TYPE_NAME': '特征数据停更预警',
|
||||||
|
# 'WARNING_CONTENT': '',
|
||||||
|
# 'WARNING_DATE': ''
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
# query_data_list_item_nos_data = {
|
||||||
|
# "funcModule": "数据项",
|
||||||
|
# "funcOperation": "查询",
|
||||||
|
# "data": {
|
||||||
|
# "dateStart": "20200101",
|
||||||
|
# "dateEnd": "",
|
||||||
|
# # 数据项编码,代表 PP期货 价格
|
||||||
|
# "dataItemNoList": ["MAIN_CONFT_SETTLE_PRICE"]
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# }
|
||||||
|
# ]
|
||||||
|
# }
|
||||||
|
|
||||||
|
|
||||||
|
# push_waring_data_value_list_data = {
|
||||||
|
# "data": {
|
||||||
|
# "crudeOilWarningDtoList": [
|
||||||
|
# {
|
||||||
|
# "lastUpdateDate": "20240501",
|
||||||
|
# "updateSuspensionCycle": 1,
|
||||||
|
# "dataSource": "9",
|
||||||
|
# "frequency": "1",
|
||||||
|
# "indicatorName": "美元指数",
|
||||||
|
# "indicatorId": "myzs001",
|
||||||
|
# "warningDate": "2024-05-13"
|
||||||
|
# }
|
||||||
|
# ],
|
||||||
|
# "dataSource": "9"
|
||||||
|
# },
|
||||||
|
# "funcModule": "商品数据同步",
|
||||||
|
# "funcOperation": "同步"
|
||||||
|
# }
|
||||||
|
|
||||||
|
|
||||||
|
# get_waring_data_value_list_data = {
|
||||||
|
# "data": "9", "funcModule": "商品数据同步", "funcOperation": "同步"}
|
||||||
|
|
||||||
|
|
||||||
|
# # 八大维度数据项编码
|
||||||
|
# bdwd_items = {
|
||||||
|
# 'ciri': 'jxtppbdwdcr',
|
||||||
|
# 'cierri': 'jxtppbdwdcer',
|
||||||
|
# 'cisanri': 'jxtppbdwdcsanr',
|
||||||
|
# 'cisiri': 'jxtppbdwdcsir',
|
||||||
|
# 'benzhou': 'jxtppbdwdbz',
|
||||||
|
# 'cizhou': 'jxtppbdwdcz',
|
||||||
|
# 'gezhou': 'jxtppbdwdgz',
|
||||||
|
# 'ciyue': 'jxtppbdwdcy',
|
||||||
|
# 'cieryue': 'jxtppbdwdcey',
|
||||||
|
# 'cisanyue': 'jxtppbdwdcsany',
|
||||||
|
# 'cisiyue': 'jxtppbdwdcsiy',
|
||||||
|
# }
|
||||||
# 北京环境数据库
|
# 北京环境数据库
|
||||||
host = '192.168.101.27'
|
host = '192.168.101.27'
|
||||||
port = 3306
|
port = 3306
|
||||||
@ -437,7 +437,7 @@ DEFAULT_CONFIG = {
|
|||||||
# 开关
|
# 开关
|
||||||
is_train = True # 是否训练
|
is_train = True # 是否训练
|
||||||
is_debug = False # 是否调试
|
is_debug = False # 是否调试
|
||||||
is_eta = False # 是否使用eta接口
|
is_eta = True # 是否使用eta接口
|
||||||
is_market = True # 是否通过市场信息平台获取特征 ,在is_eta 为true 的情况下生效
|
is_market = True # 是否通过市场信息平台获取特征 ,在is_eta 为true 的情况下生效
|
||||||
is_timefurture = True # 是否使用时间特征
|
is_timefurture = True # 是否使用时间特征
|
||||||
is_fivemodels = False # 是否使用之前保存的最佳的5个模型
|
is_fivemodels = False # 是否使用之前保存的最佳的5个模型
|
||||||
|
@ -336,12 +336,12 @@ columnsrename = {'251889263|FORECAST|PRICE|T05': '本周', '251889263|FORECAST|P
|
|||||||
|
|
||||||
|
|
||||||
# 生产环境数据库
|
# 生产环境数据库
|
||||||
# host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com'
|
host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com'
|
||||||
# port = 3306
|
port = 3306
|
||||||
# dbusername ='jingbo'
|
dbusername ='jingbo'
|
||||||
# password = 'shihua@123'
|
password = 'shihua@123'
|
||||||
# dbname = 'jingbo'
|
dbname = 'jingbo'
|
||||||
# table_name = 'v_tbl_crude_oil_warning'
|
table_name = 'v_tbl_crude_oil_warning'
|
||||||
|
|
||||||
|
|
||||||
# 变量定义--测试环境
|
# 变量定义--测试环境
|
||||||
@ -460,12 +460,12 @@ columnsrename = {'251889263|FORECAST|PRICE|T05': '本周', '251889263|FORECAST|P
|
|||||||
# 'jxtppbdwdcsany': '次三月', 'jxtppbdwdcy': '次月', 'jxtppbdwdcz': '次周', 'jxtppbdwdgz': '隔周', }
|
# 'jxtppbdwdcsany': '次三月', 'jxtppbdwdcy': '次月', 'jxtppbdwdcz': '次周', 'jxtppbdwdgz': '隔周', }
|
||||||
|
|
||||||
# 北京环境数据库
|
# 北京环境数据库
|
||||||
host = '192.168.101.27'
|
# host = '192.168.101.27'
|
||||||
port = 3306
|
# port = 3306
|
||||||
dbusername = 'root'
|
# dbusername = 'root'
|
||||||
password = '123456'
|
# password = '123456'
|
||||||
dbname = 'jingbo_test'
|
# dbname = 'jingbo_test'
|
||||||
table_name = 'v_tbl_crude_oil_warning'
|
# table_name = 'v_tbl_crude_oil_warning'
|
||||||
|
|
||||||
DEFAULT_CONFIG = {
|
DEFAULT_CONFIG = {
|
||||||
'feature_factor_frequency': 'D',
|
'feature_factor_frequency': 'D',
|
||||||
|
@ -301,12 +301,12 @@ bdwd_items = {
|
|||||||
|
|
||||||
|
|
||||||
# # 生产环境数据库
|
# # 生产环境数据库
|
||||||
# host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com'
|
host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com'
|
||||||
# port = 3306
|
port = 3306
|
||||||
# dbusername = 'jingbo'
|
dbusername = 'jingbo'
|
||||||
# password = 'shihua@123'
|
password = 'shihua@123'
|
||||||
# dbname = 'jingbo'
|
dbname = 'jingbo'
|
||||||
# table_name = 'v_tbl_crude_oil_warning'
|
table_name = 'v_tbl_crude_oil_warning'
|
||||||
|
|
||||||
|
|
||||||
# 变量定义--测试环境
|
# 变量定义--测试环境
|
||||||
@ -439,12 +439,12 @@ bdwd_items = {
|
|||||||
|
|
||||||
|
|
||||||
# 北京环境数据库
|
# 北京环境数据库
|
||||||
host = '192.168.101.27'
|
# host = '192.168.101.27'
|
||||||
port = 3306
|
# port = 3306
|
||||||
dbusername = 'root'
|
# dbusername = 'root'
|
||||||
password = '123456'
|
# password = '123456'
|
||||||
dbname = 'jingbo_test'
|
# dbname = 'jingbo_test'
|
||||||
table_name = 'v_tbl_crude_oil_warning'
|
# table_name = 'v_tbl_crude_oil_warning'
|
||||||
|
|
||||||
DEFAULT_CONFIG = {
|
DEFAULT_CONFIG = {
|
||||||
'feature_factor_frequency': 'D',
|
'feature_factor_frequency': 'D',
|
||||||
|
@ -3,6 +3,8 @@ from lib.dataread import *
|
|||||||
from config_juxiting_yuedu import *
|
from config_juxiting_yuedu import *
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
from models.nerulforcastmodels import pp_bdwd_png
|
||||||
|
|
||||||
global_config.update({
|
global_config.update({
|
||||||
# 核心参数
|
# 核心参数
|
||||||
'logger': logger,
|
'logger': logger,
|
||||||
@ -111,4 +113,12 @@ def push_png_report():
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
# 图片报告
|
||||||
|
try:
|
||||||
|
logger.info('图片报告ing')
|
||||||
|
pp_bdwd_png(global_config=global_config)
|
||||||
|
logger.info('图片报告end')
|
||||||
|
except Exception as e:
|
||||||
|
logger.info(f'图片报告失败:{e}')
|
||||||
|
time.sleep(5)
|
||||||
push_png_report()
|
push_png_report()
|
||||||
|
@ -994,6 +994,9 @@ def datachuli(df_zhibiaoshuju, df_zhibiaoliebiao, datecol='date', end_time='', y
|
|||||||
# kdj指标
|
# kdj指标
|
||||||
if add_kdj:
|
if add_kdj:
|
||||||
df = calculate_kdj(df)
|
df = calculate_kdj(df)
|
||||||
|
# 保存填充后的数据
|
||||||
|
df.to_csv(os.path.join(
|
||||||
|
dataset, '处理后的特征数据.csv'), index=False)
|
||||||
|
|
||||||
# 特征分析
|
# 特征分析
|
||||||
featureAnalysis(df, dataset=dataset, y=y)
|
featureAnalysis(df, dataset=dataset, y=y)
|
||||||
@ -1080,7 +1083,6 @@ def zhoududatachuli(df_zhibiaoshuju, df_zhibiaoliebiao, datecol='date', end_time
|
|||||||
|
|
||||||
|
|
||||||
def datachuli_juxiting(df_zhibiaoshuju, df_zhibiaoliebiao, datecol='date', end_time='', y='y', dataset='dataset', delweekenday=True, add_kdj=False, is_timefurture=False):
|
def datachuli_juxiting(df_zhibiaoshuju, df_zhibiaoliebiao, datecol='date', end_time='', y='y', dataset='dataset', delweekenday=True, add_kdj=False, is_timefurture=False):
|
||||||
|
|
||||||
'''
|
'''
|
||||||
聚烯烃特征数据处理函数,
|
聚烯烃特征数据处理函数,
|
||||||
接收的是两个df,一个是指标数据,一个是指标列表
|
接收的是两个df,一个是指标数据,一个是指标列表
|
||||||
@ -1175,14 +1177,12 @@ def datachuli_juxiting(df_zhibiaoshuju, df_zhibiaoliebiao, datecol='date', end_t
|
|||||||
# 删除预测列空值的行
|
# 删除预测列空值的行
|
||||||
# df = df.dropna(subset=['y'])
|
# df = df.dropna(subset=['y'])
|
||||||
# config.logger.info(f'删除预测列为空值的行后数据量:{df.shape}')
|
# config.logger.info(f'删除预测列为空值的行后数据量:{df.shape}')
|
||||||
|
|
||||||
|
|
||||||
# 去掉指标列表中的columns_to_drop的行
|
# 去掉指标列表中的columns_to_drop的行
|
||||||
df_zhibiaoliebiao = df_zhibiaoliebiao[df_zhibiaoliebiao['指标名称'].isin(
|
df_zhibiaoliebiao = df_zhibiaoliebiao[df_zhibiaoliebiao['指标名称'].isin(
|
||||||
df.columns.tolist())]
|
df.columns.tolist())]
|
||||||
df_zhibiaoliebiao.to_csv(os.path.join(
|
df_zhibiaoliebiao.to_csv(os.path.join(
|
||||||
dataset, '特征处理后的指标名称及分类.csv'), index=False)
|
dataset, '特征处理后的指标名称及分类.csv'), index=False)
|
||||||
|
|
||||||
|
|
||||||
if add_kdj:
|
if add_kdj:
|
||||||
df = calculate_kdj(df)
|
df = calculate_kdj(df)
|
||||||
@ -1334,7 +1334,6 @@ def getdata_juxiting(filename, datecol='date', y='y', dataset='', add_kdj=False,
|
|||||||
df = datachuli_juxiting(df_zhibiaoshuju, df_zhibiaoliebiao, datecol, y=y, dataset=dataset,
|
df = datachuli_juxiting(df_zhibiaoshuju, df_zhibiaoliebiao, datecol, y=y, dataset=dataset,
|
||||||
add_kdj=add_kdj, is_timefurture=is_timefurture, end_time=end_time)
|
add_kdj=add_kdj, is_timefurture=is_timefurture, end_time=end_time)
|
||||||
|
|
||||||
|
|
||||||
return df, df_zhibiaoliebiao
|
return df, df_zhibiaoliebiao
|
||||||
|
|
||||||
|
|
||||||
|
64
lib/tools.py
64
lib/tools.py
@ -865,8 +865,6 @@ def convert_df_to_pydantic_pp(df_predict, model_id_name_dict, global_config):
|
|||||||
def find_best_models(date='', global_config=None):
|
def find_best_models(date='', global_config=None):
|
||||||
best_models = {}
|
best_models = {}
|
||||||
model_id_name_dict = get_model_id_name_dict(global_config=global_config)
|
model_id_name_dict = get_model_id_name_dict(global_config=global_config)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 处理日期输入
|
# 处理日期输入
|
||||||
if not date:
|
if not date:
|
||||||
@ -881,7 +879,6 @@ def find_best_models(date='', global_config=None):
|
|||||||
return best_models
|
return best_models
|
||||||
current_date = datetime.datetime.strptime(date, '%Y-%m-%d')
|
current_date = datetime.datetime.strptime(date, '%Y-%m-%d')
|
||||||
|
|
||||||
|
|
||||||
# 上一交易日日期 Last trading day
|
# 上一交易日日期 Last trading day
|
||||||
last_trading_day = pd.Timestamp(date) - pd.tseries.offsets.BusinessDay(1)
|
last_trading_day = pd.Timestamp(date) - pd.tseries.offsets.BusinessDay(1)
|
||||||
last_trading_day_str = last_trading_day.strftime('%Y-%m-%d')
|
last_trading_day_str = last_trading_day.strftime('%Y-%m-%d')
|
||||||
@ -978,7 +975,8 @@ def find_best_models(date='', global_config=None):
|
|||||||
if i == 0:
|
if i == 0:
|
||||||
# 计算当前日期的前一工作日日期
|
# 计算当前日期的前一工作日日期
|
||||||
ciridate = last_trading_day_str
|
ciridate = last_trading_day_str
|
||||||
global_config['logger'].info(f'计算预测{last_trading_day}的次日{last_trading_day}最佳模型')
|
global_config['logger'].info(
|
||||||
|
f'计算预测{last_trading_day}的次日{last_trading_day}最佳模型')
|
||||||
global_config['logger'].info(
|
global_config['logger'].info(
|
||||||
f'{date}真实价格:{true_price[true_price["ds"] == ciridate]["y"].values[0]}')
|
f'{date}真实价格:{true_price[true_price["ds"] == ciridate]["y"].values[0]}')
|
||||||
price = df[['data_date', wd, 'model_id']]
|
price = df[['data_date', wd, 'model_id']]
|
||||||
@ -1006,7 +1004,8 @@ def find_best_models(date='', global_config=None):
|
|||||||
# 计算五个工作日之前的日期
|
# 计算五个工作日之前的日期
|
||||||
benzhoudate = (pd.Timestamp(last_trading_day) -
|
benzhoudate = (pd.Timestamp(last_trading_day) -
|
||||||
pd.Timedelta(days=7)).strftime('%Y-%m-%d')
|
pd.Timedelta(days=7)).strftime('%Y-%m-%d')
|
||||||
global_config['logger'].info(f'计算预测{last_trading_day}的五天前{benzhoudate}最佳模型')
|
global_config['logger'].info(
|
||||||
|
f'计算预测{last_trading_day}的五天前{benzhoudate}最佳模型')
|
||||||
global_config['logger'].info(
|
global_config['logger'].info(
|
||||||
f'{date}真实价格:{true_price[true_price["ds"] == last_trading_day_str]["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 = df[['data_date', wd, 'model_id']]
|
||||||
@ -1033,12 +1032,14 @@ def find_best_models(date='', global_config=None):
|
|||||||
elif i in [2, 3]:
|
elif i in [2, 3]:
|
||||||
weeks_ago = 1 if i == 2 else 2
|
weeks_ago = 1 if i == 2 else 2
|
||||||
ago_monday = last_trading_day - \
|
ago_monday = last_trading_day - \
|
||||||
datetime.timedelta(days=last_trading_day.weekday() + 7 * weeks_ago)
|
datetime.timedelta(
|
||||||
|
days=last_trading_day.weekday() + 7 * weeks_ago)
|
||||||
ago_sunday = ago_monday + datetime.timedelta(days=6)
|
ago_sunday = ago_monday + datetime.timedelta(days=6)
|
||||||
ago_date_str = f"{ago_monday.strftime('%Y-%m-%d')} - {ago_sunday.strftime('%Y-%m-%d')}"
|
ago_date_str = f"{ago_monday.strftime('%Y-%m-%d')} - {ago_sunday.strftime('%Y-%m-%d')}"
|
||||||
global_config['logger'].info(
|
global_config['logger'].info(
|
||||||
f'计算预测{date}的前{weeks_ago}周{ago_date_str}最佳模型')
|
f'计算预测{date}的前{weeks_ago}周{ago_date_str}最佳模型')
|
||||||
weektrueprice = true_price[(true_price['ds'] >= ago_monday.strftime('%Y-%m-%d')) & (true_price['ds'] <= ago_sunday.strftime('%Y-%m-%d'))]['y'].mean()
|
weektrueprice = true_price[(true_price['ds'] >= ago_monday.strftime(
|
||||||
|
'%Y-%m-%d')) & (true_price['ds'] <= ago_sunday.strftime('%Y-%m-%d'))]['y'].mean()
|
||||||
global_config['logger'].info(
|
global_config['logger'].info(
|
||||||
f'当周{date_monday.strftime("%Y-%m-%d")}---{last_trading_day_str}真实价格的周均价:{weektrueprice}')
|
f'当周{date_monday.strftime("%Y-%m-%d")}---{last_trading_day_str}真实价格的周均价:{weektrueprice}')
|
||||||
|
|
||||||
@ -1102,7 +1103,7 @@ def find_best_models(date='', global_config=None):
|
|||||||
return best_models
|
return best_models
|
||||||
|
|
||||||
|
|
||||||
def plot_pp_predict_result(y_hat, global_config,wd='yuedu'):
|
def plot_pp_predict_result(y_hat, global_config, wd='yuedu'):
|
||||||
"""
|
"""
|
||||||
绘制PP期货预测结果的图表
|
绘制PP期货预测结果的图表
|
||||||
"""
|
"""
|
||||||
@ -1115,11 +1116,16 @@ def plot_pp_predict_result(y_hat, global_config,wd='yuedu'):
|
|||||||
global_config['dataset'], '指标数据.csv'))[['ds', 'y']][-12:]
|
global_config['dataset'], '指标数据.csv'))[['ds', 'y']][-12:]
|
||||||
xgx_df = pd.read_csv(os.path.join(
|
xgx_df = pd.read_csv(os.path.join(
|
||||||
global_config['dataset'], '相关系数.csv'))
|
global_config['dataset'], '相关系数.csv'))
|
||||||
|
title = 'PP期货月维度预测价格走势'
|
||||||
|
|
||||||
else:
|
else:
|
||||||
y = pd.read_csv('juxitingdataset/指标数据.csv')[['ds', 'y']][-30:]
|
y = pd.read_csv('juxitingdataset/指标数据.csv')[['ds', 'y']][-30:]
|
||||||
xgx_df = pd.read_csv('juxitingdataset/相关系数.csv')
|
xgx_df = pd.read_csv('juxitingdataset/相关系数.csv')
|
||||||
xgx_df = xgx_df.rename(columns={xgx_df.columns[0]: '指标', xgx_df.columns[1]: '系数'})
|
title = 'PP期货日、周维度预测价格走势'
|
||||||
top_10_correlations = xgx_df.sort_values(by='系数', ascending=False)[1:11].round(2)
|
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].round(2)
|
||||||
y['ds'] = pd.to_datetime(y['ds'])
|
y['ds'] = pd.to_datetime(y['ds'])
|
||||||
y = y[y['ds'] < y_hat['ds'].iloc[0]]
|
y = y[y['ds'] < y_hat['ds'].iloc[0]]
|
||||||
|
|
||||||
@ -1146,8 +1152,7 @@ def plot_pp_predict_result(y_hat, global_config,wd='yuedu'):
|
|||||||
color='orange', label='预测值', ax=ax, linestyle='--', linewidth=2)
|
color='orange', label='预测值', ax=ax, linestyle='--', linewidth=2)
|
||||||
# 绘制散点图
|
# 绘制散点图
|
||||||
sns.scatterplot(x=y_y_hat['ds'], y=y_y_hat['predictresult'],
|
sns.scatterplot(x=y_y_hat['ds'], y=y_y_hat['predictresult'],
|
||||||
color='orange', ax=ax, marker='o', s=100)
|
color='orange', ax=ax, marker='o', s=100)
|
||||||
|
|
||||||
|
|
||||||
# 绘制 y 的折线图,颜色为蓝色
|
# 绘制 y 的折线图,颜色为蓝色
|
||||||
sns.lineplot(x=y['ds'], y=y['y'], color='blue', label='真实值', ax=ax)
|
sns.lineplot(x=y['ds'], y=y['y'], color='blue', label='真实值', ax=ax)
|
||||||
@ -1158,7 +1163,9 @@ def plot_pp_predict_result(y_hat, global_config,wd='yuedu'):
|
|||||||
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))
|
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))
|
||||||
|
|
||||||
# date_str = pd.Timestamp(y_hat["ds"].iloc[0]).strftime('%Y-%m-%d')
|
# date_str = pd.Timestamp(y_hat["ds"].iloc[0]).strftime('%Y-%m-%d')
|
||||||
ax.set_title(f'{datetime.datetime.now().strftime("%Y-%m-%d")} PP期货十一大维度 预测价格走势', fontsize=24)
|
ax.set_title(
|
||||||
|
f'{datetime.datetime.now().strftime("%Y-%m-%d")} {title}', fontsize=24)
|
||||||
|
|
||||||
ax.set_xlabel('日期')
|
ax.set_xlabel('日期')
|
||||||
ax.set_ylabel('预测结果')
|
ax.set_ylabel('预测结果')
|
||||||
ax.tick_params(axis='x', rotation=45)
|
ax.tick_params(axis='x', rotation=45)
|
||||||
@ -1181,18 +1188,18 @@ def plot_pp_predict_result(y_hat, global_config,wd='yuedu'):
|
|||||||
|
|
||||||
# 在图表下方添加表格
|
# 在图表下方添加表格
|
||||||
table = ax.table(cellText=data, colLabels=columns,
|
table = ax.table(cellText=data, colLabels=columns,
|
||||||
loc='bottom', bbox=[0, -0.4, 1, 0.2],cellLoc='center')
|
loc='bottom', bbox=[0, -0.4, 1, 0.2], cellLoc='center')
|
||||||
# 设置表头为浅蓝色
|
# 设置表头为浅蓝色
|
||||||
for (i, j), cell in table.get_celld().items():
|
for (i, j), cell in table.get_celld().items():
|
||||||
if i == 0: # 表头行
|
if i == 0: # 表头行
|
||||||
cell.set_facecolor('lightblue')
|
cell.set_facecolor('lightblue')
|
||||||
table.auto_set_font_size(False)
|
table.auto_set_font_size(False)
|
||||||
table.set_fontsize(12)
|
table.set_fontsize(12)
|
||||||
|
|
||||||
# 相关系数表格 - 准备数据(指标名称+相关系数两列)
|
# 相关系数表格 - 准备数据(指标名称+相关系数两列)
|
||||||
table_data = top_10_correlations[['指标', '系数']].values.tolist() # 提取表格数据
|
table_data = top_10_correlations[['指标', '系数']].values.tolist() # 提取表格数据
|
||||||
table_data.insert(0, ['指标名称', '相关系数']) # 添加表头
|
table_data.insert(0, ['指标名称', '相关系数']) # 添加表头
|
||||||
|
|
||||||
# 在当前图表下方绘制表格(调整bbox参数控制位置和大小)
|
# 在当前图表下方绘制表格(调整bbox参数控制位置和大小)
|
||||||
table = ax.table(
|
table = ax.table(
|
||||||
cellText=table_data, # 表格数据
|
cellText=table_data, # 表格数据
|
||||||
@ -1207,14 +1214,15 @@ def plot_pp_predict_result(y_hat, global_config,wd='yuedu'):
|
|||||||
table.auto_set_font_size(False) # 关闭自动字体大小
|
table.auto_set_font_size(False) # 关闭自动字体大小
|
||||||
table.set_fontsize(10) # 设置表格字体大小
|
table.set_fontsize(10) # 设置表格字体大小
|
||||||
table.scale(1.1, 1.5) # 调整表格缩放比例(宽度, 高度)
|
table.scale(1.1, 1.5) # 调整表格缩放比例(宽度, 高度)
|
||||||
|
|
||||||
plt.tight_layout() # 自动调整整体布局
|
plt.tight_layout() # 自动调整整体布局
|
||||||
plt.savefig(os.path.join(
|
plt.savefig(os.path.join(
|
||||||
global_config['dataset'], f'pp_{wd}correlation.png'),
|
global_config['dataset'], f'pp_{wd}correlation.png'),
|
||||||
bbox_inches='tight',
|
bbox_inches='tight',
|
||||||
pad_inches=1.0 # 增加边距
|
pad_inches=1.0 # 增加边距
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def merge_images(image1_path, image2_path, output_path, direction='horizontal'):
|
def merge_images(image1_path, image2_path, output_path, direction='horizontal'):
|
||||||
img1 = Image.open(image1_path).convert('RGBA') # 保留透明通道
|
img1 = Image.open(image1_path).convert('RGBA') # 保留透明通道
|
||||||
img2 = Image.open(image2_path).convert('RGBA')
|
img2 = Image.open(image2_path).convert('RGBA')
|
||||||
@ -1226,12 +1234,16 @@ def merge_images(image1_path, image2_path, output_path, direction='horizontal'):
|
|||||||
# 统一尺寸(横向拼接统一高度,纵向拼接统一宽度)
|
# 统一尺寸(横向拼接统一高度,纵向拼接统一宽度)
|
||||||
if direction == 'horizontal':
|
if direction == 'horizontal':
|
||||||
new_height = max(height1, height2)
|
new_height = max(height1, height2)
|
||||||
img1 = img1.resize((int(width1 * new_height / height1), new_height), Image.LANCZOS)
|
img1 = img1.resize(
|
||||||
img2 = img2.resize((int(width2 * new_height / height2), new_height), Image.LANCZOS)
|
(int(width1 * new_height / height1), new_height), Image.LANCZOS)
|
||||||
|
img2 = img2.resize(
|
||||||
|
(int(width2 * new_height / height2), new_height), Image.LANCZOS)
|
||||||
else:
|
else:
|
||||||
new_width = max(width1, width2)
|
new_width = max(width1, width2)
|
||||||
img1 = img1.resize((new_width, int(height1 * new_width / width1)), Image.LANCZOS)
|
img1 = img1.resize(
|
||||||
img2 = img2.resize((new_width, int(height2 * new_width / width2)), Image.LANCZOS)
|
(new_width, int(height1 * new_width / width1)), Image.LANCZOS)
|
||||||
|
img2 = img2.resize(
|
||||||
|
(new_width, int(height2 * new_width / width2)), Image.LANCZOS)
|
||||||
|
|
||||||
# 重新获取调整后的尺寸
|
# 重新获取调整后的尺寸
|
||||||
width1, height1 = img1.size
|
width1, height1 = img1.size
|
||||||
@ -1245,12 +1257,12 @@ def merge_images(image1_path, image2_path, output_path, direction='horizontal'):
|
|||||||
|
|
||||||
# 粘贴图片
|
# 粘贴图片
|
||||||
new_img.paste(img1, (0, 0))
|
new_img.paste(img1, (0, 0))
|
||||||
new_img.paste(img2, (width1, 0) if direction == 'horizontal' else (0, height1))
|
new_img.paste(img2, (width1, 0) if direction ==
|
||||||
|
'horizontal' else (0, height1))
|
||||||
|
|
||||||
# 保存为PNG保留透明(如需JPG可转为RGB)
|
# 保存为PNG保留透明(如需JPG可转为RGB)
|
||||||
new_img.save(output_path, 'PNG')
|
new_img.save(output_path, 'PNG')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print('This is a tool, not a script.')
|
print('This is a tool, not a script.')
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ from models.nerulforcastmodels import ex_Model_Juxiting, model_losss_juxiting, p
|
|||||||
import datetime
|
import datetime
|
||||||
import torch
|
import torch
|
||||||
torch.set_float32_matmul_precision("high")
|
torch.set_float32_matmul_precision("high")
|
||||||
|
torch.set_num_threads(4)
|
||||||
|
|
||||||
global_config.update({
|
global_config.update({
|
||||||
# 核心参数
|
# 核心参数
|
||||||
@ -566,9 +567,10 @@ if __name__ == '__main__':
|
|||||||
# except Exception as e:
|
# except Exception as e:
|
||||||
# logger.info(f'预测失败:{e}')
|
# logger.info(f'预测失败:{e}')
|
||||||
# continue
|
# continue
|
||||||
# global_config['end_time'] = '2025-08-05'
|
|
||||||
|
# global_config['end_time'] = '2025-08-14'
|
||||||
predict_main()
|
predict_main()
|
||||||
|
|
||||||
# global_config['end_time'] = '2025-08-12'
|
# global_config['end_time'] = '2025-08-14'
|
||||||
# push_market_value()
|
# push_market_value()
|
||||||
# sql_inset_predict(global_config)
|
# sql_inset_predict(global_config)
|
||||||
|
@ -7,6 +7,7 @@ from models.nerulforcastmodels import ex_Model_Juxiting, model_losss_juxiting, p
|
|||||||
import datetime
|
import datetime
|
||||||
import torch
|
import torch
|
||||||
torch.set_float32_matmul_precision("high")
|
torch.set_float32_matmul_precision("high")
|
||||||
|
torch.set_num_threads(4)
|
||||||
|
|
||||||
global_config.update({
|
global_config.update({
|
||||||
# 核心参数
|
# 核心参数
|
||||||
@ -510,13 +511,7 @@ def predict_main():
|
|||||||
|
|
||||||
# logger.info('制作报告end')
|
# logger.info('制作报告end')
|
||||||
|
|
||||||
# 图片报告
|
|
||||||
try:
|
|
||||||
logger.info('图片报告ing')
|
|
||||||
pp_bdwd_png(global_config=global_config)
|
|
||||||
logger.info('图片报告end')
|
|
||||||
except Exception as e:
|
|
||||||
logger.info(f'图片报告失败:{e}')
|
|
||||||
|
|
||||||
# # LSTM 单变量模型
|
# # LSTM 单变量模型
|
||||||
# ex_Lstm(df,input_seq_len=input_size,output_seq_len=horizon,is_debug=is_debug,dataset=dataset)
|
# ex_Lstm(df,input_seq_len=input_size,output_seq_len=horizon,is_debug=is_debug,dataset=dataset)
|
||||||
@ -552,7 +547,7 @@ if __name__ == '__main__':
|
|||||||
# logger.info(f'预测失败:{e}')
|
# logger.info(f'预测失败:{e}')
|
||||||
# continue
|
# continue
|
||||||
|
|
||||||
# global_config['end_time'] = '2025-08-13'
|
# global_config['end_time'] = '2025-08-14'
|
||||||
predict_main()
|
predict_main()
|
||||||
# push_market_value()
|
# push_market_value()
|
||||||
# sql_inset_predict(global_config)
|
# sql_inset_predict(global_config)
|
||||||
|
@ -7,6 +7,7 @@ from models.nerulforcastmodels import ex_Model_Juxiting, model_losss_juxiting, p
|
|||||||
import datetime
|
import datetime
|
||||||
import torch
|
import torch
|
||||||
torch.set_float32_matmul_precision("high")
|
torch.set_float32_matmul_precision("high")
|
||||||
|
torch.set_num_threads(4)
|
||||||
|
|
||||||
global_config.update({
|
global_config.update({
|
||||||
# 核心参数
|
# 核心参数
|
||||||
@ -520,7 +521,7 @@ if __name__ == '__main__':
|
|||||||
# continue
|
# continue
|
||||||
|
|
||||||
|
|
||||||
# global_config['end_time'] = '2025-08-12'
|
# global_config['end_time'] = '2025-08-14'
|
||||||
predict_main()
|
predict_main()
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +17,8 @@ def run_predictions(target_date):
|
|||||||
# 依次执行每个脚本
|
# 依次执行每个脚本
|
||||||
for script in scripts:
|
for script in scripts:
|
||||||
# command = [r"C:\Users\Hello\.conda\envs\predict\python", script] # liuruipc
|
# command = [r"C:\Users\Hello\.conda\envs\predict\python", script] # liuruipc
|
||||||
command = [r"C:/Users/EDY/.conda/envs/priceforecast/python.exe", script] #168pc
|
command = [r"D:/yuanyouyuce/envs/priceforecast/python", script] # 线上配置
|
||||||
|
# command = [r"C:/Users/EDY/.conda/envs/priceforecast/python.exe", script] #168pc
|
||||||
# command = [r"C:/Users/Hello/.conda/envs/jaigeyuce/python.exe", script] #yitijipc
|
# command = [r"C:/Users/Hello/.conda/envs/jaigeyuce/python.exe", script] #yitijipc
|
||||||
subprocess.run(command, check=True)
|
subprocess.run(command, check=True)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user