聚烯烃图片报告标题更改
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,一个是指标数据,一个是指标列表 | ||||||
| @ -1176,14 +1178,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 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										56
									
								
								lib/tools.py
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								lib/tools.py
									
									
									
									
									
								
							| @ -866,8 +866,6 @@ 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: | ||||||
|         date = datetime.datetime.now().strftime('%Y-%m-%d') |         date = datetime.datetime.now().strftime('%Y-%m-%d') | ||||||
| @ -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,7 +1188,7 @@ 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:  # 表头行 | ||||||
| @ -1189,7 +1196,7 @@ 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(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, ['指标名称', '相关系数'])  # 添加表头 | ||||||
| 
 | 
 | ||||||
| @ -1215,6 +1222,7 @@ def plot_pp_predict_result(y_hat, global_config,wd='yuedu'): | |||||||
|         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