diff --git a/config_jingbo.py b/config_jingbo.py index d99b7a4..5f9c4c9 100644 --- a/config_jingbo.py +++ b/config_jingbo.py @@ -93,163 +93,24 @@ data = { ClassifyId = 1214 -# # 变量定义--线上环境 -# 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" -# # 上传停更数据到市场信息平台 -# 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": '上传原油价格预测报告', -# "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 -# } -# ] -# } - - -# push_waring_data_value_list_data = { -# "data": { -# "crudeOilWarningDtoList": [ -# { -# "lastUpdateDate": "20240501", -# "updateSuspensionCycle": 1, -# "dataSource": "8", -# "frequency": "1", -# "indicatorName": "美元指数", -# "indicatorId": "myzs001", -# "warningDate": "2024-05-13" -# } -# ], -# "dataSource": "8" -# }, -# "funcModule": "商品数据同步", -# "funcOperation": "同步" -# } - - -# get_waring_data_value_list_data = { -# "data": "8", "funcModule": "商品数据同步", "funcOperation": "同步"} - - -# # 八大维度数据项编码 -# 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' # 内网 -# 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" +# 变量定义--线上环境 +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}: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 -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 = { "data": { - "account": "api_test", - # "password": "MmVmNzNlOWI0MmY0ZDdjZGUwNzE3ZjFiMDJiZDZjZWU=", # Shihua@123456 - "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", # 123456 + "account": "api_dev", + "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", "tenantHashCode": "8a4577dbd919675758d57999a1e891fe", "terminal": "API" }, @@ -257,25 +118,24 @@ login_data = { "funcOperation": "获取token" } + upload_data = { - "groupNo": '', # 用户组id "funcModule": '研究报告信息', "funcOperation": '上传原油价格预测报告', "data": { - "ownerAccount": 'arui', # 报告所属用户账号 + "groupNo": '', # 用户组id + "ownerAccount": '27663', # 报告所属用户账号 27663 - 刘小朋 "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 "categoryNo": 'yyjgycbg', # 研究报告分类编码 "smartBusinessClassCode": 'YCJGYCBG', # 分析报告分类编码 - "reportEmployeeCode": "E40116", # 报告人 - "reportDeptCode": "D0044", # 报告部门 + "reportEmployeeCode": "E40482", # 报告人 E40482 - 管理员 0000027663 - 刘小朋 + "reportDeptCode": "002000621000", # 报告部门 - 002000621000 SH期货研究部 "productGroupCode": "RAW_MATERIAL" # 商品分类 } } - -# 已弃用 warning_data = { "groupNo": '', # 用户组id "funcModule": '原油特征停更预警', @@ -297,6 +157,7 @@ query_data_list_item_nos_data = { } } + push_data_value_list_data = { "funcModule": "数据表信息列表", "funcOperation": "新增", @@ -319,6 +180,7 @@ push_data_value_list_data = { ] } + push_waring_data_value_list_data = { "data": { "crudeOilWarningDtoList": [ @@ -342,27 +204,165 @@ push_waring_data_value_list_data = { get_waring_data_value_list_data = { "data": "8", "funcModule": "商品数据同步", "funcOperation": "同步"} + # 八大维度数据项编码 bdwd_items = { - 'ciri': 'yyycbdwdcr', - 'benzhou': 'yyycbdwdbz', - 'cizhou': 'yyycbdwdcz', - 'gezhou': 'yyycbdwdgz', - 'ciyue': 'yyycbdwdcy', - 'cieryue': 'yyycbdwdcey', - 'cisanyue': 'yyycbdwdcsy', - 'cisiyue': 'yyycbdwdcsiy', + '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 = '192.168.101.27' +# 生产环境数据库 +host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com' port = 3306 -dbusername = 'root' -password = '123456' -dbname = 'jingbo_test' +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 = { +# "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 +# } +# ] +# } + +# push_waring_data_value_list_data = { +# "data": { +# "crudeOilWarningDtoList": [ +# { +# "lastUpdateDate": "20240501", +# "updateSuspensionCycle": 1, +# "dataSource": "8", +# "frequency": "1", +# "indicatorName": "美元指数", +# "indicatorId": "myzs001", +# "warningDate": "2024-05-13" +# } +# ], +# "dataSource": "8" +# }, +# "funcModule": "商品数据同步", +# "funcOperation": "同步" +# } + + +# get_waring_data_value_list_data = { +# "data": "8", "funcModule": "商品数据同步", "funcOperation": "同步"} + +# # 八大维度数据项编码 +# bdwd_items = { +# 'ciri': 'yyycbdwdcr', +# 'benzhou': 'yyycbdwdbz', +# 'cizhou': 'yyycbdwdcz', +# 'gezhou': 'yyycbdwdgz', +# 'ciyue': 'yyycbdwdcy', +# 'cieryue': 'yyycbdwdcey', +# 'cisanyue': 'yyycbdwdcsy', +# 'cisiyue': 'yyycbdwdcsiy', +# } + + +# # 北京环境数据库 +# host = '192.168.101.27' +# port = 3306 +# dbusername = 'root' +# password = '123456' +# dbname = 'jingbo_test' +# table_name = 'v_tbl_crude_oil_warning' + DEFAULT_CONFIG = { 'feature_factor_frequency': 'D', 'strategy_id': 1, diff --git a/config_jingbo_yuedu.py b/config_jingbo_yuedu.py index 4712185..d4fb83f 100644 --- a/config_jingbo_yuedu.py +++ b/config_jingbo_yuedu.py @@ -172,131 +172,19 @@ data = { ClassifyId = 1214 -# # 变量定义--线上环境 -# 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', -# } - -# # 报告中八大维度数据项重命名 -# columnsrename = { -# '原油大数据预测|FORECAST|PRICE|T': '次日', '原油大数据预测|FORECAST|PRICE|W': '本周', -# '原油大数据预测|FORECAST|PRICE|W_1': '次周', '原油大数据预测|FORECAST|PRICE|W_2': '隔周', -# '原油大数据预测|FORECAST|PRICE|M_1': '次月', '原油大数据预测|FORECAST|PRICE|M_2': '次二月', -# '原油大数据预测|FORECAST|PRICE|M_3': '次三月', '原油大数据预测|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" +# 变量定义--线上环境 +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-dev/api/dw/dataValue/pushDataValueList" +push_data_value_list_url = f"http://{server_host}/jingbo-api/api/dw/dataValue/pushDataValueList" login_data = { "data": { - "account": "api_test", - # "password": "MmVmNzNlOWI0MmY0ZDdjZGUwNzE3ZjFiMDJiZDZjZWU=", # Shihua@123456 - "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", # 123456 + "account": "api_dev", + "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", "tenantHashCode": "8a4577dbd919675758d57999a1e891fe", "terminal": "API" }, @@ -304,24 +192,24 @@ login_data = { "funcOperation": "获取token" } + upload_data = { - "groupNo": '', # 用户组id "funcModule": '研究报告信息', "funcOperation": '上传原油价格预测报告', "data": { - "ownerAccount": 'arui', # 报告所属用户账号 + "groupNo": '', # 用户组id + "ownerAccount": '27663', # 报告所属用户账号 27663 - 刘小朋 "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 "categoryNo": 'yyjgycbg', # 研究报告分类编码 "smartBusinessClassCode": 'YCJGYCBG', # 分析报告分类编码 - "reportEmployeeCode": "E40116", # 报告人 - "reportDeptCode": "D0044", # 报告部门 + "reportEmployeeCode": "E40482", # 报告人 E40482 - 管理员 0000027663 - 刘小朋 + "reportDeptCode": "002000621000", # 报告部门 - 002000621000 SH期货研究部 "productGroupCode": "RAW_MATERIAL" # 商品分类 } } - warning_data = { "groupNo": '', # 用户组id "funcModule": '原油特征停更预警', @@ -343,6 +231,7 @@ query_data_list_item_nos_data = { } } + push_data_value_list_data = { "funcModule": "数据表信息列表", "funcOperation": "新增", @@ -366,27 +255,138 @@ push_data_value_list_data = { } # 八大维度数据项编码 bdwd_items = { - 'ciri': 'yyycbdwdcr', - 'benzhou': 'yyycbdwdbz', - 'cizhou': 'yyycbdwdcz', - 'gezhou': 'yyycbdwdgz', - 'ciyue': 'yyycbdwdcy', - 'cieryue': 'yyycbdwdcey', - 'cisanyue': 'yyycbdwdcsy', - 'cisiyue': 'yyycbdwdcsiy', + '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', } # 报告中八大维度数据项重命名 -columnsrename = {'yyycbdwdbz': '本周', 'yyycbdwdcey': '次二月', 'yyycbdwdcr': '次日', 'yyycbdwdcsiy': '次四月', - 'yyycbdwdcsy': '次三月', 'yyycbdwdcy': '次月', 'yyycbdwdcz': '次周', 'yyycbdwdgz': '隔周', } -# 北京环境数据库 -host = '192.168.101.27' +columnsrename = { + '原油大数据预测|FORECAST|PRICE|T': '次日', '原油大数据预测|FORECAST|PRICE|W': '本周', + '原油大数据预测|FORECAST|PRICE|W_1': '次周', '原油大数据预测|FORECAST|PRICE|W_2': '隔周', + '原油大数据预测|FORECAST|PRICE|M_1': '次月', '原油大数据预测|FORECAST|PRICE|M_2': '次二月', + '原油大数据预测|FORECAST|PRICE|M_3': '次三月', '原油大数据预测|FORECAST|PRICE|M_4': '次四月' +} + +# 生产环境数据库 +host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com' port = 3306 -dbusername = 'root' -password = '123456' -dbname = 'jingbo_test' +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': 'yyycbdwdcr', +# 'benzhou': 'yyycbdwdbz', +# 'cizhou': 'yyycbdwdcz', +# 'gezhou': 'yyycbdwdgz', +# 'ciyue': 'yyycbdwdcy', +# 'cieryue': 'yyycbdwdcey', +# 'cisanyue': 'yyycbdwdcsy', +# 'cisiyue': 'yyycbdwdcsiy', +# } + +# # 报告中八大维度数据项重命名 +# columnsrename = {'yyycbdwdbz': '本周', 'yyycbdwdcey': '次二月', 'yyycbdwdcr': '次日', 'yyycbdwdcsiy': '次四月', +# 'yyycbdwdcsy': '次三月', 'yyycbdwdcy': '次月', 'yyycbdwdcz': '次周', 'yyycbdwdgz': '隔周', } +# # 北京环境数据库 +# host = '192.168.101.27' +# port = 3306 +# dbusername = 'root' +# password = '123456' +# dbname = 'jingbo_test' +# table_name = 'v_tbl_crude_oil_warning' + DEFAULT_CONFIG = { 'feature_factor_frequency': 'D', 'strategy_id': 1, diff --git a/config_jingbo_zhoudu.py b/config_jingbo_zhoudu.py index 304130e..784d8d9 100644 --- a/config_jingbo_zhoudu.py +++ b/config_jingbo_zhoudu.py @@ -119,125 +119,19 @@ data = { ClassifyId = 1214 -# # 变量定义--线上环境 -# 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" +# 变量定义--线上环境 +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-dev/api/dw/dataValue/pushDataValueList" +push_data_value_list_url = f"http://{server_host}/jingbo-api/api/dw/dataValue/pushDataValueList" login_data = { "data": { - "account": "api_test", - # "password": "MmVmNzNlOWI0MmY0ZDdjZGUwNzE3ZjFiMDJiZDZjZWU=", # Shihua@123456 - "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", # 123456 + "account": "api_dev", + "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=", "tenantHashCode": "8a4577dbd919675758d57999a1e891fe", "terminal": "API" }, @@ -245,24 +139,26 @@ login_data = { "funcOperation": "获取token" } + upload_data = { "funcModule": '研究报告信息', "funcOperation": '上传原油价格预测报告', "data": { - "ownerAccount": 'arui', # 报告所属用户账号 + "groupNo": '', # 用户组id + "ownerAccount": '27663', # 报告所属用户账号 27663 - 刘小朋 "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 "categoryNo": 'yyjgycbg', # 研究报告分类编码 "smartBusinessClassCode": 'YCJGYCBG', # 分析报告分类编码 - "reportEmployeeCode": "E40116", # 报告人 - "reportDeptCode": "D0044", # 报告部门 + "reportEmployeeCode": "E40482", # 报告人 E40482 - 管理员 0000027663 - 刘小朋 + "reportDeptCode": "002000621000", # 报告部门 - 002000621000 SH期货研究部 "productGroupCode": "RAW_MATERIAL" # 商品分类 } } - warning_data = { + "groupNo": '', # 用户组id "funcModule": '原油特征停更预警', "funcOperation": '原油特征停更预警', "data": { @@ -282,6 +178,7 @@ query_data_list_item_nos_data = { } } + push_data_value_list_data = { "funcModule": "数据表信息列表", "funcOperation": "新增", @@ -305,26 +202,129 @@ push_data_value_list_data = { } # 八大维度数据项编码 bdwd_items = { - 'ciri': 'yyycbdwdcr', - 'benzhou': 'yyycbdwdbz', - 'cizhou': 'yyycbdwdcz', - 'gezhou': 'yyycbdwdgz', - 'ciyue': 'yyycbdwdcy', - 'cieryue': 'yyycbdwdcey', - 'cisanyue': 'yyycbdwdcsy', - 'cisiyue': 'yyycbdwdcsiy', + '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 = '192.168.101.27' +# 生产环境数据库 +host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com' port = 3306 -dbusername = 'root' -password = '123456' -dbname = 'jingbo_test' +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 = { +# "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 = { +# "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': 'yyycbdwdcr', +# 'benzhou': 'yyycbdwdbz', +# 'cizhou': 'yyycbdwdcz', +# 'gezhou': 'yyycbdwdgz', +# 'ciyue': 'yyycbdwdcy', +# 'cieryue': 'yyycbdwdcey', +# 'cisanyue': 'yyycbdwdcsy', +# 'cisiyue': 'yyycbdwdcsiy', +# } + + +# # 北京环境数据库 +# host = '192.168.101.27' +# port = 3306 +# dbusername = 'root' +# password = '123456' +# dbname = 'jingbo_test' +# table_name = 'v_tbl_crude_oil_warning' + + DEFAULT_CONFIG = { 'feature_factor_frequency': 'D', 'strategy_id': 1, diff --git a/main_yuanyou.py b/main_yuanyou.py index 583306d..3aaeed2 100644 --- a/main_yuanyou.py +++ b/main_yuanyou.py @@ -581,11 +581,11 @@ def predict_main(): if __name__ == '__main__': # global end_time # # 遍历2024-11-25 到 2024-12-3 之间的工作日日期 - for i_time in pd.date_range('2025-6-11', '2025-6-28', freq='B'): - global_config['end_time'] = i_time.strftime('%Y-%m-%d') - global_config['db_mysql'].connect() - predict_main() + # for i_time in pd.date_range('2025-6-19', '2025-6-28', freq='B'): + # global_config['end_time'] = i_time.strftime('%Y-%m-%d') + # global_config['db_mysql'].connect() + # predict_main() - # predict_main() + predict_main() # push_market_value() # sql_inset_predict(global_config=global_config) diff --git a/main_yuanyou_yuedu.py b/main_yuanyou_yuedu.py index 5150f7e..076cbc4 100644 --- a/main_yuanyou_yuedu.py +++ b/main_yuanyou_yuedu.py @@ -473,44 +473,44 @@ def predict_main(): # except Exception as e: # logger.info(f'更新accuracy表的y值失败:{e}') - # 判断当前日期是不是周一 - is_weekday = datetime.datetime.now().weekday() == 0 - if is_weekday: - logger.info('今天是周一,更新预测模型') - # 计算最近60天预测残差最低的模型名称 - model_results = sqlitedb.select_data( - 'trueandpredict', order_by="ds DESC", limit="60") - # 删除空值率为90%以上的列 - if len(model_results) > 10: - model_results = model_results.dropna( - thresh=len(model_results)*0.1, axis=1) - # 删除空行 - model_results = model_results.dropna() - modelnames = model_results.columns.to_list()[2:-1] - for col in model_results[modelnames].select_dtypes(include=['object']).columns: - model_results[col] = model_results[col].astype(np.float32) - # 计算每个预测值与真实值之间的偏差率 - for model in modelnames: - model_results[f'{model}_abs_error_rate'] = abs( - model_results['y'] - model_results[model]) / model_results['y'] - # 获取每行对应的最小偏差率值 - min_abs_error_rate_values = model_results.apply( - lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].min(), axis=1) - # 获取每行对应的最小偏差率值对应的列名 - min_abs_error_rate_column_name = model_results.apply( - lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].idxmin(), axis=1) - # 将列名索引转换为列名 - min_abs_error_rate_column_name = min_abs_error_rate_column_name.map( - lambda x: x.split('_')[0]) - # 取出现次数最多的模型名称 - most_common_model = min_abs_error_rate_column_name.value_counts().idxmax() - logger.info(f"最近60天预测残差最低的模型名称:{most_common_model}") - # 保存结果到数据库 - if not sqlitedb.check_table_exists('most_model'): - sqlitedb.create_table( - 'most_model', columns="ds datetime, most_common_model TEXT") - sqlitedb.insert_data('most_model', (datetime.datetime.now().strftime( - '%Y-%m-%d %H:%M:%S'), most_common_model,), columns=('ds', 'most_common_model',)) + # # 判断当前日期是不是周一 + # is_weekday = datetime.datetime.now().weekday() == 0 + # if is_weekday: + # logger.info('今天是周一,更新预测模型') + # # 计算最近60天预测残差最低的模型名称 + # model_results = sqlitedb.select_data( + # 'trueandpredict', order_by="ds DESC", limit="60") + # # 删除空值率为90%以上的列 + # if len(model_results) > 10: + # model_results = model_results.dropna( + # thresh=len(model_results)*0.1, axis=1) + # # 删除空行 + # model_results = model_results.dropna() + # modelnames = model_results.columns.to_list()[2:-1] + # for col in model_results[modelnames].select_dtypes(include=['object']).columns: + # model_results[col] = model_results[col].astype(np.float32) + # # 计算每个预测值与真实值之间的偏差率 + # for model in modelnames: + # model_results[f'{model}_abs_error_rate'] = abs( + # model_results['y'] - model_results[model]) / model_results['y'] + # # 获取每行对应的最小偏差率值 + # min_abs_error_rate_values = model_results.apply( + # lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].min(), axis=1) + # # 获取每行对应的最小偏差率值对应的列名 + # min_abs_error_rate_column_name = model_results.apply( + # lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].idxmin(), axis=1) + # # 将列名索引转换为列名 + # min_abs_error_rate_column_name = min_abs_error_rate_column_name.map( + # lambda x: x.split('_')[0]) + # # 取出现次数最多的模型名称 + # most_common_model = min_abs_error_rate_column_name.value_counts().idxmax() + # logger.info(f"最近60天预测残差最低的模型名称:{most_common_model}") + # # 保存结果到数据库 + # if not sqlitedb.check_table_exists('most_model'): + # sqlitedb.create_table( + # 'most_model', columns="ds datetime, most_common_model TEXT") + # sqlitedb.insert_data('most_model', (datetime.datetime.now().strftime( + # '%Y-%m-%d %H:%M:%S'), most_common_model,), columns=('ds', 'most_common_model',)) if is_corr: df = corr_feature(df=df) @@ -590,13 +590,10 @@ def predict_main(): if __name__ == '__main__': # global end_time # 遍历2024-11-25 到 2024-12-3 之间的工作日日期 - # for i_time in pd.date_range('2025-3-13', '2025-3-31', freq='B'): - # try: - # global_config['end_time'] = i_time.strftime('%Y-%m-%d') - # predict_main() - # except Exception as e: - # logger.info(f'预测失败:{e}') - # continue + for i_time in pd.date_range('2025-6-4', '2025-6-30', freq='B'): + global_config['end_time'] = i_time.strftime('%Y-%m-%d') + global_config['db_mysql'].connect() + predict_main() # predict_main() - sql_inset_predict(global_config=global_config) + # sql_inset_predict(global_config=global_config) diff --git a/main_yuanyou_zhoudu.py b/main_yuanyou_zhoudu.py index 543d7b9..ebb4d29 100644 --- a/main_yuanyou_zhoudu.py +++ b/main_yuanyou_zhoudu.py @@ -383,44 +383,44 @@ def predict_main(): # except Exception as e: # logger.info(f'更新accuracy表的y值失败:{e}') - # 判断当前日期是不是周一 - is_weekday = datetime.datetime.now().weekday() == 0 - if is_weekday: - logger.info('今天是周一,更新预测模型') - # 计算最近60天预测残差最低的模型名称 - model_results = sqlitedb.select_data( - 'trueandpredict', order_by="ds DESC", limit="60") - # 删除空值率为90%以上的列 - if len(model_results) > 10: - model_results = model_results.dropna( - thresh=len(model_results)*0.1, axis=1) - # 删除空行 - model_results = model_results.dropna() - modelnames = model_results.columns.to_list()[2:-2] - for col in model_results[modelnames].select_dtypes(include=['object']).columns: - model_results[col] = model_results[col].astype(np.float32) - # 计算每个预测值与真实值之间的偏差率 - for model in modelnames: - model_results[f'{model}_abs_error_rate'] = abs( - model_results['y'] - model_results[model]) / model_results['y'] - # 获取每行对应的最小偏差率值 - min_abs_error_rate_values = model_results.apply( - lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].min(), axis=1) - # 获取每行对应的最小偏差率值对应的列名 - min_abs_error_rate_column_name = model_results.apply( - lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].idxmin(), axis=1) - # 将列名索引转换为列名 - min_abs_error_rate_column_name = min_abs_error_rate_column_name.map( - lambda x: x.split('_')[0]) - # 取出现次数最多的模型名称 - most_common_model = min_abs_error_rate_column_name.value_counts().idxmax() - logger.info(f"最近60天预测残差最低的模型名称:{most_common_model}") - # 保存结果到数据库 - if not sqlitedb.check_table_exists('most_model'): - sqlitedb.create_table( - 'most_model', columns="ds datetime, most_common_model TEXT") - sqlitedb.insert_data('most_model', (datetime.datetime.now().strftime( - '%Y-%m-%d %H:%M:%S'), most_common_model,), columns=('ds', 'most_common_model',)) + # 判断当前日期是不是周一 预测目标周度许转换,暂注释 + # is_weekday = datetime.datetime.strptime(global_config['end_time'], "%Y-%m-%d").weekday() == 0 + # if is_weekday: + # logger.info('今天是周一,更新预测模型') + # # 计算最近60天预测残差最低的模型名称 + # model_results = sqlitedb.select_data( + # 'trueandpredict', order_by="ds DESC", limit="60") + # # 删除空值率为90%以上的列 + # if len(model_results) > 10: + # model_results = model_results.dropna( + # thresh=len(model_results)*0.1, axis=1) + # # 删除空行 + # model_results = model_results.dropna() + # modelnames = model_results.columns.to_list()[2:-2] + # for col in model_results[modelnames].select_dtypes(include=['object']).columns: + # model_results[col] = model_results[col].astype(np.float32) + # # 计算每个预测值与真实值之间的偏差率 + # for model in modelnames: + # model_results[f'{model}_abs_error_rate'] = abs( + # model_results['y'] - model_results[model]) / model_results['y'] + # # 获取每行对应的最小偏差率值 + # min_abs_error_rate_values = model_results.apply( + # lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].min(), axis=1) + # # 获取每行对应的最小偏差率值对应的列名 + # min_abs_error_rate_column_name = model_results.apply( + # lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].idxmin(), axis=1) + # # 将列名索引转换为列名 + # min_abs_error_rate_column_name = min_abs_error_rate_column_name.map( + # lambda x: x.split('_')[0]) + # # 取出现次数最多的模型名称 + # most_common_model = min_abs_error_rate_column_name.value_counts().idxmax() + # logger.info(f"最近60天预测残差最低的模型名称:{most_common_model}") + # # 保存结果到数据库 + # if not sqlitedb.check_table_exists('most_model'): + # sqlitedb.create_table( + # 'most_model', columns="ds datetime, most_common_model TEXT") + # sqlitedb.insert_data('most_model', (datetime.datetime.now().strftime( + # '%Y-%m-%d %H:%M:%S'), most_common_model,), columns=('ds', 'most_common_model',)) if is_corr: df = corr_feature(df=df) @@ -492,13 +492,10 @@ def predict_main(): if __name__ == '__main__': # global end_time # 遍历2024-11-25 到 2024-12-3 之间的工作日日期 - # for i_time in pd.date_range('2025-2-1', '2025-3-31', freq='B'): - # try: - # global_config['end_time'] = i_time.strftime('%Y-%m-%d') - # predict_main() - # except Exception as e: - # logger.info(f'预测失败:{e}') - # continue + for i_time in pd.date_range('2025-6-23', '2025-6-30', freq='B'): + global_config['end_time'] = i_time.strftime('%Y-%m-%d') + global_config['db_mysql'].connect() + predict_main() # predict_main() - sql_inset_predict(global_config=global_config) + # sql_inset_predict(global_config=global_config)