diff --git a/Untitled1.ipynb b/Untitled1.ipynb deleted file mode 100644 index 5f41f84..0000000 --- a/Untitled1.ipynb +++ /dev/null @@ -1,3295 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "7fadc60c-d710-4b8c-89cd-1d889ece1eaf", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING:tensorflow:From C:\\Users\\EDY\\AppData\\Roaming\\Python\\Python311\\site-packages\\keras\\src\\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead.\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "读取本地数据:juxitingdataset\\PP指标数据.xlsx\n", - "读取本地数据:juxitingdataset\\PP指标数据.xlsx\n", - "getdata接收:juxitingdataset\\PP指标数据.xlsx date \n", - "getdata接收:juxitingdataset\\PP指标数据.xlsx date \n", - "删除两月不更新特征前数据量:(2515, 354)\n", - "删除两月不更新特征前数据量:(2515, 354)\n", - "删除两月不更新特征后数据量:(2515, 315)\n", - "删除两月不更新特征后数据量:(2515, 315)\n", - "删除预测列为空值的行后数据量:(771, 315)\n", - "删除预测列为空值的行后数据量:(771, 315)\n", - "删除全为空值的列后数据量:(771, 315)\n", - "删除全为空值的列后数据量:(771, 315)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - "d:\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " values.dropna(inplace=True,axis=0)\n", - " 日度(219) 周度(94) 21天(1)\n", - "0 PP主力收盘价拟合残差/丙烷 CP M1 PE注塑开工率/周 中国:华东地区:市场平均价:BOPP厚光膜\n", - "1 华南聚丙烯基差(折盘面收盘价) PP:看跌比例:中国(周) \n", - "2 华北聚丙烯基差(折盘面收盘价) PP:看平比例:中国(周) \n", - "3 华东聚丙烯基差(折盘面收盘价) PP:看升比例:中国(周) \n", - "4 煤制聚丙烯利润 PP看空情绪指数环差 \n", - ".. ... ... ...\n", - "214 PE期货收盘价 \n", - "215 PP连续-1月 \n", - "216 PP连续-5月 \n", - "217 PP连续-9月 \n", - "218 y \n", - "\n", - "[219 rows x 3 columns]\n", - " 日度(219) 周度(94) 21天(1)\n", - "0 PP主力收盘价拟合残差/丙烷 CP M1 PE注塑开工率/周 中国:华东地区:市场平均价:BOPP厚光膜\n", - "1 华南聚丙烯基差(折盘面收盘价) PP:看跌比例:中国(周) \n", - "2 华北聚丙烯基差(折盘面收盘价) PP:看平比例:中国(周) \n", - "3 华东聚丙烯基差(折盘面收盘价) PP:看升比例:中国(周) \n", - "4 煤制聚丙烯利润 PP看空情绪指数环差 \n", - ".. ... ... ...\n", - "214 PE期货收盘价 \n", - "215 PP连续-1月 \n", - "216 PP连续-5月 \n", - "217 PP连续-9月 \n", - "218 y \n", - "\n", - "[219 rows x 3 columns]\n", - "特征信息:总共有312个,日度(219),周度(94),21天(1), 详看 附1、特征列表\n", - " 数据特征工程:\n", - " 1. 数据日期排序,新日期在最后\n", - " 2. 删除空列,特征数据列没有值,就删除\n", - " 3. 删除近两月不再更新值的指标\n", - " 4. 非日度数据填充为日度数据,填充规则:\n", - " -- 向后填充,举例:假设周五出现一个周度指标数据,那么在这之前的数据用上周五的数据\n", - " -- 向前填充,举例:采集数据开始日期为2018年1月1日,那么周度数据可能是2018年1月3日,那么3日的数据向前填充,使1日2日都有数值\n", - " 数据特征相关性分析:\n", - " \n", - "特征信息:总共有312个,日度(219),周度(94),21天(1), 详看 附1、特征列表\n", - " 数据特征工程:\n", - " 1. 数据日期排序,新日期在最后\n", - " 2. 删除空列,特征数据列没有值,就删除\n", - " 3. 删除近两月不再更新值的指标\n", - " 4. 非日度数据填充为日度数据,填充规则:\n", - " -- 向后填充,举例:假设周五出现一个周度指标数据,那么在这之前的数据用上周五的数据\n", - " -- 向前填充,举例:采集数据开始日期为2018年1月1日,那么周度数据可能是2018年1月3日,那么3日的数据向前填充,使1日2日都有数值\n", - " 数据特征相关性分析:\n", - " \n", - "********************************************************************************************************************************************************************************************************\n", - "********************************************************************************************************************************************************************************************************\n" - ] - }, - { - "data": { - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# 读取配置\n", - "from lib import *\n", - "from lib.dataread import *\n", - "from lib.tools import *\n", - "from models.nerulforcastmodels import ex_Model,model_losss,brent_export_pdf,tansuanli_export_pdf,pp_export_pdf,model_losss_juxiting\n", - "\n", - "import glob\n", - "import torch\n", - "torch.set_float32_matmul_precision(\"high\")\n", - "\n", - "sqlitedb = SQLiteHandler(db_name) \n", - "sqlitedb.connect()\n", - "\n", - "signature = BinanceAPI(APPID, SECRET)\n", - "etadata = EtaReader(signature=signature,\n", - " classifylisturl = classifylisturl,\n", - " classifyidlisturl=classifyidlisturl,\n", - " edbcodedataurl=edbcodedataurl,\n", - " edbcodelist=edbcodelist,\n", - " edbdatapushurl=edbdatapushurl,\n", - " edbdeleteurl=edbdeleteurl,\n", - " edbbusinessurl=edbbusinessurl\n", - " )\n", - "# 获取数据\n", - "if is_eta:\n", - " # eta数据\n", - " logger.info('从eta获取数据...')\n", - " signature = BinanceAPI(APPID, SECRET)\n", - " etadata = EtaReader(signature=signature,\n", - " classifylisturl = classifylisturl,\n", - " classifyidlisturl=classifyidlisturl,\n", - " edbcodedataurl=edbcodedataurl,\n", - " edbcodelist=edbcodelist,\n", - " edbdatapushurl=edbdatapushurl,\n", - " edbdeleteurl=edbdeleteurl,\n", - " edbbusinessurl=edbbusinessurl,\n", - " )\n", - " df_zhibiaoshuju,df_zhibiaoliebiao = etadata.get_eta_api_pp_data(data_set=data_set,dataset=dataset) # 原始数据,未处理\n", - "\n", - " # 数据处理\n", - " df = datachuli_juxiting(df_zhibiaoshuju,df_zhibiaoliebiao,y = y,dataset=dataset,add_kdj=add_kdj,is_timefurture=is_timefurture,end_time=end_time) \n", - "\n", - "else:\n", - " logger.info('读取本地数据:'+os.path.join(dataset,data_set))\n", - " df = getdata_juxiting(filename=os.path.join(dataset,data_set),y=y,dataset=dataset,add_kdj=add_kdj,is_timefurture=is_timefurture,end_time=end_time) # 原始数据,未处理\n", - "\n", - "# 更改预测列名称\n", - "df.rename(columns={y:'y'},inplace=True)\n", - " \n", - "if is_edbnamelist:\n", - " df = df[edbnamelist] \n", - "df.to_csv(os.path.join(dataset,'指标数据.csv'), index=False)\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "ae059224-976c-4839-b455-f81da7f25179", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "更新数据sqlUPDATE trueandpredict SET ds = '2024-11-18 00:00:00', y = '7363.333333333333' WHERE ds = '2024-11-18 00:00:00'\n", - "更新数据sqlUPDATE trueandpredict SET ds = '2024-11-18 00:00:00', y = '7363.333333333333' WHERE ds = '2024-11-18 00:00:00'\n" - ] - } - ], - "source": [ - "# 保存最新日期的y值到数据库\n", - "# 取第一行数据存储到数据库中\n", - "first_row = df[['ds','y']].tail(1)\n", - "# 将最新真实值保存到数据库\n", - "if not sqlitedb.check_table_exists('trueandpredict'):\n", - " first_row.to_sql('trueandpredict',sqlitedb.connection,index=False)\n", - "else:\n", - " for row in first_row.itertuples(index=False):\n", - " row_dict = row._asdict()\n", - " row_dict['ds'] = row_dict['ds'].strftime('%Y-%m-%d %H:%M:%S')\n", - " check_query = sqlitedb.select_data('trueandpredict',where_condition = f\"ds = '{row.ds}'\")\n", - " if len(check_query) > 0:\n", - " set_clause = \", \".join([f\"{key} = '{value}'\" for key, value in row_dict.items()])\n", - " sqlitedb.update_data('trueandpredict',set_clause,where_condition = f\"ds = '{row.ds}'\")\n", - " continue\n", - " sqlitedb.insert_data('trueandpredict',tuple(row_dict.values()),columns=row_dict.keys())\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "abb597fc-c5f3-4d76-8099-5eff358cb634", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "今天是周一,更新预测模型\n", - "今天是周一,更新预测模型\n", - "最近20天预测残差最低的模型名称:NHITS\n", - "最近20天预测残差最低的模型名称:NHITS\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(16, 23)\n", - "(12, 22)\n", - "1 TSMixerx_abs_error_rate\n", - "2 TCN_abs_error_rate\n", - "3 NHITS_abs_error_rate\n", - "4 NHITS_abs_error_rate\n", - "5 Informer_abs_error_rate\n", - "8 BiTCN_abs_error_rate\n", - "9 PatchTST_abs_error_rate\n", - "10 TSMixer_abs_error_rate\n", - "11 BiTCN_abs_error_rate\n", - "12 StemGNN_abs_error_rate\n", - "13 Informer_abs_error_rate\n", - "14 NLinear_abs_error_rate\n", - "dtype: object\n" - ] - } - ], - "source": [ - "import datetime\n", - "# 判断当前日期是不是周一\n", - "is_weekday = datetime.datetime.now().weekday() == 1\n", - "if is_weekday:\n", - " logger.info('今天是周一,更新预测模型')\n", - " # 计算最近20天预测残差最低的模型名称\n", - "\n", - " model_results = sqlitedb.select_data('trueandpredict',order_by = \"ds DESC\",limit = \"20\")\n", - " # 删除空值率为40%以上的列\n", - " print(model_results.shape)\n", - " model_results = model_results.dropna(thresh=len(model_results)*0.6,axis=1)\n", - " model_results = model_results.dropna()\n", - " print(model_results.shape)\n", - " modelnames = model_results.columns.to_list()[2:] \n", - " for col in model_results[modelnames].select_dtypes(include=['object']).columns:\n", - " model_results[col] = model_results[col].astype(np.float32)\n", - " # 计算每个预测值与真实值之间的偏差率\n", - " for model in modelnames:\n", - " model_results[f'{model}_abs_error_rate'] = abs(model_results['y'] - model_results[model]) / model_results['y']\n", - "\n", - " # 获取每行对应的最小偏差率值\n", - " min_abs_error_rate_values = model_results.apply(lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].min(), axis=1)\n", - " # 获取每行对应的最小偏差率值对应的列名\n", - " min_abs_error_rate_column_name = model_results.apply(lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].idxmin(), axis=1)\n", - " print(min_abs_error_rate_column_name)\n", - " # 将列名索引转换为列名\n", - " min_abs_error_rate_column_name = min_abs_error_rate_column_name.map(lambda x: x.split('_')[0])\n", - " # 取出现次数最多的模型名称\n", - " most_common_model = min_abs_error_rate_column_name.value_counts().idxmax()\n", - " logger.info(f\"最近20天预测残差最低的模型名称:{most_common_model}\")\n", - "\n", - " # 保存结果到数据库\n", - " \n", - " if not sqlitedb.check_table_exists('most_model'):\n", - " sqlitedb.create_table('most_model',columns=\"ds datetime, most_common_model TEXT\")\n", - " sqlitedb.insert_data('most_model',(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),most_common_model,),columns=('ds','most_common_model',))\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "ade7026e-8cf2-405f-a2da-9e90f364adab", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "开始训练模型...\n", - "开始训练模型...\n" - ] - } - ], - "source": [ - "if is_corr:\n", - " df = corr_feature(df=df)\n", - "\n", - "df1 = df.copy() # 备份一下,后面特征筛选完之后加入ds y 列用\n", - "logger.info(f\"开始训练模型...\")\n", - "row,col = df.shape\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dfef57d8-36da-423b-bbe7-05a13e15f71b", - "metadata": {}, - "outputs": [], - "source": [ - "now = datetime.datetime.now().strftime('%Y%m%d%H%M%S')\n", - "# ex_Model(df,\n", - "# horizon=horizon,\n", - "# input_size=input_size,\n", - "# train_steps=train_steps,\n", - "# val_check_steps=val_check_steps,\n", - "# early_stop_patience_steps=early_stop_patience_steps,\n", - "# is_debug=is_debug,\n", - "# dataset=dataset,\n", - "# is_train=is_train,\n", - "# is_fivemodels=is_fivemodels,\n", - "# val_size=val_size,\n", - "# test_size=test_size,\n", - "# settings=settings,\n", - "# now=now,\n", - "# etadata = etadata,\n", - "# modelsindex = modelsindex,\n", - "# data = data,\n", - "# is_eta=is_eta,\n", - "# )\n" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "0e5b6f30-b7ca-4718-97a3-48b54156e07f", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "模型训练完成\n", - "模型训练完成\n", - "训练数据绘图ing\n", - "训练数据绘图ing\n", - "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_8336\\3546220967.py:119: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame.\n", - "Try using .loc[row_indexer,col_indexer] = value instead\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " first_row['ds'] = first_row['ds'].dt.strftime('%Y-%m-%d 00:00:00')\n", - "训练数据绘图end\n", - "训练数据绘图end\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "方差为: 783.5712373318445\n", - "最佳模型两倍方差\n", - " ds NHITS Informer LSTM iTransformer TSMixer \\\n", - "0 2024-11-19 7359.2050 7325.4340 7374.6274 7342.0290 7352.7837 \n", - "1 2024-11-20 7339.6730 7303.2560 7375.4020 7320.6665 7341.1157 \n", - "2 2024-11-21 7313.6357 7310.4240 7380.7524 7315.6226 7321.9478 \n", - "3 2024-11-22 7296.4775 7321.0250 7392.4790 7309.1006 7300.3430 \n", - "4 2024-11-25 7286.6978 7319.3916 7421.4077 7314.2144 7278.5120 \n", - "\n", - " TSMixerx PatchTST RNN GRU TCN BiTCN \\\n", - "0 7343.613 7342.7300 7372.2515 7381.7810 7449.0703 7317.2397 \n", - "1 7339.045 7337.2275 7369.6200 7401.5024 7449.8086 7307.5415 \n", - "2 7387.099 7330.4020 7346.7344 7399.8660 7443.9330 7302.4478 \n", - "3 7376.246 7299.7417 7331.8857 7405.1810 7451.1577 7291.0230 \n", - "4 7335.186 7267.7980 7370.6760 7405.2725 7454.4453 7288.7314 \n", - "\n", - " DilatedRNN MLP DLinear NLinear TFT StemGNN \\\n", - "0 7350.6070 7326.6610 7375.8584 7335.6030 7364.0600 7345.6040 \n", - "1 7353.7030 7321.7114 7326.1914 7327.6973 7355.3086 7343.6250 \n", - "2 7366.7440 7310.2020 7341.9395 7341.7840 7348.7305 7331.5440 \n", - "3 7360.9110 7294.7803 7323.8164 7406.1123 7343.8184 7342.9673 \n", - "4 7384.3545 7295.8447 7330.9560 7369.3687 7341.7007 7353.8390 \n", - "\n", - " MLPMultivariate TiDE DeepNPTS min_model max_model \\\n", - "0 7354.3696 7365.8433 7367.1430 NHITS_var_down NHITS_var_up \n", - "1 7344.1750 7327.1714 7372.8594 NHITS_var_down NHITS_var_up \n", - "2 7333.9355 7305.5030 7363.1160 NHITS_var_down NHITS_var_up \n", - "3 7315.0786 7304.2380 7363.3720 NHITS_var_down NHITS_var_up \n", - "4 7304.8780 7295.6865 7353.2183 NHITS_var_down NHITS_var_up \n", - "\n", - " min_within_quantile max_within_quantile \n", - "0 5792.062525 8926.347475 \n", - "1 5772.530525 8906.815475 \n", - "2 5746.493225 8880.778175 \n", - "3 5729.335025 8863.619975 \n", - "4 5719.555325 8853.840275 \n" - ] - } - ], - "source": [ - "logger.info('模型训练完成')\n", - "# # 模型评估\n", - "\n", - "pd.set_option('display.max_columns', 100)\n", - "# 计算预测评估指数\n", - "def model_losss_juxiting(sqlitedb):\n", - " global dataset\n", - " # 数据库查询最佳模型名称\n", - " most_model = [sqlitedb.select_data('most_model',columns=['most_common_model'],order_by='ds desc',limit=1).values[0][0]]\n", - " most_model_name = most_model[0]\n", - "\n", - " # 预测数据处理 predict\n", - " df_combined = loadcsv(os.path.join(dataset,\"cross_validation.csv\")) \n", - " df_combined = dateConvert(df_combined)\n", - " # 删除空列\n", - " df_combined.dropna(axis=1,inplace=True)\n", - " # 删除缺失值,预测过程不能有缺失值\n", - " df_combined.dropna(inplace=True) \n", - " # 其他列转为数值类型\n", - " df_combined = df_combined.astype({col: 'float32' for col in df_combined.columns if col not in ['cutoff','ds'] })\n", - " # 使用 groupby 和 transform 结合 lambda 函数来获取每个分组中 cutoff 的最小值,并创建一个新的列来存储这个最大值\n", - " df_combined['max_cutoff'] = df_combined.groupby('ds')['cutoff'].transform('max')\n", - "\n", - " # 然后筛选出那些 cutoff 等于 max_cutoff 的行,这样就得到了每个分组中 cutoff 最大的行,并保留了其他列\n", - " df_combined = df_combined[df_combined['cutoff'] == df_combined['max_cutoff']]\n", - " # 删除模型生成的cutoff列\n", - " df_combined.drop(columns=['cutoff', 'max_cutoff'], inplace=True)\n", - " # 获取模型名称\n", - " modelnames = df_combined.columns.to_list()[1:] \n", - " if 'y' in modelnames:\n", - " modelnames.remove('y')\n", - " df_combined3 = df_combined.copy() # 备份df_combined,后面画图需要\n", - "\n", - "\n", - " # 空的列表存储每个模型的MSE、RMSE、MAE、MAPE、SMAPE\n", - " cellText = []\n", - "\n", - " # 遍历模型名称,计算模型评估指标 \n", - " for model in modelnames:\n", - " modelmse = mse(df_combined['y'], df_combined[model])\n", - " modelrmse = rmse(df_combined['y'], df_combined[model])\n", - " modelmae = mae(df_combined['y'], df_combined[model])\n", - " # modelmape = mape(df_combined['y'], df_combined[model])\n", - " # modelsmape = smape(df_combined['y'], df_combined[model])\n", - " # modelr2 = r2_score(df_combined['y'], df_combined[model])\n", - " cellText.append([model,round(modelmse, 3), round(modelrmse, 3), round(modelmae, 3)])\n", - " \n", - " model_results3 = pd.DataFrame(cellText,columns=['模型(Model)','平均平方误差(MSE)', '均方根误差(RMSE)', '平均绝对误差(MAE)'])\n", - " # 按MSE降序排列\n", - " model_results3 = model_results3.sort_values(by='平均平方误差(MSE)', ascending=True)\n", - " model_results3.to_csv(os.path.join(dataset,\"model_evaluation.csv\"),index=False)\n", - " modelnames = model_results3['模型(Model)'].tolist()\n", - " allmodelnames = modelnames.copy()\n", - " # 保存5个最佳模型的名称\n", - " if len(modelnames) > 5:\n", - " modelnames = modelnames[0:5]\n", - " with open(os.path.join(dataset,\"best_modelnames.txt\"), 'w') as f:\n", - " f.write(','.join(modelnames) + '\\n')\n", - "\n", - "\n", - " # 根据最接近真实值的预测模型计算波动率,得到在波动率范围内的预测值确定通道边界\n", - "\n", - " best_models = pd.read_csv(os.path.join(dataset,'best_modelnames.txt'),header=None).values.flatten().tolist()\n", - " def find_min_max_within_quantile(row):\n", - " row = row[best_models]\n", - " q10 = row.min()\n", - " q90 = row.max()\n", - " # 获取 row行最大最小值模型名称\n", - " min_model = row[row == q10].idxmin()\n", - " max_model = row[row == q90].idxmin()\n", - " \n", - " # # 判断flot值是否为空值\n", - " # if pd.isna(q10) or pd.isna(q90):\n", - " return pd.Series([q10, q90,min_model,max_model], index=['min_within_quantile','max_within_quantile','min_model','max_model'])\n", - "\n", - " # 遍历行\n", - " df_combined3[['min_within_quantile', 'max_within_quantile','min_model','max_model']] = df_combined3.apply(find_min_max_within_quantile, axis=1)\n", - " df_combined = df_combined.round(4)\n", - " # print(df_combined3)\n", - "\n", - " \n", - " # 去除有空值的行\n", - " df_combined3.dropna(inplace=True)\n", - " # 保存到数据库\n", - " # df_combined3.to_sql('testandpredict_groupby', sqlitedb.connection, if_exists='replace', index=False)\n", - " df_combined3.to_csv(os.path.join(dataset,\"testandpredict_groupby.csv\"),index=False)\n", - "\n", - "\n", - " \n", - " # 预测值与真实值对比图\n", - " plt.rcParams['font.sans-serif'] = ['SimHei']\n", - " plt.figure(figsize=(15, 10))\n", - " # 设置有5个子图的画布\n", - " for n,model in enumerate(modelnames[:5]):\n", - " plt.subplot(3, 2, n+1)\n", - " plt.plot(df_combined3['ds'], df_combined3['y'], label='真实值')\n", - " plt.plot(df_combined3['ds'], df_combined3[model], label=model)\n", - " plt.legend()\n", - " plt.xlabel('日期')\n", - " plt.ylabel('价格')\n", - " plt.title(model+'拟合')\n", - " plt.subplots_adjust(hspace=0.5)\n", - " plt.savefig(os.path.join(dataset,'预测值与真实值对比图.png'), bbox_inches='tight')\n", - " plt.close()\n", - " \n", - " # 历史数据+预测数据\n", - " # 拼接未来时间预测\n", - " df_predict = loadcsv(os.path.join(dataset,'predict.csv'))\n", - " df_predict.drop('unique_id',inplace=True,axis=1)\n", - " df_predict.dropna(axis=1,inplace=True)\n", - "\n", - " try:\n", - " df_predict['ds'] = pd.to_datetime(df_predict['ds'],format=r'%Y-%m-%d')\n", - " except ValueError :\n", - " df_predict['ds'] = pd.to_datetime(df_predict['ds'],format=r'%Y/%m/%d')\n", - "\n", - " # 取第一行数据存储到数据库中\n", - " first_row = df_predict.head(1)\n", - " first_row['ds'] = first_row['ds'].dt.strftime('%Y-%m-%d 00:00:00')\n", - " # 将预测结果保存到数据库\n", - " # if not sqlitedb.check_table_exists('trueandpredict'):\n", - " # first_row.to_sql('trueandpredict',sqlitedb.connection,index=False)\n", - " # else:\n", - " # for col in first_row.columns:\n", - " # sqlitedb.add_column_if_not_exists('trueandpredict',col,'TEXT')\n", - " # for row in first_row.itertuples(index=False):\n", - " # row_dict = row._asdict()\n", - " # columns=row_dict.keys()\n", - " # check_query = sqlitedb.select_data('trueandpredict',where_condition = f\"ds = '{row.ds}'\")\n", - " # if len(check_query) > 0:\n", - " # set_clause = \", \".join([f\"{key} = '{value}'\" for key, value in row_dict.items()])\n", - " # sqlitedb.update_data('trueandpredict',set_clause,where_condition = f\"ds = '{row.ds}'\")\n", - " # continue\n", - " # sqlitedb.insert_data('trueandpredict',tuple(row_dict.values()),columns=columns)\n", - "\n", - " # 计算df_combined3[min_within_quantile] 和 df_combined3[most_model] 的方差\n", - " diff = df_combined3['min_within_quantile']-df_combined3[most_model_name]\n", - " var = diff.var()\n", - " print('方差为:',var)\n", - " df_predict['min_model'] = f'{most_model_name}_var_down'\n", - " df_predict['max_model'] = f'{most_model_name}_var_up'\n", - " # 找到大于最佳模型预测值-2倍方差的值\n", - " df_predict['min_within_quantile'] = df_predict[most_model_name]-var\n", - " df_combined3['min_within_quantile'] = df_combined3[most_model_name]-var\n", - " # 找到小于最佳模型预测值+2倍方差的值\n", - " df_predict['max_within_quantile'] = df_predict[most_model_name]+2*var\n", - " df_combined3['max_within_quantile'] = df_combined3[most_model_name]+var\n", - " print('最佳模型两倍方差')\n", - " print(df_predict)\n", - " df_predict2 = df_predict.copy()\n", - " df_predict2['ds'] = df_predict2['ds'].dt.strftime('%Y-%m-%d 00:00:00')\n", - "\n", - "\n", - " # # 将预测结果保存到数据库\n", - " # # 判断表存在\n", - " # if not sqlitedb.check_table_exists('testandpredict_groupby'):\n", - " # df_predict2.to_sql('testandpredict_groupby',sqlitedb.connection,index=False)\n", - " # else:\n", - " # for row in df_predict2.itertuples(index=False):\n", - " # row_dict = row._asdict()\n", - " # check_query = sqlitedb.select_data('testandpredict_groupby',where_condition = f\"ds = '{row.ds}'\")\n", - " # if len(check_query) > 0:\n", - " # set_clause = \", \".join([f\"{key} = '{value}'\" for key, value in row_dict.items()])\n", - " # sqlitedb.update_data('testandpredict_groupby',set_clause,where_condition = f\"ds = '{row.ds}'\")\n", - " # continue\n", - " # sqlitedb.insert_data('testandpredict_groupby',tuple(row_dict.values()),columns=row_dict.keys())\n", - "\n", - " # # 计算每个预测值与真实值之间的偏差率\n", - " # for model in allmodelnames:\n", - " # df_combined3[f'{model}_abs_error_rate'] = abs(df_combined3['y'] - df_combined3[model]) / df_combined3['y']\n", - "\n", - " # # 获取每行对应的最小偏差率值\n", - " # min_abs_error_rate_values = df_combined3.apply(lambda row: row[[f'{model}_abs_error_rate' for model in allmodelnames]].min(), axis=1)\n", - " # # 获取每行对应的最小偏差率值对应的列名\n", - " # min_abs_error_rate_column_name = df_combined3.apply(lambda row: row[[f'{model}_abs_error_rate' for model in allmodelnames]].idxmin(), axis=1)\n", - " # # 将列名索引转换为列名\n", - " # min_abs_error_rate_column_name = min_abs_error_rate_column_name.map(lambda x: x.split('_')[0])\n", - " # # 获取最小偏差率对应的模型的预测值\n", - " # min_abs_error_rate_predictions = df_combined3.apply(lambda row: row[min_abs_error_rate_column_name[row.name]], axis=1)\n", - " # # 将最小偏差率对应的模型的预测值添加到DataFrame中\n", - " # df_combined3['min_abs_error_rate_prediction'] = min_abs_error_rate_predictions\n", - " # df_combined3['min_abs_error_rate_column_name'] = min_abs_error_rate_column_name\n", - " # df_combined3 = pd.concat([df_combined3, df_predict]).reset_index(drop=True)\n", - " # # 判断 df 的数值列转为float\n", - " # for col in df_combined3.columns:\n", - " # try:\n", - " # if col != 'ds':\n", - " # df_combined3[col] = df_combined3[col].astype(float)\n", - " # df_combined3[col] = df_combined3[col].round(2)\n", - " # except ValueError:\n", - " # pass\n", - " # df_combined3.to_csv(os.path.join(dataset,\"df_combined3.csv\"),index=False) \n", - " \n", - " # # 历史价格+预测价格\n", - " # df_combined3 = df_combined3[-50:] # 取50个数据点画图\n", - " # # 历史价格\n", - " # plt.figure(figsize=(20, 10))\n", - " # plt.plot(df_combined3['ds'], df_combined3['y'], label='真实值')\n", - " # # 颜色填充\n", - " # plt.fill_between(df_combined3['ds'], df_combined3['min_within_quantile'], df_combined3['max_within_quantile'], alpha=0.2)\n", - " # # plt.plot(df_combined3['ds'], df_combined3['min_abs_error_rate_prediction'], label='最小绝对误差', linestyle='--', color='orange')\n", - " # # 网格\n", - " # plt.grid(True)\n", - " # # 显示历史值\n", - " # for i, j in zip(df_combined3['ds'], df_combined3['y']):\n", - " # plt.text(i, j, str(j), ha='center', va='bottom')\n", - "\n", - " \n", - "\n", - " # for model in most_model:\n", - " # plt.plot(df_combined3['ds'], df_combined3[model], label=model,marker='o')\n", - " # # 当前日期画竖虚线\n", - " # plt.axvline(x=df_combined3['ds'].iloc[-horizon], color='r', linestyle='--')\n", - " # plt.legend()\n", - " # plt.xlabel('日期')\n", - " # plt.ylabel('价格')\n", - " \n", - " # plt.savefig(os.path.join(dataset,'历史价格-预测值.png'), bbox_inches='tight')\n", - " # plt.close()\n", - " \n", - " # # 预测值表格\n", - " # fig, ax = plt.subplots(figsize=(20, 6))\n", - " # ax.axis('off') # 关闭坐标轴\n", - " # # 数值保留2位小数\n", - " # df_combined3 = df_combined3.round(2)\n", - " # df_combined3 = df_combined3[-horizon:]\n", - " # df_combined3['Day'] = [f'Day_{i}' for i in range(1,horizon+1)]\n", - " # # Day列放到最前面\n", - " # df_combined3 = df_combined3[['Day'] + list(df_combined3.columns[:-1])]\n", - " # table = ax.table(cellText=df_combined3.values, colLabels=df_combined3.columns, loc='center')\n", - " # #加宽表格\n", - " # table.auto_set_font_size(False)\n", - " # table.set_fontsize(10)\n", - "\n", - " # # 设置表格样式,列数据最小的用绿色标识\n", - " # plt.savefig(os.path.join(dataset,'预测值表格.png'), bbox_inches='tight')\n", - " # plt.close()\n", - " # # plt.show()\n", - " \n", - " # # 可视化评估结果\n", - " # plt.rcParams['font.sans-serif'] = ['SimHei']\n", - " # fig, ax = plt.subplots(figsize=(20, 10))\n", - " # ax.axis('off') # 关闭坐标轴\n", - " # table = ax.table(cellText=model_results3.values, colLabels=model_results3.columns, loc='center')\n", - " # # 加宽表格\n", - " # table.auto_set_font_size(False)\n", - " # table.set_fontsize(10)\n", - "\n", - " # # 设置表格样式,列数据最小的用绿色标识\n", - " # plt.savefig(os.path.join(dataset,'模型评估.png'), bbox_inches='tight')\n", - " # plt.close()\n", - " # return model_results3\n", - "\n", - "\n", - "\n", - "\n", - "logger.info('训练数据绘图ing')\n", - "model_results3 = model_losss_juxiting(sqlitedb)\n", - "\n", - "logger.info('训练数据绘图end')\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "85b557de-8235-4e27-b5b8-58b36dfe6724", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "制作报告ing\n", - "制作报告ing\n", - "开始绘制价差类指标的相关性直方图\n", - "开始绘制价差类指标的相关性直方图\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "价差下正相关的特征值有: ['PP期货-丙烯价差(山东)/400DMA', 'PP-SC价差(7吨桶比)', '布伦特-PP价差(盘面)', '薄壁-拉丝价差(华北)', 'PP-FEI M4(含税成本)', '油制PP利润(华东)', 'PP-FEI M3(含税成本)', '价差:聚乙烯与乙烯(西北欧)', 'PP-FEI M2(含税成本)', 'PP-FEI M1(含税成本)', 'PP加权利润', '滨化PDH利润(1.169/含税)', 'PDH利润(山东/丙烯)', 'PP-FEI价差', '外采丙烯制聚丙烯利润(华东)', '5-9月差(PP)', '9-1月差(PP)']\n", - "正在绘制第1个特征PP期货-丙烯价差(山东)/400DMA与价格散点图...\n", - "正在绘制第2个特征PP-SC价差(7吨桶比)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第3个特征布伦特-PP价差(盘面)与价格散点图...\n", - "正在绘制第4个特征薄壁-拉丝价差(华北)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第5个特征PP-FEI M4(含税成本)与价格散点图...\n", - "价差下负相关的特征值有: ['L-P价差', 'L-P价差(盘面)', 'PDH制PP利润(山东)', '低熔共聚-拉丝价差(华南)', '外采丙烯制聚丙烯利润(山东)', 'PDH制PP利润(华南)', '京博-滨化价差(不含税/1.13/580)', 'PP现货-丙烯价差(山东)', 'PP-3MA价差(盘面)', 'PP-3*MA主力', '透明-PP盘面价差(华北)', '透明-拉丝价差(华北)', 'PP期货-丙烯价差(山东)', 'PDH制PP利润(华东)指数修匀', 'PDH制PP利润(华东)', '华东拉丝-CP', '透明-PP盘面(华东)', 'LPG-PP价差(盘面)', '拉丝区域价差(华东-华北)', '透明-拉丝价差(华东)', 'PP盘中基差(临沂)', 'PP基差(盘中)', '外采甲醇制PP利润(西北)', '拉丝区域价差(华南-华北)', '滨化丙烷-PP边际贡献(不含税/510/收率1.169)', '滨化丙烯-京博PP边际贡献(不含税/600/收率1.169)', '粉粒价差(山东)', '外采甲醇制PP利润(太仓)', '1-5月差(PP)', '滨化丙烷-PP边际贡献(不含税/580/收率1.13)', '山东拉丝-CP', '山东拉丝-丙烯价差', '拉丝区域价差(华南-华东)']\n", - "正在绘制第1个特征L-P价差与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第2个特征L-P价差(盘面)与价格散点图...\n", - "正在绘制第3个特征PDH制PP利润(山东)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第4个特征低熔共聚-拉丝价差(华南)与价格散点图...\n", - "正在绘制第5个特征外采丙烯制聚丙烯利润(山东)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "价差类指标的相关性总和为:11.045084254496823\n", - "价差类指标的相关性总和为:11.045084254496823\n", - "d:\\code\\PriceForecast\\models\\nerulforcastmodels.py:1638: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", - " grouped_corr = pd.concat([grouped_corr, goup_corr], axis=0, ignore_index=True)\n", - "开始绘制价格类指标的相关性直方图\n", - "开始绘制价格类指标的相关性直方图\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "价格下正相关的特征值有: ['PP神华竞拍(临沂)', 'PP:拉丝:S1003:市场主流价:常州:国能榆林化工(日)', 'PP神华竞拍(华东)', 'BOPP:成本:中国(日)', 'PP:BOPP:1103K:出厂价:华北地区:国家能源宁煤(日)', 'PP拉丝国内现货价格', 'PP:BOPP:1103K:出厂价:华南地区:宁夏神华宁煤(日)', 'PP:BOPP:1103K:出厂价:华东地区:国家能源宁煤(日)', 'PP神华竞拍(西安)', 'PP:薄壁注塑:1040TE:出厂价:华东地区:宁夏神华宁煤(日)', 'PP:薄壁注塑:1040TE:出厂价:华南地区:宁夏神华宁煤(日)', 'PP主力盘中', 'PP:拉丝:S1003:市场主流价:东莞:宝丰能源(日)', 'PP:BOPP:PPH-F03D:出厂价:华南地区:海南炼化装置一(日)', 'PP粉料(山东)/拼接', 'PP.DCE收盘价', 'PP主力收盘价', 'PP无纺布生产成本(日)', 'PP:薄壁注塑:PPH-MN60:出厂价:华南地区:中石化北海(日)', 'PP:低熔共聚:K8003:出厂价:华东地区:东华能源(宁波)(日)', 'PP:薄壁注塑:BZ-70:出厂价:华北地区:寿光鲁清(日)', 'PP:中熔共聚:2043N:出厂价:华南地区:国家能源宁煤(日)', 'PP:中熔共聚:2043N:出厂价:华东地区:国家能源宁煤(日)', 'PP:薄壁注塑:TM6000H:出厂价:华南地区:福建联合石化(日)', 'PP:低熔共聚:2500H:市场价:厦门:国家能源宁煤(日)', 'PP:拉丝:1102K:市场价:临沂:国家能源宁煤(日)', 'PP:低熔共聚:K8003:自提价:广州:宝丰能源(日)', 'PP:透明:R3080T:出厂价:华东地区:浙江鸿基(日)', 'PP:中熔共聚:EP5010C:出厂价:华北地区:中沙天津(日)', 'PP:BOPP:PPH-FL03-S:出厂价:华北地区:青岛炼化(日)', 'PP:中熔共聚:SP179P:出厂价:华北地区:中石化齐鲁化工(日)', 'PP:拉丝:1102K:市场价:青州:国家能源宁煤(日)', 'PP:透明:R3260T:出厂价:华东地区:浙江鸿基(日)', 'PP:低熔共聚:K8003:自提价:宁波:国能榆林化工(日)', 'PP:低熔共聚:K8003:市场价:杭州:东华能源(宁波)(日)', 'PP粉料(山东)', 'PP:中熔共聚:EP440N:出厂价:华南地区:中科炼化(日)', 'PP:中熔共聚:YPJ1215C:出厂价:华东地区:扬子石化(日)', 'DCE:化工产品:期货价格指数收盘价(日)', 'PP:薄壁注塑:PPH-MM60:出厂价:华北地区:石家庄炼化(日)', 'PP:低熔共聚:EPS30R:市场价:临沂:榆能化(日)', 'PP:薄壁注塑:M60ET:出厂价:华东地区:镇海炼化(日)', 'CPP:二元共聚膜:PPR-F08-S:出厂价:华南地区:茂名石化(日)', 'CPP:二元共聚膜:PPR-F08M-S:出厂价:华南地区:茂名石化(日)', '现货价(中间价):均聚聚丙烯(PP-H):CFR远东', 'BOPP:厚光膜:出厂价:华北地区:山东永冠(日)', 'PP:无规共聚:HC-M700B:出厂价:华北地区:山东东明(日)', 'PP:透明:HC-RP340R:出厂价:华北地区:山东东明(日)', 'PP:低熔共聚:2500H:市场价:台州:国家能源宁煤(日)', 'PP:薄壁注塑:K1870-B:市场价:临沂:榆能化(日)', 'PP:高熔共聚:EP300R:市场价:青岛:宝来石化(日)', 'PP:高熔共聚:2240S:出厂价:华南地区:国家能源宁煤(日)', 'PP:高熔共聚:M30RH:市场价:合肥:中安联合(日)', '现货价(中间价):均聚聚丙烯(PP-H):FOB中东', 'DCE:塑料:期货价格指数收盘价(日)', 'PP:透明:HT9025ZK:出厂价:华南地区:中科炼化(日)', 'PP:中熔共聚:K8009:出厂价:华南地区:广州石化(日)', 'PP:透明:PPR-MT75N:出厂价:华中地区:中原中石化(日)', 'PP:透明:PPR-MT25:出厂价:华中地区:中原中石化(日)', 'BOPP:12μ光膜:出厂价:华北地区:凯达包装(日)', 'PP:高熔共聚:EP548R:市场价:临沂:万华化学(日)', 'PP:透明:PPR-B10:出厂价:华中地区:中原中石化(日)', '现货价(中间价):聚丙烯PP(纤维/注塑):CFR东南亚', 'PP:高熔共聚:EP548R:出厂价:华南地区:中海壳牌(日)', '热水管:YPR-503:出厂价:华东地区:扬子石化(日)', '热水管:T4401:出厂价:华南地区:茂名石化(日)', 'CPP:二元共聚膜:DY-W0723F:市场主流价:天津:独山子石化(日)', 'PP:高熔共聚:EP548R:市场价:广州:中科炼化(日)', 'PP:透明:HT9025NX:出厂价:华南地区:茂名石化(日)', '热水管:PA14D:出厂价:华东地区:大庆炼化(日)', '热水管:PPR-4220:出厂价:华南地区:广州石化(日)', '再生PP市场价/山东(日)', '现货价(中间价):聚丙烯PP(纤维/注塑):FAS休斯敦', '现货价(中间价):聚丙烯PP(纤维/注塑):FOB西北欧', 'CPP:二元共聚膜:F800EDF:出厂价:华东地区:上海石化(日)', '热水管:PA14D:市场价:青州:大庆炼化(日)', 'PP:透明:HT9025NX:市场主流价:广州:中石化茂名(日)', '西北欧:现货价:FOB低密度聚乙烯', 'PP:BOPP:F03BT:出厂价:华东地区:镇海炼化(日)', 'PP:高熔共聚:2240S:自提价:常州:国家能源宁煤(日)', '塑编:透明:30cm*45cm:市场价:山东(日)', 'BOPP:生产毛利:中国(日)', '塑编原材料库存天数', 'BOPP:18μ光膜:市场低端价:青岛(日)', 'PP:透明:M26ET:出厂价:华东地区:镇海炼化(日)', 'PP:透明:M08ETN:出厂价:华东地区:镇海炼化(日)', 'PP无纺布开工率', '塑编产成品库存', 'PET瓶片:利润:中国(日)7DMA', '塑编产成品库存天数', '塑编订单天数', 'PP:低熔共聚:市场价:华南地区(日)', 'CPP薄膜成本(日)', '中国BOPP订单天数', '中国BOPP原料库存天数', 'PP多空情绪强弱指数', 'PP主力收盘价拟合残差/丙烷 CP M1', 'PE注塑开工率/周', 'PP:BOPP:L5D98:出厂价:华南地区:广东石化(日)', 'PP:看升比例:中国(周)', '美国-中国PS(GPPS)价差', 'PP无纺布:生产毛利:中国(周)', '塑编整体开工率', '华南聚丙烯基差(折盘面收盘价)', '中国PP下游平均开工率', '华东聚丙烯基差(折盘面收盘价)', 'PP看空情绪指数环差', 'PP:看平比例:中国(周)']\n", - "正在绘制第1个特征PP神华竞拍(临沂)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第2个特征PP:拉丝:S1003:市场主流价:常州:国能榆林化工(日)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第3个特征PP神华竞拍(华东)与价格散点图...\n", - "正在绘制第4个特征BOPP:成本:中国(日)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第5个特征PP:BOPP:1103K:出厂价:华北地区:国家能源宁煤(日)与价格散点图...\n", - "价格下负相关的特征值有: ['中国PP无纺布原料库存天数', '中国PP无纺布成品库存天数', '中国PP无纺布原料库存量', 'PP无纺布:厂内库存:中国(周)', '中国BOPP成品库存量', '中国BOPP成品库存天数', '印度粉矿:57%Fe:品牌价格:青岛港', 'PP:看跌比例:中国(周)', 'PP管材开工率', 'PP:低熔共聚:2500HY:市场价:临沂:国家能源宁煤(日)', '煤制聚丙烯利润', 'CPP:二元共聚膜:F08EC:出厂价:华东地区:镇海炼化(日)', 'PP:低熔共聚:K8003:出厂价:临沂:宝丰能源(日)', 'BOPP开工率', 'PP:低熔共聚:K8003:出厂价:常州:宝丰能源(日)', 'PP:低熔共聚:K8003:出厂价:河北、鲁北:大唐内蒙多伦(日)', '华北聚丙烯基差(折盘面收盘价)', 'DCE:工业产品:期货价格综合指数收盘价(日)']\n", - "正在绘制第1个特征中国PP无纺布原料库存天数与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第2个特征中国PP无纺布成品库存天数与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第3个特征中国PP无纺布原料库存量与价格散点图...\n", - "正在绘制第4个特征PP无纺布:厂内库存:中国(周)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "价格类指标的相关性总和为:91.9826336555467\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第5个特征中国BOPP成品库存量与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "价格类指标的相关性总和为:91.9826336555467\n", - "开始绘制供应类指标的相关性直方图\n", - "开始绘制供应类指标的相关性直方图\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "供应下正相关的特征值有: ['PP开工率(1MMA)', 'PP周度开工率', 'PP开工率/7DMA', 'PP开工率/2WMA', 'PP日度开工率', 'PP/开工率/东北地区(日)', 'PP开工率/华中地区(日)', 'PP开工率/华南地区(日)', 'PP开工率/华北地区(日)', 'PP下游综合开工率(少注塑&CPP)', 'PP无纺布生产毛利', 'CPP:均聚:生产比例:中国(日)', 'PP:高熔纤维:生产比例:中国(日)', '中国再生PP周度开工负荷率同差', '冷水管:生产比例:中国(日)', 'PP粉料开工率(4WMA)', 'PP开工率/西北地区(日)', '中国再生PP周度开工负荷率', 'PP:拉丝:生产比例:中国(日)', 'BOPP开工率(隆众)同差', 'BOPP开工率同差', 'PP粉料开工率', 'PP:涂覆料:生产比例:中国(日)', 'PP:薄壁注塑:生产比例:中国(日)', 'PP开工率/西南地区(日)', 'PP下游综合开工率/2WMA', 'PP:低熔共聚:生产比例:中国(日)', 'PP开工率/华东地区(日)', 'PP:中熔共聚:生产比例:中国(日)', 'PP:均聚注塑:生产比例:中国(日)', 'PP日产/PE日产']\n", - "正在绘制第1个特征PP开工率(1MMA)与价格散点图...\n", - "正在绘制第2个特征PP周度开工率与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第3个特征PP开工率/7DMA与价格散点图...\n", - "正在绘制第4个特征PP开工率/2WMA与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第5个特征PP日度开工率与价格散点图...\n", - "供应下负相关的特征值有: ['PP粉检修减损量(周)', 'PP日度产量(粒料+粉料)', 'PP周度产量', 'PP日度产量7DMA', 'PP日度产量', 'PP周度产量变频', 'PP日度产量(1MMA)', 'PP周度产量/4WMA', 'PP管材开工率同差', 'PP周度产量同差', 'PP开工率同差', 'PP检修减损量', 'PP周度产量同比', 'PP日度产量同差', 'PP检修损失量(万吨/年)', 'PP检修减损量(日)', 'PP日度产量同比', 'PP下游综合开工率同差', 'PP粉料产量(钢联)7DMA', 'PP周度检修率', 'PP粉产量/中国(日)', 'CPP:三元共聚薄膜:生产比例:中国(日)', 'PP下游综合开工率/3年超季节性', 'CPP:二元共聚膜:生产比例:中国(日)', 'PP:透明:生产比例:中国(日)', 'BOPP开工率(4WMA)', 'PP周度产量周环差', 'PP:中熔纤维:生产比例:中国(日)', 'PP无纺布开工率同差', 'PP下游开工/PE下游开工', 'PP:无规共聚:生产比例:中国(日)', '热水管:生产比例:中国(日)', 'PP:高熔共聚:生产比例:中国(日)', 'PP日度产量1000天百分位', 'PP日度产量环差']\n", - "正在绘制第1个特征PP粉检修减损量(周)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第2个特征PP日度产量(粒料+粉料)与价格散点图...\n", - "正在绘制第3个特征PP周度产量与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第4个特征PP日度产量7DMA与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "供应类指标的相关性总和为:19.676577761750373\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第5个特征PP日度产量与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "供应类指标的相关性总和为:19.676577761750373\n", - "开始绘制其他类指标的相关性直方图\n", - "开始绘制其他类指标的相关性直方图\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "其他下正相关的特征值有: ['PP连续-1月', 'PP连续-9月', 'PP连续-5月', '山东丙烯主流价', 'FEI丙烷 M1', 'PVC期货主力', '丙烷(山东)', '甲醇鲁南价格', '甲醇太仓港口价格', 'PE期货收盘价', 'LME铜价']\n", - "正在绘制第1个特征PP连续-1月与价格散点图...\n", - "正在绘制第2个特征PP连续-9月与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第3个特征PP连续-5月与价格散点图...\n", - "正在绘制第4个特征山东丙烯主流价与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第5个特征FEI丙烷 M1与价格散点图...\n", - "其他下负相关的特征值有: ['在岸人民币汇率', '黄金连1合约', '美元指数', 'Brent-WTI', '南华工业品指数']\n", - "正在绘制第1个特征在岸人民币汇率与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第2个特征黄金连1合约与价格散点图...\n", - "正在绘制第3个特征美元指数与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第4个特征Brent-WTI与价格散点图...\n", - "正在绘制第5个特征南华工业品指数与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "其他类指标的相关性总和为:12.061155519572203\n", - "其他类指标的相关性总和为:12.061155519572203\n", - "开始绘制库存类指标的相关性直方图\n", - "开始绘制库存类指标的相关性直方图\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "库存下正相关的特征值有: ['PP贸易商库存(钢联)同比', 'PP期末库存/天津港(周)', '塑编原材料库存', 'PP下游原料库存', 'BOPP订单天数-产成品库存天数(隆众)', 'PP期末库存/厦门港(周)', '中国BOPP原料库存量', 'PP粉料库存', 'PP库存 (地方炼厂)', '聚烯烃两油库存', 'PP:期末库存:青岛港(周)', 'PP库存(PDH)超季节性(3Y)', 'PP贸易商库存(钢联)', 'PP拉丝期末库存(周)', '聚烯烃两油库存同比', 'PP周度总库存', 'PP炼厂库存+PDH库存', 'PP期末库存/宁波港(周)', '中国BOPP周度原料库存天数(T)', 'PP粉料库存(吨)变化', 'PP上游库存(两油+煤+PDH+地方)']\n", - "正在绘制第1个特征PP贸易商库存(钢联)同比与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第2个特征PP期末库存/天津港(周)与价格散点图...\n", - "正在绘制第3个特征塑编原材料库存与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第4个特征PP下游原料库存与价格散点图...\n", - "正在绘制第5个特征BOPP订单天数-产成品库存天数(隆众)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "库存下负相关的特征值有: ['中国BOPP周度产成品库存天数(T)', 'PP下游原料库存天数', '中国CPP成品库存天数', '中国再生PP样本企业周度库存', 'PP库存(PDH)', '聚烯烃两油库存1000天百分位', '中国CPP原料库存天数', '中国CPP成品库存量', 'PP期末库存/广州港(周)', 'BOPP原料库存+产成品库存天数', 'PP期末库存/上海港(周)', '中国PP港口期末库存', 'PP上游库存(两油+煤+PDH)', 'PP两油+煤制库存', 'PP两桶油/库存(周)', 'PP库存(煤制)', '中国BOPP原料库存天数同差']\n", - "正在绘制第1个特征中国BOPP周度产成品库存天数(T)与价格散点图...\n", - "正在绘制第2个特征PP下游原料库存天数与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第3个特征中国CPP成品库存天数与价格散点图...\n", - "正在绘制第4个特征中国再生PP样本企业周度库存与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "库存类指标的相关性总和为:11.265124823866078\n", - "库存类指标的相关性总和为:11.265124823866078\n", - "开始绘制进出口类指标的相关性直方图\n", - "开始绘制进出口类指标的相关性直方图\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第5个特征PP库存(PDH)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "进出口下正相关的特征值有: ['聚丙烯出口利润']\n", - "正在绘制第1个特征聚丙烯出口利润与价格散点图...\n", - "进出口下负相关的特征值有: ['聚丙烯进口利润']\n", - "正在绘制第1个特征聚丙烯进口利润与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "进出口类指标的相关性总和为:1.621285695326623\n", - "进出口类指标的相关性总和为:1.621285695326623\n", - "开始绘制需求类指标的相关性直方图\n", - "开始绘制需求类指标的相关性直方图\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "需求下正相关的特征值有: ['中国:华东地区:市场平均价:BOPP厚光膜', 'BOPP利润(华东地区)', '中国BOPP订单天数/4WMA', 'PP部分下游订单天数', 'BOPP 订单-成品天数', 'BOPP订单天数变频', 'BOPP完工订单工作量(周)', 'BOPP开工率超季节性/3年', 'BOPP新订单量(7DMA)', '中国再生PP周度样本成交量', 'BOPP日度新订单量(T)', '中国BOPP订单天数同差', '中国BOPP成品库存量同差']\n", - "正在绘制第1个特征中国:华东地区:市场平均价:BOPP厚光膜与价格散点图...\n", - "正在绘制第2个特征BOPP利润(华东地区)与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第3个特征中国BOPP订单天数/4WMA与价格散点图...\n", - "正在绘制第4个特征PP部分下游订单天数与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第5个特征BOPP 订单-成品天数与价格散点图...\n", - "需求下负相关的特征值有: ['PP下游成品库存天数', '中国CPP订单天数']\n", - "正在绘制第1个特征PP下游成品库存天数与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", - " with pd.option_context('mode.use_inf_as_na', True):\n", - "需求类指标的相关性总和为:6.76636659497056\n", - "需求类指标的相关性总和为:6.76636659497056\n", - "开始绘制相关性总和的气泡图\n", - "开始绘制相关性总和的气泡图\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "正在绘制第2个特征中国CPP订单天数与价格散点图...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "绘制相关性总和的气泡图结束\n", - "绘制相关性总和的气泡图结束\n", - "制作报告end\n", - "制作报告end\n", - "模型训练完成\n", - "模型训练完成\n" - ] - } - ], - "source": [ - "# 模型报告\n", - "\n", - "logger.info('制作报告ing')\n", - "title = f'{settings}--{now}-预测报告' # 报告标题\n", - "\n", - "pp_export_pdf(dataset=dataset,num_models = 5 if is_fivemodels else 22,time=end_time,\n", - " reportname=reportname,sqlitedb=sqlitedb),\n", - "\n", - "logger.info('制作报告end')\n", - "logger.info('模型训练完成')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d4129e71-ee2c-4af1-81ed-fadf14efa206", - "metadata": {}, - "outputs": [], - "source": [ - "# 发送邮件\n", - "m = SendMail(\n", - " username=username,\n", - " passwd=passwd,\n", - " recv=recv,\n", - " title=title,\n", - " content=content,\n", - " file=max(glob.glob(os.path.join(dataset,'*.pdf')), key=os.path.getctime),\n", - " ssl=ssl,\n", - ")\n", - "# m.send_mail() \n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.7" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/juxitingdataset/df_combined3.csv b/juxitingdataset/df_combined3.csv index 1c4d2ac..fcc3069 100644 --- a/juxitingdataset/df_combined3.csv +++ b/juxitingdataset/df_combined3.csv @@ -1,206 +1,206 @@ -ds,NHITS,Informer,LSTM,iTransformer,TSMixer,TSMixerx,PatchTST,RNN,GRU,TCN,BiTCN,DilatedRNN,MLP,DLinear,NLinear,TFT,StemGNN,MLPMultivariate,TiDE,DeepNPTS,y,min_within_quantile,max_within_quantile,min_model,max_model,NLinear_abs_error_rate,RNN_abs_error_rate,TiDE_abs_error_rate,LSTM_abs_error_rate,DilatedRNN_abs_error_rate,PatchTST_abs_error_rate,TSMixer_abs_error_rate,NHITS_abs_error_rate,GRU_abs_error_rate,DLinear_abs_error_rate,DeepNPTS_abs_error_rate,TFT_abs_error_rate,MLP_abs_error_rate,Informer_abs_error_rate,TSMixerx_abs_error_rate,BiTCN_abs_error_rate,TCN_abs_error_rate,iTransformer_abs_error_rate,MLPMultivariate_abs_error_rate,StemGNN_abs_error_rate,min_abs_error_rate_prediction,min_abs_error_rate_column_name -2024-01-29,7327.54,7371.29,7327.98,7384.88,7303.02,7287.33,7292.89,7315.12,7343.6,7448.81,7326.19,7305.51,7323.52,7296.29,7310.33,7284.56,7305.08,7307.85,7296.64,7296.58,7305.0,7296.64,7327.98,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.02,0.01,0.0,0.0,7305.08,StemGNN -2024-01-30,7323.87,7345.87,7337.31,7389.43,7298.24,7304.34,7293.09,7323.49,7353.22,7449.26,7332.46,7312.26,7328.59,7281.35,7304.5,7300.72,7302.7,7318.95,7297.0,7304.78,7315.0,7297.0,7337.31,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.01,0.0,0.0,7312.26,DilatedRNN -2024-01-31,7324.15,7346.47,7344.21,7380.46,7308.31,7304.1,7294.49,7331.7,7359.12,7457.24,7342.73,7323.04,7320.56,7292.95,7297.57,7318.6,7301.14,7334.67,7303.24,7314.47,7302.5,7297.57,7344.21,NLinear,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.02,0.01,0.0,0.0,7303.24,TiDE -2024-02-01,7310.36,7350.73,7330.01,7368.2,7301.07,7305.61,7286.25,7318.49,7346.67,7454.66,7335.99,7307.86,7320.18,7289.85,7286.74,7300.7,7300.0,7329.82,7302.62,7301.44,7275.0,7286.74,7330.01,NLinear,LSTM,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.02,0.01,0.01,0.0,7286.25,PatchTST -2024-02-02,7293.69,7327.78,7309.33,7373.02,7273.72,7281.96,7266.09,7301.23,7324.77,7439.28,7308.17,7276.55,7291.01,7277.53,7261.4,7276.11,7297.48,7296.47,7281.35,7281.49,7242.5,7261.4,7309.33,NLinear,LSTM,0.0,0.01,0.01,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.03,0.02,0.01,0.01,7261.4,NLinear -2024-02-04,7254.43,7283.66,7289.7,7339.78,7239.73,7246.94,7231.94,7275.87,7300.41,7419.08,7273.83,7247.99,7247.88,7248.6,7243.9,7245.49,7293.53,7245.1,7250.1,7275.04,7240.0,7243.9,7289.7,NLinear,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.02,0.01,0.0,0.01,7239.73,TSMixer -2024-02-05,7250.29,7259.14,7291.3,7286.88,7225.65,7210.31,7228.4,7274.82,7302.66,7410.31,7243.09,7250.31,7235.75,7227.82,7230.87,7230.15,7289.29,7232.53,7231.23,7243.13,7227.5,7230.87,7291.3,NLinear,LSTM,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03,0.01,0.0,0.01,7227.82,DLinear -2024-02-06,7238.12,7245.94,7284.38,7245.93,7214.97,7191.32,7208.56,7264.12,7290.83,7402.4,7214.51,7247.19,7215.73,7210.97,7213.27,7208.05,7284.47,7215.47,7216.57,7240.12,7246.67,7213.27,7284.38,NLinear,LSTM,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.02,0.0,0.0,0.01,7247.19,DilatedRNN -2024-02-07,7250.07,7249.58,7298.53,7246.31,7225.56,7233.26,7233.51,7282.69,7310.77,7411.92,7197.42,7269.31,7226.51,7226.73,7229.02,7225.51,7280.56,7230.76,7231.61,7227.76,7255.0,7229.02,7298.53,NLinear,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.02,0.0,0.0,0.0,7250.07,NHITS -2024-02-08,7255.89,7238.05,7302.06,7239.05,7240.02,7246.68,7249.72,7290.17,7314.03,7416.26,7187.06,7274.24,7236.22,7231.46,7251.08,7240.22,7277.06,7237.26,7253.37,7246.68,7270.0,7251.08,7302.06,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.0,0.01,0.02,0.0,0.0,0.0,7274.24,DilatedRNN -2024-02-18,7255.75,7235.38,7313.8,7233.69,7255.69,7255.58,7265.83,7300.25,7328.57,7421.75,7188.82,7284.88,7247.14,7230.47,7268.08,7275.0,7274.52,7246.07,7273.11,7254.99,7336.67,7268.08,7313.8,NLinear,LSTM,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.01,0.01,0.01,0.01,7328.57,GRU -2024-02-19,7328.24,7286.07,7381.02,7275.31,7308.41,7310.31,7327.43,7366.18,7388.41,7447.08,7280.03,7355.52,7284.43,7281.5,7344.23,7354.4,7273.63,7291.66,7323.83,7270.38,7350.0,7323.83,7381.02,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,7354.4,TFT -2024-02-20,7340.94,7314.03,7381.57,7320.35,7338.18,7366.51,7341.79,7363.28,7388.78,7459.81,7353.13,7385.1,7303.85,7305.54,7355.22,7374.68,7273.2,7317.23,7334.72,7315.85,7335.0,7334.72,7385.1,TiDE,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.01,7334.72,TiDE -2024-02-21,7328.09,7291.25,7364.24,7319.25,7332.97,7412.64,7331.43,7349.38,7375.82,7465.63,7385.73,7387.23,7307.38,7333.67,7337.79,7342.36,7272.39,7318.1,7325.39,7314.47,7297.5,7325.39,7387.23,TiDE,DilatedRNN,0.01,0.01,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.02,0.01,0.02,0.0,0.0,0.0,7291.25,Informer -2024-02-22,7287.87,7267.14,7325.02,7277.25,7305.41,7391.88,7303.83,7321.02,7340.78,7453.1,7382.02,7339.71,7294.56,7318.52,7298.75,7277.44,7270.51,7301.04,7291.38,7276.98,7285.0,7291.38,7339.71,TiDE,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.02,0.0,0.0,0.0,7287.87,NHITS -2024-02-23,7274.4,7269.57,7318.81,7248.73,7289.09,7370.73,7297.79,7303.7,7335.42,7444.23,7366.25,7323.17,7289.08,7303.61,7282.35,7266.32,7268.19,7293.09,7280.01,7282.8,7306.67,7280.01,7323.17,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.02,0.01,0.0,0.01,7303.7,RNN -2024-02-26,7317.08,7264.94,7337.71,7258.44,7297.69,7360.07,7324.84,7325.02,7354.15,7444.26,7362.54,7327.9,7317.03,7295.98,7301.97,7291.58,7266.69,7302.36,7294.47,7344.75,7292.5,7294.47,7337.71,TiDE,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.02,0.0,0.0,0.0,7291.58,TFT -2024-02-27,7324.86,7265.31,7320.64,7250.01,7294.19,7304.11,7298.21,7308.62,7337.19,7439.27,7344.69,7310.37,7318.04,7292.7,7282.65,7268.99,7265.18,7294.64,7286.29,7335.9,7306.67,7282.65,7320.64,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.02,0.01,0.0,0.01,7308.62,RNN -2024-02-28,7350.44,7289.53,7338.22,7309.69,7298.81,7324.0,7322.15,7329.78,7355.81,7445.01,7333.11,7324.66,7333.3,7311.24,7305.73,7297.46,7264.32,7302.66,7303.67,7363.84,7353.33,7303.67,7338.22,TiDE,LSTM,0.01,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.01,7355.81,GRU -2024-02-29,7364.92,7312.73,7388.84,7333.98,7331.49,7367.62,7367.57,7377.53,7397.03,7453.38,7342.48,7349.71,7365.78,7333.87,7360.89,7322.64,7264.33,7322.6,7342.49,7352.62,7325.0,7342.49,7388.84,TiDE,LSTM,0.0,0.01,0.0,0.01,0.0,0.01,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.02,0.0,0.0,0.01,7322.64,TFT -2024-03-01,7321.58,7316.24,7343.94,7309.51,7320.66,7330.76,7334.34,7332.16,7359.97,7443.02,7323.63,7307.3,7329.62,7315.68,7335.52,7305.79,7264.18,7304.35,7325.91,7320.04,7343.33,7307.3,7343.94,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,7343.94,LSTM -2024-03-04,7340.8,7317.33,7376.92,7311.15,7328.22,7340.47,7340.31,7365.15,7388.86,7450.74,7315.87,7323.96,7323.98,7333.25,7339.48,7315.33,7264.33,7301.3,7341.73,7340.63,7330.0,7323.96,7376.92,DilatedRNN,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.01,7328.22,TSMixer -2024-03-05,7315.29,7324.32,7350.44,7305.61,7325.74,7339.79,7318.97,7344.85,7365.55,7451.88,7304.36,7319.43,7316.46,7325.93,7321.51,7307.34,7264.21,7297.3,7327.12,7328.32,7310.0,7319.43,7350.44,DilatedRNN,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.01,7307.34,TFT -2024-03-06,7308.37,7325.7,7334.63,7294.16,7305.63,7325.18,7312.54,7318.27,7352.91,7447.44,7298.88,7308.51,7313.02,7309.36,7297.3,7288.71,7263.76,7286.98,7300.48,7306.5,7297.5,7297.3,7334.63,NLinear,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.0,7297.3,NLinear -2024-03-07,7299.86,7322.53,7324.67,7282.33,7294.87,7306.71,7313.41,7321.12,7342.72,7440.57,7289.94,7302.04,7319.49,7285.37,7297.06,7280.81,7263.15,7286.31,7293.88,7289.42,7290.0,7293.88,7324.67,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.0,7289.94,BiTCN -2024-03-08,7284.22,7300.35,7319.86,7274.83,7286.74,7293.73,7302.8,7307.93,7337.87,7436.35,7274.2,7299.68,7286.94,7284.21,7288.37,7276.83,7262.76,7277.18,7291.02,7296.59,7295.0,7288.37,7319.86,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.0,7293.73,TSMixerx -2024-03-11,7271.27,7287.88,7325.34,7269.57,7283.7,7281.61,7304.64,7315.33,7343.5,7434.85,7270.74,7301.9,7264.77,7297.51,7293.47,7279.98,7262.81,7273.09,7289.34,7281.02,7285.0,7289.34,7325.34,TiDE,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.0,7283.7,TSMixer -2024-03-12,7252.84,7289.89,7316.38,7238.32,7271.27,7285.97,7283.58,7308.11,7333.67,7423.91,7273.67,7295.14,7244.6,7296.69,7275.31,7274.42,7264.09,7267.18,7270.4,7242.84,7283.33,7270.4,7316.38,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.02,0.01,0.0,0.0,7283.58,PatchTST -2024-03-13,7248.94,7289.63,7317.69,7233.04,7267.63,7290.31,7281.2,7307.19,7335.38,7425.88,7268.58,7309.18,7235.08,7304.14,7278.21,7275.33,7265.65,7265.26,7272.33,7235.62,7285.0,7272.33,7317.69,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.02,0.01,0.0,0.0,7281.2,PatchTST -2024-03-14,7265.67,7272.35,7319.05,7246.86,7274.3,7281.33,7285.09,7310.26,7336.26,7424.37,7279.02,7310.25,7246.55,7274.92,7288.54,7285.69,7269.2,7272.8,7280.93,7245.84,7277.5,7280.93,7319.05,TiDE,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.0,7279.02,BiTCN -2024-03-15,7268.02,7272.38,7313.29,7252.22,7272.37,7267.28,7274.58,7300.8,7329.86,7422.91,7276.36,7300.48,7249.94,7253.63,7269.2,7284.16,7271.75,7274.0,7279.15,7275.57,7353.33,7269.2,7313.29,NLinear,LSTM,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,7329.86,GRU -2024-03-18,7347.52,7331.59,7398.1,7300.4,7319.2,7299.25,7365.29,7379.18,7404.8,7454.79,7304.76,7381.73,7306.57,7305.65,7353.59,7387.27,7274.58,7304.16,7330.82,7352.64,7387.5,7330.82,7398.1,TiDE,LSTM,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,7387.27,TFT -2024-03-19,7383.2,7377.06,7422.18,7337.72,7360.54,7351.51,7392.03,7400.81,7423.66,7474.67,7313.87,7416.08,7356.26,7326.81,7393.41,7420.57,7276.23,7330.54,7363.47,7386.88,7435.0,7363.47,7422.18,TiDE,LSTM,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.0,0.01,0.01,0.01,0.02,0.01,0.01,0.01,0.02,7423.66,GRU -2024-03-20,7431.32,7405.09,7481.7,7376.29,7402.01,7385.96,7459.23,7451.43,7481.06,7500.15,7329.38,7477.52,7408.8,7385.25,7441.38,7446.61,7277.8,7375.82,7414.87,7433.1,7460.0,7414.87,7481.7,TiDE,LSTM,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.02,0.01,0.01,0.01,0.02,7459.23,PatchTST -2024-03-21,7458.23,7401.49,7497.22,7416.58,7435.34,7399.19,7477.4,7484.97,7496.09,7515.96,7349.72,7505.51,7430.26,7433.87,7467.83,7466.18,7280.62,7415.17,7449.45,7440.95,7422.5,7449.45,7505.51,TiDE,DilatedRNN,0.01,0.01,0.0,0.01,0.01,0.01,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.02,7416.58,iTransformer -2024-03-22,7407.08,7385.58,7442.54,7427.62,7418.86,7399.51,7396.74,7421.23,7442.49,7503.78,7352.84,7447.2,7399.15,7426.65,7428.19,7410.61,7284.13,7404.03,7430.58,7399.98,7402.5,7421.23,7447.2,RNN,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.02,7404.03,MLPMultivariate -2024-03-25,7390.93,7341.74,7425.1,7351.02,7389.62,7396.72,7393.91,7412.02,7429.24,7493.73,7344.59,7410.24,7372.03,7425.95,7402.73,7362.53,7285.9,7383.56,7400.51,7386.46,7372.5,7400.51,7425.1,TiDE,LSTM,0.0,0.01,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.01,7372.03,MLP -2024-03-26,7347.33,7326.36,7383.73,7310.72,7358.05,7389.99,7351.15,7374.38,7394.84,7478.16,7345.4,7372.22,7346.88,7391.77,7355.68,7335.91,7286.96,7355.52,7355.3,7348.98,7365.0,7355.3,7383.73,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.02,0.01,0.0,0.01,7358.05,TSMixer -2024-03-27,7332.67,7312.63,7381.71,7327.69,7341.74,7356.66,7347.59,7365.01,7395.24,7472.17,7348.8,7371.09,7330.06,7369.82,7345.87,7337.23,7287.96,7336.09,7351.86,7342.38,7345.0,7345.87,7381.71,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.0,0.01,7345.87,NLinear -2024-03-28,7318.95,7314.23,7356.68,7325.77,7325.55,7327.43,7330.24,7354.81,7374.07,7455.5,7348.21,7331.05,7302.67,7352.37,7328.51,7320.33,7288.74,7314.21,7333.58,7330.55,7345.0,7328.51,7356.68,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.02,0.0,0.0,0.01,7348.21,BiTCN -2024-03-29,7333.3,7331.35,7363.25,7327.67,7319.56,7301.55,7328.18,7355.11,7380.95,7447.57,7334.74,7327.27,7288.54,7335.81,7336.81,7319.3,7289.92,7297.93,7332.41,7343.51,7345.0,7327.27,7363.25,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.0,0.01,0.01,7343.51,DeepNPTS -2024-04-01,7348.05,7330.57,7362.77,7332.96,7322.2,7298.06,7329.02,7358.66,7379.31,7439.07,7324.08,7319.56,7297.91,7335.11,7344.4,7319.01,7290.86,7297.93,7334.57,7336.61,7360.0,7319.56,7362.77,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.0,0.01,0.01,7358.66,RNN -2024-04-02,7354.85,7323.4,7383.79,7332.65,7333.63,7305.61,7343.25,7371.61,7396.96,7439.3,7319.5,7330.72,7310.54,7330.5,7355.11,7328.96,7291.78,7303.89,7341.66,7354.63,7380.0,7330.72,7383.79,DilatedRNN,LSTM,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,7383.79,LSTM -2024-04-03,7365.36,7363.44,7406.76,7337.82,7351.97,7328.92,7372.84,7392.54,7415.12,7455.35,7328.3,7365.47,7333.11,7329.49,7376.28,7337.59,7293.34,7332.99,7356.93,7368.23,7397.5,7356.93,7406.76,TiDE,LSTM,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,7392.54,RNN -2024-04-07,7393.17,7399.15,7426.61,7353.03,7376.49,7376.75,7414.11,7407.82,7431.87,7469.02,7340.05,7401.16,7367.35,7352.12,7391.14,7345.16,7296.03,7358.92,7389.73,7383.01,7437.5,7389.73,7426.61,TiDE,LSTM,0.01,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.02,7431.87,GRU -2024-04-08,7446.69,7449.75,7475.26,7373.37,7410.56,7404.13,7471.23,7453.16,7476.52,7494.46,7348.69,7462.4,7410.81,7377.58,7435.09,7383.23,7300.34,7398.07,7432.4,7434.56,7490.0,7432.4,7475.26,TiDE,LSTM,0.01,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.02,0.01,0.01,0.01,0.01,0.01,0.02,0.0,0.02,0.01,0.03,7494.46,TCN -2024-04-09,7504.9,7467.54,7530.61,7433.77,7452.01,7425.34,7513.39,7508.93,7533.46,7525.64,7357.86,7528.49,7454.96,7437.01,7491.25,7428.23,7304.74,7457.52,7473.55,7489.28,7507.5,7473.55,7530.61,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.02,0.0,0.01,0.01,0.03,7508.93,RNN -2024-04-10,7507.67,7467.99,7538.11,7542.22,7472.33,7420.04,7503.44,7518.16,7542.64,7545.15,7374.81,7566.42,7470.54,7473.43,7509.8,7433.5,7310.03,7488.79,7488.68,7506.2,7497.5,7488.68,7566.42,TiDE,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.01,0.02,0.01,0.01,0.0,0.03,7503.44,PatchTST -2024-04-11,7471.36,7447.97,7520.09,7595.64,7468.23,7408.33,7456.56,7507.32,7523.82,7548.46,7392.38,7548.81,7429.43,7498.08,7501.92,7419.36,7314.95,7464.22,7485.5,7461.34,7497.5,7485.5,7548.81,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.02,7498.08,DLinear -2024-04-12,7441.47,7422.59,7520.65,7489.62,7460.53,7422.05,7457.34,7508.16,7525.23,7549.5,7408.37,7551.69,7408.99,7522.65,7488.91,7405.51,7319.85,7442.42,7475.94,7381.11,7506.67,7475.94,7551.69,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.0,0.0,0.02,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.02,7508.16,RNN -2024-04-15,7437.49,7392.71,7528.99,7359.85,7460.77,7406.3,7457.88,7511.0,7534.34,7550.29,7422.12,7559.66,7408.64,7505.06,7499.32,7414.59,7324.39,7350.28,7478.66,7390.39,7482.5,7478.66,7559.66,TiDE,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.02,7478.66,TiDE -2024-04-16,7414.4,7356.55,7493.42,7320.82,7445.33,7389.55,7430.34,7479.15,7495.79,7530.0,7414.8,7504.09,7384.23,7474.41,7463.96,7395.26,7326.74,7316.68,7464.25,7352.03,7495.0,7463.96,7504.09,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.0,0.02,0.01,0.01,0.02,0.01,0.01,0.0,0.02,0.02,0.02,7495.79,GRU -2024-04-17,7418.15,7345.34,7517.47,7244.33,7448.57,7372.91,7443.81,7505.07,7524.59,7532.58,7416.41,7509.97,7377.52,7468.47,7480.95,7402.17,7328.88,7308.76,7469.45,7336.17,7497.5,7469.45,7517.47,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.0,0.02,0.01,0.02,0.02,0.02,0.01,0.0,0.03,0.03,0.02,7505.07,RNN -2024-04-18,7436.24,7365.21,7513.57,7192.38,7453.6,7372.54,7432.96,7503.99,7517.93,7524.56,7417.28,7494.44,7394.34,7452.7,7495.29,7403.77,7331.62,7302.16,7473.56,7444.7,7497.5,7473.56,7513.57,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.02,0.02,0.01,0.0,0.04,0.03,0.02,7495.29,NLinear -2024-04-19,7447.08,7350.32,7514.88,7205.88,7455.57,7376.24,7410.53,7499.09,7521.58,7514.49,7414.34,7484.98,7403.57,7462.21,7490.31,7405.58,7335.87,7309.31,7468.85,7449.0,7527.5,7468.85,7514.88,TiDE,LSTM,0.0,0.0,0.01,0.0,0.01,0.02,0.01,0.01,0.0,0.01,0.01,0.02,0.02,0.02,0.02,0.02,0.0,0.04,0.03,0.03,7521.58,GRU -2024-04-22,7475.88,7423.16,7553.94,7254.19,7479.88,7386.67,7447.72,7543.1,7564.77,7529.09,7418.21,7513.38,7448.4,7465.62,7534.03,7424.22,7340.89,7353.61,7495.13,7507.16,7527.5,7495.13,7553.94,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.02,0.01,0.0,0.04,0.02,0.02,7529.09,TCN -2024-04-23,7483.17,7425.91,7543.4,7290.92,7493.7,7412.12,7452.95,7529.65,7551.13,7530.61,7420.4,7510.63,7476.78,7493.62,7519.16,7425.58,7345.31,7389.05,7508.08,7474.14,7510.0,7508.08,7543.4,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.0,0.03,0.02,0.02,7510.63,DilatedRNN -2024-04-24,7489.82,7449.76,7522.43,7284.6,7487.66,7426.27,7472.05,7511.78,7529.63,7526.36,7421.74,7485.46,7485.09,7501.46,7492.88,7420.0,7350.44,7407.38,7501.62,7474.42,7487.5,7485.46,7522.43,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.03,0.01,0.02,7487.66,TSMixer -2024-04-25,7478.17,7459.27,7497.68,7280.8,7470.32,7445.5,7489.49,7493.36,7502.21,7512.97,7428.15,7459.13,7481.87,7483.92,7478.55,7422.14,7354.99,7425.65,7481.11,7463.77,7487.5,7459.13,7497.68,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.0,0.03,0.01,0.02,7489.49,PatchTST -2024-04-26,7471.79,7504.41,7503.64,7251.0,7463.42,7473.47,7521.54,7488.07,7509.47,7511.23,7437.15,7478.42,7488.64,7486.83,7477.29,7424.85,7357.93,7426.34,7478.56,7483.43,7502.5,7477.29,7503.64,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.03,0.01,0.02,7503.64,LSTM -2024-04-28,7467.89,7518.13,7521.81,7174.11,7470.82,7479.49,7536.93,7508.17,7528.39,7516.84,7455.74,7505.59,7480.88,7472.89,7496.72,7427.1,7362.14,7417.9,7486.94,7501.28,7527.5,7486.94,7521.81,TiDE,LSTM,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.01,0.0,0.01,0.01,0.0,0.05,0.01,0.02,7528.39,GRU -2024-04-29,7481.1,7537.41,7551.26,7198.68,7484.31,7493.62,7539.07,7535.14,7561.36,7538.57,7471.26,7551.52,7456.97,7503.59,7513.18,7435.48,7365.99,7410.41,7503.56,7523.13,7537.5,7503.56,7551.52,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.01,0.0,0.04,0.02,0.02,7537.41,Informer -2024-04-30,7485.56,7594.84,7557.28,7254.42,7491.22,7476.7,7528.7,7545.33,7567.36,7559.4,7475.39,7570.71,7438.04,7536.98,7529.87,7442.82,7370.56,7405.34,7509.73,7512.24,7532.5,7509.73,7570.71,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.0,0.04,0.02,0.02,7529.87,NLinear -2024-05-06,7483.94,7574.7,7548.46,7325.23,7489.19,7448.35,7506.84,7539.17,7557.91,7552.76,7467.6,7562.01,7421.79,7525.62,7532.45,7444.39,7376.1,7394.27,7509.66,7408.65,7502.5,7509.66,7562.01,TiDE,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.02,0.01,0.02,7506.84,PatchTST -2024-05-07,7454.26,7549.21,7509.9,7428.31,7469.92,7432.5,7468.81,7503.76,7514.61,7528.46,7455.19,7517.82,7393.69,7501.23,7494.93,7449.21,7382.07,7369.93,7480.75,7366.6,7475.0,7480.75,7517.82,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,7469.92,TSMixer -2024-05-08,7448.62,7504.08,7483.78,7341.15,7449.91,7422.82,7453.71,7472.99,7488.15,7506.29,7444.99,7489.62,7390.3,7460.89,7477.19,7433.97,7388.17,7356.53,7456.13,7334.04,7512.5,7456.13,7489.62,TiDE,DilatedRNN,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.02,0.01,0.02,0.0,0.01,0.01,0.0,0.02,0.02,0.02,7506.29,TCN -2024-05-09,7489.41,7492.55,7538.78,7228.58,7471.97,7432.32,7488.34,7522.5,7548.68,7532.69,7450.95,7550.51,7421.94,7462.06,7500.77,7464.86,7394.79,7365.0,7478.99,7376.05,7505.0,7478.99,7550.51,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.02,0.01,0.01,0.0,0.01,0.01,0.0,0.04,0.02,0.01,7500.77,NLinear -2024-05-10,7502.58,7503.25,7515.71,7238.33,7480.19,7439.46,7474.0,7502.34,7519.2,7530.79,7445.66,7522.23,7430.08,7469.07,7501.89,7461.89,7402.07,7366.89,7475.33,7327.73,7477.5,7475.33,7522.23,TiDE,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.02,0.0,0.01,0.0,0.01,0.0,0.01,0.03,0.01,0.01,7475.33,TiDE -2024-05-11,7477.01,7468.49,7487.68,7269.38,7466.02,7463.35,7461.11,7477.54,7492.72,7517.63,7434.93,7478.03,7432.49,7469.02,7476.03,7443.91,7409.29,7377.38,7464.25,7457.58,7475.0,7464.25,7487.68,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.03,0.01,0.01,7476.03,NLinear -2024-05-13,7485.15,7465.77,7491.34,7315.73,7466.45,7476.06,7467.47,7489.51,7496.05,7504.56,7435.73,7466.04,7449.36,7487.14,7477.51,7445.1,7416.69,7406.58,7470.81,7469.83,7485.0,7466.04,7491.34,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.02,0.01,0.01,7485.15,NHITS -2024-05-14,7477.14,7476.03,7503.63,7392.31,7473.35,7492.1,7466.7,7485.68,7508.49,7498.11,7457.67,7471.83,7481.71,7489.56,7496.26,7459.57,7425.19,7437.05,7474.59,7482.29,7507.5,7471.83,7503.63,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.02,0.01,0.01,7508.49,GRU -2024-05-15,7489.91,7539.15,7530.81,7430.45,7490.52,7527.63,7486.06,7514.31,7538.25,7516.15,7484.43,7502.17,7517.09,7500.93,7501.97,7472.1,7430.11,7472.37,7495.54,7499.29,7510.0,7495.54,7530.81,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,7514.31,RNN -2024-05-16,7488.49,7555.01,7527.53,7360.08,7500.79,7538.66,7505.81,7517.8,7533.73,7533.27,7499.3,7510.77,7524.22,7516.52,7497.59,7476.12,7433.61,7352.68,7509.44,7492.98,7525.0,7497.59,7527.53,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.02,0.02,0.01,7524.22,MLP -2024-05-17,7496.75,7566.11,7548.37,7326.43,7508.88,7531.27,7524.72,7533.79,7558.48,7556.27,7511.16,7535.63,7506.21,7526.92,7519.7,7497.23,7435.59,7309.13,7519.26,7481.67,7587.5,7519.26,7548.37,TiDE,LSTM,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.0,0.03,0.04,0.02,7566.11,Informer -2024-05-20,7554.62,7644.92,7627.44,7350.25,7547.01,7528.24,7595.91,7612.28,7643.46,7596.9,7537.82,7612.63,7530.43,7539.71,7591.87,7521.2,7437.21,7296.11,7572.12,7571.91,7670.0,7572.12,7627.44,TiDE,LSTM,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.0,0.02,0.01,0.02,0.02,0.0,0.02,0.02,0.01,0.04,0.05,0.03,7644.92,Informer -2024-05-21,7646.42,7693.65,7721.68,7393.04,7609.44,7543.75,7674.38,7711.26,7740.31,7708.74,7555.53,7736.54,7598.73,7600.96,7672.61,7654.2,7439.66,7318.55,7645.34,7664.22,7677.5,7645.34,7736.54,TiDE,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.01,0.0,0.0,0.01,0.0,0.02,0.02,0.0,0.04,0.05,0.03,7674.38,PatchTST -2024-05-22,7647.54,7700.36,7702.61,7435.01,7631.71,7537.14,7631.25,7700.74,7718.4,7716.27,7545.94,7739.61,7593.62,7631.05,7680.19,7632.13,7443.42,7351.65,7659.1,7656.57,7677.5,7659.1,7739.61,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.0,0.01,0.01,0.0,0.02,0.02,0.01,0.03,0.04,0.03,7680.19,NLinear -2024-05-23,7626.59,7682.93,7701.23,7486.0,7631.62,7534.77,7612.35,7702.06,7719.24,7711.33,7537.83,7734.65,7576.55,7652.62,7672.35,7630.37,7449.02,7363.8,7655.3,7639.01,7645.0,7655.3,7734.65,TiDE,DilatedRNN,0.0,0.01,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.02,0.04,0.03,7639.01,DeepNPTS -2024-05-24,7591.57,7687.27,7647.22,7466.98,7604.74,7520.95,7581.75,7648.48,7659.85,7665.49,7530.35,7681.59,7545.77,7650.82,7641.27,7555.51,7455.55,7342.27,7618.71,7587.36,7630.0,7618.71,7681.59,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.02,0.04,0.02,7641.27,NLinear -2024-05-27,7587.08,7608.34,7637.65,7450.73,7586.27,7503.4,7584.06,7621.78,7653.85,7607.25,7528.53,7654.25,7532.07,7610.58,7622.67,7533.82,7463.42,7326.06,7605.99,7588.43,7650.0,7605.99,7654.25,TiDE,DilatedRNN,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.02,0.02,0.01,0.02,0.02,0.01,0.03,0.04,0.02,7653.85,GRU -2024-05-28,7607.55,7589.48,7669.13,7484.61,7597.73,7514.83,7601.71,7664.22,7686.82,7632.27,7530.03,7686.72,7537.27,7603.04,7629.19,7550.99,7471.71,7363.76,7623.46,7633.98,7690.0,7623.46,7686.72,TiDE,DilatedRNN,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.02,0.02,0.01,0.02,0.02,0.01,0.03,0.04,0.03,7686.82,GRU -2024-05-29,7652.84,7571.3,7717.47,7556.94,7630.25,7549.12,7631.5,7713.28,7739.42,7692.04,7547.56,7739.16,7571.95,7633.92,7662.71,7577.13,7480.36,7443.68,7655.77,7631.62,7690.0,7655.77,7739.16,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.02,0.02,0.02,0.02,0.0,0.02,0.03,0.03,7692.04,TCN -2024-05-30,7649.09,7577.62,7704.1,7550.92,7640.84,7541.27,7618.8,7709.13,7722.64,7686.08,7566.99,7726.25,7577.4,7647.87,7675.33,7588.57,7488.69,7495.95,7666.95,7588.98,7716.67,7666.95,7726.25,TiDE,DilatedRNN,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.02,0.02,0.02,0.02,0.02,0.02,0.0,0.02,0.03,0.03,7722.64,GRU -2024-05-31,7659.8,7578.86,7740.46,7601.55,7658.13,7553.72,7626.85,7747.84,7766.91,7734.27,7586.04,7743.6,7606.83,7679.94,7715.32,7637.17,7496.29,7552.72,7694.43,7669.36,7740.0,7694.43,7747.84,TiDE,RNN,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.02,0.02,0.02,0.02,0.0,0.02,0.02,0.03,7740.46,LSTM -2024-06-03,7680.57,7584.22,7758.74,7692.79,7682.17,7563.78,7631.12,7765.3,7782.34,7752.19,7594.94,7765.01,7648.73,7689.59,7745.42,7666.56,7503.34,7588.76,7712.73,7713.13,7720.0,7712.73,7765.3,TiDE,RNN,0.0,0.01,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.02,0.02,0.02,0.0,0.0,0.02,0.03,7713.13,DeepNPTS -2024-06-04,7665.76,7576.41,7723.4,7680.31,7679.08,7575.09,7632.31,7726.45,7745.14,7722.12,7593.83,7724.31,7634.57,7670.89,7705.0,7633.67,7509.08,7561.44,7702.17,7686.5,7650.0,7702.17,7726.45,TiDE,RNN,0.01,0.01,0.01,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.02,7634.57,MLP -2024-06-05,7606.92,7540.29,7633.46,7610.85,7632.48,7578.7,7615.23,7639.77,7644.89,7622.36,7580.73,7631.2,7599.78,7656.64,7623.31,7586.52,7512.73,7487.38,7640.26,7578.67,7620.0,7623.31,7640.26,NLinear,TiDE,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.0,0.02,0.01,7622.36,TCN -2024-06-06,7619.7,7540.46,7618.23,7535.66,7596.63,7595.6,7616.26,7613.33,7634.54,7580.04,7567.82,7615.22,7595.84,7629.27,7600.64,7572.07,7515.47,7439.33,7594.37,7568.71,7600.0,7594.37,7618.23,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.02,0.01,7600.64,NLinear -2024-06-07,7615.71,7550.14,7598.83,7495.09,7580.49,7593.81,7616.27,7589.49,7612.05,7554.46,7556.42,7595.42,7595.1,7577.71,7587.54,7557.72,7518.27,7422.08,7579.2,7530.57,7606.67,7579.2,7598.83,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.02,0.01,7612.05,GRU -2024-06-11,7601.74,7545.36,7617.55,7483.63,7583.14,7602.98,7622.97,7603.07,7634.47,7571.48,7561.7,7607.52,7596.83,7576.37,7597.98,7564.51,7521.23,7447.74,7590.24,7535.68,7620.0,7590.24,7617.55,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.0,0.01,0.01,0.02,0.02,0.01,7617.55,LSTM -2024-06-12,7595.89,7569.69,7634.83,7476.94,7595.18,7606.77,7623.29,7632.71,7651.71,7610.31,7578.85,7632.39,7571.4,7606.64,7609.63,7574.78,7524.16,7455.88,7602.32,7569.64,7673.33,7602.32,7634.83,TiDE,LSTM,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.03,0.03,0.02,7651.71,GRU -2024-06-13,7641.01,7622.33,7708.5,7521.55,7629.66,7648.57,7672.0,7705.26,7730.62,7749.36,7613.58,7719.29,7605.25,7661.15,7673.97,7611.91,7528.73,7519.31,7645.36,7563.04,7690.0,7645.36,7719.29,TiDE,DilatedRNN,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.02,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.02,7705.26,RNN -2024-06-14,7656.46,7645.11,7711.35,7577.17,7651.13,7647.51,7683.61,7716.14,7731.04,7786.84,7640.58,7734.56,7636.69,7681.25,7693.37,7630.44,7533.1,7553.32,7664.43,7573.6,7690.0,7664.43,7734.56,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.0,0.02,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,7693.37,NLinear -2024-06-17,7668.97,7660.65,7707.58,7561.25,7660.09,7645.73,7690.69,7707.57,7728.62,7790.44,7658.04,7732.91,7636.44,7670.13,7692.14,7629.07,7537.53,7588.31,7677.84,7647.88,7656.67,7677.84,7732.91,TiDE,DilatedRNN,0.0,0.01,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.01,0.01,0.02,7658.04,BiTCN -2024-06-18,7648.69,7647.44,7657.3,7511.84,7644.72,7630.99,7660.46,7661.83,7671.58,7709.01,7646.41,7688.98,7600.83,7643.53,7658.19,7608.7,7541.74,7553.19,7656.77,7650.67,7656.67,7656.77,7688.98,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.02,0.01,0.02,7656.77,TiDE -2024-06-19,7717.45,7666.0,7670.33,7520.23,7635.96,7617.99,7659.58,7660.73,7689.14,7667.13,7633.78,7690.19,7602.78,7635.72,7655.59,7608.17,7544.92,7544.78,7635.34,7654.29,7670.0,7635.34,7690.19,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.0,0.02,0.02,0.02,7670.33,LSTM -2024-06-20,7741.04,7693.88,7686.97,7567.39,7640.5,7624.09,7651.69,7683.71,7704.51,7695.4,7628.74,7714.59,7644.29,7644.75,7667.42,7626.49,7548.34,7561.63,7630.83,7666.16,7680.0,7630.83,7714.59,TiDE,DilatedRNN,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.0,0.01,0.02,0.02,7683.71,RNN -2024-06-21,7702.76,7688.15,7697.32,7612.87,7652.19,7642.97,7654.44,7693.22,7716.37,7728.08,7628.33,7724.77,7677.81,7669.14,7678.6,7633.89,7552.64,7573.85,7647.56,7666.95,7680.0,7647.56,7724.77,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.02,7678.6,NLinear -2024-06-24,7666.51,7682.79,7694.04,7581.34,7661.33,7643.75,7644.67,7699.11,7712.41,7720.88,7621.98,7715.66,7654.24,7680.46,7685.14,7635.35,7558.01,7572.07,7665.65,7669.45,7680.0,7665.65,7715.66,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.02,7680.46,DLinear -2024-06-25,7635.06,7702.77,7694.15,7551.08,7662.63,7668.97,7639.39,7697.1,7713.05,7727.82,7635.73,7696.7,7642.6,7695.54,7681.62,7638.46,7563.53,7590.37,7676.11,7670.29,7693.33,7676.11,7697.1,TiDE,RNN,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.0,0.02,0.01,0.02,7694.15,LSTM -2024-06-26,7649.64,7721.72,7711.35,7582.14,7666.93,7678.08,7646.0,7712.14,7733.13,7739.67,7653.96,7713.9,7646.94,7715.36,7695.62,7646.05,7568.72,7606.04,7690.87,7683.98,7716.67,7690.87,7713.9,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.01,0.0,0.02,0.01,0.02,7715.36,DLinear -2024-06-27,7668.78,7726.75,7736.6,7605.33,7678.27,7679.7,7667.02,7739.2,7761.5,7762.53,7676.67,7745.12,7650.41,7704.75,7709.23,7649.62,7573.25,7663.1,7698.53,7634.07,7723.33,7698.53,7745.12,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.02,0.01,0.02,7726.75,Informer -2024-06-28,7678.55,7779.76,7736.77,7635.71,7686.45,7652.34,7673.52,7741.3,7761.03,7772.07,7686.61,7750.62,7643.94,7685.82,7713.25,7644.23,7577.58,7691.8,7703.73,7613.67,7730.0,7703.73,7750.62,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.02,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.02,7736.77,LSTM -2024-07-01,7707.72,7821.05,7743.39,7658.27,7693.71,7649.98,7708.01,7749.89,7768.63,7769.01,7691.71,7759.06,7661.72,7689.95,7721.16,7646.0,7582.32,7717.93,7715.57,7626.28,7763.33,7715.57,7759.06,TiDE,DilatedRNN,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.02,0.02,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.02,7759.06,DilatedRNN -2024-07-02,7744.92,7840.94,7783.1,7679.4,7717.64,7653.13,7735.71,7787.06,7806.22,7806.74,7684.8,7796.63,7692.66,7722.76,7756.99,7667.11,7588.75,7762.75,7744.12,7687.62,7780.0,7744.12,7796.63,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.02,0.01,0.0,0.01,0.0,0.02,7783.1,LSTM -2024-07-03,7756.84,7833.03,7791.33,7692.3,7731.19,7658.64,7735.06,7794.67,7812.86,7828.05,7669.74,7808.23,7703.55,7736.59,7780.46,7680.14,7596.91,7800.42,7746.29,7766.54,7800.0,7746.29,7808.23,TiDE,DilatedRNN,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.0,0.02,0.01,0.0,0.02,0.02,0.0,0.01,0.0,0.03,7800.42,MLPMultivariate -2024-07-04,7777.57,7802.46,7810.8,7710.33,7750.34,7672.56,7765.83,7815.34,7833.79,7856.35,7662.81,7828.12,7724.62,7755.44,7794.13,7694.62,7603.58,7779.04,7766.87,7784.54,7800.0,7766.87,7828.12,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.01,0.0,0.02,0.02,0.01,0.01,0.0,0.03,7802.46,Informer -2024-07-05,7774.44,7815.16,7802.19,7730.68,7760.77,7699.28,7772.52,7811.57,7823.36,7849.05,7671.7,7830.59,7724.65,7770.86,7787.98,7692.89,7610.96,7843.22,7780.92,7741.59,7766.67,7780.92,7830.59,TiDE,DilatedRNN,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.02,7770.86,DLinear -2024-07-08,7741.65,7795.09,7758.82,7705.33,7739.58,7708.67,7729.86,7765.03,7781.33,7792.2,7676.97,7784.11,7681.38,7766.85,7757.01,7683.55,7620.04,7824.98,7761.16,7705.36,7746.67,7757.01,7784.11,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.02,7741.65,NHITS -2024-07-09,7722.38,7773.33,7745.26,7703.88,7714.5,7696.2,7714.17,7753.77,7769.68,7768.35,7679.44,7764.17,7656.31,7739.11,7735.52,7682.56,7629.55,7730.01,7737.09,7674.54,7720.0,7735.52,7764.17,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.01,0.0,0.01,0.01,0.0,0.0,0.01,7722.38,NHITS -2024-07-10,7681.03,7717.21,7716.77,7678.92,7691.8,7673.83,7694.23,7723.21,7737.12,7743.38,7668.68,7735.7,7622.03,7709.89,7703.37,7681.63,7638.61,7685.62,7705.22,7572.7,7693.33,7703.37,7735.7,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.02,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.01,7694.23,PatchTST -2024-07-11,7658.8,7691.9,7693.49,7628.34,7667.14,7692.16,7681.35,7691.85,7710.51,7719.48,7664.59,7703.51,7614.39,7682.58,7677.68,7669.17,7646.27,7670.81,7672.55,7596.51,7686.67,7672.55,7703.51,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.01,7682.58,DLinear -2024-07-12,7676.21,7648.01,7695.03,7632.62,7659.27,7675.71,7674.62,7698.63,7713.13,7720.5,7665.84,7702.99,7618.09,7679.03,7672.11,7670.97,7654.11,7660.48,7659.43,7646.45,7680.0,7659.43,7702.99,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.0,7679.03,DLinear -2024-07-15,7678.67,7635.19,7688.59,7673.16,7661.82,7659.83,7658.52,7688.36,7705.97,7715.21,7663.19,7697.0,7632.91,7676.23,7670.71,7666.72,7661.32,7665.77,7658.57,7673.79,7680.0,7658.57,7697.0,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.0,0.0,7678.67,NHITS -2024-07-16,7651.2,7671.86,7692.78,7689.27,7668.14,7660.76,7659.06,7692.61,7711.37,7719.34,7655.2,7696.32,7641.57,7667.54,7679.94,7684.55,7665.08,7669.1,7668.98,7684.14,7666.67,7668.98,7696.32,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,7667.54,DLinear -2024-07-17,7641.06,7668.16,7673.47,7659.75,7664.64,7654.22,7660.93,7676.71,7690.06,7700.99,7651.0,7671.75,7644.48,7651.21,7663.0,7678.61,7664.98,7672.35,7664.72,7691.68,7660.0,7663.0,7676.71,NLinear,RNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,7659.75,iTransformer -2024-07-18,7664.97,7658.16,7670.03,7637.79,7660.39,7658.64,7659.83,7666.5,7687.94,7698.48,7644.28,7672.95,7654.77,7652.12,7661.85,7665.94,7664.43,7680.07,7657.52,7684.03,7656.67,7657.52,7672.95,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,7657.52,TiDE -2024-07-19,7665.55,7670.82,7667.21,7635.58,7660.33,7668.88,7658.37,7665.87,7684.4,7695.58,7643.1,7674.29,7663.73,7643.52,7663.89,7656.08,7663.77,7700.4,7657.96,7680.19,7656.67,7657.96,7674.29,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,7656.08,TFT -2024-07-22,7654.73,7659.6,7668.97,7621.64,7661.35,7680.21,7656.68,7664.04,7686.75,7703.27,7644.07,7678.37,7673.43,7659.15,7658.67,7652.07,7664.19,7711.59,7657.0,7666.68,7640.0,7657.0,7678.37,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.0,7644.07,BiTCN -2024-07-23,7627.15,7658.63,7644.82,7588.28,7648.25,7672.14,7633.98,7642.58,7660.83,7681.31,7644.15,7657.65,7654.55,7659.5,7642.75,7629.61,7664.6,7699.0,7638.69,7648.38,7623.33,7638.69,7657.65,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.01,7627.15,NHITS -2024-07-24,7615.71,7655.36,7628.3,7592.22,7632.98,7642.48,7617.96,7623.56,7644.38,7647.41,7638.71,7634.55,7637.8,7656.28,7626.52,7606.37,7663.53,7680.98,7623.42,7643.56,7623.33,7623.42,7634.55,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,7623.42,TiDE -2024-07-25,7626.83,7642.02,7633.97,7613.05,7627.47,7633.41,7616.62,7627.67,7651.09,7641.83,7629.51,7638.69,7636.35,7667.25,7627.47,7601.07,7661.25,7681.91,7620.48,7654.3,7616.67,7620.48,7638.69,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,7616.62,PatchTST -2024-07-26,7632.33,7621.39,7624.53,7645.17,7622.88,7627.13,7601.44,7616.04,7639.72,7631.04,7618.54,7630.36,7640.37,7653.94,7615.76,7592.51,7658.74,7678.82,7610.2,7671.36,7606.67,7610.2,7630.36,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,7610.2,TiDE -2024-07-29,7639.82,7612.4,7614.2,7662.63,7615.06,7627.33,7595.58,7606.81,7629.6,7619.99,7608.54,7623.0,7640.1,7621.77,7607.57,7582.71,7655.3,7666.26,7606.59,7680.21,7593.33,7606.59,7623.0,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.01,0.01,7595.58,PatchTST -2024-07-30,7622.59,7600.34,7599.37,7641.51,7603.54,7616.73,7589.47,7594.73,7613.76,7596.82,7595.43,7602.52,7632.35,7602.39,7598.68,7575.24,7651.04,7639.92,7595.3,7624.0,7593.33,7594.73,7602.52,RNN,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.01,0.01,7594.73,RNN -2024-07-31,7600.51,7608.84,7604.48,7579.51,7596.77,7610.01,7590.87,7595.07,7620.02,7591.9,7582.4,7602.83,7610.28,7587.6,7602.2,7574.55,7647.16,7610.42,7593.2,7617.02,7583.33,7593.2,7604.48,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,7582.4,BiTCN -2024-08-01,7584.49,7591.16,7590.41,7528.96,7586.1,7592.44,7577.19,7583.06,7603.93,7577.83,7568.32,7587.83,7585.23,7581.5,7587.47,7558.95,7644.52,7583.24,7579.94,7590.3,7620.0,7579.94,7590.41,TiDE,LSTM,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.0,7603.93,GRU -2024-08-02,7616.69,7597.32,7646.77,7566.6,7608.67,7612.44,7609.73,7635.09,7667.15,7621.61,7575.38,7644.41,7594.11,7601.34,7624.83,7610.86,7644.52,7601.45,7606.0,7619.89,7623.33,7606.0,7646.77,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.0,7624.83,NLinear -2024-08-05,7623.76,7589.96,7636.61,7586.84,7623.19,7622.18,7610.9,7632.09,7651.12,7634.57,7591.59,7646.92,7600.74,7606.68,7626.28,7616.17,7645.47,7618.92,7617.34,7621.26,7610.0,7617.34,7646.92,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7610.9,PatchTST -2024-08-06,7603.18,7595.41,7619.84,7605.93,7619.76,7611.85,7608.62,7610.0,7635.33,7619.08,7602.16,7622.48,7608.05,7622.34,7609.32,7605.97,7645.61,7639.88,7622.11,7612.49,7596.67,7609.32,7622.48,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,7595.41,Informer -2024-08-07,7592.18,7592.88,7604.55,7626.97,7607.0,7596.99,7595.73,7603.8,7618.55,7598.38,7603.15,7605.98,7599.85,7619.7,7598.38,7599.85,7644.64,7643.84,7607.2,7614.27,7586.67,7598.38,7607.2,NLinear,TiDE,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,7592.18,NHITS -2024-08-08,7586.15,7584.44,7594.6,7599.37,7593.31,7582.25,7584.57,7583.2,7608.71,7574.14,7597.16,7590.7,7575.04,7598.87,7586.78,7593.29,7641.55,7614.19,7591.35,7610.71,7583.33,7583.2,7594.6,RNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,7583.2,RNN -2024-08-09,7576.48,7582.33,7593.27,7585.83,7584.16,7586.21,7583.9,7582.83,7607.38,7572.6,7593.07,7593.88,7574.76,7583.67,7577.9,7587.49,7638.0,7594.36,7581.23,7618.0,7583.33,7577.9,7593.88,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,7583.67,DLinear -2024-08-12,7575.63,7573.13,7594.56,7563.65,7581.98,7582.93,7582.0,7586.46,7608.74,7575.65,7589.75,7596.44,7572.66,7578.67,7573.81,7582.91,7634.55,7587.76,7580.69,7589.65,7586.67,7573.81,7596.44,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,7586.46,RNN -2024-08-13,7576.85,7573.63,7599.73,7549.21,7581.67,7588.33,7586.28,7590.12,7614.35,7589.07,7587.63,7605.08,7577.5,7586.07,7579.82,7587.45,7632.09,7588.25,7584.79,7591.04,7593.33,7579.82,7605.08,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,7591.04,DeepNPTS -2024-08-14,7588.26,7580.58,7608.2,7543.9,7583.36,7587.63,7592.55,7600.56,7623.21,7583.55,7584.06,7605.89,7590.91,7583.55,7593.7,7596.72,7629.95,7583.49,7588.25,7596.74,7590.0,7588.25,7608.2,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,7590.91,MLP -2024-08-15,7593.08,7579.66,7601.46,7529.65,7582.26,7589.29,7589.51,7593.46,7615.52,7575.57,7576.29,7597.07,7586.9,7572.76,7588.46,7596.39,7627.37,7567.46,7583.96,7608.26,7583.33,7583.96,7601.46,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,7583.96,TiDE -2024-08-16,7586.15,7570.0,7593.93,7514.98,7578.33,7583.97,7580.97,7585.71,7608.0,7570.62,7570.11,7592.93,7577.51,7570.17,7584.04,7591.05,7624.35,7556.5,7577.98,7601.39,7583.33,7577.98,7593.93,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,7583.97,TSMixerx -2024-08-19,7594.75,7567.16,7595.88,7563.93,7579.27,7591.45,7583.53,7587.47,7610.1,7572.22,7566.63,7595.98,7578.81,7562.98,7580.2,7587.08,7621.38,7557.74,7578.12,7597.96,7570.0,7578.12,7595.98,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,7572.22,TCN -2024-08-20,7579.69,7549.51,7577.41,7576.12,7570.13,7587.28,7570.4,7568.66,7589.49,7566.75,7561.17,7580.98,7573.95,7559.21,7563.7,7578.24,7617.92,7548.49,7565.12,7585.64,7570.0,7563.7,7580.98,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,7570.13,TSMixer -2024-08-21,7584.28,7549.39,7582.75,7575.37,7568.25,7584.27,7579.21,7573.01,7596.82,7568.56,7558.48,7580.19,7579.22,7555.77,7567.7,7568.89,7614.3,7552.89,7568.73,7573.09,7570.0,7567.7,7582.75,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,7568.89,TFT -2024-08-22,7583.7,7563.72,7581.84,7578.46,7570.42,7585.17,7579.53,7573.96,7594.55,7566.88,7555.73,7579.72,7581.85,7557.41,7570.86,7564.07,7610.43,7557.83,7571.75,7572.58,7590.0,7570.86,7581.84,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7594.55,GRU -2024-08-23,7591.69,7580.94,7610.27,7577.62,7583.99,7586.86,7595.8,7597.0,7626.16,7585.06,7560.51,7605.65,7586.47,7580.06,7588.23,7581.87,7607.35,7568.18,7586.91,7578.29,7583.33,7586.91,7610.27,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7583.99,TSMixer -2024-08-26,7581.91,7582.1,7593.37,7570.0,7584.27,7593.48,7585.07,7587.27,7605.78,7577.06,7566.94,7596.79,7579.49,7588.08,7584.4,7576.37,7604.08,7567.01,7583.0,7593.89,7583.33,7583.0,7596.79,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7583.0,TiDE -2024-08-27,7578.77,7577.6,7597.72,7573.39,7582.92,7599.51,7582.85,7587.59,7612.76,7580.64,7569.93,7599.5,7577.81,7596.23,7580.95,7580.58,7600.83,7588.53,7585.49,7591.12,7610.0,7580.95,7599.5,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,7612.76,GRU -2024-08-28,7603.34,7568.98,7633.48,7591.46,7600.26,7612.36,7604.12,7624.77,7650.61,7607.26,7590.22,7637.93,7594.21,7602.4,7610.4,7616.2,7598.77,7614.45,7603.8,7596.22,7610.0,7603.8,7637.93,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,7610.4,NLinear -2024-08-29,7602.61,7574.91,7623.24,7595.74,7606.55,7612.5,7598.92,7611.27,7637.06,7603.43,7608.57,7629.72,7598.36,7592.65,7610.02,7615.47,7597.31,7606.99,7610.11,7601.69,7613.33,7610.02,7629.72,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,7612.5,TSMixerx -2024-08-30,7609.0,7602.09,7629.69,7595.23,7609.88,7619.16,7606.8,7620.17,7646.34,7613.65,7626.89,7634.24,7602.9,7605.2,7607.37,7615.43,7596.6,7613.78,7616.26,7596.19,7606.67,7607.37,7634.24,NLinear,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7606.8,PatchTST -2024-09-02,7604.8,7611.23,7617.19,7590.73,7606.88,7617.54,7599.16,7613.64,7630.95,7601.78,7633.94,7625.12,7604.06,7602.78,7610.29,7605.22,7595.72,7615.25,7603.53,7588.05,7583.33,7603.53,7625.12,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,7588.05,DeepNPTS -2024-09-03,7584.12,7599.74,7587.32,7583.98,7587.2,7593.44,7574.91,7577.95,7600.26,7575.75,7621.9,7590.64,7589.95,7583.71,7584.71,7571.91,7594.26,7601.55,7578.65,7585.84,7562.5,7577.95,7590.64,RNN,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,7571.91,TFT -2024-09-04,7567.82,7576.5,7567.19,7571.67,7567.29,7574.64,7562.33,7562.51,7579.01,7547.71,7604.77,7562.58,7574.18,7572.53,7565.26,7556.47,7591.96,7588.91,7560.81,7582.39,7535.0,7560.81,7567.19,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.0,0.0,0.01,0.01,7547.71,TCN -2024-09-05,7545.36,7552.7,7536.81,7572.77,7543.65,7554.34,7543.55,7530.69,7545.04,7525.55,7580.8,7526.22,7551.9,7551.99,7529.33,7540.59,7588.3,7577.33,7536.12,7562.67,7475.0,7526.22,7536.81,DilatedRNN,LSTM,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,7525.55,TCN -2024-09-06,7489.13,7530.06,7468.77,7567.33,7490.51,7523.74,7484.99,7463.25,7472.63,7487.4,7541.51,7450.58,7511.96,7517.22,7469.27,7511.44,7581.11,7568.4,7483.83,7535.0,7442.5,7450.58,7483.83,DilatedRNN,TiDE,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.02,7450.58,DilatedRNN -2024-09-09,7477.12,7518.37,7445.95,7539.01,7447.32,7499.81,7457.06,7440.96,7453.29,7463.9,7499.5,7414.84,7488.55,7477.18,7432.64,7497.93,7572.17,7548.29,7447.32,7475.0,7422.5,7414.84,7447.32,DilatedRNN,TiDE,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.02,7414.84,DilatedRNN -2024-09-10,7456.85,7501.8,7427.16,7514.64,7422.65,7479.61,7434.15,7419.56,7435.08,7450.96,7466.84,7396.45,7459.6,7444.46,7420.32,7478.98,7562.58,7523.61,7425.64,7442.5,7412.5,7396.45,7427.16,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,7419.56,RNN -2024-09-11,7431.63,7488.65,7421.85,7484.77,7405.92,7468.94,7418.03,7409.36,7431.29,7444.13,7435.7,7386.46,7435.07,7418.62,7414.43,7467.43,7553.1,7497.19,7418.09,7422.5,7387.5,7386.46,7421.85,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,7386.46,DilatedRNN -2024-09-12,7398.92,7473.74,7392.92,7436.31,7384.28,7455.46,7387.81,7391.31,7405.78,7437.62,7402.3,7358.95,7406.29,7400.44,7386.07,7451.55,7542.7,7450.64,7395.83,7412.51,7380.0,7358.95,7395.83,DilatedRNN,TiDE,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.0,0.01,0.01,0.01,0.02,7384.28,TSMixer -2024-09-13,7387.89,7452.98,7392.81,7394.62,7370.54,7445.65,7375.93,7386.79,7406.8,7437.69,7380.1,7357.82,7390.09,7401.12,7384.26,7432.34,7532.57,7427.63,7384.53,7387.57,7395.0,7357.82,7392.81,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.0,0.01,0.0,0.0,0.02,7394.62,iTransformer -2024-09-14,7398.8,7448.38,7415.44,7368.94,7381.92,7434.69,7389.77,7404.15,7424.27,7446.08,7377.0,7380.42,7384.06,7403.66,7403.4,7426.29,7523.94,7425.34,7393.14,7381.05,7375.0,7380.42,7415.44,DilatedRNN,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.02,7377.0,BiTCN -2024-09-18,7373.29,7433.29,7386.28,7329.25,7376.52,7412.15,7366.51,7377.15,7398.32,7444.71,7372.7,7360.6,7359.8,7382.27,7384.26,7407.78,7514.74,7414.36,7382.19,7396.33,7342.5,7360.6,7386.28,DilatedRNN,LSTM,0.01,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.02,7329.25,iTransformer -2024-09-19,7345.12,7423.38,7354.42,7277.35,7354.17,7386.27,7350.0,7351.29,7372.91,7441.94,7368.46,7339.54,7347.83,7371.14,7345.66,7383.4,7504.32,7387.84,7357.27,7375.54,7325.0,7339.54,7357.27,DilatedRNN,TiDE,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.02,0.01,0.01,0.02,7339.54,DilatedRNN -2024-09-20,7342.11,7401.09,7341.36,7221.53,7336.63,7372.35,7341.57,7339.75,7361.3,7437.13,7368.07,7329.55,7347.69,7356.94,7335.71,7368.56,7493.44,7352.7,7337.79,7355.56,7340.0,7329.55,7341.36,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.02,0.0,0.02,7339.75,RNN -2024-09-23,7367.46,7401.63,7362.13,7193.23,7341.63,7375.19,7357.71,7350.42,7378.34,7442.19,7372.96,7345.42,7355.94,7358.66,7345.75,7383.85,7484.01,7328.74,7335.99,7350.67,7310.0,7335.99,7362.13,TiDE,LSTM,0.0,0.01,0.0,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.0,0.02,7328.74,MLPMultivariate -2024-09-24,7347.11,7369.08,7327.08,7184.46,7324.37,7358.97,7324.65,7320.32,7345.2,7433.41,7367.03,7315.2,7335.14,7339.29,7318.8,7372.53,7473.5,7302.72,7309.44,7311.45,7280.0,7309.44,7327.08,TiDE,LSTM,0.01,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.01,0.02,0.01,0.0,0.03,7302.72,MLPMultivariate -2024-09-25,7337.68,7343.42,7309.85,7403.08,7300.53,7338.34,7316.54,7302.59,7327.5,7421.26,7354.32,7295.57,7333.55,7317.72,7283.23,7342.64,7462.0,7437.99,7292.34,7281.34,7315.0,7283.23,7309.85,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.02,0.02,7316.54,PatchTST -2024-09-26,7386.44,7341.61,7345.36,7435.37,7318.42,7346.22,7348.73,7340.58,7362.8,7431.2,7356.0,7324.47,7353.46,7337.65,7320.65,7354.6,7452.84,7508.93,7315.25,7315.34,7310.0,7315.25,7345.36,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.02,0.02,0.03,0.02,7315.25,TiDE -2024-09-27,7381.15,7328.46,7332.75,7406.75,7317.09,7346.12,7331.73,7320.92,7349.47,7429.06,7351.81,7309.78,7334.64,7314.31,7316.95,7352.38,7443.9,7528.81,7306.65,7311.16,7310.0,7306.65,7332.75,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.02,0.01,0.03,0.02,7309.78,DilatedRNN -2024-09-29,7384.15,7327.32,7337.93,7345.99,7317.25,7344.34,7338.88,7327.86,7355.93,7435.85,7345.17,7314.27,7328.31,7307.46,7313.57,7350.19,7434.77,7530.15,7314.67,7313.31,7365.0,7313.57,7337.93,NLinear,LSTM,0.01,0.01,0.01,0.0,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.02,0.01,7355.93,GRU -2024-09-30,7415.55,7352.2,7403.82,7401.76,7357.28,7360.55,7371.52,7392.1,7410.08,7468.94,7351.29,7374.02,7353.45,7336.29,7371.57,7373.65,7428.29,7573.34,7362.65,7365.42,7420.0,7362.65,7403.82,TiDE,LSTM,0.01,0.0,0.01,0.0,0.01,0.01,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.02,0.0,7415.55,NHITS -2024-10-08,7413.39,7409.56,7462.21,7444.58,7405.36,7396.59,7407.2,7431.76,7460.04,7500.73,7378.97,7438.91,7375.62,7365.27,7425.37,7423.06,7424.11,7630.56,7411.88,7419.61,7602.5,7411.88,7462.21,TiDE,LSTM,0.02,0.02,0.03,0.02,0.02,0.03,0.03,0.02,0.02,0.03,0.02,0.02,0.03,0.03,0.03,0.03,0.01,0.02,0.0,0.02,7630.56,MLPMultivariate -2024-10-09,7579.91,7556.33,7696.39,7566.58,7555.9,7556.58,7630.08,7670.55,7702.68,7638.44,7573.12,7705.03,7584.66,7484.14,7607.14,7611.41,7424.18,7800.65,7574.46,7602.4,7602.5,7574.46,7705.03,TiDE,DilatedRNN,0.0,0.01,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.02,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.03,0.02,7602.4,DeepNPTS -2024-10-10,7575.56,7596.86,7627.47,7619.68,7624.68,7621.92,7625.84,7623.26,7632.98,7668.69,7663.99,7679.77,7637.41,7542.54,7608.91,7600.68,7424.37,7820.1,7604.86,7602.44,7585.0,7604.86,7679.77,TiDE,DilatedRNN,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.0,0.03,0.02,7575.56,NHITS -2024-10-11,7628.35,7601.27,7618.62,7603.43,7626.54,7664.98,7622.66,7592.53,7625.98,7680.63,7699.01,7640.88,7648.54,7571.69,7587.7,7604.0,7424.4,7784.88,7600.0,7584.98,7575.0,7587.7,7640.88,NLinear,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.01,0.02,0.01,0.0,0.03,0.02,7571.69,DLinear -2024-10-12,7633.67,7618.32,7594.08,7582.04,7603.76,7674.04,7605.06,7599.97,7602.33,7617.73,7715.68,7613.97,7646.51,7571.18,7574.51,7612.55,7424.28,7735.88,7567.15,7574.99,7576.67,7567.15,7613.97,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.02,0.01,0.0,0.02,0.02,7574.99,DeepNPTS -2024-10-14,7653.81,7630.65,7595.95,7555.79,7563.84,7673.07,7578.99,7559.27,7606.22,7590.25,7707.99,7611.86,7658.07,7556.69,7561.98,7637.48,7424.14,7701.3,7546.09,7576.52,7565.0,7546.09,7611.86,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.02,0.0,0.0,0.02,0.02,7563.84,TSMixer -2024-10-15,7596.77,7620.22,7575.49,7504.66,7541.02,7645.56,7550.41,7563.09,7584.59,7583.52,7686.62,7594.43,7631.93,7525.27,7535.71,7624.88,7423.75,7647.81,7536.93,7564.88,7527.5,7535.71,7594.43,NLinear,DilatedRNN,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.01,0.02,0.02,0.01,0.0,0.02,0.01,7525.27,DLinear -2024-10-16,7537.38,7620.99,7528.69,7451.79,7512.35,7561.82,7499.04,7525.2,7534.81,7547.84,7628.83,7523.73,7571.32,7509.33,7482.41,7535.02,7422.73,7588.29,7511.74,7511.9,7477.5,7482.41,7528.69,NLinear,LSTM,0.0,0.01,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.0,0.0,0.01,0.01,0.02,0.01,0.02,0.01,0.0,0.01,0.01,7482.41,NLinear -2024-10-17,7490.33,7601.67,7475.72,7413.38,7458.59,7485.5,7430.83,7471.65,7480.05,7518.8,7557.3,7453.42,7502.93,7485.75,7450.03,7454.11,7420.69,7541.86,7464.34,7475.21,7467.5,7450.03,7475.72,NLinear,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,0.0,0.01,0.01,0.01,0.01,0.01,7464.34,TiDE -2024-10-18,7478.69,7618.04,7477.15,7401.91,7435.49,7470.61,7414.93,7471.33,7483.34,7473.51,7506.43,7414.35,7464.17,7435.23,7464.47,7434.98,7418.43,7530.27,7448.03,7474.44,7370.0,7414.35,7477.15,DilatedRNN,LSTM,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.01,0.01,0.01,0.01,0.03,0.01,0.02,0.01,0.0,0.02,0.01,7401.91,iTransformer -2024-10-21,7351.33,7464.07,7351.7,7378.64,7367.16,7417.71,7318.49,7356.18,7369.51,7432.82,7407.67,7312.07,7372.31,7358.34,7360.04,7332.51,7413.26,7488.47,7360.11,7466.75,7362.5,7312.07,7360.11,DilatedRNN,TiDE,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.0,0.02,0.01,7360.11,TiDE -2024-10-22,7344.0,7420.61,7372.97,7356.97,7340.58,7344.55,7320.62,7369.73,7394.98,7425.47,7345.69,7321.17,7352.98,7331.07,7343.6,7349.05,7407.93,7482.92,7340.69,7370.03,7346.67,7321.17,7372.97,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.0,0.02,0.01,7345.69,BiTCN -2024-10-23,7318.68,7349.63,7351.23,7343.76,7327.8,7308.26,7313.73,7354.39,7369.49,7419.87,7297.33,7311.08,7333.77,7306.12,7315.16,7342.97,7402.13,7461.36,7329.76,7362.57,7357.5,7311.08,7354.39,DilatedRNN,RNN,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.01,0.01,7354.39,RNN -2024-10-24,7332.02,7332.76,7374.31,7333.8,7329.64,7342.82,7343.69,7356.94,7392.53,7430.7,7278.94,7326.74,7325.37,7332.06,7342.69,7350.51,7396.69,7458.39,7342.08,7346.69,7352.5,7326.74,7374.31,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.01,0.01,7350.51,TFT -2024-10-25,7341.74,7293.06,7366.42,7319.07,7339.96,7359.99,7370.54,7370.27,7382.04,7432.93,7259.45,7324.02,7321.69,7319.84,7359.37,7336.29,7391.29,7460.46,7358.44,7357.54,7372.5,7324.02,7370.27,DilatedRNN,RNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.0,0.02,0.01,0.01,0.01,0.0,7370.54,PatchTST -2024-10-28,7344.72,7319.59,7397.69,7322.86,7366.56,7356.09,7400.03,7384.1,7409.74,7443.96,7265.26,7362.26,7344.67,7345.9,7381.35,7355.78,7386.77,7474.65,7386.76,7352.37,7373.33,7362.26,7397.69,DilatedRNN,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.01,0.0,7366.56,TSMixer -2024-10-29,7359.09,7309.05,7393.36,7346.79,7376.6,7374.11,7393.55,7384.43,7402.9,7452.68,7299.63,7378.7,7352.16,7395.18,7389.32,7366.07,7382.29,7455.52,7373.86,7373.17,7380.0,7373.86,7393.36,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.0,0.01,0.0,7378.7,DilatedRNN -2024-10-30,7358.99,7341.46,7405.33,7416.18,7381.48,7426.02,7377.57,7389.75,7414.11,7470.71,7350.95,7408.24,7357.65,7411.46,7388.27,7396.68,7378.24,7473.96,7359.31,7391.33,7330.0,7359.31,7408.24,TiDE,DilatedRNN,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.0,0.0,0.01,0.0,0.02,0.01,0.02,0.01,7341.46,Informer -2024-10-31,7312.56,7305.57,7340.64,7456.83,7354.07,7421.74,7296.75,7337.7,7358.05,7471.7,7350.27,7369.02,7348.39,7402.12,7340.37,7326.14,7372.69,7468.82,7330.87,7388.27,7340.0,7330.87,7369.02,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.01,0.0,0.02,0.02,0.02,0.0,7340.37,NLinear -2024-11-01,7343.08,7325.18,7365.97,7418.3,7350.28,7392.95,7324.07,7355.09,7382.28,7474.65,7365.08,7377.86,7372.56,7387.91,7340.9,7339.71,7367.81,7459.85,7335.55,7377.83,7363.33,7335.55,7377.86,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.02,0.01,0.01,0.0,7365.08,BiTCN -2024-11-04,7386.98,7346.15,7387.89,7369.52,7364.33,7391.78,7341.57,7376.17,7396.97,7479.09,7375.33,7398.98,7399.13,7360.83,7360.96,7393.32,7364.03,7461.72,7357.11,7379.33,7360.0,7357.11,7398.98,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.02,0.0,0.01,0.0,7360.83,DLinear -2024-11-05,7391.64,7351.35,7380.57,7346.31,7361.38,7392.48,7346.13,7362.84,7391.88,7478.33,7376.7,7386.92,7404.12,7376.09,7372.73,7392.84,7360.4,7451.46,7349.65,7347.05,7357.5,7349.65,7386.92,TiDE,DilatedRNN,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.02,0.0,0.01,0.0,7360.4,StemGNN -2024-11-06,7377.09,7346.7,7380.05,7335.56,7358.76,7378.26,7347.79,7375.06,7391.63,7476.48,7358.81,7383.4,7388.88,7361.92,7379.12,7385.59,7356.97,7412.7,7342.42,7377.96,7383.33,7342.42,7383.4,TiDE,DilatedRNN,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.0,0.0,7383.4,DilatedRNN -2024-11-07,7388.92,7358.83,7413.9,7342.16,7375.17,7391.05,7372.72,7398.94,7420.15,7477.76,7361.6,7396.03,7409.27,7366.39,7401.27,7405.46,7355.01,7421.77,7363.14,7384.18,7366.67,7363.14,7413.9,TiDE,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.0,0.0,0.0,0.02,0.0,0.01,0.0,7366.39,DLinear -2024-11-08,7353.58,7344.83,7383.68,7340.64,7369.75,7386.01,7355.9,7370.14,7393.42,7466.26,7359.23,7360.38,7396.27,7382.97,7375.96,7376.72,7353.13,7417.78,7356.34,7372.99,7383.33,7356.34,7383.68,TiDE,LSTM,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.0,0.0,0.01,0.01,0.0,0.0,7383.68,LSTM -2024-11-11,7379.68,7363.24,7413.31,7352.35,7379.62,7397.03,7377.89,7396.57,7420.56,7476.66,7373.14,7364.99,7411.73,7361.13,7384.96,7384.97,7352.16,7430.21,7378.04,7383.47,7340.0,7364.99,7413.31,DilatedRNN,LSTM,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.01,0.0,0.01,0.01,0.01,0.0,0.01,0.0,0.02,0.0,0.01,0.0,7352.16,StemGNN -2024-11-12,7341.77,7294.74,7349.73,7357.31,7360.36,7414.32,7341.37,7347.22,7365.44,7470.71,7359.69,7316.59,7389.09,7367.12,7335.55,7337.95,7350.08,7408.84,7358.53,7392.38,7306.67,7316.59,7358.53,DilatedRNN,TiDE,0.0,0.01,0.01,0.01,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.0,0.01,0.0,0.01,0.01,0.02,0.01,0.01,0.01,7316.59,DilatedRNN -2024-11-13,7381.98,7287.19,7351.89,7350.5,7376.17,7422.79,7383.6,7340.75,7387.01,7469.26,7353.83,7317.99,7432.26,7361.68,7364.91,7332.75,7348.14,7431.79,7365.84,7405.65,7323.33,7317.99,7365.84,DilatedRNN,TiDE,0.01,0.0,0.01,0.0,0.0,0.01,0.01,0.01,0.01,0.01,0.01,0.0,0.01,0.0,0.01,0.0,0.02,0.0,0.01,0.0,7317.99,DilatedRNN -2024-11-14,7382.61,7254.22,7354.04,7348.43,7380.54,7393.63,7401.79,7312.58,7382.11,7465.35,7365.01,7333.27,7446.75,7349.96,7346.71,7327.26,7336.3,7436.18,7378.39,7422.76,7353.33,7312.58,7378.39,RNN,TiDE,0.0,0.01,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.01,0.0,0.01,0.01,0.01,0.0,0.02,0.0,0.01,0.0,7354.04,LSTM -2024-11-15,7381.57,7295.52,7368.15,7328.46,7378.27,7388.9,7390.94,7306.41,7388.54,7474.63,7368.29,7331.23,7442.02,7386.59,7333.92,7323.29,7347.5,7405.92,7384.14,7402.9,7393.33,7306.41,7384.14,RNN,TiDE,0.01,0.01,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.0,0.01,0.01,0.0,0.01,7390.94,PatchTST -2024-11-18,7351.67,7319.07,7406.21,7316.12,7375.26,7372.63,7385.84,7357.07,7391.6,7479.03,7371.18,7359.46,7430.76,7360.74,7375.31,7320.7,7358.16,7380.2,7378.35,7394.49,7363.33,7357.07,7406.21,RNN,LSTM,0.0,0.0,0.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01,0.01,0.01,0.0,0.0,0.02,0.01,0.0,0.0,7360.74,DLinear -2024-11-19,7359.2,7325.43,7374.63,7342.03,7352.78,7343.61,7342.73,7372.25,7381.78,7449.07,7317.24,7350.61,7326.66,7375.86,7335.6,7364.06,7345.6,7354.37,7365.84,7367.14,,7365.84,7374.63,TiDE,LSTM,,,,,,,,,,,,,,,,,,,,,, -2024-11-20,7339.67,7303.26,7375.4,7320.67,7341.12,7339.04,7337.23,7369.62,7401.5,7449.81,7307.54,7353.7,7321.71,7326.19,7327.7,7355.31,7343.62,7344.18,7327.17,7372.86,,7327.17,7375.4,TiDE,LSTM,,,,,,,,,,,,,,,,,,,,,, -2024-11-21,7313.64,7310.42,7380.75,7315.62,7321.95,7387.1,7330.4,7346.73,7399.87,7443.93,7302.45,7366.74,7310.2,7341.94,7341.78,7348.73,7331.54,7333.94,7305.5,7363.12,,7305.5,7380.75,TiDE,LSTM,,,,,,,,,,,,,,,,,,,,,, -2024-11-22,7296.48,7321.02,7392.48,7309.1,7300.34,7376.25,7299.74,7331.89,7405.18,7451.16,7291.02,7360.91,7294.78,7323.82,7406.11,7343.82,7342.97,7315.08,7304.24,7363.37,,7304.24,7392.48,TiDE,LSTM,,,,,,,,,,,,,,,,,,,,,, -2024-11-25,7286.7,7319.39,7421.41,7314.21,7278.51,7335.19,7267.8,7370.68,7405.27,7454.45,7288.73,7384.35,7295.84,7330.96,7369.37,7341.7,7353.84,7304.88,7295.69,7353.22,,7295.69,7421.41,TiDE,LSTM,,,,,,,,,,,,,,,,,,,,,, +ds,NHITS,Informer,LSTM,iTransformer,TSMixer,TSMixerx,PatchTST,RNN,GRU,TCN,BiTCN,DilatedRNN,MLP,DLinear,NLinear,TFT,StemGNN,MLPMultivariate,TiDE,DeepNPTS,y +2024-01-29,7327.54,7371.29,7327.98,7384.88,7303.02,7287.33,7292.89,7315.12,7343.6,7448.81,7326.19,7305.51,7323.52,7296.29,7310.33,7284.56,7305.08,7307.85,7296.64,7296.58,7305.0 +2024-01-30,7323.87,7345.87,7337.31,7389.43,7298.24,7304.34,7293.09,7323.49,7353.22,7449.26,7332.46,7312.26,7328.59,7281.35,7304.5,7300.72,7302.7,7318.95,7297.0,7304.78,7315.0 +2024-01-31,7324.15,7346.47,7344.21,7380.46,7308.31,7304.1,7294.49,7331.7,7359.12,7457.24,7342.73,7323.04,7320.56,7292.95,7297.57,7318.6,7301.14,7334.67,7303.24,7314.47,7302.5 +2024-02-01,7310.36,7350.73,7330.01,7368.2,7301.07,7305.61,7286.25,7318.49,7346.67,7454.66,7335.99,7307.86,7320.18,7289.85,7286.74,7300.7,7300.0,7329.82,7302.62,7301.44,7275.0 +2024-02-02,7293.69,7327.78,7309.33,7373.02,7273.72,7281.96,7266.09,7301.23,7324.77,7439.28,7308.17,7276.55,7291.01,7277.53,7261.4,7276.11,7297.48,7296.47,7281.35,7281.49,7242.5 +2024-02-04,7254.43,7283.66,7289.7,7339.78,7239.73,7246.94,7231.94,7275.87,7300.41,7419.08,7273.83,7247.99,7247.88,7248.6,7243.9,7245.49,7293.53,7245.1,7250.1,7275.04,7240.0 +2024-02-05,7250.29,7259.14,7291.3,7286.88,7225.65,7210.31,7228.4,7274.82,7302.66,7410.31,7243.09,7250.31,7235.75,7227.82,7230.87,7230.15,7289.29,7232.53,7231.23,7243.13,7227.5 +2024-02-06,7238.12,7245.94,7284.38,7245.93,7214.97,7191.32,7208.56,7264.12,7290.83,7402.4,7214.51,7247.19,7215.73,7210.97,7213.27,7208.05,7284.47,7215.47,7216.57,7240.12,7246.67 +2024-02-07,7250.07,7249.58,7298.53,7246.31,7225.56,7233.26,7233.51,7282.69,7310.77,7411.92,7197.42,7269.31,7226.51,7226.73,7229.02,7225.51,7280.56,7230.76,7231.61,7227.76,7255.0 +2024-02-08,7255.89,7238.05,7302.06,7239.05,7240.02,7246.68,7249.72,7290.17,7314.03,7416.26,7187.06,7274.24,7236.22,7231.46,7251.08,7240.22,7277.06,7237.26,7253.37,7246.68,7270.0 +2024-02-18,7255.75,7235.38,7313.8,7233.69,7255.69,7255.58,7265.83,7300.25,7328.57,7421.75,7188.82,7284.88,7247.14,7230.47,7268.08,7275.0,7274.52,7246.07,7273.11,7254.99,7336.67 +2024-02-19,7328.24,7286.07,7381.02,7275.31,7308.41,7310.31,7327.43,7366.18,7388.41,7447.08,7280.03,7355.52,7284.43,7281.5,7344.23,7354.4,7273.63,7291.66,7323.83,7270.38,7350.0 +2024-02-20,7340.94,7314.03,7381.57,7320.35,7338.18,7366.51,7341.79,7363.28,7388.78,7459.81,7353.13,7385.1,7303.85,7305.54,7355.22,7374.68,7273.2,7317.23,7334.72,7315.85,7335.0 +2024-02-21,7328.09,7291.25,7364.24,7319.25,7332.97,7412.64,7331.43,7349.38,7375.82,7465.63,7385.73,7387.23,7307.38,7333.67,7337.79,7342.36,7272.39,7318.1,7325.39,7314.47,7297.5 +2024-02-22,7287.87,7267.14,7325.02,7277.25,7305.41,7391.88,7303.83,7321.02,7340.78,7453.1,7382.02,7339.71,7294.56,7318.52,7298.75,7277.44,7270.51,7301.04,7291.38,7276.98,7285.0 +2024-02-23,7274.4,7269.57,7318.81,7248.73,7289.09,7370.73,7297.79,7303.7,7335.42,7444.23,7366.25,7323.17,7289.08,7303.61,7282.35,7266.32,7268.19,7293.09,7280.01,7282.8,7306.67 +2024-02-26,7317.08,7264.94,7337.71,7258.44,7297.69,7360.07,7324.84,7325.02,7354.15,7444.26,7362.54,7327.9,7317.03,7295.98,7301.97,7291.58,7266.69,7302.36,7294.47,7344.75,7292.5 +2024-02-27,7324.86,7265.31,7320.64,7250.01,7294.19,7304.11,7298.21,7308.62,7337.19,7439.27,7344.69,7310.37,7318.04,7292.7,7282.65,7268.99,7265.18,7294.64,7286.29,7335.9,7306.67 +2024-02-28,7350.44,7289.53,7338.22,7309.69,7298.81,7324.0,7322.15,7329.78,7355.81,7445.01,7333.11,7324.66,7333.3,7311.24,7305.73,7297.46,7264.32,7302.66,7303.67,7363.84,7353.33 +2024-02-29,7364.92,7312.73,7388.84,7333.98,7331.49,7367.62,7367.57,7377.53,7397.03,7453.38,7342.48,7349.71,7365.78,7333.87,7360.89,7322.64,7264.33,7322.6,7342.49,7352.62,7325.0 +2024-03-01,7321.58,7316.24,7343.94,7309.51,7320.66,7330.76,7334.34,7332.16,7359.97,7443.02,7323.63,7307.3,7329.62,7315.68,7335.52,7305.79,7264.18,7304.35,7325.91,7320.04,7343.33 +2024-03-04,7340.8,7317.33,7376.92,7311.15,7328.22,7340.47,7340.31,7365.15,7388.86,7450.74,7315.87,7323.96,7323.98,7333.25,7339.48,7315.33,7264.33,7301.3,7341.73,7340.63,7330.0 +2024-03-05,7315.29,7324.32,7350.44,7305.61,7325.74,7339.79,7318.97,7344.85,7365.55,7451.88,7304.36,7319.43,7316.46,7325.93,7321.51,7307.34,7264.21,7297.3,7327.12,7328.32,7310.0 +2024-03-06,7308.37,7325.7,7334.63,7294.16,7305.63,7325.18,7312.54,7318.27,7352.91,7447.44,7298.88,7308.51,7313.02,7309.36,7297.3,7288.71,7263.76,7286.98,7300.48,7306.5,7297.5 +2024-03-07,7299.86,7322.53,7324.67,7282.33,7294.87,7306.71,7313.41,7321.12,7342.72,7440.57,7289.94,7302.04,7319.49,7285.37,7297.06,7280.81,7263.15,7286.31,7293.88,7289.42,7290.0 +2024-03-08,7284.22,7300.35,7319.86,7274.83,7286.74,7293.73,7302.8,7307.93,7337.87,7436.35,7274.2,7299.68,7286.94,7284.21,7288.37,7276.83,7262.76,7277.18,7291.02,7296.59,7295.0 +2024-03-11,7271.27,7287.88,7325.34,7269.57,7283.7,7281.61,7304.64,7315.33,7343.5,7434.85,7270.74,7301.9,7264.77,7297.51,7293.47,7279.98,7262.81,7273.09,7289.34,7281.02,7285.0 +2024-03-12,7252.84,7289.89,7316.38,7238.32,7271.27,7285.97,7283.58,7308.11,7333.67,7423.91,7273.67,7295.14,7244.6,7296.69,7275.31,7274.42,7264.09,7267.18,7270.4,7242.84,7283.33 +2024-03-13,7248.94,7289.63,7317.69,7233.04,7267.63,7290.31,7281.2,7307.19,7335.38,7425.88,7268.58,7309.18,7235.08,7304.14,7278.21,7275.33,7265.65,7265.26,7272.33,7235.62,7285.0 +2024-03-14,7265.67,7272.35,7319.05,7246.86,7274.3,7281.33,7285.09,7310.26,7336.26,7424.37,7279.02,7310.25,7246.55,7274.92,7288.54,7285.69,7269.2,7272.8,7280.93,7245.84,7277.5 +2024-03-15,7268.02,7272.38,7313.29,7252.22,7272.37,7267.28,7274.58,7300.8,7329.86,7422.91,7276.36,7300.48,7249.94,7253.63,7269.2,7284.16,7271.75,7274.0,7279.15,7275.57,7353.33 +2024-03-18,7347.52,7331.59,7398.1,7300.4,7319.2,7299.25,7365.29,7379.18,7404.8,7454.79,7304.76,7381.73,7306.57,7305.65,7353.59,7387.27,7274.58,7304.16,7330.82,7352.64,7387.5 +2024-03-19,7383.2,7377.06,7422.18,7337.72,7360.54,7351.51,7392.03,7400.81,7423.66,7474.67,7313.87,7416.08,7356.26,7326.81,7393.41,7420.57,7276.23,7330.54,7363.47,7386.88,7435.0 +2024-03-20,7431.32,7405.09,7481.7,7376.29,7402.01,7385.96,7459.23,7451.43,7481.06,7500.15,7329.38,7477.52,7408.8,7385.25,7441.38,7446.61,7277.8,7375.82,7414.87,7433.1,7460.0 +2024-03-21,7458.23,7401.49,7497.22,7416.58,7435.34,7399.19,7477.4,7484.97,7496.09,7515.96,7349.72,7505.51,7430.26,7433.87,7467.83,7466.18,7280.62,7415.17,7449.45,7440.95,7422.5 +2024-03-22,7407.08,7385.58,7442.54,7427.62,7418.86,7399.51,7396.74,7421.23,7442.49,7503.78,7352.84,7447.2,7399.15,7426.65,7428.19,7410.61,7284.13,7404.03,7430.58,7399.98,7402.5 +2024-03-25,7390.93,7341.74,7425.1,7351.02,7389.62,7396.72,7393.91,7412.02,7429.24,7493.73,7344.59,7410.24,7372.03,7425.95,7402.73,7362.53,7285.9,7383.56,7400.51,7386.46,7372.5 +2024-03-26,7347.33,7326.36,7383.73,7310.72,7358.05,7389.99,7351.15,7374.38,7394.84,7478.16,7345.4,7372.22,7346.88,7391.77,7355.68,7335.91,7286.96,7355.52,7355.3,7348.98,7365.0 +2024-03-27,7332.67,7312.63,7381.71,7327.69,7341.74,7356.66,7347.59,7365.01,7395.24,7472.17,7348.8,7371.09,7330.06,7369.82,7345.87,7337.23,7287.96,7336.09,7351.86,7342.38,7345.0 +2024-03-28,7318.95,7314.23,7356.68,7325.77,7325.55,7327.43,7330.24,7354.81,7374.07,7455.5,7348.21,7331.05,7302.67,7352.37,7328.51,7320.33,7288.74,7314.21,7333.58,7330.55,7345.0 +2024-03-29,7333.3,7331.35,7363.25,7327.67,7319.56,7301.55,7328.18,7355.11,7380.95,7447.57,7334.74,7327.27,7288.54,7335.81,7336.81,7319.3,7289.92,7297.93,7332.41,7343.51,7345.0 +2024-04-01,7348.05,7330.57,7362.77,7332.96,7322.2,7298.06,7329.02,7358.66,7379.31,7439.07,7324.08,7319.56,7297.91,7335.11,7344.4,7319.01,7290.86,7297.93,7334.57,7336.61,7360.0 +2024-04-02,7354.85,7323.4,7383.79,7332.65,7333.63,7305.61,7343.25,7371.61,7396.96,7439.3,7319.5,7330.72,7310.54,7330.5,7355.11,7328.96,7291.78,7303.89,7341.66,7354.63,7380.0 +2024-04-03,7365.36,7363.44,7406.76,7337.82,7351.97,7328.92,7372.84,7392.54,7415.12,7455.35,7328.3,7365.47,7333.11,7329.49,7376.28,7337.59,7293.34,7332.99,7356.93,7368.23,7397.5 +2024-04-07,7393.17,7399.15,7426.61,7353.03,7376.49,7376.75,7414.11,7407.82,7431.87,7469.02,7340.05,7401.16,7367.35,7352.12,7391.14,7345.16,7296.03,7358.92,7389.73,7383.01,7437.5 +2024-04-08,7446.69,7449.75,7475.26,7373.37,7410.56,7404.13,7471.23,7453.16,7476.52,7494.46,7348.69,7462.4,7410.81,7377.58,7435.09,7383.23,7300.34,7398.07,7432.4,7434.56,7490.0 +2024-04-09,7504.9,7467.54,7530.61,7433.77,7452.01,7425.34,7513.39,7508.93,7533.46,7525.64,7357.86,7528.49,7454.96,7437.01,7491.25,7428.23,7304.74,7457.52,7473.55,7489.28,7507.5 +2024-04-10,7507.67,7467.99,7538.11,7542.22,7472.33,7420.04,7503.44,7518.16,7542.64,7545.15,7374.81,7566.42,7470.54,7473.43,7509.8,7433.5,7310.03,7488.79,7488.68,7506.2,7497.5 +2024-04-11,7471.36,7447.97,7520.09,7595.64,7468.23,7408.33,7456.56,7507.32,7523.82,7548.46,7392.38,7548.81,7429.43,7498.08,7501.92,7419.36,7314.95,7464.22,7485.5,7461.34,7497.5 +2024-04-12,7441.47,7422.59,7520.65,7489.62,7460.53,7422.05,7457.34,7508.16,7525.23,7549.5,7408.37,7551.69,7408.99,7522.65,7488.91,7405.51,7319.85,7442.42,7475.94,7381.11,7506.67 +2024-04-15,7437.49,7392.71,7528.99,7359.85,7460.77,7406.3,7457.88,7511.0,7534.34,7550.29,7422.12,7559.66,7408.64,7505.06,7499.32,7414.59,7324.39,7350.28,7478.66,7390.39,7482.5 +2024-04-16,7414.4,7356.55,7493.42,7320.82,7445.33,7389.55,7430.34,7479.15,7495.79,7530.0,7414.8,7504.09,7384.23,7474.41,7463.96,7395.26,7326.74,7316.68,7464.25,7352.03,7495.0 +2024-04-17,7418.15,7345.34,7517.47,7244.33,7448.57,7372.91,7443.81,7505.07,7524.59,7532.58,7416.41,7509.97,7377.52,7468.47,7480.95,7402.17,7328.88,7308.76,7469.45,7336.17,7497.5 +2024-04-18,7436.24,7365.21,7513.57,7192.38,7453.6,7372.54,7432.96,7503.99,7517.93,7524.56,7417.28,7494.44,7394.34,7452.7,7495.29,7403.77,7331.62,7302.16,7473.56,7444.7,7497.5 +2024-04-19,7447.08,7350.32,7514.88,7205.88,7455.57,7376.24,7410.53,7499.09,7521.58,7514.49,7414.34,7484.98,7403.57,7462.21,7490.31,7405.58,7335.87,7309.31,7468.85,7449.0,7527.5 +2024-04-22,7475.88,7423.16,7553.94,7254.19,7479.88,7386.67,7447.72,7543.1,7564.77,7529.09,7418.21,7513.38,7448.4,7465.62,7534.03,7424.22,7340.89,7353.61,7495.13,7507.16,7527.5 +2024-04-23,7483.17,7425.91,7543.4,7290.92,7493.7,7412.12,7452.95,7529.65,7551.13,7530.61,7420.4,7510.63,7476.78,7493.62,7519.16,7425.58,7345.31,7389.05,7508.08,7474.14,7510.0 +2024-04-24,7489.82,7449.76,7522.43,7284.6,7487.66,7426.27,7472.05,7511.78,7529.63,7526.36,7421.74,7485.46,7485.09,7501.46,7492.88,7420.0,7350.44,7407.38,7501.62,7474.42,7487.5 +2024-04-25,7478.17,7459.27,7497.68,7280.8,7470.32,7445.5,7489.49,7493.36,7502.21,7512.97,7428.15,7459.13,7481.87,7483.92,7478.55,7422.14,7354.99,7425.65,7481.11,7463.77,7487.5 +2024-04-26,7471.79,7504.41,7503.64,7251.0,7463.42,7473.47,7521.54,7488.07,7509.47,7511.23,7437.15,7478.42,7488.64,7486.83,7477.29,7424.85,7357.93,7426.34,7478.56,7483.43,7502.5 +2024-04-28,7467.89,7518.13,7521.81,7174.11,7470.82,7479.49,7536.93,7508.17,7528.39,7516.84,7455.74,7505.59,7480.88,7472.89,7496.72,7427.1,7362.14,7417.9,7486.94,7501.28,7527.5 +2024-04-29,7481.1,7537.41,7551.26,7198.68,7484.31,7493.62,7539.07,7535.14,7561.36,7538.57,7471.26,7551.52,7456.97,7503.59,7513.18,7435.48,7365.99,7410.41,7503.56,7523.13,7537.5 +2024-04-30,7485.56,7594.84,7557.28,7254.42,7491.22,7476.7,7528.7,7545.33,7567.36,7559.4,7475.39,7570.71,7438.04,7536.98,7529.87,7442.82,7370.56,7405.34,7509.73,7512.24,7532.5 +2024-05-06,7483.94,7574.7,7548.46,7325.23,7489.19,7448.35,7506.84,7539.17,7557.91,7552.76,7467.6,7562.01,7421.79,7525.62,7532.45,7444.39,7376.1,7394.27,7509.66,7408.65,7502.5 +2024-05-07,7454.26,7549.21,7509.9,7428.31,7469.92,7432.5,7468.81,7503.76,7514.61,7528.46,7455.19,7517.82,7393.69,7501.23,7494.93,7449.21,7382.07,7369.93,7480.75,7366.6,7475.0 +2024-05-08,7448.62,7504.08,7483.78,7341.15,7449.91,7422.82,7453.71,7472.99,7488.15,7506.29,7444.99,7489.62,7390.3,7460.89,7477.19,7433.97,7388.17,7356.53,7456.13,7334.04,7512.5 +2024-05-09,7489.41,7492.55,7538.78,7228.58,7471.97,7432.32,7488.34,7522.5,7548.68,7532.69,7450.95,7550.51,7421.94,7462.06,7500.77,7464.86,7394.79,7365.0,7478.99,7376.05,7505.0 +2024-05-10,7502.58,7503.25,7515.71,7238.33,7480.19,7439.46,7474.0,7502.34,7519.2,7530.79,7445.66,7522.23,7430.08,7469.07,7501.89,7461.89,7402.07,7366.89,7475.33,7327.73,7477.5 +2024-05-11,7477.01,7468.49,7487.68,7269.38,7466.02,7463.35,7461.11,7477.54,7492.72,7517.63,7434.93,7478.03,7432.49,7469.02,7476.03,7443.91,7409.29,7377.38,7464.25,7457.58,7475.0 +2024-05-13,7485.15,7465.77,7491.34,7315.73,7466.45,7476.06,7467.47,7489.51,7496.05,7504.56,7435.73,7466.04,7449.36,7487.14,7477.51,7445.1,7416.69,7406.58,7470.81,7469.83,7485.0 +2024-05-14,7477.14,7476.03,7503.63,7392.31,7473.35,7492.1,7466.7,7485.68,7508.49,7498.11,7457.67,7471.83,7481.71,7489.56,7496.26,7459.57,7425.19,7437.05,7474.59,7482.29,7507.5 +2024-05-15,7489.91,7539.15,7530.81,7430.45,7490.52,7527.63,7486.06,7514.31,7538.25,7516.15,7484.43,7502.17,7517.09,7500.93,7501.97,7472.1,7430.11,7472.37,7495.54,7499.29,7510.0 +2024-05-16,7488.49,7555.01,7527.53,7360.08,7500.79,7538.66,7505.81,7517.8,7533.73,7533.27,7499.3,7510.77,7524.22,7516.52,7497.59,7476.12,7433.61,7352.68,7509.44,7492.98,7525.0 +2024-05-17,7496.75,7566.11,7548.37,7326.43,7508.88,7531.27,7524.72,7533.79,7558.48,7556.27,7511.16,7535.63,7506.21,7526.92,7519.7,7497.23,7435.59,7309.13,7519.26,7481.67,7587.5 +2024-05-20,7554.62,7644.92,7627.44,7350.25,7547.01,7528.24,7595.91,7612.28,7643.46,7596.9,7537.82,7612.63,7530.43,7539.71,7591.87,7521.2,7437.21,7296.11,7572.12,7571.91,7670.0 +2024-05-21,7646.42,7693.65,7721.68,7393.04,7609.44,7543.75,7674.38,7711.26,7740.31,7708.74,7555.53,7736.54,7598.73,7600.96,7672.61,7654.2,7439.66,7318.55,7645.34,7664.22,7677.5 +2024-05-22,7647.54,7700.36,7702.61,7435.01,7631.71,7537.14,7631.25,7700.74,7718.4,7716.27,7545.94,7739.61,7593.62,7631.05,7680.19,7632.13,7443.42,7351.65,7659.1,7656.57,7677.5 +2024-05-23,7626.59,7682.93,7701.23,7486.0,7631.62,7534.77,7612.35,7702.06,7719.24,7711.33,7537.83,7734.65,7576.55,7652.62,7672.35,7630.37,7449.02,7363.8,7655.3,7639.01,7645.0 +2024-05-24,7591.57,7687.27,7647.22,7466.98,7604.74,7520.95,7581.75,7648.48,7659.85,7665.49,7530.35,7681.59,7545.77,7650.82,7641.27,7555.51,7455.55,7342.27,7618.71,7587.36,7630.0 +2024-05-27,7587.08,7608.34,7637.65,7450.73,7586.27,7503.4,7584.06,7621.78,7653.85,7607.25,7528.53,7654.25,7532.07,7610.58,7622.67,7533.82,7463.42,7326.06,7605.99,7588.43,7650.0 +2024-05-28,7607.55,7589.48,7669.13,7484.61,7597.73,7514.83,7601.71,7664.22,7686.82,7632.27,7530.03,7686.72,7537.27,7603.04,7629.19,7550.99,7471.71,7363.76,7623.46,7633.98,7690.0 +2024-05-29,7652.84,7571.3,7717.47,7556.94,7630.25,7549.12,7631.5,7713.28,7739.42,7692.04,7547.56,7739.16,7571.95,7633.92,7662.71,7577.13,7480.36,7443.68,7655.77,7631.62,7690.0 +2024-05-30,7649.09,7577.62,7704.1,7550.92,7640.84,7541.27,7618.8,7709.13,7722.64,7686.08,7566.99,7726.25,7577.4,7647.87,7675.33,7588.57,7488.69,7495.95,7666.95,7588.98,7716.67 +2024-05-31,7659.8,7578.86,7740.46,7601.55,7658.13,7553.72,7626.85,7747.84,7766.91,7734.27,7586.04,7743.6,7606.83,7679.94,7715.32,7637.17,7496.29,7552.72,7694.43,7669.36,7740.0 +2024-06-03,7680.57,7584.22,7758.74,7692.79,7682.17,7563.78,7631.12,7765.3,7782.34,7752.19,7594.94,7765.01,7648.73,7689.59,7745.42,7666.56,7503.34,7588.76,7712.73,7713.13,7720.0 +2024-06-04,7665.76,7576.41,7723.4,7680.31,7679.08,7575.09,7632.31,7726.45,7745.14,7722.12,7593.83,7724.31,7634.57,7670.89,7705.0,7633.67,7509.08,7561.44,7702.17,7686.5,7650.0 +2024-06-05,7606.92,7540.29,7633.46,7610.85,7632.48,7578.7,7615.23,7639.77,7644.89,7622.36,7580.73,7631.2,7599.78,7656.64,7623.31,7586.52,7512.73,7487.38,7640.26,7578.67,7620.0 +2024-06-06,7619.7,7540.46,7618.23,7535.66,7596.63,7595.6,7616.26,7613.33,7634.54,7580.04,7567.82,7615.22,7595.84,7629.27,7600.64,7572.07,7515.47,7439.33,7594.37,7568.71,7600.0 +2024-06-07,7615.71,7550.14,7598.83,7495.09,7580.49,7593.81,7616.27,7589.49,7612.05,7554.46,7556.42,7595.42,7595.1,7577.71,7587.54,7557.72,7518.27,7422.08,7579.2,7530.57,7606.67 +2024-06-11,7601.74,7545.36,7617.55,7483.63,7583.14,7602.98,7622.97,7603.07,7634.47,7571.48,7561.7,7607.52,7596.83,7576.37,7597.98,7564.51,7521.23,7447.74,7590.24,7535.68,7620.0 +2024-06-12,7595.89,7569.69,7634.83,7476.94,7595.18,7606.77,7623.29,7632.71,7651.71,7610.31,7578.85,7632.39,7571.4,7606.64,7609.63,7574.78,7524.16,7455.88,7602.32,7569.64,7673.33 +2024-06-13,7641.01,7622.33,7708.5,7521.55,7629.66,7648.57,7672.0,7705.26,7730.62,7749.36,7613.58,7719.29,7605.25,7661.15,7673.97,7611.91,7528.73,7519.31,7645.36,7563.04,7690.0 +2024-06-14,7656.46,7645.11,7711.35,7577.17,7651.13,7647.51,7683.61,7716.14,7731.04,7786.84,7640.58,7734.56,7636.69,7681.25,7693.37,7630.44,7533.1,7553.32,7664.43,7573.6,7690.0 +2024-06-17,7668.97,7660.65,7707.58,7561.25,7660.09,7645.73,7690.69,7707.57,7728.62,7790.44,7658.04,7732.91,7636.44,7670.13,7692.14,7629.07,7537.53,7588.31,7677.84,7647.88,7656.67 +2024-06-18,7648.69,7647.44,7657.3,7511.84,7644.72,7630.99,7660.46,7661.83,7671.58,7709.01,7646.41,7688.98,7600.83,7643.53,7658.19,7608.7,7541.74,7553.19,7656.77,7650.67,7656.67 +2024-06-19,7717.45,7666.0,7670.33,7520.23,7635.96,7617.99,7659.58,7660.73,7689.14,7667.13,7633.78,7690.19,7602.78,7635.72,7655.59,7608.17,7544.92,7544.78,7635.34,7654.29,7670.0 +2024-06-20,7741.04,7693.88,7686.97,7567.39,7640.5,7624.09,7651.69,7683.71,7704.51,7695.4,7628.74,7714.59,7644.29,7644.75,7667.42,7626.49,7548.34,7561.63,7630.83,7666.16,7680.0 +2024-06-21,7702.76,7688.15,7697.32,7612.87,7652.19,7642.97,7654.44,7693.22,7716.37,7728.08,7628.33,7724.77,7677.81,7669.14,7678.6,7633.89,7552.64,7573.85,7647.56,7666.95,7680.0 +2024-06-24,7666.51,7682.79,7694.04,7581.34,7661.33,7643.75,7644.67,7699.11,7712.41,7720.88,7621.98,7715.66,7654.24,7680.46,7685.14,7635.35,7558.01,7572.07,7665.65,7669.45,7680.0 +2024-06-25,7635.06,7702.77,7694.15,7551.08,7662.63,7668.97,7639.39,7697.1,7713.05,7727.82,7635.73,7696.7,7642.6,7695.54,7681.62,7638.46,7563.53,7590.37,7676.11,7670.29,7693.33 +2024-06-26,7649.64,7721.72,7711.35,7582.14,7666.93,7678.08,7646.0,7712.14,7733.13,7739.67,7653.96,7713.9,7646.94,7715.36,7695.62,7646.05,7568.72,7606.04,7690.87,7683.98,7716.67 +2024-06-27,7668.78,7726.75,7736.6,7605.33,7678.27,7679.7,7667.02,7739.2,7761.5,7762.53,7676.67,7745.12,7650.41,7704.75,7709.23,7649.62,7573.25,7663.1,7698.53,7634.07,7723.33 +2024-06-28,7678.55,7779.76,7736.77,7635.71,7686.45,7652.34,7673.52,7741.3,7761.03,7772.07,7686.61,7750.62,7643.94,7685.82,7713.25,7644.23,7577.58,7691.8,7703.73,7613.67,7730.0 +2024-07-01,7707.72,7821.05,7743.39,7658.27,7693.71,7649.98,7708.01,7749.89,7768.63,7769.01,7691.71,7759.06,7661.72,7689.95,7721.16,7646.0,7582.32,7717.93,7715.57,7626.28,7763.33 +2024-07-02,7744.92,7840.94,7783.1,7679.4,7717.64,7653.13,7735.71,7787.06,7806.22,7806.74,7684.8,7796.63,7692.66,7722.76,7756.99,7667.11,7588.75,7762.75,7744.12,7687.62,7780.0 +2024-07-03,7756.84,7833.03,7791.33,7692.3,7731.19,7658.64,7735.06,7794.67,7812.86,7828.05,7669.74,7808.23,7703.55,7736.59,7780.46,7680.14,7596.91,7800.42,7746.29,7766.54,7800.0 +2024-07-04,7777.57,7802.46,7810.8,7710.33,7750.34,7672.56,7765.83,7815.34,7833.79,7856.35,7662.81,7828.12,7724.62,7755.44,7794.13,7694.62,7603.58,7779.04,7766.87,7784.54,7800.0 +2024-07-05,7774.44,7815.16,7802.19,7730.68,7760.77,7699.28,7772.52,7811.57,7823.36,7849.05,7671.7,7830.59,7724.65,7770.86,7787.98,7692.89,7610.96,7843.22,7780.92,7741.59,7766.67 +2024-07-08,7741.65,7795.09,7758.82,7705.33,7739.58,7708.67,7729.86,7765.03,7781.33,7792.2,7676.97,7784.11,7681.38,7766.85,7757.01,7683.55,7620.04,7824.98,7761.16,7705.36,7746.67 +2024-07-09,7722.38,7773.33,7745.26,7703.88,7714.5,7696.2,7714.17,7753.77,7769.68,7768.35,7679.44,7764.17,7656.31,7739.11,7735.52,7682.56,7629.55,7730.01,7737.09,7674.54,7720.0 +2024-07-10,7681.03,7717.21,7716.77,7678.92,7691.8,7673.83,7694.23,7723.21,7737.12,7743.38,7668.68,7735.7,7622.03,7709.89,7703.37,7681.63,7638.61,7685.62,7705.22,7572.7,7693.33 +2024-07-11,7658.8,7691.9,7693.49,7628.34,7667.14,7692.16,7681.35,7691.85,7710.51,7719.48,7664.59,7703.51,7614.39,7682.58,7677.68,7669.17,7646.27,7670.81,7672.55,7596.51,7686.67 +2024-07-12,7676.21,7648.01,7695.03,7632.62,7659.27,7675.71,7674.62,7698.63,7713.13,7720.5,7665.84,7702.99,7618.09,7679.03,7672.11,7670.97,7654.11,7660.48,7659.43,7646.45,7680.0 +2024-07-15,7678.67,7635.19,7688.59,7673.16,7661.82,7659.83,7658.52,7688.36,7705.97,7715.21,7663.19,7697.0,7632.91,7676.23,7670.71,7666.72,7661.32,7665.77,7658.57,7673.79,7680.0 +2024-07-16,7651.2,7671.86,7692.78,7689.27,7668.14,7660.76,7659.06,7692.61,7711.37,7719.34,7655.2,7696.32,7641.57,7667.54,7679.94,7684.55,7665.08,7669.1,7668.98,7684.14,7666.67 +2024-07-17,7641.06,7668.16,7673.47,7659.75,7664.64,7654.22,7660.93,7676.71,7690.06,7700.99,7651.0,7671.75,7644.48,7651.21,7663.0,7678.61,7664.98,7672.35,7664.72,7691.68,7660.0 +2024-07-18,7664.97,7658.16,7670.03,7637.79,7660.39,7658.64,7659.83,7666.5,7687.94,7698.48,7644.28,7672.95,7654.77,7652.12,7661.85,7665.94,7664.43,7680.07,7657.52,7684.03,7656.67 +2024-07-19,7665.55,7670.82,7667.21,7635.58,7660.33,7668.88,7658.37,7665.87,7684.4,7695.58,7643.1,7674.29,7663.73,7643.52,7663.89,7656.08,7663.77,7700.4,7657.96,7680.19,7656.67 +2024-07-22,7654.73,7659.6,7668.97,7621.64,7661.35,7680.21,7656.68,7664.04,7686.75,7703.27,7644.07,7678.37,7673.43,7659.15,7658.67,7652.07,7664.19,7711.59,7657.0,7666.68,7640.0 +2024-07-23,7627.15,7658.63,7644.82,7588.28,7648.25,7672.14,7633.98,7642.58,7660.83,7681.31,7644.15,7657.65,7654.55,7659.5,7642.75,7629.61,7664.6,7699.0,7638.69,7648.38,7623.33 +2024-07-24,7615.71,7655.36,7628.3,7592.22,7632.98,7642.48,7617.96,7623.56,7644.38,7647.41,7638.71,7634.55,7637.8,7656.28,7626.52,7606.37,7663.53,7680.98,7623.42,7643.56,7623.33 +2024-07-25,7626.83,7642.02,7633.97,7613.05,7627.47,7633.41,7616.62,7627.67,7651.09,7641.83,7629.51,7638.69,7636.35,7667.25,7627.47,7601.07,7661.25,7681.91,7620.48,7654.3,7616.67 +2024-07-26,7632.33,7621.39,7624.53,7645.17,7622.88,7627.13,7601.44,7616.04,7639.72,7631.04,7618.54,7630.36,7640.37,7653.94,7615.76,7592.51,7658.74,7678.82,7610.2,7671.36,7606.67 +2024-07-29,7639.82,7612.4,7614.2,7662.63,7615.06,7627.33,7595.58,7606.81,7629.6,7619.99,7608.54,7623.0,7640.1,7621.77,7607.57,7582.71,7655.3,7666.26,7606.59,7680.21,7593.33 +2024-07-30,7622.59,7600.34,7599.37,7641.51,7603.54,7616.73,7589.47,7594.73,7613.76,7596.82,7595.43,7602.52,7632.35,7602.39,7598.68,7575.24,7651.04,7639.92,7595.3,7624.0,7593.33 +2024-07-31,7600.51,7608.84,7604.48,7579.51,7596.77,7610.01,7590.87,7595.07,7620.02,7591.9,7582.4,7602.83,7610.28,7587.6,7602.2,7574.55,7647.16,7610.42,7593.2,7617.02,7583.33 +2024-08-01,7584.49,7591.16,7590.41,7528.96,7586.1,7592.44,7577.19,7583.06,7603.93,7577.83,7568.32,7587.83,7585.23,7581.5,7587.47,7558.95,7644.52,7583.24,7579.94,7590.3,7620.0 +2024-08-02,7616.69,7597.32,7646.77,7566.6,7608.67,7612.44,7609.73,7635.09,7667.15,7621.61,7575.38,7644.41,7594.11,7601.34,7624.83,7610.86,7644.52,7601.45,7606.0,7619.89,7623.33 +2024-08-05,7623.76,7589.96,7636.61,7586.84,7623.19,7622.18,7610.9,7632.09,7651.12,7634.57,7591.59,7646.92,7600.74,7606.68,7626.28,7616.17,7645.47,7618.92,7617.34,7621.26,7610.0 +2024-08-06,7603.18,7595.41,7619.84,7605.93,7619.76,7611.85,7608.62,7610.0,7635.33,7619.08,7602.16,7622.48,7608.05,7622.34,7609.32,7605.97,7645.61,7639.88,7622.11,7612.49,7596.67 +2024-08-07,7592.18,7592.88,7604.55,7626.97,7607.0,7596.99,7595.73,7603.8,7618.55,7598.38,7603.15,7605.98,7599.85,7619.7,7598.38,7599.85,7644.64,7643.84,7607.2,7614.27,7586.67 +2024-08-08,7586.15,7584.44,7594.6,7599.37,7593.31,7582.25,7584.57,7583.2,7608.71,7574.14,7597.16,7590.7,7575.04,7598.87,7586.78,7593.29,7641.55,7614.19,7591.35,7610.71,7583.33 +2024-08-09,7576.48,7582.33,7593.27,7585.83,7584.16,7586.21,7583.9,7582.83,7607.38,7572.6,7593.07,7593.88,7574.76,7583.67,7577.9,7587.49,7638.0,7594.36,7581.23,7618.0,7583.33 +2024-08-12,7575.63,7573.13,7594.56,7563.65,7581.98,7582.93,7582.0,7586.46,7608.74,7575.65,7589.75,7596.44,7572.66,7578.67,7573.81,7582.91,7634.55,7587.76,7580.69,7589.65,7586.67 +2024-08-13,7576.85,7573.63,7599.73,7549.21,7581.67,7588.33,7586.28,7590.12,7614.35,7589.07,7587.63,7605.08,7577.5,7586.07,7579.82,7587.45,7632.09,7588.25,7584.79,7591.04,7593.33 +2024-08-14,7588.26,7580.58,7608.2,7543.9,7583.36,7587.63,7592.55,7600.56,7623.21,7583.55,7584.06,7605.89,7590.91,7583.55,7593.7,7596.72,7629.95,7583.49,7588.25,7596.74,7590.0 +2024-08-15,7593.08,7579.66,7601.46,7529.65,7582.26,7589.29,7589.51,7593.46,7615.52,7575.57,7576.29,7597.07,7586.9,7572.76,7588.46,7596.39,7627.37,7567.46,7583.96,7608.26,7583.33 +2024-08-16,7586.15,7570.0,7593.93,7514.98,7578.33,7583.97,7580.97,7585.71,7608.0,7570.62,7570.11,7592.93,7577.51,7570.17,7584.04,7591.05,7624.35,7556.5,7577.98,7601.39,7583.33 +2024-08-19,7594.75,7567.16,7595.88,7563.93,7579.27,7591.45,7583.53,7587.47,7610.1,7572.22,7566.63,7595.98,7578.81,7562.98,7580.2,7587.08,7621.38,7557.74,7578.12,7597.96,7570.0 +2024-08-20,7579.69,7549.51,7577.41,7576.12,7570.13,7587.28,7570.4,7568.66,7589.49,7566.75,7561.17,7580.98,7573.95,7559.21,7563.7,7578.24,7617.92,7548.49,7565.12,7585.64,7570.0 +2024-08-21,7584.28,7549.39,7582.75,7575.37,7568.25,7584.27,7579.21,7573.01,7596.82,7568.56,7558.48,7580.19,7579.22,7555.77,7567.7,7568.89,7614.3,7552.89,7568.73,7573.09,7570.0 +2024-08-22,7583.7,7563.72,7581.84,7578.46,7570.42,7585.17,7579.53,7573.96,7594.55,7566.88,7555.73,7579.72,7581.85,7557.41,7570.86,7564.07,7610.43,7557.83,7571.75,7572.58,7590.0 +2024-08-23,7591.69,7580.94,7610.27,7577.62,7583.99,7586.86,7595.8,7597.0,7626.16,7585.06,7560.51,7605.65,7586.47,7580.06,7588.23,7581.87,7607.35,7568.18,7586.91,7578.29,7583.33 +2024-08-26,7581.91,7582.1,7593.37,7570.0,7584.27,7593.48,7585.07,7587.27,7605.78,7577.06,7566.94,7596.79,7579.49,7588.08,7584.4,7576.37,7604.08,7567.01,7583.0,7593.89,7583.33 +2024-08-27,7578.77,7577.6,7597.72,7573.39,7582.92,7599.51,7582.85,7587.59,7612.76,7580.64,7569.93,7599.5,7577.81,7596.23,7580.95,7580.58,7600.83,7588.53,7585.49,7591.12,7610.0 +2024-08-28,7603.34,7568.98,7633.48,7591.46,7600.26,7612.36,7604.12,7624.77,7650.61,7607.26,7590.22,7637.93,7594.21,7602.4,7610.4,7616.2,7598.77,7614.45,7603.8,7596.22,7610.0 +2024-08-29,7602.61,7574.91,7623.24,7595.74,7606.55,7612.5,7598.92,7611.27,7637.06,7603.43,7608.57,7629.72,7598.36,7592.65,7610.02,7615.47,7597.31,7606.99,7610.11,7601.69,7613.33 +2024-08-30,7609.0,7602.09,7629.69,7595.23,7609.88,7619.16,7606.8,7620.17,7646.34,7613.65,7626.89,7634.24,7602.9,7605.2,7607.37,7615.43,7596.6,7613.78,7616.26,7596.19,7606.67 +2024-09-02,7604.8,7611.23,7617.19,7590.73,7606.88,7617.54,7599.16,7613.64,7630.95,7601.78,7633.94,7625.12,7604.06,7602.78,7610.29,7605.22,7595.72,7615.25,7603.53,7588.05,7583.33 +2024-09-03,7584.12,7599.74,7587.32,7583.98,7587.2,7593.44,7574.91,7577.95,7600.26,7575.75,7621.9,7590.64,7589.95,7583.71,7584.71,7571.91,7594.26,7601.55,7578.65,7585.84,7562.5 +2024-09-04,7567.82,7576.5,7567.19,7571.67,7567.29,7574.64,7562.33,7562.51,7579.01,7547.71,7604.77,7562.58,7574.18,7572.53,7565.26,7556.47,7591.96,7588.91,7560.81,7582.39,7535.0 +2024-09-05,7545.36,7552.7,7536.81,7572.77,7543.65,7554.34,7543.55,7530.69,7545.04,7525.55,7580.8,7526.22,7551.9,7551.99,7529.33,7540.59,7588.3,7577.33,7536.12,7562.67,7475.0 +2024-09-06,7489.13,7530.06,7468.77,7567.33,7490.51,7523.74,7484.99,7463.25,7472.63,7487.4,7541.51,7450.58,7511.96,7517.22,7469.27,7511.44,7581.11,7568.4,7483.83,7535.0,7442.5 +2024-09-09,7477.12,7518.37,7445.95,7539.01,7447.32,7499.81,7457.06,7440.96,7453.29,7463.9,7499.5,7414.84,7488.55,7477.18,7432.64,7497.93,7572.17,7548.29,7447.32,7475.0,7422.5 +2024-09-10,7456.85,7501.8,7427.16,7514.64,7422.65,7479.61,7434.15,7419.56,7435.08,7450.96,7466.84,7396.45,7459.6,7444.46,7420.32,7478.98,7562.58,7523.61,7425.64,7442.5,7412.5 +2024-09-11,7431.63,7488.65,7421.85,7484.77,7405.92,7468.94,7418.03,7409.36,7431.29,7444.13,7435.7,7386.46,7435.07,7418.62,7414.43,7467.43,7553.1,7497.19,7418.09,7422.5,7387.5 +2024-09-12,7398.92,7473.74,7392.92,7436.31,7384.28,7455.46,7387.81,7391.31,7405.78,7437.62,7402.3,7358.95,7406.29,7400.44,7386.07,7451.55,7542.7,7450.64,7395.83,7412.51,7380.0 +2024-09-13,7387.89,7452.98,7392.81,7394.62,7370.54,7445.65,7375.93,7386.79,7406.8,7437.69,7380.1,7357.82,7390.09,7401.12,7384.26,7432.34,7532.57,7427.63,7384.53,7387.57,7395.0 +2024-09-14,7398.8,7448.38,7415.44,7368.94,7381.92,7434.69,7389.77,7404.15,7424.27,7446.08,7377.0,7380.42,7384.06,7403.66,7403.4,7426.29,7523.94,7425.34,7393.14,7381.05,7375.0 +2024-09-18,7373.29,7433.29,7386.28,7329.25,7376.52,7412.15,7366.51,7377.15,7398.32,7444.71,7372.7,7360.6,7359.8,7382.27,7384.26,7407.78,7514.74,7414.36,7382.19,7396.33,7342.5 +2024-09-19,7345.12,7423.38,7354.42,7277.35,7354.17,7386.27,7350.0,7351.29,7372.91,7441.94,7368.46,7339.54,7347.83,7371.14,7345.66,7383.4,7504.32,7387.84,7357.27,7375.54,7325.0 +2024-09-20,7342.11,7401.09,7341.36,7221.53,7336.63,7372.35,7341.57,7339.75,7361.3,7437.13,7368.07,7329.55,7347.69,7356.94,7335.71,7368.56,7493.44,7352.7,7337.79,7355.56,7340.0 +2024-09-23,7367.46,7401.63,7362.13,7193.23,7341.63,7375.19,7357.71,7350.42,7378.34,7442.19,7372.96,7345.42,7355.94,7358.66,7345.75,7383.85,7484.01,7328.74,7335.99,7350.67,7310.0 +2024-09-24,7347.11,7369.08,7327.08,7184.46,7324.37,7358.97,7324.65,7320.32,7345.2,7433.41,7367.03,7315.2,7335.14,7339.29,7318.8,7372.53,7473.5,7302.72,7309.44,7311.45,7280.0 +2024-09-25,7337.68,7343.42,7309.85,7403.08,7300.53,7338.34,7316.54,7302.59,7327.5,7421.26,7354.32,7295.57,7333.55,7317.72,7283.23,7342.64,7462.0,7437.99,7292.34,7281.34,7315.0 +2024-09-26,7386.44,7341.61,7345.36,7435.37,7318.42,7346.22,7348.73,7340.58,7362.8,7431.2,7356.0,7324.47,7353.46,7337.65,7320.65,7354.6,7452.84,7508.93,7315.25,7315.34,7310.0 +2024-09-27,7381.15,7328.46,7332.75,7406.75,7317.09,7346.12,7331.73,7320.92,7349.47,7429.06,7351.81,7309.78,7334.64,7314.31,7316.95,7352.38,7443.9,7528.81,7306.65,7311.16,7310.0 +2024-09-29,7384.15,7327.32,7337.93,7345.99,7317.25,7344.34,7338.88,7327.86,7355.93,7435.85,7345.17,7314.27,7328.31,7307.46,7313.57,7350.19,7434.77,7530.15,7314.67,7313.31,7365.0 +2024-09-30,7415.55,7352.2,7403.82,7401.76,7357.28,7360.55,7371.52,7392.1,7410.08,7468.94,7351.29,7374.02,7353.45,7336.29,7371.57,7373.65,7428.29,7573.34,7362.65,7365.42,7420.0 +2024-10-08,7413.39,7409.56,7462.21,7444.58,7405.36,7396.59,7407.2,7431.76,7460.04,7500.73,7378.97,7438.91,7375.62,7365.27,7425.37,7423.06,7424.11,7630.56,7411.88,7419.61,7602.5 +2024-10-09,7579.91,7556.33,7696.39,7566.58,7555.9,7556.58,7630.08,7670.55,7702.68,7638.44,7573.12,7705.03,7584.66,7484.14,7607.14,7611.41,7424.18,7800.65,7574.46,7602.4,7602.5 +2024-10-10,7575.56,7596.86,7627.47,7619.68,7624.68,7621.92,7625.84,7623.26,7632.98,7668.69,7663.99,7679.77,7637.41,7542.54,7608.91,7600.68,7424.37,7820.1,7604.86,7602.44,7585.0 +2024-10-11,7628.35,7601.27,7618.62,7603.43,7626.54,7664.98,7622.66,7592.53,7625.98,7680.63,7699.01,7640.88,7648.54,7571.69,7587.7,7604.0,7424.4,7784.88,7600.0,7584.98,7575.0 +2024-10-12,7633.67,7618.32,7594.08,7582.04,7603.76,7674.04,7605.06,7599.97,7602.33,7617.73,7715.68,7613.97,7646.51,7571.18,7574.51,7612.55,7424.28,7735.88,7567.15,7574.99,7576.67 +2024-10-14,7653.81,7630.65,7595.95,7555.79,7563.84,7673.07,7578.99,7559.27,7606.22,7590.25,7707.99,7611.86,7658.07,7556.69,7561.98,7637.48,7424.14,7701.3,7546.09,7576.52,7565.0 +2024-10-15,7596.77,7620.22,7575.49,7504.66,7541.02,7645.56,7550.41,7563.09,7584.59,7583.52,7686.62,7594.43,7631.93,7525.27,7535.71,7624.88,7423.75,7647.81,7536.93,7564.88,7527.5 +2024-10-16,7537.38,7620.99,7528.69,7451.79,7512.35,7561.82,7499.04,7525.2,7534.81,7547.84,7628.83,7523.73,7571.32,7509.33,7482.41,7535.02,7422.73,7588.29,7511.74,7511.9,7477.5 +2024-10-17,7490.33,7601.67,7475.72,7413.38,7458.59,7485.5,7430.83,7471.65,7480.05,7518.8,7557.3,7453.42,7502.93,7485.75,7450.03,7454.11,7420.69,7541.86,7464.34,7475.21,7467.5 +2024-10-18,7478.69,7618.04,7477.15,7401.91,7435.49,7470.61,7414.93,7471.33,7483.34,7473.51,7506.43,7414.35,7464.17,7435.23,7464.47,7434.98,7418.43,7530.27,7448.03,7474.44,7370.0 +2024-10-21,7351.33,7464.07,7351.7,7378.64,7367.16,7417.71,7318.49,7356.18,7369.51,7432.82,7407.67,7312.07,7372.31,7358.34,7360.04,7332.51,7413.26,7488.47,7360.11,7466.75,7362.5 +2024-10-22,7344.0,7420.61,7372.97,7356.97,7340.58,7344.55,7320.62,7369.73,7394.98,7425.47,7345.69,7321.17,7352.98,7331.07,7343.6,7349.05,7407.93,7482.92,7340.69,7370.03,7346.67 +2024-10-23,7318.68,7349.63,7351.23,7343.76,7327.8,7308.26,7313.73,7354.39,7369.49,7419.87,7297.33,7311.08,7333.77,7306.12,7315.16,7342.97,7402.13,7461.36,7329.76,7362.57,7357.5 +2024-10-24,7332.02,7332.76,7374.31,7333.8,7329.64,7342.82,7343.69,7356.94,7392.53,7430.7,7278.94,7326.74,7325.37,7332.06,7342.69,7350.51,7396.69,7458.39,7342.08,7346.69,7352.5 +2024-10-25,7341.74,7293.06,7366.42,7319.07,7339.96,7359.99,7370.54,7370.27,7382.04,7432.93,7259.45,7324.02,7321.69,7319.84,7359.37,7336.29,7391.29,7460.46,7358.44,7357.54,7372.5 +2024-10-28,7344.72,7319.59,7397.69,7322.86,7366.56,7356.09,7400.03,7384.1,7409.74,7443.96,7265.26,7362.26,7344.67,7345.9,7381.35,7355.78,7386.77,7474.65,7386.76,7352.37,7373.33 +2024-10-29,7359.09,7309.05,7393.36,7346.79,7376.6,7374.11,7393.55,7384.43,7402.9,7452.68,7299.63,7378.7,7352.16,7395.18,7389.32,7366.07,7382.29,7455.52,7373.86,7373.17,7380.0 +2024-10-30,7358.99,7341.46,7405.33,7416.18,7381.48,7426.02,7377.57,7389.75,7414.11,7470.71,7350.95,7408.24,7357.65,7411.46,7388.27,7396.68,7378.24,7473.96,7359.31,7391.33,7330.0 +2024-10-31,7312.56,7305.57,7340.64,7456.83,7354.07,7421.74,7296.75,7337.7,7358.05,7471.7,7350.27,7369.02,7348.39,7402.12,7340.37,7326.14,7372.69,7468.82,7330.87,7388.27,7340.0 +2024-11-01,7343.08,7325.18,7365.97,7418.3,7350.28,7392.95,7324.07,7355.09,7382.28,7474.65,7365.08,7377.86,7372.56,7387.91,7340.9,7339.71,7367.81,7459.85,7335.55,7377.83,7363.33 +2024-11-04,7386.98,7346.15,7387.89,7369.52,7364.33,7391.78,7341.57,7376.17,7396.97,7479.09,7375.33,7398.98,7399.13,7360.83,7360.96,7393.32,7364.03,7461.72,7357.11,7379.33,7360.0 +2024-11-05,7391.64,7351.35,7380.57,7346.31,7361.38,7392.48,7346.13,7362.84,7391.88,7478.33,7376.7,7386.92,7404.12,7376.09,7372.73,7392.84,7360.4,7451.46,7349.65,7347.05,7357.5 +2024-11-06,7377.09,7346.7,7380.05,7335.56,7358.76,7378.26,7347.79,7375.06,7391.63,7476.48,7358.81,7383.4,7388.88,7361.92,7379.12,7385.59,7356.97,7412.7,7342.42,7377.96,7383.33 +2024-11-07,7388.92,7358.83,7413.9,7342.16,7375.17,7391.05,7372.72,7398.94,7420.15,7477.76,7361.6,7396.03,7409.27,7366.39,7401.27,7405.46,7355.01,7421.77,7363.14,7384.18,7366.67 +2024-11-08,7353.58,7344.83,7383.68,7340.64,7369.75,7386.01,7355.9,7370.14,7393.42,7466.26,7359.23,7360.38,7396.27,7382.97,7375.96,7376.72,7353.13,7417.78,7356.34,7372.99,7383.33 +2024-11-11,7379.68,7363.24,7413.31,7352.35,7379.62,7397.03,7377.89,7396.57,7420.56,7476.66,7373.14,7364.99,7411.73,7361.13,7384.96,7384.97,7352.16,7430.21,7378.04,7383.47,7340.0 +2024-11-12,7341.77,7294.74,7349.73,7357.31,7360.36,7414.32,7341.37,7347.22,7365.44,7470.71,7359.69,7316.59,7389.09,7367.12,7335.55,7337.95,7350.08,7408.84,7358.53,7392.38,7306.67 +2024-11-13,7381.98,7287.19,7351.89,7350.5,7376.17,7422.79,7383.6,7340.75,7387.01,7469.26,7353.83,7317.99,7432.26,7361.68,7364.91,7332.75,7348.14,7431.79,7365.84,7405.65,7323.33 +2024-11-14,7382.61,7254.22,7354.04,7348.43,7380.54,7393.63,7401.79,7312.58,7382.11,7465.35,7365.01,7333.27,7446.75,7349.96,7346.71,7327.26,7336.3,7436.18,7378.39,7422.76,7353.33 +2024-11-15,7381.57,7295.52,7368.15,7328.46,7378.27,7388.9,7390.94,7306.41,7388.54,7474.63,7368.29,7331.23,7442.02,7386.59,7333.92,7323.29,7347.5,7405.92,7384.14,7402.9,7393.33 +2024-11-18,7351.67,7319.07,7406.21,7316.12,7375.26,7372.63,7385.84,7357.07,7391.6,7479.03,7371.18,7359.46,7430.76,7360.74,7375.31,7320.7,7358.16,7380.2,7378.35,7394.49,7363.33 +2024-11-19,7359.2,7325.43,7374.63,7342.03,7352.78,7343.61,7342.73,7372.25,7381.78,7449.07,7317.24,7350.61,7326.66,7375.86,7335.6,7364.06,7345.6,7354.37,7365.84,7367.14, +2024-11-20,7339.67,7303.26,7375.4,7320.67,7341.12,7339.04,7337.23,7369.62,7401.5,7449.81,7307.54,7353.7,7321.71,7326.19,7327.7,7355.31,7343.62,7344.18,7327.17,7372.86, +2024-11-21,7313.64,7310.42,7380.75,7315.62,7321.95,7387.1,7330.4,7346.73,7399.87,7443.93,7302.45,7366.74,7310.2,7341.94,7341.78,7348.73,7331.54,7333.94,7305.5,7363.12, +2024-11-22,7296.48,7321.02,7392.48,7309.1,7300.34,7376.25,7299.74,7331.89,7405.18,7451.16,7291.02,7360.91,7294.78,7323.82,7406.11,7343.82,7342.97,7315.08,7304.24,7363.37, +2024-11-25,7286.7,7319.39,7421.41,7314.21,7278.51,7335.19,7267.8,7370.68,7405.27,7454.45,7288.73,7384.35,7295.84,7330.96,7369.37,7341.7,7353.84,7304.88,7295.69,7353.22, diff --git a/juxitingdataset/jbsh_juxiting.db b/juxitingdataset/jbsh_juxiting.db index f333d13..678960c 100644 Binary files a/juxitingdataset/jbsh_juxiting.db and b/juxitingdataset/jbsh_juxiting.db differ diff --git a/juxitingdataset/testandpredict_groupby.csv b/juxitingdataset/testandpredict_groupby.csv index f6cb576..fcc3069 100644 --- a/juxitingdataset/testandpredict_groupby.csv +++ b/juxitingdataset/testandpredict_groupby.csv @@ -1,201 +1,206 @@ -ds,NHITS,Informer,LSTM,iTransformer,TSMixer,TSMixerx,PatchTST,RNN,GRU,TCN,BiTCN,DilatedRNN,MLP,DLinear,NLinear,TFT,StemGNN,MLPMultivariate,TiDE,DeepNPTS,y,min_within_quantile,max_within_quantile,min_model,max_model -2024-01-29,7327.54,7371.2856,7327.9795,7384.885,7303.0186,7287.3315,7292.8896,7315.115,7343.5977,7448.8076,7326.1924,7305.5063,7323.524,7296.2896,7310.326,7284.556,7305.0786,7307.854,7296.64,7296.585,7305.0,7296.64013671875,7327.9794921875,TiDE,LSTM -2024-01-30,7323.8696,7345.8745,7337.313,7389.4263,7298.2393,7304.3403,7293.087,7323.4897,7353.2188,7449.262,7332.463,7312.258,7328.594,7281.346,7304.499,7300.717,7302.7026,7318.9453,7296.9995,7304.781,7315.0,7296.99951171875,7337.31298828125,TiDE,LSTM -2024-01-31,7324.146,7346.4673,7344.214,7380.4604,7308.308,7304.0986,7294.4946,7331.6987,7359.118,7457.24,7342.7256,7323.041,7320.5635,7292.954,7297.5747,7318.6,7301.1377,7334.6743,7303.2417,7314.4746,7302.5,7297.57470703125,7344.2138671875,NLinear,LSTM -2024-02-01,7310.3633,7350.735,7330.007,7368.2,7301.071,7305.6147,7286.2505,7318.4907,7346.6665,7454.664,7335.987,7307.8584,7320.183,7289.8535,7286.7407,7300.7036,7299.9995,7329.819,7302.619,7301.4395,7275.0,7286.74072265625,7330.0068359375,NLinear,LSTM -2024-02-02,7293.69,7327.781,7309.3315,7373.0205,7273.724,7281.9614,7266.092,7301.234,7324.7744,7439.2812,7308.1733,7276.548,7291.012,7277.5293,7261.4004,7276.106,7297.477,7296.4697,7281.352,7281.487,7242.5,7261.400390625,7309.33154296875,NLinear,LSTM -2024-02-04,7254.433,7283.6553,7289.6973,7339.78,7239.73,7246.9434,7231.938,7275.8677,7300.413,7419.0776,7273.8286,7247.9873,7247.8843,7248.6,7243.9033,7245.4927,7293.5337,7245.099,7250.104,7275.036,7240.0,7243.9033203125,7289.697265625,NLinear,LSTM -2024-02-05,7250.295,7259.144,7291.301,7286.8813,7225.6523,7210.312,7228.403,7274.821,7302.662,7410.3135,7243.091,7250.315,7235.755,7227.8154,7230.8687,7230.152,7289.2905,7232.534,7231.225,7243.133,7227.5,7230.86865234375,7291.30078125,NLinear,LSTM -2024-02-06,7238.1196,7245.9375,7284.3765,7245.9297,7214.966,7191.3247,7208.555,7264.1216,7290.8286,7402.405,7214.5146,7247.1934,7215.7324,7210.972,7213.2725,7208.0527,7284.472,7215.4717,7216.571,7240.1157,7246.6665,7213.2724609375,7284.37646484375,NLinear,LSTM -2024-02-07,7250.0728,7249.5786,7298.5312,7246.314,7225.5596,7233.2617,7233.5103,7282.6904,7310.7695,7411.9214,7197.425,7269.3145,7226.5107,7226.7334,7229.025,7225.509,7280.56,7230.7563,7231.607,7227.758,7255.0,7229.02490234375,7298.53125,NLinear,LSTM -2024-02-08,7255.888,7238.047,7302.062,7239.053,7240.0234,7246.6807,7249.718,7290.1685,7314.031,7416.259,7187.06,7274.244,7236.2188,7231.464,7251.076,7240.224,7277.064,7237.261,7253.372,7246.6787,7270.0,7251.076171875,7302.06201171875,NLinear,LSTM -2024-02-18,7255.7476,7235.38,7313.8047,7233.6855,7255.6904,7255.5767,7265.8315,7300.2495,7328.572,7421.755,7188.816,7284.8784,7247.1353,7230.468,7268.077,7274.995,7274.5186,7246.0713,7273.1055,7254.989,7336.6665,7268.0771484375,7313.8046875,NLinear,LSTM -2024-02-19,7328.241,7286.074,7381.018,7275.307,7308.4116,7310.3076,7327.4346,7366.1816,7388.414,7447.075,7280.0312,7355.517,7284.432,7281.5015,7344.23,7354.4004,7273.632,7291.6636,7323.833,7270.3794,7350.0,7323.8330078125,7381.01806640625,TiDE,LSTM -2024-02-20,7340.944,7314.0327,7381.5713,7320.348,7338.1836,7366.514,7341.785,7363.2793,7388.778,7459.8125,7353.135,7385.1006,7303.8467,7305.5444,7355.2246,7374.68,7273.196,7317.2275,7334.7188,7315.848,7335.0,7334.71875,7385.1005859375,TiDE,DilatedRNN -2024-02-21,7328.0884,7291.2524,7364.2417,7319.2456,7332.968,7412.6357,7331.434,7349.3823,7375.823,7465.6343,7385.7275,7387.225,7307.3833,7333.665,7337.7866,7342.363,7272.3896,7318.1006,7325.3853,7314.4683,7297.5,7325.38525390625,7387.22509765625,TiDE,DilatedRNN -2024-02-22,7287.8735,7267.143,7325.016,7277.247,7305.414,7391.882,7303.8286,7321.0156,7340.7817,7453.1045,7382.0225,7339.7095,7294.562,7318.521,7298.753,7277.442,7270.509,7301.041,7291.3823,7276.9814,7285.0,7291.38232421875,7339.70947265625,TiDE,DilatedRNN -2024-02-23,7274.399,7269.568,7318.807,7248.7266,7289.0947,7370.73,7297.7876,7303.6953,7335.4224,7444.233,7366.254,7323.166,7289.08,7303.606,7282.352,7266.3247,7268.189,7293.0938,7280.006,7282.8047,7306.6665,7280.005859375,7323.166015625,TiDE,DilatedRNN -2024-02-26,7317.076,7264.941,7337.7056,7258.444,7297.6904,7360.0747,7324.8403,7325.023,7354.1455,7444.2607,7362.535,7327.898,7317.0273,7295.977,7301.972,7291.581,7266.6943,7302.3555,7294.468,7344.75,7292.5,7294.4677734375,7337.70556640625,TiDE,LSTM -2024-02-27,7324.8584,7265.309,7320.64,7250.013,7294.186,7304.1113,7298.2075,7308.625,7337.1943,7439.2734,7344.686,7310.365,7318.0415,7292.697,7282.6455,7268.987,7265.1797,7294.638,7286.2944,7335.9023,7306.6665,7282.6455078125,7320.64013671875,NLinear,LSTM -2024-02-28,7350.4395,7289.5283,7338.2246,7309.689,7298.809,7324.0015,7322.149,7329.7837,7355.814,7445.0146,7333.113,7324.6567,7333.303,7311.2393,7305.7275,7297.4614,7264.3247,7302.66,7303.671,7363.8447,7353.3335,7303.6708984375,7338.224609375,TiDE,LSTM -2024-02-29,7364.922,7312.732,7388.8384,7333.9785,7331.49,7367.615,7367.573,7377.5312,7397.033,7453.3794,7342.484,7349.7095,7365.7754,7333.8677,7360.886,7322.637,7264.3276,7322.595,7342.4907,7352.6177,7325.0,7342.49072265625,7388.83837890625,TiDE,LSTM -2024-03-01,7321.578,7316.2393,7343.9375,7309.51,7320.658,7330.7563,7334.3384,7332.159,7359.9653,7443.0215,7323.63,7307.3027,7329.6206,7315.678,7335.521,7305.787,7264.1797,7304.3496,7325.9053,7320.0366,7343.3335,7307.302734375,7343.9375,DilatedRNN,LSTM -2024-03-04,7340.802,7317.3306,7376.918,7311.154,7328.219,7340.468,7340.3086,7365.1484,7388.8574,7450.7354,7315.865,7323.957,7323.977,7333.2466,7339.4756,7315.3276,7264.3325,7301.3037,7341.7275,7340.6304,7330.0,7323.95703125,7376.91796875,DilatedRNN,LSTM -2024-03-05,7315.2905,7324.3237,7350.444,7305.61,7325.7393,7339.7915,7318.9697,7344.8457,7365.5527,7451.8755,7304.357,7319.4277,7316.457,7325.9277,7321.5146,7307.3413,7264.214,7297.3003,7327.1245,7328.323,7310.0,7319.427734375,7350.44384765625,DilatedRNN,LSTM -2024-03-06,7308.373,7325.696,7334.6255,7294.158,7305.627,7325.1763,7312.541,7318.275,7352.913,7447.445,7298.8755,7308.506,7313.021,7309.36,7297.2993,7288.715,7263.7637,7286.975,7300.477,7306.5024,7297.5,7297.29931640625,7334.62548828125,NLinear,LSTM -2024-03-07,7299.862,7322.526,7324.675,7282.332,7294.8735,7306.711,7313.406,7321.1187,7342.7246,7440.573,7289.942,7302.0376,7319.489,7285.3726,7297.0596,7280.8086,7263.1475,7286.3086,7293.879,7289.419,7290.0,7293.87890625,7324.6748046875,TiDE,LSTM -2024-03-08,7284.222,7300.3496,7319.861,7274.833,7286.743,7293.7285,7302.802,7307.933,7337.868,7436.35,7274.2007,7299.68,7286.9375,7284.206,7288.37,7276.833,7262.7554,7277.1772,7291.021,7296.594,7295.0,7288.3701171875,7319.86083984375,NLinear,LSTM -2024-03-11,7271.2715,7287.878,7325.3354,7269.5693,7283.7026,7281.6074,7304.636,7315.3335,7343.5044,7434.8457,7270.7354,7301.897,7264.7705,7297.509,7293.4673,7279.9775,7262.8096,7273.0933,7289.3433,7281.022,7285.0,7289.34326171875,7325.33544921875,TiDE,LSTM -2024-03-12,7252.8354,7289.8853,7316.3813,7238.3223,7271.274,7285.967,7283.5815,7308.112,7333.671,7423.9077,7273.6724,7295.1426,7244.6016,7296.6904,7275.3125,7274.42,7264.088,7267.1753,7270.405,7242.843,7283.3335,7270.40478515625,7316.38134765625,TiDE,LSTM -2024-03-13,7248.938,7289.635,7317.692,7233.044,7267.635,7290.3125,7281.2026,7307.193,7335.384,7425.8755,7268.577,7309.177,7235.079,7304.1416,7278.2095,7275.3296,7265.651,7265.2554,7272.325,7235.6216,7285.0,7272.3251953125,7317.69189453125,TiDE,LSTM -2024-03-14,7265.6675,7272.352,7319.054,7246.859,7274.3047,7281.329,7285.092,7310.2607,7336.2573,7424.372,7279.022,7310.2495,7246.5537,7274.915,7288.535,7285.686,7269.2046,7272.7983,7280.9336,7245.8447,7277.5,7280.93359375,7319.05419921875,TiDE,LSTM -2024-03-15,7268.02,7272.377,7313.2935,7252.223,7272.3735,7267.2764,7274.578,7300.802,7329.858,7422.9077,7276.3623,7300.483,7249.938,7253.633,7269.2046,7284.1553,7271.747,7274.0024,7279.1475,7275.567,7353.3335,7269.20458984375,7313.29345703125,NLinear,LSTM -2024-03-18,7347.523,7331.5874,7398.1025,7300.4,7319.1963,7299.2505,7365.2866,7379.18,7404.796,7454.794,7304.7573,7381.734,7306.5664,7305.6533,7353.5864,7387.272,7274.584,7304.16,7330.823,7352.64,7387.5,7330.8232421875,7398.1025390625,TiDE,LSTM -2024-03-19,7383.2007,7377.062,7422.1787,7337.716,7360.5415,7351.514,7392.0273,7400.809,7423.6587,7474.671,7313.8677,7416.085,7356.2627,7326.808,7393.4097,7420.567,7276.2305,7330.5435,7363.473,7386.885,7435.0,7363.47314453125,7422.1787109375,TiDE,LSTM -2024-03-20,7431.3228,7405.089,7481.697,7376.288,7402.0117,7385.961,7459.232,7451.4297,7481.062,7500.148,7329.3774,7477.5176,7408.798,7385.252,7441.3843,7446.609,7277.801,7375.8203,7414.868,7433.0977,7460.0,7414.8681640625,7481.69677734375,TiDE,LSTM -2024-03-21,7458.2275,7401.492,7497.2183,7416.5845,7435.339,7399.187,7477.399,7484.968,7496.0884,7515.9604,7349.7227,7505.508,7430.2617,7433.867,7467.8345,7466.1753,7280.6196,7415.174,7449.4546,7440.946,7422.5,7449.45458984375,7505.5078125,TiDE,DilatedRNN -2024-03-22,7407.0825,7385.577,7442.542,7427.619,7418.8604,7399.5073,7396.7397,7421.226,7442.492,7503.784,7352.836,7447.2036,7399.149,7426.6504,7428.188,7410.6143,7284.129,7404.034,7430.581,7399.9756,7402.5,7421.22607421875,7447.20361328125,RNN,DilatedRNN -2024-03-25,7390.9316,7341.7417,7425.1035,7351.0176,7389.619,7396.7227,7393.906,7412.0156,7429.2393,7493.727,7344.5913,7410.24,7372.034,7425.9546,7402.7266,7362.529,7285.9043,7383.556,7400.5117,7386.4575,7372.5,7400.51171875,7425.103515625,TiDE,LSTM -2024-03-26,7347.334,7326.359,7383.7305,7310.7183,7358.046,7389.9893,7351.148,7374.3765,7394.8364,7478.162,7345.3984,7372.223,7346.8843,7391.773,7355.676,7335.9077,7286.96,7355.5215,7355.3013,7348.9756,7365.0,7355.30126953125,7383.73046875,TiDE,LSTM -2024-03-27,7332.6685,7312.6313,7381.709,7327.691,7341.7427,7356.66,7347.588,7365.008,7395.2363,7472.1733,7348.8047,7371.0938,7330.055,7369.823,7345.8745,7337.2305,7287.96,7336.0894,7351.8623,7342.38,7345.0,7345.87451171875,7381.708984375,NLinear,LSTM -2024-03-28,7318.9517,7314.2285,7356.6807,7325.767,7325.5513,7327.4263,7330.2373,7354.8135,7374.066,7455.497,7348.2134,7331.0493,7302.6733,7352.365,7328.5137,7320.3345,7288.741,7314.206,7333.578,7330.548,7345.0,7328.513671875,7356.6806640625,NLinear,LSTM -2024-03-29,7333.2954,7331.351,7363.246,7327.6743,7319.564,7301.5522,7328.1797,7355.113,7380.952,7447.5664,7334.7427,7327.2666,7288.5444,7335.8066,7336.808,7319.2993,7289.9165,7297.9263,7332.412,7343.5093,7345.0,7327.2666015625,7363.24609375,DilatedRNN,LSTM -2024-04-01,7348.0537,7330.572,7362.7725,7332.9604,7322.198,7298.061,7329.0166,7358.6577,7379.306,7439.0703,7324.079,7319.565,7297.908,7335.1064,7344.3975,7319.012,7290.8574,7297.928,7334.5747,7336.6123,7360.0,7319.56494140625,7362.7724609375,DilatedRNN,LSTM -2024-04-02,7354.8457,7323.401,7383.785,7332.653,7333.635,7305.6133,7343.2495,7371.6064,7396.9644,7439.2964,7319.5005,7330.7207,7310.536,7330.504,7355.109,7328.9604,7291.783,7303.8853,7341.664,7354.6255,7380.0,7330.720703125,7383.78515625,DilatedRNN,LSTM -2024-04-03,7365.363,7363.4385,7406.764,7337.816,7351.973,7328.9243,7372.8433,7392.5435,7415.1196,7455.345,7328.296,7365.4688,7333.1133,7329.4907,7376.2812,7337.592,7293.337,7332.993,7356.929,7368.235,7397.5,7356.92919921875,7406.76416015625,TiDE,LSTM -2024-04-07,7393.174,7399.1465,7426.612,7353.0283,7376.4893,7376.752,7414.109,7407.8154,7431.869,7469.0186,7340.048,7401.162,7367.347,7352.1235,7391.1353,7345.164,7296.0327,7358.918,7389.734,7383.014,7437.5,7389.73388671875,7426.61181640625,TiDE,LSTM -2024-04-08,7446.6924,7449.7544,7475.2563,7373.374,7410.5596,7404.134,7471.235,7453.1606,7476.517,7494.462,7348.689,7462.397,7410.8096,7377.585,7435.089,7383.2344,7300.344,7398.0693,7432.398,7434.5586,7490.0,7432.39794921875,7475.25634765625,TiDE,LSTM -2024-04-09,7504.905,7467.537,7530.613,7433.774,7452.0054,7425.3403,7513.393,7508.9287,7533.4644,7525.638,7357.8564,7528.4937,7454.9614,7437.0137,7491.247,7428.2314,7304.7363,7457.517,7473.5537,7489.2837,7507.5,7473.5537109375,7530.61279296875,TiDE,LSTM -2024-04-10,7507.6694,7467.993,7538.1147,7542.224,7472.328,7420.036,7503.443,7518.157,7542.6377,7545.1484,7374.8135,7566.422,7470.541,7473.4287,7509.802,7433.4985,7310.0293,7488.787,7488.6753,7506.1987,7497.5,7488.67529296875,7566.421875,TiDE,DilatedRNN -2024-04-11,7471.361,7447.9717,7520.0947,7595.639,7468.2266,7408.3325,7456.563,7507.32,7523.82,7548.4556,7392.3813,7548.813,7429.4277,7498.0825,7501.922,7419.362,7314.949,7464.2153,7485.503,7461.3413,7497.5,7485.5029296875,7548.81298828125,TiDE,DilatedRNN -2024-04-12,7441.4653,7422.594,7520.649,7489.6167,7460.528,7422.053,7457.3374,7508.158,7525.2314,7549.5034,7408.3726,7551.6904,7408.99,7522.645,7488.91,7405.511,7319.853,7442.42,7475.9414,7381.109,7506.6665,7475.94140625,7551.6904296875,TiDE,DilatedRNN -2024-04-15,7437.4883,7392.7056,7528.9893,7359.854,7460.766,7406.296,7457.8774,7511.0024,7534.3423,7550.2856,7422.125,7559.664,7408.6436,7505.059,7499.318,7414.586,7324.3867,7350.284,7478.66,7390.3853,7482.5,7478.66015625,7559.6640625,TiDE,DilatedRNN -2024-04-16,7414.4014,7356.5474,7493.419,7320.82,7445.327,7389.5503,7430.3423,7479.1465,7495.7896,7530.0034,7414.796,7504.091,7384.232,7474.4126,7463.9585,7395.259,7326.742,7316.681,7464.249,7352.0337,7495.0,7463.95849609375,7504.0908203125,NLinear,DilatedRNN -2024-04-17,7418.1523,7345.336,7517.467,7244.3267,7448.5728,7372.91,7443.809,7505.0737,7524.591,7532.585,7416.4146,7509.972,7377.5215,7468.4683,7480.951,7402.167,7328.876,7308.7583,7469.451,7336.165,7497.5,7469.451171875,7517.466796875,TiDE,LSTM -2024-04-18,7436.2354,7365.206,7513.568,7192.3843,7453.5957,7372.54,7432.963,7503.9854,7517.9287,7524.563,7417.2803,7494.443,7394.3423,7452.6953,7495.288,7403.768,7331.6216,7302.1626,7473.5625,7444.699,7497.5,7473.5625,7513.56787109375,TiDE,LSTM -2024-04-19,7447.0806,7350.321,7514.8804,7205.8774,7455.567,7376.2446,7410.527,7499.0874,7521.575,7514.4854,7414.3438,7484.985,7403.5664,7462.2075,7490.3115,7405.585,7335.865,7309.3057,7468.847,7448.9966,7527.5,7468.84716796875,7514.88037109375,TiDE,LSTM -2024-04-22,7475.883,7423.158,7553.94,7254.1865,7479.875,7386.6743,7447.7183,7543.102,7564.775,7529.091,7418.2056,7513.3813,7448.4033,7465.62,7534.029,7424.2153,7340.894,7353.6143,7495.132,7507.159,7527.5,7495.1318359375,7553.93994140625,TiDE,LSTM -2024-04-23,7483.1704,7425.912,7543.3994,7290.925,7493.6997,7412.115,7452.9463,7529.652,7551.1343,7530.611,7420.402,7510.6343,7476.7812,7493.6245,7519.158,7425.5796,7345.308,7389.0503,7508.076,7474.1436,7510.0,7508.076171875,7543.3994140625,TiDE,LSTM -2024-04-24,7489.824,7449.7627,7522.4307,7284.6025,7487.656,7426.2656,7472.049,7511.7827,7529.634,7526.3643,7421.7383,7485.4575,7485.087,7501.4614,7492.875,7420.0005,7350.445,7407.3813,7501.6187,7474.4214,7487.5,7485.45751953125,7522.4306640625,DilatedRNN,LSTM -2024-04-25,7478.175,7459.268,7497.68,7280.8003,7470.319,7445.5015,7489.487,7493.36,7502.2085,7512.972,7428.151,7459.135,7481.8677,7483.9165,7478.5474,7422.1445,7354.9907,7425.6543,7481.111,7463.771,7487.5,7459.134765625,7497.68017578125,DilatedRNN,LSTM -2024-04-26,7471.7905,7504.4097,7503.64,7250.9985,7463.4204,7473.467,7521.545,7488.0747,7509.4736,7511.2256,7437.1514,7478.4175,7488.639,7486.8276,7477.294,7424.8477,7357.933,7426.3447,7478.559,7483.4316,7502.5,7477.2939453125,7503.64013671875,NLinear,LSTM -2024-04-28,7467.8945,7518.133,7521.8115,7174.1064,7470.82,7479.4893,7536.9326,7508.1694,7528.3906,7516.836,7455.743,7505.5894,7480.8833,7472.892,7496.7207,7427.1,7362.1377,7417.9033,7486.9385,7501.281,7527.5,7486.9384765625,7521.8115234375,TiDE,LSTM -2024-04-29,7481.1025,7537.4067,7551.2607,7198.683,7484.3076,7493.617,7539.073,7535.1357,7561.359,7538.5674,7471.2583,7551.516,7456.966,7503.5913,7513.179,7435.481,7365.9897,7410.411,7503.5625,7523.1265,7537.5,7503.5625,7551.51611328125,TiDE,DilatedRNN -2024-04-30,7485.5576,7594.842,7557.28,7254.4175,7491.221,7476.6978,7528.6987,7545.3306,7567.3643,7559.401,7475.3867,7570.705,7438.036,7536.9814,7529.869,7442.824,7370.56,7405.342,7509.7266,7512.2437,7532.5,7509.7265625,7570.705078125,TiDE,DilatedRNN -2024-05-06,7483.9385,7574.701,7548.458,7325.2275,7489.1924,7448.354,7506.8403,7539.166,7557.914,7552.7583,7467.6,7562.0117,7421.79,7525.6177,7532.4536,7444.3916,7376.098,7394.2666,7509.6626,7408.6543,7502.5,7509.66259765625,7562.01171875,TiDE,DilatedRNN -2024-05-07,7454.256,7549.21,7509.903,7428.3076,7469.9204,7432.5,7468.808,7503.76,7514.606,7528.459,7455.187,7517.822,7393.6875,7501.2305,7494.9287,7449.213,7382.0747,7369.9253,7480.7466,7366.604,7475.0,7480.74658203125,7517.82177734375,TiDE,DilatedRNN -2024-05-08,7448.621,7504.078,7483.7812,7341.15,7449.908,7422.8223,7453.707,7472.9927,7488.1543,7506.2876,7444.9937,7489.6187,7390.3047,7460.8916,7477.186,7433.9673,7388.169,7356.528,7456.1313,7334.036,7512.5,7456.13134765625,7489.61865234375,TiDE,DilatedRNN -2024-05-09,7489.4106,7492.549,7538.778,7228.581,7471.967,7432.3164,7488.344,7522.5,7548.681,7532.692,7450.953,7550.5137,7421.945,7462.06,7500.766,7464.863,7394.7876,7365.004,7478.9917,7376.0483,7505.0,7478.99169921875,7550.513671875,TiDE,DilatedRNN -2024-05-10,7502.581,7503.25,7515.706,7238.33,7480.192,7439.4644,7473.9966,7502.336,7519.204,7530.7915,7445.6587,7522.234,7430.0835,7469.067,7501.894,7461.8916,7402.072,7366.8926,7475.328,7327.727,7477.5,7475.328125,7522.23388671875,TiDE,DilatedRNN -2024-05-11,7477.011,7468.494,7487.6772,7269.3843,7466.02,7463.3545,7461.114,7477.537,7492.7163,7517.6313,7434.928,7478.0273,7432.4854,7469.024,7476.0327,7443.908,7409.2876,7377.3755,7464.2456,7457.5786,7475.0,7464.24560546875,7487.67724609375,TiDE,LSTM -2024-05-13,7485.155,7465.7734,7491.337,7315.731,7466.4478,7476.0625,7467.466,7489.508,7496.0464,7504.5596,7435.735,7466.043,7449.361,7487.1445,7477.5137,7445.098,7416.695,7406.576,7470.805,7469.8306,7485.0,7466.04296875,7491.3369140625,DilatedRNN,LSTM -2024-05-14,7477.142,7476.026,7503.6304,7392.3086,7473.355,7492.0977,7466.7036,7485.679,7508.4863,7498.1094,7457.671,7471.834,7481.7104,7489.5645,7496.2563,7459.572,7425.1943,7437.0503,7474.5933,7482.287,7507.5,7471.833984375,7503.63037109375,DilatedRNN,LSTM -2024-05-15,7489.9146,7539.145,7530.8066,7430.454,7490.5195,7527.635,7486.065,7514.305,7538.248,7516.146,7484.4287,7502.173,7517.088,7500.9272,7501.9663,7472.1016,7430.1094,7472.3706,7495.538,7499.285,7510.0,7495.5380859375,7530.806640625,TiDE,LSTM -2024-05-16,7488.493,7555.006,7527.53,7360.078,7500.7886,7538.662,7505.815,7517.804,7533.731,7533.269,7499.3022,7510.7705,7524.2197,7516.5176,7497.5884,7476.121,7433.6113,7352.6816,7509.439,7492.978,7525.0,7497.58837890625,7527.52978515625,NLinear,LSTM -2024-05-17,7496.755,7566.108,7548.3657,7326.433,7508.881,7531.2725,7524.7236,7533.786,7558.479,7556.2666,7511.1597,7535.6323,7506.212,7526.9165,7519.7017,7497.2275,7435.586,7309.129,7519.2583,7481.6733,7587.5,7519.25830078125,7548.36572265625,TiDE,LSTM -2024-05-20,7554.6206,7644.915,7627.4375,7350.247,7547.0127,7528.244,7595.9116,7612.2827,7643.458,7596.8975,7537.8237,7612.6274,7530.4263,7539.7134,7591.8735,7521.204,7437.2095,7296.1094,7572.1187,7571.9077,7670.0,7572.11865234375,7627.4375,TiDE,LSTM -2024-05-21,7646.4185,7693.653,7721.6753,7393.0356,7609.44,7543.7534,7674.385,7711.264,7740.307,7708.743,7555.533,7736.536,7598.7334,7600.9624,7672.606,7654.197,7439.662,7318.5547,7645.336,7664.216,7677.5,7645.3359375,7736.5361328125,TiDE,DilatedRNN -2024-05-22,7647.545,7700.3604,7702.609,7435.0103,7631.705,7537.14,7631.248,7700.743,7718.4004,7716.2666,7545.937,7739.6123,7593.625,7631.0547,7680.195,7632.132,7443.422,7351.654,7659.1025,7656.574,7677.5,7659.1025390625,7739.6123046875,TiDE,DilatedRNN -2024-05-23,7626.5903,7682.931,7701.2285,7485.9966,7631.622,7534.767,7612.349,7702.057,7719.236,7711.3345,7537.8267,7734.6455,7576.5547,7652.615,7672.345,7630.37,7449.0225,7363.7964,7655.299,7639.0146,7645.0,7655.298828125,7734.6455078125,TiDE,DilatedRNN -2024-05-24,7591.568,7687.2666,7647.2183,7466.981,7604.7427,7520.9497,7581.749,7648.477,7659.8467,7665.4873,7530.349,7681.5874,7545.765,7650.8174,7641.2686,7555.508,7455.5513,7342.2734,7618.7144,7587.3604,7630.0,7618.71435546875,7681.58740234375,TiDE,DilatedRNN -2024-05-27,7587.075,7608.3374,7637.647,7450.7256,7586.274,7503.4014,7584.0605,7621.7793,7653.8467,7607.2466,7528.533,7654.2456,7532.0703,7610.577,7622.6694,7533.82,7463.4204,7326.06,7605.986,7588.4307,7650.0,7605.98583984375,7654.24560546875,TiDE,DilatedRNN -2024-05-28,7607.5493,7589.482,7669.128,7484.61,7597.7314,7514.8257,7601.7134,7664.2217,7686.8223,7632.268,7530.029,7686.7183,7537.2686,7603.0356,7629.1943,7550.9917,7471.712,7363.7646,7623.4575,7633.98,7690.0,7623.45751953125,7686.71826171875,TiDE,DilatedRNN -2024-05-29,7652.842,7571.2974,7717.472,7556.937,7630.2485,7549.1206,7631.497,7713.2817,7739.4175,7692.042,7547.555,7739.1597,7571.9487,7633.924,7662.708,7577.1274,7480.363,7443.6787,7655.7676,7631.6226,7690.0,7655.767578125,7739.15966796875,TiDE,DilatedRNN -2024-05-30,7649.0913,7577.617,7704.105,7550.921,7640.843,7541.2734,7618.8047,7709.13,7722.6406,7686.0776,7566.9937,7726.245,7577.3994,7647.871,7675.334,7588.5674,7488.693,7495.9536,7666.947,7588.9775,7716.6665,7666.94677734375,7726.2451171875,TiDE,DilatedRNN -2024-05-31,7659.8047,7578.856,7740.4565,7601.547,7658.1284,7553.724,7626.846,7747.837,7766.9097,7734.275,7586.038,7743.599,7606.8315,7679.937,7715.32,7637.168,7496.292,7552.72,7694.434,7669.356,7740.0,7694.43408203125,7747.8369140625,TiDE,RNN -2024-06-03,7680.568,7584.224,7758.7427,7692.7866,7682.1675,7563.7793,7631.1216,7765.3013,7782.3394,7752.1914,7594.942,7765.0137,7648.7344,7689.5923,7745.416,7666.559,7503.3374,7588.7646,7712.732,7713.1265,7720.0,7712.73193359375,7765.30126953125,TiDE,RNN -2024-06-04,7665.7593,7576.4067,7723.4004,7680.3076,7679.0776,7575.0923,7632.3086,7726.452,7745.141,7722.12,7593.8306,7724.313,7634.5703,7670.8857,7705.0,7633.6714,7509.0845,7561.4424,7702.167,7686.505,7650.0,7702.1669921875,7726.4521484375,TiDE,RNN -2024-06-05,7606.9214,7540.2925,7633.456,7610.8477,7632.483,7578.704,7615.235,7639.765,7644.8926,7622.3613,7580.726,7631.1973,7599.78,7656.6353,7623.309,7586.5234,7512.7295,7487.383,7640.2627,7578.6704,7620.0,7623.30908203125,7640.2626953125,NLinear,TiDE -2024-06-06,7619.697,7540.455,7618.227,7535.6606,7596.6255,7595.597,7616.2593,7613.327,7634.5376,7580.0376,7567.816,7615.2163,7595.8403,7629.2686,7600.6445,7572.0703,7515.4717,7439.331,7594.365,7568.7104,7600.0,7594.365234375,7618.22705078125,TiDE,LSTM -2024-06-07,7615.7144,7550.1367,7598.8267,7495.0903,7580.493,7593.8066,7616.271,7589.4897,7612.0537,7554.4556,7556.418,7595.4233,7595.099,7577.707,7587.538,7557.716,7518.2676,7422.0835,7579.2017,7530.5747,7606.6665,7579.20166015625,7598.82666015625,TiDE,LSTM -2024-06-11,7601.7393,7545.362,7617.5547,7483.6284,7583.137,7602.9844,7622.9746,7603.0713,7634.4663,7571.4756,7561.7046,7607.516,7596.829,7576.374,7597.9785,7564.5103,7521.2344,7447.741,7590.2354,7535.683,7620.0,7590.2353515625,7617.5546875,TiDE,LSTM -2024-06-12,7595.893,7569.686,7634.825,7476.937,7595.1797,7606.7744,7623.2876,7632.715,7651.707,7610.309,7578.8467,7632.3936,7571.395,7606.6377,7609.63,7574.784,7524.156,7455.8794,7602.3247,7569.6353,7673.3335,7602.32470703125,7634.8251953125,TiDE,LSTM -2024-06-13,7641.0054,7622.334,7708.4976,7521.5537,7629.663,7648.571,7672.0015,7705.2563,7730.6177,7749.362,7613.5806,7719.2944,7605.247,7661.149,7673.968,7611.9146,7528.735,7519.3076,7645.362,7563.0444,7690.0,7645.36181640625,7719.29443359375,TiDE,DilatedRNN -2024-06-14,7656.4604,7645.1094,7711.3477,7577.171,7651.129,7647.5073,7683.6143,7716.139,7731.039,7786.8384,7640.575,7734.5605,7636.69,7681.255,7693.3716,7630.439,7533.103,7553.3237,7664.428,7573.605,7690.0,7664.42822265625,7734.560546875,TiDE,DilatedRNN -2024-06-17,7668.9653,7660.645,7707.5757,7561.2534,7660.0894,7645.731,7690.6865,7707.571,7728.6196,7790.4375,7658.044,7732.9146,7636.438,7670.126,7692.1426,7629.0654,7537.5327,7588.3086,7677.838,7647.8813,7656.6665,7677.837890625,7732.91455078125,TiDE,DilatedRNN -2024-06-18,7648.6875,7647.4365,7657.303,7511.8354,7644.7163,7630.988,7660.458,7661.8315,7671.583,7709.0063,7646.4146,7688.9844,7600.827,7643.5264,7658.194,7608.704,7541.7393,7553.1914,7656.772,7650.669,7656.6665,7656.77197265625,7688.984375,TiDE,DilatedRNN -2024-06-19,7717.4487,7666.0024,7670.3296,7520.2344,7635.9565,7617.9893,7659.579,7660.733,7689.137,7667.132,7633.783,7690.1924,7602.7783,7635.724,7655.593,7608.1714,7544.915,7544.783,7635.3354,7654.2876,7670.0,7635.33544921875,7690.1923828125,TiDE,DilatedRNN -2024-06-20,7741.04,7693.877,7686.966,7567.3926,7640.5005,7624.0913,7651.692,7683.71,7704.508,7695.405,7628.743,7714.591,7644.2944,7644.7495,7667.424,7626.4893,7548.3423,7561.6304,7630.8296,7666.158,7680.0,7630.82958984375,7714.5908203125,TiDE,DilatedRNN -2024-06-21,7702.761,7688.1494,7697.3213,7612.8706,7652.19,7642.974,7654.4443,7693.222,7716.3687,7728.078,7628.3276,7724.7705,7677.8145,7669.136,7678.6035,7633.8896,7552.642,7573.852,7647.565,7666.9546,7680.0,7647.56494140625,7724.7705078125,TiDE,DilatedRNN -2024-06-24,7666.507,7682.791,7694.0444,7581.3384,7661.3315,7643.7505,7644.6665,7699.1064,7712.4053,7720.885,7621.985,7715.659,7654.242,7680.4575,7685.1406,7635.349,7558.0073,7572.0703,7665.651,7669.4536,7680.0,7665.65087890625,7715.6591796875,TiDE,DilatedRNN -2024-06-25,7635.0615,7702.766,7694.1514,7551.084,7662.6323,7668.9717,7639.3916,7697.0967,7713.051,7727.822,7635.73,7696.702,7642.5996,7695.541,7681.619,7638.457,7563.5337,7590.3696,7676.107,7670.294,7693.3335,7676.10693359375,7697.0966796875,TiDE,RNN -2024-06-26,7649.637,7721.7197,7711.3506,7582.14,7666.932,7678.079,7645.996,7712.1377,7733.1294,7739.6733,7653.955,7713.8994,7646.944,7715.362,7695.6245,7646.0503,7568.721,7606.0415,7690.872,7683.9834,7716.6665,7690.8720703125,7713.8994140625,TiDE,DilatedRNN -2024-06-27,7668.781,7726.75,7736.5986,7605.333,7678.265,7679.7017,7667.019,7739.203,7761.4956,7762.527,7676.667,7745.1177,7650.4077,7704.752,7709.2344,7649.617,7573.2476,7663.1025,7698.531,7634.0728,7723.3335,7698.53076171875,7745.11767578125,TiDE,DilatedRNN -2024-06-28,7678.5503,7779.757,7736.7666,7635.7134,7686.452,7652.3403,7673.518,7741.302,7761.033,7772.073,7686.6113,7750.6206,7643.9385,7685.8247,7713.2505,7644.2285,7577.5815,7691.802,7703.728,7613.6733,7730.0,7703.72802734375,7750.62060546875,TiDE,DilatedRNN -2024-07-01,7707.7183,7821.054,7743.386,7658.268,7693.7065,7649.9766,7708.0127,7749.8867,7768.6255,7769.013,7691.7144,7759.0566,7661.7173,7689.947,7721.156,7645.999,7582.3203,7717.933,7715.566,7626.284,7763.3335,7715.56591796875,7759.056640625,TiDE,DilatedRNN -2024-07-02,7744.917,7840.945,7783.1,7679.3994,7717.6436,7653.1284,7735.708,7787.055,7806.216,7806.7393,7684.8047,7796.633,7692.6626,7722.7607,7756.991,7667.11,7588.7544,7762.754,7744.1157,7687.6206,7780.0,7744.11572265625,7796.6328125,TiDE,DilatedRNN -2024-07-03,7756.8447,7833.0347,7791.33,7692.303,7731.192,7658.636,7735.062,7794.673,7812.861,7828.051,7669.74,7808.225,7703.547,7736.587,7780.4624,7680.1426,7596.911,7800.416,7746.292,7766.5444,7800.0,7746.2919921875,7808.22509765625,TiDE,DilatedRNN -2024-07-04,7777.5674,7802.463,7810.804,7710.334,7750.339,7672.556,7765.826,7815.3413,7833.788,7856.353,7662.8096,7828.118,7724.6187,7755.444,7794.13,7694.624,7603.579,7779.0396,7766.8696,7784.5366,7800.0,7766.86962890625,7828.1181640625,TiDE,DilatedRNN -2024-07-05,7774.443,7815.158,7802.195,7730.679,7760.772,7699.2754,7772.52,7811.5737,7823.363,7849.0454,7671.6973,7830.588,7724.645,7770.861,7787.985,7692.8857,7610.9624,7843.216,7780.922,7741.5913,7766.6665,7780.921875,7830.587890625,TiDE,DilatedRNN -2024-07-08,7741.652,7795.0947,7758.8247,7705.325,7739.575,7708.672,7729.864,7765.0273,7781.328,7792.201,7676.9727,7784.113,7681.377,7766.846,7757.0146,7683.5537,7620.041,7824.98,7761.157,7705.362,7746.6665,7757.0146484375,7784.11279296875,NLinear,DilatedRNN -2024-07-09,7722.379,7773.332,7745.256,7703.8765,7714.4985,7696.204,7714.165,7753.769,7769.6807,7768.346,7679.442,7764.165,7656.3105,7739.1113,7735.5195,7682.5645,7629.5483,7730.0054,7737.0923,7674.545,7720.0,7735.51953125,7764.1650390625,NLinear,DilatedRNN -2024-07-10,7681.028,7717.214,7716.771,7678.915,7691.8003,7673.8325,7694.226,7723.2095,7737.119,7743.3765,7668.6836,7735.7046,7622.0293,7709.8916,7703.371,7681.628,7638.6084,7685.624,7705.2163,7572.698,7693.3335,7703.37109375,7735.70458984375,NLinear,DilatedRNN -2024-07-11,7658.803,7691.899,7693.4927,7628.336,7667.141,7692.159,7681.347,7691.846,7710.5137,7719.479,7664.594,7703.5093,7614.391,7682.582,7677.6763,7669.17,7646.273,7670.814,7672.55,7596.5063,7686.6665,7672.5498046875,7703.50927734375,TiDE,DilatedRNN -2024-07-12,7676.212,7648.007,7695.028,7632.622,7659.2656,7675.7134,7674.6196,7698.6304,7713.1284,7720.5,7665.8413,7702.9937,7618.092,7679.028,7672.112,7670.9697,7654.107,7660.484,7659.426,7646.4487,7680.0,7659.42578125,7702.99365234375,TiDE,DilatedRNN -2024-07-15,7678.672,7635.1934,7688.594,7673.1636,7661.822,7659.833,7658.5225,7688.3613,7705.9653,7715.205,7663.1875,7697.0034,7632.9126,7676.2285,7670.711,7666.7173,7661.3223,7665.7705,7658.569,7673.7856,7680.0,7658.56884765625,7697.00341796875,TiDE,DilatedRNN -2024-07-16,7651.1963,7671.8643,7692.7793,7689.266,7668.141,7660.758,7659.064,7692.6074,7711.3687,7719.3364,7655.1997,7696.3184,7641.5664,7667.5435,7679.9424,7684.551,7665.083,7669.101,7668.982,7684.137,7666.6665,7668.98193359375,7696.318359375,TiDE,DilatedRNN -2024-07-17,7641.057,7668.16,7673.4707,7659.7456,7664.6436,7654.2183,7660.926,7676.708,7690.0596,7700.99,7651.0034,7671.7466,7644.4805,7651.2144,7662.9976,7678.6094,7664.9775,7672.349,7664.7246,7691.682,7660.0,7662.99755859375,7676.7080078125,NLinear,RNN -2024-07-18,7664.9663,7658.162,7670.0312,7637.7866,7660.393,7658.6377,7659.826,7666.5015,7687.943,7698.4805,7644.2812,7672.947,7654.7686,7652.1245,7661.8545,7665.935,7664.4287,7680.0693,7657.525,7684.0337,7656.6665,7657.52490234375,7672.94677734375,TiDE,DilatedRNN -2024-07-19,7665.551,7670.8184,7667.205,7635.584,7660.325,7668.8765,7658.371,7665.8726,7684.399,7695.584,7643.105,7674.286,7663.725,7643.517,7663.8926,7656.084,7663.769,7700.3984,7657.9575,7680.189,7656.6665,7657.95751953125,7674.2861328125,TiDE,DilatedRNN -2024-07-22,7654.73,7659.601,7668.9697,7621.6406,7661.3525,7680.211,7656.679,7664.0444,7686.7466,7703.269,7644.0737,7678.368,7673.4263,7659.1533,7658.6733,7652.0737,7664.192,7711.589,7657.0005,7666.682,7640.0,7657.00048828125,7678.3681640625,TiDE,DilatedRNN -2024-07-23,7627.1523,7658.6284,7644.8213,7588.283,7648.253,7672.1426,7633.9795,7642.582,7660.825,7681.314,7644.153,7657.6543,7654.553,7659.5024,7642.755,7629.606,7664.6,7699.003,7638.695,7648.3765,7623.3335,7638.69482421875,7657.654296875,TiDE,DilatedRNN -2024-07-24,7615.709,7655.3555,7628.3022,7592.2227,7632.9834,7642.4775,7617.965,7623.56,7644.383,7647.4067,7638.715,7634.554,7637.802,7656.283,7626.516,7606.3687,7663.527,7680.975,7623.4233,7643.556,7623.3335,7623.42333984375,7634.55419921875,TiDE,DilatedRNN -2024-07-25,7626.8325,7642.017,7633.9727,7613.0454,7627.47,7633.412,7616.6157,7627.667,7651.0903,7641.8286,7629.514,7638.695,7636.3535,7667.2534,7627.4736,7601.07,7661.254,7681.911,7620.475,7654.3047,7616.6665,7620.47509765625,7638.69482421875,TiDE,DilatedRNN -2024-07-26,7632.3335,7621.389,7624.5327,7645.1714,7622.8755,7627.1255,7601.437,7616.045,7639.7183,7631.0366,7618.541,7630.3594,7640.373,7653.941,7615.7593,7592.512,7658.7373,7678.8228,7610.201,7671.363,7606.6665,7610.201171875,7630.359375,TiDE,DilatedRNN -2024-07-29,7639.817,7612.397,7614.2046,7662.6333,7615.0605,7627.332,7595.5796,7606.813,7629.5977,7619.9873,7608.5356,7623.0024,7640.0957,7621.7676,7607.5703,7582.705,7655.2964,7666.2646,7606.5913,7680.2124,7593.3335,7606.59130859375,7623.00244140625,TiDE,DilatedRNN -2024-07-30,7622.5933,7600.343,7599.369,7641.5083,7603.544,7616.735,7589.474,7594.733,7613.7637,7596.824,7595.4326,7602.523,7632.3496,7602.386,7598.679,7575.2354,7651.0396,7639.919,7595.3047,7623.996,7593.3335,7594.73291015625,7602.52294921875,RNN,DilatedRNN -2024-07-31,7600.5137,7608.838,7604.4766,7579.5146,7596.772,7610.0127,7590.8696,7595.068,7620.02,7591.898,7582.3994,7602.827,7610.2764,7587.5996,7602.196,7574.5547,7647.164,7610.417,7593.199,7617.0186,7583.3335,7593.19921875,7604.4765625,TiDE,LSTM -2024-08-01,7584.491,7591.163,7590.4097,7528.964,7586.1,7592.4385,7577.192,7583.059,7603.933,7577.833,7568.3164,7587.833,7585.2256,7581.496,7587.4717,7558.9497,7644.519,7583.2446,7579.941,7590.2993,7620.0,7579.94091796875,7590.40966796875,TiDE,LSTM -2024-08-02,7616.686,7597.3223,7646.7744,7566.598,7608.6694,7612.445,7609.7285,7635.0947,7667.1523,7621.61,7575.381,7644.4077,7594.1055,7601.339,7624.826,7610.858,7644.519,7601.448,7605.9966,7619.8916,7623.3335,7605.99658203125,7646.7744140625,TiDE,LSTM -2024-08-05,7623.7627,7589.9575,7636.6133,7586.836,7623.189,7622.1753,7610.896,7632.091,7651.12,7634.569,7591.59,7646.9155,7600.737,7606.681,7626.2812,7616.1694,7645.467,7618.9155,7617.3364,7621.257,7610.0,7617.33642578125,7646.91552734375,TiDE,DilatedRNN -2024-08-06,7603.1816,7595.4126,7619.838,7605.9287,7619.7603,7611.853,7608.621,7609.997,7635.3276,7619.085,7602.162,7622.4756,7608.05,7622.342,7609.318,7605.9697,7645.6055,7639.8794,7622.1143,7612.494,7596.6665,7609.31787109375,7622.4755859375,NLinear,DilatedRNN -2024-08-07,7592.1763,7592.882,7604.5503,7626.968,7607.001,7596.989,7595.7314,7603.804,7618.5483,7598.3823,7603.147,7605.9805,7599.848,7619.703,7598.383,7599.847,7644.638,7643.8364,7607.1978,7614.267,7586.6665,7598.3828125,7607.19775390625,NLinear,TiDE -2024-08-08,7586.1543,7584.4385,7594.6,7599.368,7593.31,7582.252,7584.5654,7583.1978,7608.705,7574.1445,7597.163,7590.6973,7575.036,7598.8667,7586.7817,7593.286,7641.5493,7614.1875,7591.3506,7610.715,7583.3335,7583.19775390625,7594.60009765625,RNN,LSTM -2024-08-09,7576.485,7582.335,7593.273,7585.825,7584.1606,7586.2075,7583.898,7582.833,7607.375,7572.595,7593.067,7593.8784,7574.7607,7583.666,7577.901,7587.4883,7638.005,7594.3633,7581.234,7617.9976,7583.3335,7577.90087890625,7593.87841796875,NLinear,DilatedRNN -2024-08-12,7575.626,7573.1284,7594.5645,7563.653,7581.976,7582.934,7581.995,7586.456,7608.736,7575.6455,7589.7466,7596.4355,7572.6567,7578.667,7573.8115,7582.9087,7634.5464,7587.757,7580.688,7589.651,7586.6665,7573.8115234375,7596.435546875,NLinear,DilatedRNN -2024-08-13,7576.8545,7573.6294,7599.734,7549.209,7581.6675,7588.3296,7586.276,7590.1167,7614.351,7589.074,7587.6333,7605.076,7577.5,7586.067,7579.822,7587.4487,7632.0903,7588.251,7584.79,7591.041,7593.3335,7579.82177734375,7605.076171875,NLinear,DilatedRNN -2024-08-14,7588.2583,7580.5776,7608.1997,7543.8965,7583.3633,7587.6274,7592.547,7600.562,7623.206,7583.5537,7584.056,7605.887,7590.909,7583.552,7593.6997,7596.7246,7629.9487,7583.4946,7588.2476,7596.7407,7590.0,7588.24755859375,7608.19970703125,TiDE,LSTM -2024-08-15,7593.0757,7579.656,7601.4634,7529.6504,7582.257,7589.2915,7589.511,7593.4614,7615.524,7575.569,7576.2905,7597.073,7586.902,7572.7607,7588.461,7596.389,7627.371,7567.4614,7583.957,7608.2563,7583.3335,7583.95703125,7601.46337890625,TiDE,LSTM -2024-08-16,7586.149,7569.996,7593.929,7514.975,7578.3286,7583.971,7580.966,7585.7134,7608.005,7570.6206,7570.109,7592.928,7577.513,7570.173,7584.0444,7591.0464,7624.346,7556.504,7577.98,7601.3867,7583.3335,7577.97998046875,7593.92919921875,TiDE,LSTM -2024-08-19,7594.745,7567.1577,7595.875,7563.9316,7579.266,7591.448,7583.5347,7587.4736,7610.099,7572.2188,7566.629,7595.985,7578.809,7562.983,7580.1973,7587.079,7621.3794,7557.738,7578.1226,7597.965,7570.0,7578.12255859375,7595.98486328125,TiDE,DilatedRNN -2024-08-20,7579.69,7549.5083,7577.414,7576.1245,7570.128,7587.277,7570.395,7568.66,7589.487,7566.7505,7561.175,7580.983,7573.9497,7559.215,7563.7017,7578.237,7617.923,7548.4937,7565.124,7585.643,7570.0,7563.70166015625,7580.98291015625,NLinear,DilatedRNN -2024-08-21,7584.279,7549.3906,7582.753,7575.3657,7568.2466,7584.27,7579.214,7573.007,7596.82,7568.5615,7558.4805,7580.1904,7579.2163,7555.7676,7567.6963,7568.8945,7614.2964,7552.8857,7568.7334,7573.092,7570.0,7567.6962890625,7582.7529296875,NLinear,LSTM -2024-08-22,7583.703,7563.716,7581.84,7578.4624,7570.4243,7585.1714,7579.5317,7573.964,7594.553,7566.8755,7555.7344,7579.7183,7581.85,7557.408,7570.857,7564.0654,7610.427,7557.8296,7571.748,7572.579,7590.0,7570.85693359375,7581.83984375,NLinear,LSTM -2024-08-23,7591.693,7580.9365,7610.2744,7577.62,7583.9946,7586.8555,7595.802,7597.002,7626.1646,7585.059,7560.513,7605.648,7586.4727,7580.0605,7588.2275,7581.87,7607.3535,7568.1787,7586.9067,7578.2905,7583.3335,7586.90673828125,7610.2744140625,TiDE,LSTM -2024-08-26,7581.909,7582.105,7593.3726,7569.9956,7584.2666,7593.485,7585.0723,7587.2676,7605.7754,7577.062,7566.9434,7596.7886,7579.494,7588.081,7584.404,7576.37,7604.0767,7567.0103,7583.003,7593.894,7583.3335,7583.0029296875,7596.78857421875,TiDE,DilatedRNN -2024-08-27,7578.7656,7577.596,7597.7173,7573.3887,7582.924,7599.5063,7582.8545,7587.592,7612.76,7580.639,7569.9253,7599.4966,7577.809,7596.2344,7580.952,7580.5815,7600.829,7588.529,7585.4907,7591.1187,7610.0,7580.9521484375,7599.49658203125,NLinear,DilatedRNN -2024-08-28,7603.342,7568.98,7633.484,7591.465,7600.264,7612.3555,7604.1216,7624.7705,7650.6084,7607.261,7590.2188,7637.933,7594.213,7602.397,7610.396,7616.196,7598.767,7614.4526,7603.798,7596.2153,7610.0,7603.7978515625,7637.93310546875,TiDE,DilatedRNN -2024-08-29,7602.6074,7574.9067,7623.2393,7595.7383,7606.5493,7612.5015,7598.9165,7611.2666,7637.062,7603.4346,7608.5684,7629.7183,7598.3555,7592.6533,7610.023,7615.4697,7597.31,7606.991,7610.1113,7601.6855,7613.3335,7610.02294921875,7629.71826171875,NLinear,DilatedRNN -2024-08-30,7608.995,7602.0854,7629.694,7595.228,7609.8755,7619.1577,7606.8027,7620.1675,7646.3447,7613.6514,7626.8945,7634.2417,7602.903,7605.196,7607.3687,7615.4277,7596.5977,7613.776,7616.263,7596.193,7606.6665,7607.36865234375,7634.24169921875,NLinear,DilatedRNN -2024-09-02,7604.801,7611.225,7617.1904,7590.7305,7606.878,7617.5435,7599.1646,7613.6436,7630.948,7601.7773,7633.9375,7625.1235,7604.0625,7602.784,7610.2915,7605.2173,7595.7163,7615.2495,7603.5312,7588.053,7583.3335,7603.53125,7625.12353515625,TiDE,DilatedRNN -2024-09-03,7584.1245,7599.737,7587.322,7583.9824,7587.1987,7593.444,7574.9097,7577.949,7600.2627,7575.7505,7621.904,7590.6353,7589.952,7583.71,7584.714,7571.9067,7594.2563,7601.5454,7578.65,7585.8413,7562.5,7577.94921875,7590.63525390625,RNN,DilatedRNN -2024-09-04,7567.824,7576.505,7567.188,7571.672,7567.2915,7574.6377,7562.3315,7562.509,7579.0073,7547.7134,7604.775,7562.5796,7574.178,7572.5264,7565.2627,7556.4746,7591.959,7588.907,7560.808,7582.3877,7535.0,7560.80810546875,7567.18798828125,TiDE,LSTM -2024-09-05,7545.363,7552.697,7536.8066,7572.7725,7543.651,7554.3413,7543.546,7530.691,7545.039,7525.549,7580.798,7526.2183,7551.9023,7551.9854,7529.328,7540.594,7588.3,7577.3257,7536.119,7562.6685,7475.0,7526.21826171875,7536.806640625,DilatedRNN,LSTM -2024-09-06,7489.133,7530.058,7468.7744,7567.3276,7490.5117,7523.7383,7484.9873,7463.2505,7472.635,7487.3975,7541.511,7450.5845,7511.958,7517.2163,7469.2705,7511.4395,7581.111,7568.395,7483.826,7535.0005,7442.5,7450.58447265625,7483.826171875,DilatedRNN,TiDE -2024-09-09,7477.117,7518.369,7445.954,7539.0093,7447.318,7499.805,7457.0615,7440.9644,7453.2925,7463.8975,7499.5024,7414.8423,7488.5547,7477.18,7432.6396,7497.9277,7572.1675,7548.2925,7447.319,7475.0,7422.5,7414.84228515625,7447.31884765625,DilatedRNN,TiDE -2024-09-10,7456.845,7501.7964,7427.159,7514.639,7422.6504,7479.6123,7434.149,7419.5635,7435.077,7450.9585,7466.836,7396.4497,7459.599,7444.4565,7420.318,7478.975,7562.575,7523.6143,7425.641,7442.5005,7412.5,7396.44970703125,7427.1591796875,DilatedRNN,LSTM -2024-09-11,7431.6255,7488.6543,7421.852,7484.7666,7405.9243,7468.9414,7418.0254,7409.3555,7431.287,7444.1343,7435.703,7386.4614,7435.07,7418.6245,7414.427,7467.43,7553.097,7497.191,7418.086,7422.5044,7387.5,7386.46142578125,7421.85205078125,DilatedRNN,LSTM -2024-09-12,7398.9155,7473.7407,7392.9155,7436.311,7384.2783,7455.464,7387.8115,7391.3066,7405.7793,7437.6245,7402.3047,7358.9487,7406.2876,7400.438,7386.0737,7451.5513,7542.6953,7450.6377,7395.831,7412.513,7380.0,7358.94873046875,7395.8310546875,DilatedRNN,TiDE -2024-09-13,7387.8896,7452.976,7392.8135,7394.6235,7370.539,7445.6494,7375.9326,7386.789,7406.796,7437.685,7380.101,7357.8223,7390.089,7401.1216,7384.2554,7432.3403,7532.57,7427.6304,7384.5337,7387.5723,7395.0,7357.822265625,7392.8134765625,DilatedRNN,LSTM -2024-09-14,7398.7993,7448.375,7415.441,7368.936,7381.9165,7434.689,7389.771,7404.154,7424.274,7446.083,7377.001,7380.415,7384.063,7403.6597,7403.405,7426.286,7523.938,7425.343,7393.144,7381.0493,7375.0,7380.4150390625,7415.44091796875,DilatedRNN,LSTM -2024-09-18,7373.2915,7433.293,7386.2817,7329.249,7376.5225,7412.147,7366.5063,7377.1455,7398.323,7444.707,7372.704,7360.6016,7359.803,7382.268,7384.2603,7407.7793,7514.7397,7414.364,7382.1943,7396.3286,7342.5,7360.6015625,7386.28173828125,DilatedRNN,LSTM -2024-09-19,7345.1226,7423.377,7354.425,7277.346,7354.167,7386.274,7350.001,7351.2896,7372.9067,7441.945,7368.4575,7339.5356,7347.8315,7371.1387,7345.6553,7383.404,7504.317,7387.8447,7357.266,7375.537,7325.0,7339.53564453125,7357.26611328125,DilatedRNN,TiDE -2024-09-20,7342.113,7401.0933,7341.356,7221.5303,7336.6265,7372.346,7341.57,7339.754,7361.2983,7437.128,7368.0703,7329.549,7347.6865,7356.94,7335.7065,7368.562,7493.4355,7352.697,7337.793,7355.5635,7340.0,7329.548828125,7341.35595703125,DilatedRNN,LSTM -2024-09-23,7367.46,7401.626,7362.1274,7193.2334,7341.6265,7375.1855,7357.7134,7350.4214,7378.3364,7442.19,7372.963,7345.4175,7355.9424,7358.6597,7345.7485,7383.8457,7484.0073,7328.736,7335.9927,7350.6733,7310.0,7335.99267578125,7362.12744140625,TiDE,LSTM -2024-09-24,7347.1147,7369.085,7327.081,7184.458,7324.368,7358.9688,7324.648,7320.32,7345.2017,7433.4097,7367.0254,7315.198,7335.1436,7339.2905,7318.8,7372.5312,7473.4976,7302.719,7309.4385,7311.446,7280.0,7309.4384765625,7327.0810546875,TiDE,LSTM -2024-09-25,7337.6753,7343.423,7309.8496,7403.0806,7300.5327,7338.3438,7316.542,7302.593,7327.499,7421.257,7354.324,7295.57,7333.5522,7317.722,7283.226,7342.6353,7462.004,7437.9873,7292.3384,7281.339,7315.0,7283.22607421875,7309.849609375,NLinear,LSTM -2024-09-26,7386.443,7341.6113,7345.3594,7435.3716,7318.423,7346.224,7348.728,7340.578,7362.8027,7431.1987,7356.005,7324.47,7353.4634,7337.6455,7320.6494,7354.5977,7452.84,7508.9277,7315.2466,7315.343,7310.0,7315.24658203125,7345.359375,TiDE,LSTM -2024-09-27,7381.1523,7328.455,7332.751,7406.745,7317.0933,7346.1177,7331.7285,7320.922,7349.4653,7429.059,7351.805,7309.778,7334.6396,7314.3115,7316.954,7352.3813,7443.8965,7528.813,7306.6455,7311.1567,7310.0,7306.6455078125,7332.7509765625,TiDE,LSTM -2024-09-29,7384.148,7327.3203,7337.9263,7345.993,7317.254,7344.337,7338.8794,7327.857,7355.927,7435.8457,7345.1724,7314.2725,7328.3086,7307.465,7313.571,7350.188,7434.77,7530.1475,7314.674,7313.312,7365.0,7313.57080078125,7337.92626953125,NLinear,LSTM -2024-09-30,7415.5483,7352.2036,7403.8247,7401.7646,7357.2803,7360.5493,7371.521,7392.1,7410.08,7468.941,7351.29,7374.023,7353.451,7336.29,7371.5684,7373.648,7428.286,7573.3447,7362.6543,7365.419,7420.0,7362.654296875,7403.82470703125,TiDE,LSTM -2024-10-08,7413.3945,7409.56,7462.212,7444.582,7405.36,7396.592,7407.198,7431.7627,7460.038,7500.726,7378.969,7438.9077,7375.618,7365.274,7425.3657,7423.0576,7424.1133,7630.5625,7411.881,7419.6147,7602.5,7411.880859375,7462.2119140625,TiDE,LSTM -2024-10-09,7579.9136,7556.331,7696.391,7566.583,7555.9043,7556.577,7630.0776,7670.553,7702.6826,7638.44,7573.125,7705.029,7584.659,7484.1377,7607.144,7611.4097,7424.1807,7800.6523,7574.462,7602.4043,7602.5,7574.4619140625,7705.02880859375,TiDE,DilatedRNN -2024-10-10,7575.556,7596.8594,7627.4697,7619.6753,7624.6846,7621.92,7625.8384,7623.2627,7632.9805,7668.692,7663.994,7679.769,7637.4146,7542.5396,7608.9062,7600.6807,7424.3745,7820.097,7604.8643,7602.445,7585.0,7604.8642578125,7679.76904296875,TiDE,DilatedRNN -2024-10-11,7628.3525,7601.2695,7618.62,7603.426,7626.545,7664.978,7622.657,7592.526,7625.9805,7680.629,7699.009,7640.8784,7648.545,7571.6943,7587.699,7603.9985,7424.397,7784.8833,7599.9976,7584.982,7575.0,7587.69921875,7640.87841796875,NLinear,DilatedRNN -2024-10-12,7633.6714,7618.3184,7594.081,7582.0444,7603.758,7674.045,7605.065,7599.9727,7602.329,7617.7256,7715.6797,7613.9717,7646.508,7571.1797,7574.506,7612.5513,7424.28,7735.8765,7567.147,7574.9883,7576.6665,7567.14697265625,7613.9716796875,TiDE,DilatedRNN -2024-10-14,7653.8115,7630.65,7595.949,7555.7944,7563.8413,7673.0674,7578.9883,7559.2744,7606.2153,7590.246,7707.9873,7611.859,7658.074,7556.69,7561.975,7637.4814,7424.1416,7701.296,7546.0938,7576.522,7565.0,7546.09375,7611.85888671875,TiDE,DilatedRNN -2024-10-15,7596.767,7620.2207,7575.4937,7504.657,7541.0205,7645.5586,7550.4136,7563.091,7584.5923,7583.523,7686.615,7594.4336,7631.9336,7525.2676,7535.7095,7624.8755,7423.746,7647.81,7536.9272,7564.884,7527.5,7535.70947265625,7594.43359375,NLinear,DilatedRNN -2024-10-16,7537.3823,7620.9863,7528.687,7451.788,7512.351,7561.8174,7499.045,7525.2046,7534.814,7547.8413,7628.829,7523.7305,7571.3213,7509.3276,7482.4116,7535.017,7422.733,7588.291,7511.7427,7511.9014,7477.5,7482.41162109375,7528.68701171875,NLinear,LSTM -2024-10-17,7490.326,7601.665,7475.7183,7413.3794,7458.587,7485.5034,7430.83,7471.655,7480.0522,7518.796,7557.303,7453.416,7502.926,7485.751,7450.027,7454.1074,7420.689,7541.86,7464.338,7475.21,7467.5,7450.02685546875,7475.71826171875,NLinear,LSTM -2024-10-18,7478.6914,7618.038,7477.147,7401.9062,7435.4854,7470.6055,7414.927,7471.334,7483.3403,7473.5137,7506.429,7414.3467,7464.1704,7435.23,7464.471,7434.976,7418.427,7530.27,7448.0337,7474.4434,7370.0,7414.3466796875,7477.14697265625,DilatedRNN,LSTM -2024-10-21,7351.325,7464.0684,7351.699,7378.6406,7367.1567,7417.7065,7318.4883,7356.1816,7369.5117,7432.8237,7407.6714,7312.0664,7372.3105,7358.3354,7360.0444,7332.5073,7413.2583,7488.466,7360.1094,7466.749,7362.5,7312.06640625,7360.109375,DilatedRNN,TiDE -2024-10-22,7343.997,7420.612,7372.9697,7356.9673,7340.5815,7344.554,7320.6177,7369.7275,7394.9844,7425.4746,7345.69,7321.1733,7352.978,7331.069,7343.6045,7349.0527,7407.9307,7482.9194,7340.688,7370.032,7346.6665,7321.17333984375,7372.9697265625,DilatedRNN,LSTM -2024-10-23,7318.6772,7349.6343,7351.2314,7343.7607,7327.8022,7308.2607,7313.7275,7354.39,7369.487,7419.8677,7297.3286,7311.081,7333.771,7306.1235,7315.158,7342.9746,7402.127,7461.3604,7329.7554,7362.5674,7357.5,7311.0810546875,7354.39013671875,DilatedRNN,RNN -2024-10-24,7332.025,7332.764,7374.3057,7333.803,7329.642,7342.8223,7343.688,7356.9414,7392.5293,7430.7036,7278.939,7326.7446,7325.3706,7332.062,7342.685,7350.5093,7396.687,7458.3853,7342.085,7346.686,7352.5,7326.74462890625,7374.3056640625,DilatedRNN,LSTM -2024-10-25,7341.7407,7293.0596,7366.416,7319.07,7339.9575,7359.9907,7370.539,7370.2656,7382.035,7432.9263,7259.4497,7324.0225,7321.687,7319.8354,7359.366,7336.285,7391.287,7460.455,7358.443,7357.544,7372.5,7324.0224609375,7370.265625,DilatedRNN,RNN -2024-10-28,7344.7163,7319.588,7397.6895,7322.8574,7366.559,7356.09,7400.027,7384.104,7409.743,7443.9604,7265.258,7362.257,7344.6714,7345.896,7381.345,7355.776,7386.7656,7474.6475,7386.7627,7352.37,7373.3335,7362.2568359375,7397.689453125,DilatedRNN,LSTM -2024-10-29,7359.088,7309.0547,7393.3633,7346.7866,7376.6016,7374.111,7393.552,7384.4277,7402.9043,7452.677,7299.626,7378.7036,7352.162,7395.1772,7389.317,7366.0664,7382.2856,7455.5195,7373.8604,7373.167,7380.0,7373.8603515625,7393.36328125,TiDE,LSTM -2024-10-30,7358.9937,7341.4614,7405.327,7416.179,7381.4775,7426.024,7377.57,7389.754,7414.1113,7470.7134,7350.9463,7408.236,7357.6455,7411.459,7388.273,7396.682,7378.2446,7473.955,7359.314,7391.326,7330.0,7359.31396484375,7408.23583984375,TiDE,DilatedRNN -2024-10-31,7312.557,7305.571,7340.6367,7456.835,7354.071,7421.741,7296.7534,7337.699,7358.049,7471.703,7350.2676,7369.018,7348.3887,7402.115,7340.3677,7326.1377,7372.685,7468.8223,7330.872,7388.265,7340.0,7330.8720703125,7369.01806640625,TiDE,DilatedRNN -2024-11-01,7343.0796,7325.1807,7365.971,7418.3013,7350.2827,7392.953,7324.0703,7355.0913,7382.277,7474.6504,7365.0776,7377.864,7372.565,7387.9146,7340.9,7339.7134,7367.811,7459.85,7335.5547,7377.825,7363.3335,7335.5546875,7377.86376953125,TiDE,DilatedRNN -2024-11-04,7386.9814,7346.146,7387.8896,7369.525,7364.3315,7391.7773,7341.5713,7376.175,7396.966,7479.0884,7375.335,7398.9766,7399.1343,7360.8267,7360.961,7393.3184,7364.0303,7461.721,7357.113,7379.3345,7360.0,7357.11279296875,7398.9765625,TiDE,DilatedRNN -2024-11-05,7391.6396,7351.3486,7380.5674,7346.3066,7361.3833,7392.48,7346.1274,7362.837,7391.877,7478.332,7376.7046,7386.9214,7404.1196,7376.0854,7372.727,7392.836,7360.396,7451.457,7349.645,7347.054,7357.5,7349.64501953125,7386.92138671875,TiDE,DilatedRNN -2024-11-06,7377.092,7346.6963,7380.05,7335.5605,7358.7593,7378.257,7347.794,7375.06,7391.6255,7476.481,7358.8145,7383.401,7388.878,7361.917,7379.123,7385.589,7356.9673,7412.6973,7342.4194,7377.9565,7383.3335,7342.41943359375,7383.40087890625,TiDE,DilatedRNN -2024-11-07,7388.92,7358.8315,7413.8965,7342.1616,7375.1655,7391.0454,7372.7217,7398.935,7420.154,7477.761,7361.595,7396.028,7409.272,7366.393,7401.2744,7405.4556,7355.011,7421.774,7363.137,7384.1777,7366.6665,7363.13720703125,7413.896484375,TiDE,LSTM -2024-11-08,7353.577,7344.835,7383.681,7340.6406,7369.751,7386.0073,7355.898,7370.138,7393.4155,7466.26,7359.2275,7360.3813,7396.274,7382.968,7375.964,7376.7217,7353.1333,7417.782,7356.342,7372.9907,7383.3335,7356.341796875,7383.68115234375,TiDE,LSTM -2024-11-11,7379.677,7363.237,7413.3105,7352.355,7379.6235,7397.026,7377.8867,7396.5713,7420.5615,7476.661,7373.1416,7364.991,7411.7275,7361.132,7384.9604,7384.9736,7352.1616,7430.2075,7378.0415,7383.4736,7340.0,7364.9912109375,7413.310546875,DilatedRNN,LSTM -2024-11-12,7341.773,7294.7446,7349.7324,7357.3145,7360.362,7414.3184,7341.369,7347.2217,7365.4424,7470.711,7359.694,7316.588,7389.091,7367.1177,7335.5503,7337.9497,7350.0835,7408.839,7358.534,7392.3843,7306.6665,7316.587890625,7358.5341796875,DilatedRNN,TiDE -2024-11-13,7381.9844,7287.189,7351.8896,7350.5015,7376.168,7422.786,7383.6006,7340.7515,7387.0117,7469.263,7353.8335,7317.9937,7432.2583,7361.677,7364.9146,7332.752,7348.143,7431.786,7365.838,7405.645,7323.3335,7317.99365234375,7365.837890625,DilatedRNN,TiDE -2024-11-14,7382.6113,7254.2183,7354.0425,7348.427,7380.5435,7393.6255,7401.7876,7312.5776,7382.1094,7465.3467,7365.012,7333.2656,7446.745,7349.9614,7346.7075,7327.2627,7336.2974,7436.182,7378.3853,7422.761,7353.3335,7312.57763671875,7378.38525390625,RNN,TiDE -2024-11-15,7381.573,7295.5215,7368.1514,7328.4556,7378.2676,7388.905,7390.9395,7306.414,7388.541,7474.6323,7368.2896,7331.227,7442.024,7386.5894,7333.922,7323.2886,7347.498,7405.9243,7384.138,7402.899,7393.3335,7306.4140625,7384.13818359375,RNN,TiDE -2024-11-18,7351.67,7319.0723,7406.2065,7316.1235,7375.257,7372.629,7385.8384,7357.068,7391.6016,7479.033,7371.178,7359.4624,7430.7607,7360.737,7375.305,7320.6978,7358.1577,7380.1997,7378.3477,7394.4897,7363.3335,7357.06787109375,7406.20654296875,RNN,LSTM +ds,NHITS,Informer,LSTM,iTransformer,TSMixer,TSMixerx,PatchTST,RNN,GRU,TCN,BiTCN,DilatedRNN,MLP,DLinear,NLinear,TFT,StemGNN,MLPMultivariate,TiDE,DeepNPTS,y +2024-01-29,7327.54,7371.29,7327.98,7384.88,7303.02,7287.33,7292.89,7315.12,7343.6,7448.81,7326.19,7305.51,7323.52,7296.29,7310.33,7284.56,7305.08,7307.85,7296.64,7296.58,7305.0 +2024-01-30,7323.87,7345.87,7337.31,7389.43,7298.24,7304.34,7293.09,7323.49,7353.22,7449.26,7332.46,7312.26,7328.59,7281.35,7304.5,7300.72,7302.7,7318.95,7297.0,7304.78,7315.0 +2024-01-31,7324.15,7346.47,7344.21,7380.46,7308.31,7304.1,7294.49,7331.7,7359.12,7457.24,7342.73,7323.04,7320.56,7292.95,7297.57,7318.6,7301.14,7334.67,7303.24,7314.47,7302.5 +2024-02-01,7310.36,7350.73,7330.01,7368.2,7301.07,7305.61,7286.25,7318.49,7346.67,7454.66,7335.99,7307.86,7320.18,7289.85,7286.74,7300.7,7300.0,7329.82,7302.62,7301.44,7275.0 +2024-02-02,7293.69,7327.78,7309.33,7373.02,7273.72,7281.96,7266.09,7301.23,7324.77,7439.28,7308.17,7276.55,7291.01,7277.53,7261.4,7276.11,7297.48,7296.47,7281.35,7281.49,7242.5 +2024-02-04,7254.43,7283.66,7289.7,7339.78,7239.73,7246.94,7231.94,7275.87,7300.41,7419.08,7273.83,7247.99,7247.88,7248.6,7243.9,7245.49,7293.53,7245.1,7250.1,7275.04,7240.0 +2024-02-05,7250.29,7259.14,7291.3,7286.88,7225.65,7210.31,7228.4,7274.82,7302.66,7410.31,7243.09,7250.31,7235.75,7227.82,7230.87,7230.15,7289.29,7232.53,7231.23,7243.13,7227.5 +2024-02-06,7238.12,7245.94,7284.38,7245.93,7214.97,7191.32,7208.56,7264.12,7290.83,7402.4,7214.51,7247.19,7215.73,7210.97,7213.27,7208.05,7284.47,7215.47,7216.57,7240.12,7246.67 +2024-02-07,7250.07,7249.58,7298.53,7246.31,7225.56,7233.26,7233.51,7282.69,7310.77,7411.92,7197.42,7269.31,7226.51,7226.73,7229.02,7225.51,7280.56,7230.76,7231.61,7227.76,7255.0 +2024-02-08,7255.89,7238.05,7302.06,7239.05,7240.02,7246.68,7249.72,7290.17,7314.03,7416.26,7187.06,7274.24,7236.22,7231.46,7251.08,7240.22,7277.06,7237.26,7253.37,7246.68,7270.0 +2024-02-18,7255.75,7235.38,7313.8,7233.69,7255.69,7255.58,7265.83,7300.25,7328.57,7421.75,7188.82,7284.88,7247.14,7230.47,7268.08,7275.0,7274.52,7246.07,7273.11,7254.99,7336.67 +2024-02-19,7328.24,7286.07,7381.02,7275.31,7308.41,7310.31,7327.43,7366.18,7388.41,7447.08,7280.03,7355.52,7284.43,7281.5,7344.23,7354.4,7273.63,7291.66,7323.83,7270.38,7350.0 +2024-02-20,7340.94,7314.03,7381.57,7320.35,7338.18,7366.51,7341.79,7363.28,7388.78,7459.81,7353.13,7385.1,7303.85,7305.54,7355.22,7374.68,7273.2,7317.23,7334.72,7315.85,7335.0 +2024-02-21,7328.09,7291.25,7364.24,7319.25,7332.97,7412.64,7331.43,7349.38,7375.82,7465.63,7385.73,7387.23,7307.38,7333.67,7337.79,7342.36,7272.39,7318.1,7325.39,7314.47,7297.5 +2024-02-22,7287.87,7267.14,7325.02,7277.25,7305.41,7391.88,7303.83,7321.02,7340.78,7453.1,7382.02,7339.71,7294.56,7318.52,7298.75,7277.44,7270.51,7301.04,7291.38,7276.98,7285.0 +2024-02-23,7274.4,7269.57,7318.81,7248.73,7289.09,7370.73,7297.79,7303.7,7335.42,7444.23,7366.25,7323.17,7289.08,7303.61,7282.35,7266.32,7268.19,7293.09,7280.01,7282.8,7306.67 +2024-02-26,7317.08,7264.94,7337.71,7258.44,7297.69,7360.07,7324.84,7325.02,7354.15,7444.26,7362.54,7327.9,7317.03,7295.98,7301.97,7291.58,7266.69,7302.36,7294.47,7344.75,7292.5 +2024-02-27,7324.86,7265.31,7320.64,7250.01,7294.19,7304.11,7298.21,7308.62,7337.19,7439.27,7344.69,7310.37,7318.04,7292.7,7282.65,7268.99,7265.18,7294.64,7286.29,7335.9,7306.67 +2024-02-28,7350.44,7289.53,7338.22,7309.69,7298.81,7324.0,7322.15,7329.78,7355.81,7445.01,7333.11,7324.66,7333.3,7311.24,7305.73,7297.46,7264.32,7302.66,7303.67,7363.84,7353.33 +2024-02-29,7364.92,7312.73,7388.84,7333.98,7331.49,7367.62,7367.57,7377.53,7397.03,7453.38,7342.48,7349.71,7365.78,7333.87,7360.89,7322.64,7264.33,7322.6,7342.49,7352.62,7325.0 +2024-03-01,7321.58,7316.24,7343.94,7309.51,7320.66,7330.76,7334.34,7332.16,7359.97,7443.02,7323.63,7307.3,7329.62,7315.68,7335.52,7305.79,7264.18,7304.35,7325.91,7320.04,7343.33 +2024-03-04,7340.8,7317.33,7376.92,7311.15,7328.22,7340.47,7340.31,7365.15,7388.86,7450.74,7315.87,7323.96,7323.98,7333.25,7339.48,7315.33,7264.33,7301.3,7341.73,7340.63,7330.0 +2024-03-05,7315.29,7324.32,7350.44,7305.61,7325.74,7339.79,7318.97,7344.85,7365.55,7451.88,7304.36,7319.43,7316.46,7325.93,7321.51,7307.34,7264.21,7297.3,7327.12,7328.32,7310.0 +2024-03-06,7308.37,7325.7,7334.63,7294.16,7305.63,7325.18,7312.54,7318.27,7352.91,7447.44,7298.88,7308.51,7313.02,7309.36,7297.3,7288.71,7263.76,7286.98,7300.48,7306.5,7297.5 +2024-03-07,7299.86,7322.53,7324.67,7282.33,7294.87,7306.71,7313.41,7321.12,7342.72,7440.57,7289.94,7302.04,7319.49,7285.37,7297.06,7280.81,7263.15,7286.31,7293.88,7289.42,7290.0 +2024-03-08,7284.22,7300.35,7319.86,7274.83,7286.74,7293.73,7302.8,7307.93,7337.87,7436.35,7274.2,7299.68,7286.94,7284.21,7288.37,7276.83,7262.76,7277.18,7291.02,7296.59,7295.0 +2024-03-11,7271.27,7287.88,7325.34,7269.57,7283.7,7281.61,7304.64,7315.33,7343.5,7434.85,7270.74,7301.9,7264.77,7297.51,7293.47,7279.98,7262.81,7273.09,7289.34,7281.02,7285.0 +2024-03-12,7252.84,7289.89,7316.38,7238.32,7271.27,7285.97,7283.58,7308.11,7333.67,7423.91,7273.67,7295.14,7244.6,7296.69,7275.31,7274.42,7264.09,7267.18,7270.4,7242.84,7283.33 +2024-03-13,7248.94,7289.63,7317.69,7233.04,7267.63,7290.31,7281.2,7307.19,7335.38,7425.88,7268.58,7309.18,7235.08,7304.14,7278.21,7275.33,7265.65,7265.26,7272.33,7235.62,7285.0 +2024-03-14,7265.67,7272.35,7319.05,7246.86,7274.3,7281.33,7285.09,7310.26,7336.26,7424.37,7279.02,7310.25,7246.55,7274.92,7288.54,7285.69,7269.2,7272.8,7280.93,7245.84,7277.5 +2024-03-15,7268.02,7272.38,7313.29,7252.22,7272.37,7267.28,7274.58,7300.8,7329.86,7422.91,7276.36,7300.48,7249.94,7253.63,7269.2,7284.16,7271.75,7274.0,7279.15,7275.57,7353.33 +2024-03-18,7347.52,7331.59,7398.1,7300.4,7319.2,7299.25,7365.29,7379.18,7404.8,7454.79,7304.76,7381.73,7306.57,7305.65,7353.59,7387.27,7274.58,7304.16,7330.82,7352.64,7387.5 +2024-03-19,7383.2,7377.06,7422.18,7337.72,7360.54,7351.51,7392.03,7400.81,7423.66,7474.67,7313.87,7416.08,7356.26,7326.81,7393.41,7420.57,7276.23,7330.54,7363.47,7386.88,7435.0 +2024-03-20,7431.32,7405.09,7481.7,7376.29,7402.01,7385.96,7459.23,7451.43,7481.06,7500.15,7329.38,7477.52,7408.8,7385.25,7441.38,7446.61,7277.8,7375.82,7414.87,7433.1,7460.0 +2024-03-21,7458.23,7401.49,7497.22,7416.58,7435.34,7399.19,7477.4,7484.97,7496.09,7515.96,7349.72,7505.51,7430.26,7433.87,7467.83,7466.18,7280.62,7415.17,7449.45,7440.95,7422.5 +2024-03-22,7407.08,7385.58,7442.54,7427.62,7418.86,7399.51,7396.74,7421.23,7442.49,7503.78,7352.84,7447.2,7399.15,7426.65,7428.19,7410.61,7284.13,7404.03,7430.58,7399.98,7402.5 +2024-03-25,7390.93,7341.74,7425.1,7351.02,7389.62,7396.72,7393.91,7412.02,7429.24,7493.73,7344.59,7410.24,7372.03,7425.95,7402.73,7362.53,7285.9,7383.56,7400.51,7386.46,7372.5 +2024-03-26,7347.33,7326.36,7383.73,7310.72,7358.05,7389.99,7351.15,7374.38,7394.84,7478.16,7345.4,7372.22,7346.88,7391.77,7355.68,7335.91,7286.96,7355.52,7355.3,7348.98,7365.0 +2024-03-27,7332.67,7312.63,7381.71,7327.69,7341.74,7356.66,7347.59,7365.01,7395.24,7472.17,7348.8,7371.09,7330.06,7369.82,7345.87,7337.23,7287.96,7336.09,7351.86,7342.38,7345.0 +2024-03-28,7318.95,7314.23,7356.68,7325.77,7325.55,7327.43,7330.24,7354.81,7374.07,7455.5,7348.21,7331.05,7302.67,7352.37,7328.51,7320.33,7288.74,7314.21,7333.58,7330.55,7345.0 +2024-03-29,7333.3,7331.35,7363.25,7327.67,7319.56,7301.55,7328.18,7355.11,7380.95,7447.57,7334.74,7327.27,7288.54,7335.81,7336.81,7319.3,7289.92,7297.93,7332.41,7343.51,7345.0 +2024-04-01,7348.05,7330.57,7362.77,7332.96,7322.2,7298.06,7329.02,7358.66,7379.31,7439.07,7324.08,7319.56,7297.91,7335.11,7344.4,7319.01,7290.86,7297.93,7334.57,7336.61,7360.0 +2024-04-02,7354.85,7323.4,7383.79,7332.65,7333.63,7305.61,7343.25,7371.61,7396.96,7439.3,7319.5,7330.72,7310.54,7330.5,7355.11,7328.96,7291.78,7303.89,7341.66,7354.63,7380.0 +2024-04-03,7365.36,7363.44,7406.76,7337.82,7351.97,7328.92,7372.84,7392.54,7415.12,7455.35,7328.3,7365.47,7333.11,7329.49,7376.28,7337.59,7293.34,7332.99,7356.93,7368.23,7397.5 +2024-04-07,7393.17,7399.15,7426.61,7353.03,7376.49,7376.75,7414.11,7407.82,7431.87,7469.02,7340.05,7401.16,7367.35,7352.12,7391.14,7345.16,7296.03,7358.92,7389.73,7383.01,7437.5 +2024-04-08,7446.69,7449.75,7475.26,7373.37,7410.56,7404.13,7471.23,7453.16,7476.52,7494.46,7348.69,7462.4,7410.81,7377.58,7435.09,7383.23,7300.34,7398.07,7432.4,7434.56,7490.0 +2024-04-09,7504.9,7467.54,7530.61,7433.77,7452.01,7425.34,7513.39,7508.93,7533.46,7525.64,7357.86,7528.49,7454.96,7437.01,7491.25,7428.23,7304.74,7457.52,7473.55,7489.28,7507.5 +2024-04-10,7507.67,7467.99,7538.11,7542.22,7472.33,7420.04,7503.44,7518.16,7542.64,7545.15,7374.81,7566.42,7470.54,7473.43,7509.8,7433.5,7310.03,7488.79,7488.68,7506.2,7497.5 +2024-04-11,7471.36,7447.97,7520.09,7595.64,7468.23,7408.33,7456.56,7507.32,7523.82,7548.46,7392.38,7548.81,7429.43,7498.08,7501.92,7419.36,7314.95,7464.22,7485.5,7461.34,7497.5 +2024-04-12,7441.47,7422.59,7520.65,7489.62,7460.53,7422.05,7457.34,7508.16,7525.23,7549.5,7408.37,7551.69,7408.99,7522.65,7488.91,7405.51,7319.85,7442.42,7475.94,7381.11,7506.67 +2024-04-15,7437.49,7392.71,7528.99,7359.85,7460.77,7406.3,7457.88,7511.0,7534.34,7550.29,7422.12,7559.66,7408.64,7505.06,7499.32,7414.59,7324.39,7350.28,7478.66,7390.39,7482.5 +2024-04-16,7414.4,7356.55,7493.42,7320.82,7445.33,7389.55,7430.34,7479.15,7495.79,7530.0,7414.8,7504.09,7384.23,7474.41,7463.96,7395.26,7326.74,7316.68,7464.25,7352.03,7495.0 +2024-04-17,7418.15,7345.34,7517.47,7244.33,7448.57,7372.91,7443.81,7505.07,7524.59,7532.58,7416.41,7509.97,7377.52,7468.47,7480.95,7402.17,7328.88,7308.76,7469.45,7336.17,7497.5 +2024-04-18,7436.24,7365.21,7513.57,7192.38,7453.6,7372.54,7432.96,7503.99,7517.93,7524.56,7417.28,7494.44,7394.34,7452.7,7495.29,7403.77,7331.62,7302.16,7473.56,7444.7,7497.5 +2024-04-19,7447.08,7350.32,7514.88,7205.88,7455.57,7376.24,7410.53,7499.09,7521.58,7514.49,7414.34,7484.98,7403.57,7462.21,7490.31,7405.58,7335.87,7309.31,7468.85,7449.0,7527.5 +2024-04-22,7475.88,7423.16,7553.94,7254.19,7479.88,7386.67,7447.72,7543.1,7564.77,7529.09,7418.21,7513.38,7448.4,7465.62,7534.03,7424.22,7340.89,7353.61,7495.13,7507.16,7527.5 +2024-04-23,7483.17,7425.91,7543.4,7290.92,7493.7,7412.12,7452.95,7529.65,7551.13,7530.61,7420.4,7510.63,7476.78,7493.62,7519.16,7425.58,7345.31,7389.05,7508.08,7474.14,7510.0 +2024-04-24,7489.82,7449.76,7522.43,7284.6,7487.66,7426.27,7472.05,7511.78,7529.63,7526.36,7421.74,7485.46,7485.09,7501.46,7492.88,7420.0,7350.44,7407.38,7501.62,7474.42,7487.5 +2024-04-25,7478.17,7459.27,7497.68,7280.8,7470.32,7445.5,7489.49,7493.36,7502.21,7512.97,7428.15,7459.13,7481.87,7483.92,7478.55,7422.14,7354.99,7425.65,7481.11,7463.77,7487.5 +2024-04-26,7471.79,7504.41,7503.64,7251.0,7463.42,7473.47,7521.54,7488.07,7509.47,7511.23,7437.15,7478.42,7488.64,7486.83,7477.29,7424.85,7357.93,7426.34,7478.56,7483.43,7502.5 +2024-04-28,7467.89,7518.13,7521.81,7174.11,7470.82,7479.49,7536.93,7508.17,7528.39,7516.84,7455.74,7505.59,7480.88,7472.89,7496.72,7427.1,7362.14,7417.9,7486.94,7501.28,7527.5 +2024-04-29,7481.1,7537.41,7551.26,7198.68,7484.31,7493.62,7539.07,7535.14,7561.36,7538.57,7471.26,7551.52,7456.97,7503.59,7513.18,7435.48,7365.99,7410.41,7503.56,7523.13,7537.5 +2024-04-30,7485.56,7594.84,7557.28,7254.42,7491.22,7476.7,7528.7,7545.33,7567.36,7559.4,7475.39,7570.71,7438.04,7536.98,7529.87,7442.82,7370.56,7405.34,7509.73,7512.24,7532.5 +2024-05-06,7483.94,7574.7,7548.46,7325.23,7489.19,7448.35,7506.84,7539.17,7557.91,7552.76,7467.6,7562.01,7421.79,7525.62,7532.45,7444.39,7376.1,7394.27,7509.66,7408.65,7502.5 +2024-05-07,7454.26,7549.21,7509.9,7428.31,7469.92,7432.5,7468.81,7503.76,7514.61,7528.46,7455.19,7517.82,7393.69,7501.23,7494.93,7449.21,7382.07,7369.93,7480.75,7366.6,7475.0 +2024-05-08,7448.62,7504.08,7483.78,7341.15,7449.91,7422.82,7453.71,7472.99,7488.15,7506.29,7444.99,7489.62,7390.3,7460.89,7477.19,7433.97,7388.17,7356.53,7456.13,7334.04,7512.5 +2024-05-09,7489.41,7492.55,7538.78,7228.58,7471.97,7432.32,7488.34,7522.5,7548.68,7532.69,7450.95,7550.51,7421.94,7462.06,7500.77,7464.86,7394.79,7365.0,7478.99,7376.05,7505.0 +2024-05-10,7502.58,7503.25,7515.71,7238.33,7480.19,7439.46,7474.0,7502.34,7519.2,7530.79,7445.66,7522.23,7430.08,7469.07,7501.89,7461.89,7402.07,7366.89,7475.33,7327.73,7477.5 +2024-05-11,7477.01,7468.49,7487.68,7269.38,7466.02,7463.35,7461.11,7477.54,7492.72,7517.63,7434.93,7478.03,7432.49,7469.02,7476.03,7443.91,7409.29,7377.38,7464.25,7457.58,7475.0 +2024-05-13,7485.15,7465.77,7491.34,7315.73,7466.45,7476.06,7467.47,7489.51,7496.05,7504.56,7435.73,7466.04,7449.36,7487.14,7477.51,7445.1,7416.69,7406.58,7470.81,7469.83,7485.0 +2024-05-14,7477.14,7476.03,7503.63,7392.31,7473.35,7492.1,7466.7,7485.68,7508.49,7498.11,7457.67,7471.83,7481.71,7489.56,7496.26,7459.57,7425.19,7437.05,7474.59,7482.29,7507.5 +2024-05-15,7489.91,7539.15,7530.81,7430.45,7490.52,7527.63,7486.06,7514.31,7538.25,7516.15,7484.43,7502.17,7517.09,7500.93,7501.97,7472.1,7430.11,7472.37,7495.54,7499.29,7510.0 +2024-05-16,7488.49,7555.01,7527.53,7360.08,7500.79,7538.66,7505.81,7517.8,7533.73,7533.27,7499.3,7510.77,7524.22,7516.52,7497.59,7476.12,7433.61,7352.68,7509.44,7492.98,7525.0 +2024-05-17,7496.75,7566.11,7548.37,7326.43,7508.88,7531.27,7524.72,7533.79,7558.48,7556.27,7511.16,7535.63,7506.21,7526.92,7519.7,7497.23,7435.59,7309.13,7519.26,7481.67,7587.5 +2024-05-20,7554.62,7644.92,7627.44,7350.25,7547.01,7528.24,7595.91,7612.28,7643.46,7596.9,7537.82,7612.63,7530.43,7539.71,7591.87,7521.2,7437.21,7296.11,7572.12,7571.91,7670.0 +2024-05-21,7646.42,7693.65,7721.68,7393.04,7609.44,7543.75,7674.38,7711.26,7740.31,7708.74,7555.53,7736.54,7598.73,7600.96,7672.61,7654.2,7439.66,7318.55,7645.34,7664.22,7677.5 +2024-05-22,7647.54,7700.36,7702.61,7435.01,7631.71,7537.14,7631.25,7700.74,7718.4,7716.27,7545.94,7739.61,7593.62,7631.05,7680.19,7632.13,7443.42,7351.65,7659.1,7656.57,7677.5 +2024-05-23,7626.59,7682.93,7701.23,7486.0,7631.62,7534.77,7612.35,7702.06,7719.24,7711.33,7537.83,7734.65,7576.55,7652.62,7672.35,7630.37,7449.02,7363.8,7655.3,7639.01,7645.0 +2024-05-24,7591.57,7687.27,7647.22,7466.98,7604.74,7520.95,7581.75,7648.48,7659.85,7665.49,7530.35,7681.59,7545.77,7650.82,7641.27,7555.51,7455.55,7342.27,7618.71,7587.36,7630.0 +2024-05-27,7587.08,7608.34,7637.65,7450.73,7586.27,7503.4,7584.06,7621.78,7653.85,7607.25,7528.53,7654.25,7532.07,7610.58,7622.67,7533.82,7463.42,7326.06,7605.99,7588.43,7650.0 +2024-05-28,7607.55,7589.48,7669.13,7484.61,7597.73,7514.83,7601.71,7664.22,7686.82,7632.27,7530.03,7686.72,7537.27,7603.04,7629.19,7550.99,7471.71,7363.76,7623.46,7633.98,7690.0 +2024-05-29,7652.84,7571.3,7717.47,7556.94,7630.25,7549.12,7631.5,7713.28,7739.42,7692.04,7547.56,7739.16,7571.95,7633.92,7662.71,7577.13,7480.36,7443.68,7655.77,7631.62,7690.0 +2024-05-30,7649.09,7577.62,7704.1,7550.92,7640.84,7541.27,7618.8,7709.13,7722.64,7686.08,7566.99,7726.25,7577.4,7647.87,7675.33,7588.57,7488.69,7495.95,7666.95,7588.98,7716.67 +2024-05-31,7659.8,7578.86,7740.46,7601.55,7658.13,7553.72,7626.85,7747.84,7766.91,7734.27,7586.04,7743.6,7606.83,7679.94,7715.32,7637.17,7496.29,7552.72,7694.43,7669.36,7740.0 +2024-06-03,7680.57,7584.22,7758.74,7692.79,7682.17,7563.78,7631.12,7765.3,7782.34,7752.19,7594.94,7765.01,7648.73,7689.59,7745.42,7666.56,7503.34,7588.76,7712.73,7713.13,7720.0 +2024-06-04,7665.76,7576.41,7723.4,7680.31,7679.08,7575.09,7632.31,7726.45,7745.14,7722.12,7593.83,7724.31,7634.57,7670.89,7705.0,7633.67,7509.08,7561.44,7702.17,7686.5,7650.0 +2024-06-05,7606.92,7540.29,7633.46,7610.85,7632.48,7578.7,7615.23,7639.77,7644.89,7622.36,7580.73,7631.2,7599.78,7656.64,7623.31,7586.52,7512.73,7487.38,7640.26,7578.67,7620.0 +2024-06-06,7619.7,7540.46,7618.23,7535.66,7596.63,7595.6,7616.26,7613.33,7634.54,7580.04,7567.82,7615.22,7595.84,7629.27,7600.64,7572.07,7515.47,7439.33,7594.37,7568.71,7600.0 +2024-06-07,7615.71,7550.14,7598.83,7495.09,7580.49,7593.81,7616.27,7589.49,7612.05,7554.46,7556.42,7595.42,7595.1,7577.71,7587.54,7557.72,7518.27,7422.08,7579.2,7530.57,7606.67 +2024-06-11,7601.74,7545.36,7617.55,7483.63,7583.14,7602.98,7622.97,7603.07,7634.47,7571.48,7561.7,7607.52,7596.83,7576.37,7597.98,7564.51,7521.23,7447.74,7590.24,7535.68,7620.0 +2024-06-12,7595.89,7569.69,7634.83,7476.94,7595.18,7606.77,7623.29,7632.71,7651.71,7610.31,7578.85,7632.39,7571.4,7606.64,7609.63,7574.78,7524.16,7455.88,7602.32,7569.64,7673.33 +2024-06-13,7641.01,7622.33,7708.5,7521.55,7629.66,7648.57,7672.0,7705.26,7730.62,7749.36,7613.58,7719.29,7605.25,7661.15,7673.97,7611.91,7528.73,7519.31,7645.36,7563.04,7690.0 +2024-06-14,7656.46,7645.11,7711.35,7577.17,7651.13,7647.51,7683.61,7716.14,7731.04,7786.84,7640.58,7734.56,7636.69,7681.25,7693.37,7630.44,7533.1,7553.32,7664.43,7573.6,7690.0 +2024-06-17,7668.97,7660.65,7707.58,7561.25,7660.09,7645.73,7690.69,7707.57,7728.62,7790.44,7658.04,7732.91,7636.44,7670.13,7692.14,7629.07,7537.53,7588.31,7677.84,7647.88,7656.67 +2024-06-18,7648.69,7647.44,7657.3,7511.84,7644.72,7630.99,7660.46,7661.83,7671.58,7709.01,7646.41,7688.98,7600.83,7643.53,7658.19,7608.7,7541.74,7553.19,7656.77,7650.67,7656.67 +2024-06-19,7717.45,7666.0,7670.33,7520.23,7635.96,7617.99,7659.58,7660.73,7689.14,7667.13,7633.78,7690.19,7602.78,7635.72,7655.59,7608.17,7544.92,7544.78,7635.34,7654.29,7670.0 +2024-06-20,7741.04,7693.88,7686.97,7567.39,7640.5,7624.09,7651.69,7683.71,7704.51,7695.4,7628.74,7714.59,7644.29,7644.75,7667.42,7626.49,7548.34,7561.63,7630.83,7666.16,7680.0 +2024-06-21,7702.76,7688.15,7697.32,7612.87,7652.19,7642.97,7654.44,7693.22,7716.37,7728.08,7628.33,7724.77,7677.81,7669.14,7678.6,7633.89,7552.64,7573.85,7647.56,7666.95,7680.0 +2024-06-24,7666.51,7682.79,7694.04,7581.34,7661.33,7643.75,7644.67,7699.11,7712.41,7720.88,7621.98,7715.66,7654.24,7680.46,7685.14,7635.35,7558.01,7572.07,7665.65,7669.45,7680.0 +2024-06-25,7635.06,7702.77,7694.15,7551.08,7662.63,7668.97,7639.39,7697.1,7713.05,7727.82,7635.73,7696.7,7642.6,7695.54,7681.62,7638.46,7563.53,7590.37,7676.11,7670.29,7693.33 +2024-06-26,7649.64,7721.72,7711.35,7582.14,7666.93,7678.08,7646.0,7712.14,7733.13,7739.67,7653.96,7713.9,7646.94,7715.36,7695.62,7646.05,7568.72,7606.04,7690.87,7683.98,7716.67 +2024-06-27,7668.78,7726.75,7736.6,7605.33,7678.27,7679.7,7667.02,7739.2,7761.5,7762.53,7676.67,7745.12,7650.41,7704.75,7709.23,7649.62,7573.25,7663.1,7698.53,7634.07,7723.33 +2024-06-28,7678.55,7779.76,7736.77,7635.71,7686.45,7652.34,7673.52,7741.3,7761.03,7772.07,7686.61,7750.62,7643.94,7685.82,7713.25,7644.23,7577.58,7691.8,7703.73,7613.67,7730.0 +2024-07-01,7707.72,7821.05,7743.39,7658.27,7693.71,7649.98,7708.01,7749.89,7768.63,7769.01,7691.71,7759.06,7661.72,7689.95,7721.16,7646.0,7582.32,7717.93,7715.57,7626.28,7763.33 +2024-07-02,7744.92,7840.94,7783.1,7679.4,7717.64,7653.13,7735.71,7787.06,7806.22,7806.74,7684.8,7796.63,7692.66,7722.76,7756.99,7667.11,7588.75,7762.75,7744.12,7687.62,7780.0 +2024-07-03,7756.84,7833.03,7791.33,7692.3,7731.19,7658.64,7735.06,7794.67,7812.86,7828.05,7669.74,7808.23,7703.55,7736.59,7780.46,7680.14,7596.91,7800.42,7746.29,7766.54,7800.0 +2024-07-04,7777.57,7802.46,7810.8,7710.33,7750.34,7672.56,7765.83,7815.34,7833.79,7856.35,7662.81,7828.12,7724.62,7755.44,7794.13,7694.62,7603.58,7779.04,7766.87,7784.54,7800.0 +2024-07-05,7774.44,7815.16,7802.19,7730.68,7760.77,7699.28,7772.52,7811.57,7823.36,7849.05,7671.7,7830.59,7724.65,7770.86,7787.98,7692.89,7610.96,7843.22,7780.92,7741.59,7766.67 +2024-07-08,7741.65,7795.09,7758.82,7705.33,7739.58,7708.67,7729.86,7765.03,7781.33,7792.2,7676.97,7784.11,7681.38,7766.85,7757.01,7683.55,7620.04,7824.98,7761.16,7705.36,7746.67 +2024-07-09,7722.38,7773.33,7745.26,7703.88,7714.5,7696.2,7714.17,7753.77,7769.68,7768.35,7679.44,7764.17,7656.31,7739.11,7735.52,7682.56,7629.55,7730.01,7737.09,7674.54,7720.0 +2024-07-10,7681.03,7717.21,7716.77,7678.92,7691.8,7673.83,7694.23,7723.21,7737.12,7743.38,7668.68,7735.7,7622.03,7709.89,7703.37,7681.63,7638.61,7685.62,7705.22,7572.7,7693.33 +2024-07-11,7658.8,7691.9,7693.49,7628.34,7667.14,7692.16,7681.35,7691.85,7710.51,7719.48,7664.59,7703.51,7614.39,7682.58,7677.68,7669.17,7646.27,7670.81,7672.55,7596.51,7686.67 +2024-07-12,7676.21,7648.01,7695.03,7632.62,7659.27,7675.71,7674.62,7698.63,7713.13,7720.5,7665.84,7702.99,7618.09,7679.03,7672.11,7670.97,7654.11,7660.48,7659.43,7646.45,7680.0 +2024-07-15,7678.67,7635.19,7688.59,7673.16,7661.82,7659.83,7658.52,7688.36,7705.97,7715.21,7663.19,7697.0,7632.91,7676.23,7670.71,7666.72,7661.32,7665.77,7658.57,7673.79,7680.0 +2024-07-16,7651.2,7671.86,7692.78,7689.27,7668.14,7660.76,7659.06,7692.61,7711.37,7719.34,7655.2,7696.32,7641.57,7667.54,7679.94,7684.55,7665.08,7669.1,7668.98,7684.14,7666.67 +2024-07-17,7641.06,7668.16,7673.47,7659.75,7664.64,7654.22,7660.93,7676.71,7690.06,7700.99,7651.0,7671.75,7644.48,7651.21,7663.0,7678.61,7664.98,7672.35,7664.72,7691.68,7660.0 +2024-07-18,7664.97,7658.16,7670.03,7637.79,7660.39,7658.64,7659.83,7666.5,7687.94,7698.48,7644.28,7672.95,7654.77,7652.12,7661.85,7665.94,7664.43,7680.07,7657.52,7684.03,7656.67 +2024-07-19,7665.55,7670.82,7667.21,7635.58,7660.33,7668.88,7658.37,7665.87,7684.4,7695.58,7643.1,7674.29,7663.73,7643.52,7663.89,7656.08,7663.77,7700.4,7657.96,7680.19,7656.67 +2024-07-22,7654.73,7659.6,7668.97,7621.64,7661.35,7680.21,7656.68,7664.04,7686.75,7703.27,7644.07,7678.37,7673.43,7659.15,7658.67,7652.07,7664.19,7711.59,7657.0,7666.68,7640.0 +2024-07-23,7627.15,7658.63,7644.82,7588.28,7648.25,7672.14,7633.98,7642.58,7660.83,7681.31,7644.15,7657.65,7654.55,7659.5,7642.75,7629.61,7664.6,7699.0,7638.69,7648.38,7623.33 +2024-07-24,7615.71,7655.36,7628.3,7592.22,7632.98,7642.48,7617.96,7623.56,7644.38,7647.41,7638.71,7634.55,7637.8,7656.28,7626.52,7606.37,7663.53,7680.98,7623.42,7643.56,7623.33 +2024-07-25,7626.83,7642.02,7633.97,7613.05,7627.47,7633.41,7616.62,7627.67,7651.09,7641.83,7629.51,7638.69,7636.35,7667.25,7627.47,7601.07,7661.25,7681.91,7620.48,7654.3,7616.67 +2024-07-26,7632.33,7621.39,7624.53,7645.17,7622.88,7627.13,7601.44,7616.04,7639.72,7631.04,7618.54,7630.36,7640.37,7653.94,7615.76,7592.51,7658.74,7678.82,7610.2,7671.36,7606.67 +2024-07-29,7639.82,7612.4,7614.2,7662.63,7615.06,7627.33,7595.58,7606.81,7629.6,7619.99,7608.54,7623.0,7640.1,7621.77,7607.57,7582.71,7655.3,7666.26,7606.59,7680.21,7593.33 +2024-07-30,7622.59,7600.34,7599.37,7641.51,7603.54,7616.73,7589.47,7594.73,7613.76,7596.82,7595.43,7602.52,7632.35,7602.39,7598.68,7575.24,7651.04,7639.92,7595.3,7624.0,7593.33 +2024-07-31,7600.51,7608.84,7604.48,7579.51,7596.77,7610.01,7590.87,7595.07,7620.02,7591.9,7582.4,7602.83,7610.28,7587.6,7602.2,7574.55,7647.16,7610.42,7593.2,7617.02,7583.33 +2024-08-01,7584.49,7591.16,7590.41,7528.96,7586.1,7592.44,7577.19,7583.06,7603.93,7577.83,7568.32,7587.83,7585.23,7581.5,7587.47,7558.95,7644.52,7583.24,7579.94,7590.3,7620.0 +2024-08-02,7616.69,7597.32,7646.77,7566.6,7608.67,7612.44,7609.73,7635.09,7667.15,7621.61,7575.38,7644.41,7594.11,7601.34,7624.83,7610.86,7644.52,7601.45,7606.0,7619.89,7623.33 +2024-08-05,7623.76,7589.96,7636.61,7586.84,7623.19,7622.18,7610.9,7632.09,7651.12,7634.57,7591.59,7646.92,7600.74,7606.68,7626.28,7616.17,7645.47,7618.92,7617.34,7621.26,7610.0 +2024-08-06,7603.18,7595.41,7619.84,7605.93,7619.76,7611.85,7608.62,7610.0,7635.33,7619.08,7602.16,7622.48,7608.05,7622.34,7609.32,7605.97,7645.61,7639.88,7622.11,7612.49,7596.67 +2024-08-07,7592.18,7592.88,7604.55,7626.97,7607.0,7596.99,7595.73,7603.8,7618.55,7598.38,7603.15,7605.98,7599.85,7619.7,7598.38,7599.85,7644.64,7643.84,7607.2,7614.27,7586.67 +2024-08-08,7586.15,7584.44,7594.6,7599.37,7593.31,7582.25,7584.57,7583.2,7608.71,7574.14,7597.16,7590.7,7575.04,7598.87,7586.78,7593.29,7641.55,7614.19,7591.35,7610.71,7583.33 +2024-08-09,7576.48,7582.33,7593.27,7585.83,7584.16,7586.21,7583.9,7582.83,7607.38,7572.6,7593.07,7593.88,7574.76,7583.67,7577.9,7587.49,7638.0,7594.36,7581.23,7618.0,7583.33 +2024-08-12,7575.63,7573.13,7594.56,7563.65,7581.98,7582.93,7582.0,7586.46,7608.74,7575.65,7589.75,7596.44,7572.66,7578.67,7573.81,7582.91,7634.55,7587.76,7580.69,7589.65,7586.67 +2024-08-13,7576.85,7573.63,7599.73,7549.21,7581.67,7588.33,7586.28,7590.12,7614.35,7589.07,7587.63,7605.08,7577.5,7586.07,7579.82,7587.45,7632.09,7588.25,7584.79,7591.04,7593.33 +2024-08-14,7588.26,7580.58,7608.2,7543.9,7583.36,7587.63,7592.55,7600.56,7623.21,7583.55,7584.06,7605.89,7590.91,7583.55,7593.7,7596.72,7629.95,7583.49,7588.25,7596.74,7590.0 +2024-08-15,7593.08,7579.66,7601.46,7529.65,7582.26,7589.29,7589.51,7593.46,7615.52,7575.57,7576.29,7597.07,7586.9,7572.76,7588.46,7596.39,7627.37,7567.46,7583.96,7608.26,7583.33 +2024-08-16,7586.15,7570.0,7593.93,7514.98,7578.33,7583.97,7580.97,7585.71,7608.0,7570.62,7570.11,7592.93,7577.51,7570.17,7584.04,7591.05,7624.35,7556.5,7577.98,7601.39,7583.33 +2024-08-19,7594.75,7567.16,7595.88,7563.93,7579.27,7591.45,7583.53,7587.47,7610.1,7572.22,7566.63,7595.98,7578.81,7562.98,7580.2,7587.08,7621.38,7557.74,7578.12,7597.96,7570.0 +2024-08-20,7579.69,7549.51,7577.41,7576.12,7570.13,7587.28,7570.4,7568.66,7589.49,7566.75,7561.17,7580.98,7573.95,7559.21,7563.7,7578.24,7617.92,7548.49,7565.12,7585.64,7570.0 +2024-08-21,7584.28,7549.39,7582.75,7575.37,7568.25,7584.27,7579.21,7573.01,7596.82,7568.56,7558.48,7580.19,7579.22,7555.77,7567.7,7568.89,7614.3,7552.89,7568.73,7573.09,7570.0 +2024-08-22,7583.7,7563.72,7581.84,7578.46,7570.42,7585.17,7579.53,7573.96,7594.55,7566.88,7555.73,7579.72,7581.85,7557.41,7570.86,7564.07,7610.43,7557.83,7571.75,7572.58,7590.0 +2024-08-23,7591.69,7580.94,7610.27,7577.62,7583.99,7586.86,7595.8,7597.0,7626.16,7585.06,7560.51,7605.65,7586.47,7580.06,7588.23,7581.87,7607.35,7568.18,7586.91,7578.29,7583.33 +2024-08-26,7581.91,7582.1,7593.37,7570.0,7584.27,7593.48,7585.07,7587.27,7605.78,7577.06,7566.94,7596.79,7579.49,7588.08,7584.4,7576.37,7604.08,7567.01,7583.0,7593.89,7583.33 +2024-08-27,7578.77,7577.6,7597.72,7573.39,7582.92,7599.51,7582.85,7587.59,7612.76,7580.64,7569.93,7599.5,7577.81,7596.23,7580.95,7580.58,7600.83,7588.53,7585.49,7591.12,7610.0 +2024-08-28,7603.34,7568.98,7633.48,7591.46,7600.26,7612.36,7604.12,7624.77,7650.61,7607.26,7590.22,7637.93,7594.21,7602.4,7610.4,7616.2,7598.77,7614.45,7603.8,7596.22,7610.0 +2024-08-29,7602.61,7574.91,7623.24,7595.74,7606.55,7612.5,7598.92,7611.27,7637.06,7603.43,7608.57,7629.72,7598.36,7592.65,7610.02,7615.47,7597.31,7606.99,7610.11,7601.69,7613.33 +2024-08-30,7609.0,7602.09,7629.69,7595.23,7609.88,7619.16,7606.8,7620.17,7646.34,7613.65,7626.89,7634.24,7602.9,7605.2,7607.37,7615.43,7596.6,7613.78,7616.26,7596.19,7606.67 +2024-09-02,7604.8,7611.23,7617.19,7590.73,7606.88,7617.54,7599.16,7613.64,7630.95,7601.78,7633.94,7625.12,7604.06,7602.78,7610.29,7605.22,7595.72,7615.25,7603.53,7588.05,7583.33 +2024-09-03,7584.12,7599.74,7587.32,7583.98,7587.2,7593.44,7574.91,7577.95,7600.26,7575.75,7621.9,7590.64,7589.95,7583.71,7584.71,7571.91,7594.26,7601.55,7578.65,7585.84,7562.5 +2024-09-04,7567.82,7576.5,7567.19,7571.67,7567.29,7574.64,7562.33,7562.51,7579.01,7547.71,7604.77,7562.58,7574.18,7572.53,7565.26,7556.47,7591.96,7588.91,7560.81,7582.39,7535.0 +2024-09-05,7545.36,7552.7,7536.81,7572.77,7543.65,7554.34,7543.55,7530.69,7545.04,7525.55,7580.8,7526.22,7551.9,7551.99,7529.33,7540.59,7588.3,7577.33,7536.12,7562.67,7475.0 +2024-09-06,7489.13,7530.06,7468.77,7567.33,7490.51,7523.74,7484.99,7463.25,7472.63,7487.4,7541.51,7450.58,7511.96,7517.22,7469.27,7511.44,7581.11,7568.4,7483.83,7535.0,7442.5 +2024-09-09,7477.12,7518.37,7445.95,7539.01,7447.32,7499.81,7457.06,7440.96,7453.29,7463.9,7499.5,7414.84,7488.55,7477.18,7432.64,7497.93,7572.17,7548.29,7447.32,7475.0,7422.5 +2024-09-10,7456.85,7501.8,7427.16,7514.64,7422.65,7479.61,7434.15,7419.56,7435.08,7450.96,7466.84,7396.45,7459.6,7444.46,7420.32,7478.98,7562.58,7523.61,7425.64,7442.5,7412.5 +2024-09-11,7431.63,7488.65,7421.85,7484.77,7405.92,7468.94,7418.03,7409.36,7431.29,7444.13,7435.7,7386.46,7435.07,7418.62,7414.43,7467.43,7553.1,7497.19,7418.09,7422.5,7387.5 +2024-09-12,7398.92,7473.74,7392.92,7436.31,7384.28,7455.46,7387.81,7391.31,7405.78,7437.62,7402.3,7358.95,7406.29,7400.44,7386.07,7451.55,7542.7,7450.64,7395.83,7412.51,7380.0 +2024-09-13,7387.89,7452.98,7392.81,7394.62,7370.54,7445.65,7375.93,7386.79,7406.8,7437.69,7380.1,7357.82,7390.09,7401.12,7384.26,7432.34,7532.57,7427.63,7384.53,7387.57,7395.0 +2024-09-14,7398.8,7448.38,7415.44,7368.94,7381.92,7434.69,7389.77,7404.15,7424.27,7446.08,7377.0,7380.42,7384.06,7403.66,7403.4,7426.29,7523.94,7425.34,7393.14,7381.05,7375.0 +2024-09-18,7373.29,7433.29,7386.28,7329.25,7376.52,7412.15,7366.51,7377.15,7398.32,7444.71,7372.7,7360.6,7359.8,7382.27,7384.26,7407.78,7514.74,7414.36,7382.19,7396.33,7342.5 +2024-09-19,7345.12,7423.38,7354.42,7277.35,7354.17,7386.27,7350.0,7351.29,7372.91,7441.94,7368.46,7339.54,7347.83,7371.14,7345.66,7383.4,7504.32,7387.84,7357.27,7375.54,7325.0 +2024-09-20,7342.11,7401.09,7341.36,7221.53,7336.63,7372.35,7341.57,7339.75,7361.3,7437.13,7368.07,7329.55,7347.69,7356.94,7335.71,7368.56,7493.44,7352.7,7337.79,7355.56,7340.0 +2024-09-23,7367.46,7401.63,7362.13,7193.23,7341.63,7375.19,7357.71,7350.42,7378.34,7442.19,7372.96,7345.42,7355.94,7358.66,7345.75,7383.85,7484.01,7328.74,7335.99,7350.67,7310.0 +2024-09-24,7347.11,7369.08,7327.08,7184.46,7324.37,7358.97,7324.65,7320.32,7345.2,7433.41,7367.03,7315.2,7335.14,7339.29,7318.8,7372.53,7473.5,7302.72,7309.44,7311.45,7280.0 +2024-09-25,7337.68,7343.42,7309.85,7403.08,7300.53,7338.34,7316.54,7302.59,7327.5,7421.26,7354.32,7295.57,7333.55,7317.72,7283.23,7342.64,7462.0,7437.99,7292.34,7281.34,7315.0 +2024-09-26,7386.44,7341.61,7345.36,7435.37,7318.42,7346.22,7348.73,7340.58,7362.8,7431.2,7356.0,7324.47,7353.46,7337.65,7320.65,7354.6,7452.84,7508.93,7315.25,7315.34,7310.0 +2024-09-27,7381.15,7328.46,7332.75,7406.75,7317.09,7346.12,7331.73,7320.92,7349.47,7429.06,7351.81,7309.78,7334.64,7314.31,7316.95,7352.38,7443.9,7528.81,7306.65,7311.16,7310.0 +2024-09-29,7384.15,7327.32,7337.93,7345.99,7317.25,7344.34,7338.88,7327.86,7355.93,7435.85,7345.17,7314.27,7328.31,7307.46,7313.57,7350.19,7434.77,7530.15,7314.67,7313.31,7365.0 +2024-09-30,7415.55,7352.2,7403.82,7401.76,7357.28,7360.55,7371.52,7392.1,7410.08,7468.94,7351.29,7374.02,7353.45,7336.29,7371.57,7373.65,7428.29,7573.34,7362.65,7365.42,7420.0 +2024-10-08,7413.39,7409.56,7462.21,7444.58,7405.36,7396.59,7407.2,7431.76,7460.04,7500.73,7378.97,7438.91,7375.62,7365.27,7425.37,7423.06,7424.11,7630.56,7411.88,7419.61,7602.5 +2024-10-09,7579.91,7556.33,7696.39,7566.58,7555.9,7556.58,7630.08,7670.55,7702.68,7638.44,7573.12,7705.03,7584.66,7484.14,7607.14,7611.41,7424.18,7800.65,7574.46,7602.4,7602.5 +2024-10-10,7575.56,7596.86,7627.47,7619.68,7624.68,7621.92,7625.84,7623.26,7632.98,7668.69,7663.99,7679.77,7637.41,7542.54,7608.91,7600.68,7424.37,7820.1,7604.86,7602.44,7585.0 +2024-10-11,7628.35,7601.27,7618.62,7603.43,7626.54,7664.98,7622.66,7592.53,7625.98,7680.63,7699.01,7640.88,7648.54,7571.69,7587.7,7604.0,7424.4,7784.88,7600.0,7584.98,7575.0 +2024-10-12,7633.67,7618.32,7594.08,7582.04,7603.76,7674.04,7605.06,7599.97,7602.33,7617.73,7715.68,7613.97,7646.51,7571.18,7574.51,7612.55,7424.28,7735.88,7567.15,7574.99,7576.67 +2024-10-14,7653.81,7630.65,7595.95,7555.79,7563.84,7673.07,7578.99,7559.27,7606.22,7590.25,7707.99,7611.86,7658.07,7556.69,7561.98,7637.48,7424.14,7701.3,7546.09,7576.52,7565.0 +2024-10-15,7596.77,7620.22,7575.49,7504.66,7541.02,7645.56,7550.41,7563.09,7584.59,7583.52,7686.62,7594.43,7631.93,7525.27,7535.71,7624.88,7423.75,7647.81,7536.93,7564.88,7527.5 +2024-10-16,7537.38,7620.99,7528.69,7451.79,7512.35,7561.82,7499.04,7525.2,7534.81,7547.84,7628.83,7523.73,7571.32,7509.33,7482.41,7535.02,7422.73,7588.29,7511.74,7511.9,7477.5 +2024-10-17,7490.33,7601.67,7475.72,7413.38,7458.59,7485.5,7430.83,7471.65,7480.05,7518.8,7557.3,7453.42,7502.93,7485.75,7450.03,7454.11,7420.69,7541.86,7464.34,7475.21,7467.5 +2024-10-18,7478.69,7618.04,7477.15,7401.91,7435.49,7470.61,7414.93,7471.33,7483.34,7473.51,7506.43,7414.35,7464.17,7435.23,7464.47,7434.98,7418.43,7530.27,7448.03,7474.44,7370.0 +2024-10-21,7351.33,7464.07,7351.7,7378.64,7367.16,7417.71,7318.49,7356.18,7369.51,7432.82,7407.67,7312.07,7372.31,7358.34,7360.04,7332.51,7413.26,7488.47,7360.11,7466.75,7362.5 +2024-10-22,7344.0,7420.61,7372.97,7356.97,7340.58,7344.55,7320.62,7369.73,7394.98,7425.47,7345.69,7321.17,7352.98,7331.07,7343.6,7349.05,7407.93,7482.92,7340.69,7370.03,7346.67 +2024-10-23,7318.68,7349.63,7351.23,7343.76,7327.8,7308.26,7313.73,7354.39,7369.49,7419.87,7297.33,7311.08,7333.77,7306.12,7315.16,7342.97,7402.13,7461.36,7329.76,7362.57,7357.5 +2024-10-24,7332.02,7332.76,7374.31,7333.8,7329.64,7342.82,7343.69,7356.94,7392.53,7430.7,7278.94,7326.74,7325.37,7332.06,7342.69,7350.51,7396.69,7458.39,7342.08,7346.69,7352.5 +2024-10-25,7341.74,7293.06,7366.42,7319.07,7339.96,7359.99,7370.54,7370.27,7382.04,7432.93,7259.45,7324.02,7321.69,7319.84,7359.37,7336.29,7391.29,7460.46,7358.44,7357.54,7372.5 +2024-10-28,7344.72,7319.59,7397.69,7322.86,7366.56,7356.09,7400.03,7384.1,7409.74,7443.96,7265.26,7362.26,7344.67,7345.9,7381.35,7355.78,7386.77,7474.65,7386.76,7352.37,7373.33 +2024-10-29,7359.09,7309.05,7393.36,7346.79,7376.6,7374.11,7393.55,7384.43,7402.9,7452.68,7299.63,7378.7,7352.16,7395.18,7389.32,7366.07,7382.29,7455.52,7373.86,7373.17,7380.0 +2024-10-30,7358.99,7341.46,7405.33,7416.18,7381.48,7426.02,7377.57,7389.75,7414.11,7470.71,7350.95,7408.24,7357.65,7411.46,7388.27,7396.68,7378.24,7473.96,7359.31,7391.33,7330.0 +2024-10-31,7312.56,7305.57,7340.64,7456.83,7354.07,7421.74,7296.75,7337.7,7358.05,7471.7,7350.27,7369.02,7348.39,7402.12,7340.37,7326.14,7372.69,7468.82,7330.87,7388.27,7340.0 +2024-11-01,7343.08,7325.18,7365.97,7418.3,7350.28,7392.95,7324.07,7355.09,7382.28,7474.65,7365.08,7377.86,7372.56,7387.91,7340.9,7339.71,7367.81,7459.85,7335.55,7377.83,7363.33 +2024-11-04,7386.98,7346.15,7387.89,7369.52,7364.33,7391.78,7341.57,7376.17,7396.97,7479.09,7375.33,7398.98,7399.13,7360.83,7360.96,7393.32,7364.03,7461.72,7357.11,7379.33,7360.0 +2024-11-05,7391.64,7351.35,7380.57,7346.31,7361.38,7392.48,7346.13,7362.84,7391.88,7478.33,7376.7,7386.92,7404.12,7376.09,7372.73,7392.84,7360.4,7451.46,7349.65,7347.05,7357.5 +2024-11-06,7377.09,7346.7,7380.05,7335.56,7358.76,7378.26,7347.79,7375.06,7391.63,7476.48,7358.81,7383.4,7388.88,7361.92,7379.12,7385.59,7356.97,7412.7,7342.42,7377.96,7383.33 +2024-11-07,7388.92,7358.83,7413.9,7342.16,7375.17,7391.05,7372.72,7398.94,7420.15,7477.76,7361.6,7396.03,7409.27,7366.39,7401.27,7405.46,7355.01,7421.77,7363.14,7384.18,7366.67 +2024-11-08,7353.58,7344.83,7383.68,7340.64,7369.75,7386.01,7355.9,7370.14,7393.42,7466.26,7359.23,7360.38,7396.27,7382.97,7375.96,7376.72,7353.13,7417.78,7356.34,7372.99,7383.33 +2024-11-11,7379.68,7363.24,7413.31,7352.35,7379.62,7397.03,7377.89,7396.57,7420.56,7476.66,7373.14,7364.99,7411.73,7361.13,7384.96,7384.97,7352.16,7430.21,7378.04,7383.47,7340.0 +2024-11-12,7341.77,7294.74,7349.73,7357.31,7360.36,7414.32,7341.37,7347.22,7365.44,7470.71,7359.69,7316.59,7389.09,7367.12,7335.55,7337.95,7350.08,7408.84,7358.53,7392.38,7306.67 +2024-11-13,7381.98,7287.19,7351.89,7350.5,7376.17,7422.79,7383.6,7340.75,7387.01,7469.26,7353.83,7317.99,7432.26,7361.68,7364.91,7332.75,7348.14,7431.79,7365.84,7405.65,7323.33 +2024-11-14,7382.61,7254.22,7354.04,7348.43,7380.54,7393.63,7401.79,7312.58,7382.11,7465.35,7365.01,7333.27,7446.75,7349.96,7346.71,7327.26,7336.3,7436.18,7378.39,7422.76,7353.33 +2024-11-15,7381.57,7295.52,7368.15,7328.46,7378.27,7388.9,7390.94,7306.41,7388.54,7474.63,7368.29,7331.23,7442.02,7386.59,7333.92,7323.29,7347.5,7405.92,7384.14,7402.9,7393.33 +2024-11-18,7351.67,7319.07,7406.21,7316.12,7375.26,7372.63,7385.84,7357.07,7391.6,7479.03,7371.18,7359.46,7430.76,7360.74,7375.31,7320.7,7358.16,7380.2,7378.35,7394.49,7363.33 +2024-11-19,7359.2,7325.43,7374.63,7342.03,7352.78,7343.61,7342.73,7372.25,7381.78,7449.07,7317.24,7350.61,7326.66,7375.86,7335.6,7364.06,7345.6,7354.37,7365.84,7367.14, +2024-11-20,7339.67,7303.26,7375.4,7320.67,7341.12,7339.04,7337.23,7369.62,7401.5,7449.81,7307.54,7353.7,7321.71,7326.19,7327.7,7355.31,7343.62,7344.18,7327.17,7372.86, +2024-11-21,7313.64,7310.42,7380.75,7315.62,7321.95,7387.1,7330.4,7346.73,7399.87,7443.93,7302.45,7366.74,7310.2,7341.94,7341.78,7348.73,7331.54,7333.94,7305.5,7363.12, +2024-11-22,7296.48,7321.02,7392.48,7309.1,7300.34,7376.25,7299.74,7331.89,7405.18,7451.16,7291.02,7360.91,7294.78,7323.82,7406.11,7343.82,7342.97,7315.08,7304.24,7363.37, +2024-11-25,7286.7,7319.39,7421.41,7314.21,7278.51,7335.19,7267.8,7370.68,7405.27,7454.45,7288.73,7384.35,7295.84,7330.96,7369.37,7341.7,7353.84,7304.88,7295.69,7353.22, diff --git a/juxitingdataset/历史价格-预测值.png b/juxitingdataset/历史价格-预测值.png index 4eba0b5..3f52e57 100644 Binary files a/juxitingdataset/历史价格-预测值.png and b/juxitingdataset/历史价格-预测值.png differ diff --git a/juxitingdataset/特征频度统计.csv b/juxitingdataset/特征频度统计.csv index 74e398b..c8b0ea1 100644 --- a/juxitingdataset/特征频度统计.csv +++ b/juxitingdataset/特征频度统计.csv @@ -1,4 +1,4 @@ -日度(219),周度(94),21天(1) +日度(219),周度(94),84天(1) PP主力收盘价拟合残差/丙烷 CP M1,PE注塑开工率/周,中国:华东地区:市场平均价:BOPP厚光膜 华南聚丙烯基差(折盘面收盘价),PP:看跌比例:中国(周), 华北聚丙烯基差(折盘面收盘价),PP:看平比例:中国(周), diff --git a/juxitingdataset/特征频度统计.txt b/juxitingdataset/特征频度统计.txt index 37690c9..cb53824 100644 --- a/juxitingdataset/特征频度统计.txt +++ b/juxitingdataset/特征频度统计.txt @@ -1,4 +1,4 @@ -特征信息:总共有312个,日度(219),周度(94),21天(1), 详看 附1、特征列表 +特征信息:总共有312个,日度(219),周度(94),84天(1), 详看 附1、特征列表 数据特征工程: 1. 数据日期排序,新日期在最后 2. 删除空列,特征数据列没有值,就删除 diff --git a/yuanyoudataset/jbsh_yuanyou.db b/yuanyoudataset/jbsh_yuanyou.db index ad76eef..c37e6ed 100644 Binary files a/yuanyoudataset/jbsh_yuanyou.db and b/yuanyoudataset/jbsh_yuanyou.db differ diff --git a/预测值绘图调试.ipynb b/预测值绘图调试.ipynb new file mode 100644 index 0000000..e0dd0b8 --- /dev/null +++ b/预测值绘图调试.ipynb @@ -0,0 +1,3535 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "7fadc60c-d710-4b8c-89cd-1d889ece1eaf", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "读取本地数据:juxitingdataset\\PP指标数据.xlsx\n", + "读取本地数据:juxitingdataset\\PP指标数据.xlsx\n", + "getdata接收:juxitingdataset\\PP指标数据.xlsx date \n", + "getdata接收:juxitingdataset\\PP指标数据.xlsx date \n", + "删除两月不更新特征前数据量:(2515, 354)\n", + "删除两月不更新特征前数据量:(2515, 354)\n", + "删除两月不更新特征后数据量:(2515, 315)\n", + "删除两月不更新特征后数据量:(2515, 315)\n", + "删除预测列为空值的行后数据量:(771, 315)\n", + "删除预测列为空值的行后数据量:(771, 315)\n", + "删除全为空值的列后数据量:(771, 315)\n", + "删除全为空值的列后数据量:(771, 315)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + "D:\\liurui\\dev\\code\\PriceForecast\\lib\\dataread.py:226: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " values.dropna(inplace=True,axis=0)\n", + " 日度(219) 周度(94) 84天(1)\n", + "0 PP主力收盘价拟合残差/丙烷 CP M1 PE注塑开工率/周 中国:华东地区:市场平均价:BOPP厚光膜\n", + "1 华南聚丙烯基差(折盘面收盘价) PP:看跌比例:中国(周) \n", + "2 华北聚丙烯基差(折盘面收盘价) PP:看平比例:中国(周) \n", + "3 华东聚丙烯基差(折盘面收盘价) PP:看升比例:中国(周) \n", + "4 煤制聚丙烯利润 PP看空情绪指数环差 \n", + ".. ... ... ...\n", + "214 PE期货收盘价 \n", + "215 PP连续-1月 \n", + "216 PP连续-5月 \n", + "217 PP连续-9月 \n", + "218 y \n", + "\n", + "[219 rows x 3 columns]\n", + " 日度(219) 周度(94) 84天(1)\n", + "0 PP主力收盘价拟合残差/丙烷 CP M1 PE注塑开工率/周 中国:华东地区:市场平均价:BOPP厚光膜\n", + "1 华南聚丙烯基差(折盘面收盘价) PP:看跌比例:中国(周) \n", + "2 华北聚丙烯基差(折盘面收盘价) PP:看平比例:中国(周) \n", + "3 华东聚丙烯基差(折盘面收盘价) PP:看升比例:中国(周) \n", + "4 煤制聚丙烯利润 PP看空情绪指数环差 \n", + ".. ... ... ...\n", + "214 PE期货收盘价 \n", + "215 PP连续-1月 \n", + "216 PP连续-5月 \n", + "217 PP连续-9月 \n", + "218 y \n", + "\n", + "[219 rows x 3 columns]\n", + "特征信息:总共有312个,日度(219),周度(94),84天(1), 详看 附1、特征列表\n", + " 数据特征工程:\n", + " 1. 数据日期排序,新日期在最后\n", + " 2. 删除空列,特征数据列没有值,就删除\n", + " 3. 删除近两月不再更新值的指标\n", + " 4. 非日度数据填充为日度数据,填充规则:\n", + " -- 向后填充,举例:假设周五出现一个周度指标数据,那么在这之前的数据用上周五的数据\n", + " -- 向前填充,举例:采集数据开始日期为2018年1月1日,那么周度数据可能是2018年1月3日,那么3日的数据向前填充,使1日2日都有数值\n", + " 数据特征相关性分析:\n", + " \n", + "特征信息:总共有312个,日度(219),周度(94),84天(1), 详看 附1、特征列表\n", + " 数据特征工程:\n", + " 1. 数据日期排序,新日期在最后\n", + " 2. 删除空列,特征数据列没有值,就删除\n", + " 3. 删除近两月不再更新值的指标\n", + " 4. 非日度数据填充为日度数据,填充规则:\n", + " -- 向后填充,举例:假设周五出现一个周度指标数据,那么在这之前的数据用上周五的数据\n", + " -- 向前填充,举例:采集数据开始日期为2018年1月1日,那么周度数据可能是2018年1月3日,那么3日的数据向前填充,使1日2日都有数值\n", + " 数据特征相关性分析:\n", + " \n", + "********************************************************************************************************************************************************************************************************\n", + "********************************************************************************************************************************************************************************************************\n" + ] + }, + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 读取配置\n", + "from lib import *\n", + "from lib.dataread import *\n", + "from lib.tools import *\n", + "from models.nerulforcastmodels import ex_Model,model_losss,brent_export_pdf,tansuanli_export_pdf,pp_export_pdf,model_losss_juxiting\n", + "\n", + "import glob\n", + "import torch\n", + "torch.set_float32_matmul_precision(\"high\")\n", + "\n", + "sqlitedb = SQLiteHandler(db_name) \n", + "sqlitedb.connect()\n", + "\n", + "signature = BinanceAPI(APPID, SECRET)\n", + "etadata = EtaReader(signature=signature,\n", + " classifylisturl = classifylisturl,\n", + " classifyidlisturl=classifyidlisturl,\n", + " edbcodedataurl=edbcodedataurl,\n", + " edbcodelist=edbcodelist,\n", + " edbdatapushurl=edbdatapushurl,\n", + " edbdeleteurl=edbdeleteurl,\n", + " edbbusinessurl=edbbusinessurl\n", + " )\n", + "# 获取数据\n", + "if is_eta:\n", + " # eta数据\n", + " logger.info('从eta获取数据...')\n", + " signature = BinanceAPI(APPID, SECRET)\n", + " etadata = EtaReader(signature=signature,\n", + " classifylisturl = classifylisturl,\n", + " classifyidlisturl=classifyidlisturl,\n", + " edbcodedataurl=edbcodedataurl,\n", + " edbcodelist=edbcodelist,\n", + " edbdatapushurl=edbdatapushurl,\n", + " edbdeleteurl=edbdeleteurl,\n", + " edbbusinessurl=edbbusinessurl,\n", + " )\n", + " df_zhibiaoshuju,df_zhibiaoliebiao = etadata.get_eta_api_pp_data(data_set=data_set,dataset=dataset) # 原始数据,未处理\n", + "\n", + " # 数据处理\n", + " df = datachuli_juxiting(df_zhibiaoshuju,df_zhibiaoliebiao,y = y,dataset=dataset,add_kdj=add_kdj,is_timefurture=is_timefurture,end_time=end_time) \n", + "\n", + "else:\n", + " logger.info('读取本地数据:'+os.path.join(dataset,data_set))\n", + " df = getdata_juxiting(filename=os.path.join(dataset,data_set),y=y,dataset=dataset,add_kdj=add_kdj,is_timefurture=is_timefurture,end_time=end_time) # 原始数据,未处理\n", + "\n", + "# 更改预测列名称\n", + "df.rename(columns={y:'y'},inplace=True)\n", + " \n", + "if is_edbnamelist:\n", + " df = df[edbnamelist] \n", + "df.to_csv(os.path.join(dataset,'指标数据.csv'), index=False)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ae059224-976c-4839-b455-f81da7f25179", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "更新数据sqlUPDATE trueandpredict SET ds = '2024-11-18 00:00:00', y = '7363.333333333333' WHERE ds = '2024-11-18 00:00:00'\n", + "更新数据sqlUPDATE trueandpredict SET ds = '2024-11-18 00:00:00', y = '7363.333333333333' WHERE ds = '2024-11-18 00:00:00'\n" + ] + } + ], + "source": [ + "# 保存最新日期的y值到数据库\n", + "# 取第一行数据存储到数据库中\n", + "first_row = df[['ds','y']].tail(1)\n", + "# 将最新真实值保存到数据库\n", + "if not sqlitedb.check_table_exists('trueandpredict'):\n", + " first_row.to_sql('trueandpredict',sqlitedb.connection,index=False)\n", + "else:\n", + " for row in first_row.itertuples(index=False):\n", + " row_dict = row._asdict()\n", + " row_dict['ds'] = row_dict['ds'].strftime('%Y-%m-%d %H:%M:%S')\n", + " check_query = sqlitedb.select_data('trueandpredict',where_condition = f\"ds = '{row.ds}'\")\n", + " if len(check_query) > 0:\n", + " set_clause = \", \".join([f\"{key} = '{value}'\" for key, value in row_dict.items()])\n", + " sqlitedb.update_data('trueandpredict',set_clause,where_condition = f\"ds = '{row.ds}'\")\n", + " continue\n", + " sqlitedb.insert_data('trueandpredict',tuple(row_dict.values()),columns=row_dict.keys())\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "abb597fc-c5f3-4d76-8099-5eff358cb634", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "今天是周一,更新预测模型\n", + "今天是周一,更新预测模型\n", + "最近20天预测残差最低的模型名称:NHITS\n", + "最近20天预测残差最低的模型名称:NHITS\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(16, 23)\n", + "(12, 22)\n", + "1 TSMixerx_abs_error_rate\n", + "2 TCN_abs_error_rate\n", + "3 NHITS_abs_error_rate\n", + "4 NHITS_abs_error_rate\n", + "5 Informer_abs_error_rate\n", + "8 BiTCN_abs_error_rate\n", + "9 PatchTST_abs_error_rate\n", + "10 TSMixer_abs_error_rate\n", + "11 BiTCN_abs_error_rate\n", + "12 StemGNN_abs_error_rate\n", + "13 Informer_abs_error_rate\n", + "14 NLinear_abs_error_rate\n", + "dtype: object\n" + ] + } + ], + "source": [ + "import datetime\n", + "# 判断当前日期是不是周一\n", + "is_weekday = datetime.datetime.now().weekday() == 1\n", + "if is_weekday:\n", + " logger.info('今天是周一,更新预测模型')\n", + " # 计算最近20天预测残差最低的模型名称\n", + "\n", + " model_results = sqlitedb.select_data('trueandpredict',order_by = \"ds DESC\",limit = \"20\")\n", + " # 删除空值率为40%以上的列\n", + " print(model_results.shape)\n", + " model_results = model_results.dropna(thresh=len(model_results)*0.6,axis=1)\n", + " model_results = model_results.dropna()\n", + " print(model_results.shape)\n", + " modelnames = model_results.columns.to_list()[2:] \n", + " for col in model_results[modelnames].select_dtypes(include=['object']).columns:\n", + " model_results[col] = model_results[col].astype(np.float32)\n", + " # 计算每个预测值与真实值之间的偏差率\n", + " for model in modelnames:\n", + " model_results[f'{model}_abs_error_rate'] = abs(model_results['y'] - model_results[model]) / model_results['y']\n", + "\n", + " # 获取每行对应的最小偏差率值\n", + " min_abs_error_rate_values = model_results.apply(lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].min(), axis=1)\n", + " # 获取每行对应的最小偏差率值对应的列名\n", + " min_abs_error_rate_column_name = model_results.apply(lambda row: row[[f'{model}_abs_error_rate' for model in modelnames]].idxmin(), axis=1)\n", + " print(min_abs_error_rate_column_name)\n", + " # 将列名索引转换为列名\n", + " min_abs_error_rate_column_name = min_abs_error_rate_column_name.map(lambda x: x.split('_')[0])\n", + " # 取出现次数最多的模型名称\n", + " most_common_model = min_abs_error_rate_column_name.value_counts().idxmax()\n", + " logger.info(f\"最近20天预测残差最低的模型名称:{most_common_model}\")\n", + "\n", + " # 保存结果到数据库\n", + " \n", + " if not sqlitedb.check_table_exists('most_model'):\n", + " sqlitedb.create_table('most_model',columns=\"ds datetime, most_common_model TEXT\")\n", + " sqlitedb.insert_data('most_model',(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),most_common_model,),columns=('ds','most_common_model',))\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ade7026e-8cf2-405f-a2da-9e90f364adab", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "开始训练模型...\n", + "开始训练模型...\n" + ] + } + ], + "source": [ + "if is_corr:\n", + " df = corr_feature(df=df)\n", + "\n", + "df1 = df.copy() # 备份一下,后面特征筛选完之后加入ds y 列用\n", + "logger.info(f\"开始训练模型...\")\n", + "row,col = df.shape\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "dfef57d8-36da-423b-bbe7-05a13e15f71b", + "metadata": {}, + "outputs": [], + "source": [ + "now = datetime.datetime.now().strftime('%Y%m%d%H%M%S')\n", + "# ex_Model(df,\n", + "# horizon=horizon,\n", + "# input_size=input_size,\n", + "# train_steps=train_steps,\n", + "# val_check_steps=val_check_steps,\n", + "# early_stop_patience_steps=early_stop_patience_steps,\n", + "# is_debug=is_debug,\n", + "# dataset=dataset,\n", + "# is_train=is_train,\n", + "# is_fivemodels=is_fivemodels,\n", + "# val_size=val_size,\n", + "# test_size=test_size,\n", + "# settings=settings,\n", + "# now=now,\n", + "# etadata = etadata,\n", + "# modelsindex = modelsindex,\n", + "# data = data,\n", + "# is_eta=is_eta,\n", + "# )\n" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "0e5b6f30-b7ca-4718-97a3-48b54156e07f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "模型训练完成\n", + "模型训练完成\n", + "训练数据绘图ing\n", + "训练数据绘图ing\n", + "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_3756\\1547647528.py:94: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " first_row['ds'] = first_row['ds'].dt.strftime('%Y-%m-%d 00:00:00')\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "方差最大的模型是: DilatedRNN\n", + " min max\n", + "0 7284.56 7448.81\n", + "1 7281.35 7449.26\n", + "2 7292.95 7457.24\n", + "3 7286.25 7454.66\n", + "4 7261.40 7439.28\n", + ".. ... ...\n", + "200 7317.24 7449.07\n", + "201 7303.26 7449.81\n", + "202 7302.45 7443.93\n", + "203 7291.02 7451.16\n", + "204 7267.80 7454.45\n", + "\n", + "[205 rows x 2 columns]\n" + ] + }, + { + "data": { + "image/png": "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R+swAAAAAAAAAACAvURFCwAAAAAAAACg9aJR6a676i9fconk9dobD2ATKloAAAAAAAAAAK1nGNIVV9RvhmF3NLDRddddp6ysLNXU1EiSiouL5XA4dO655+qUU05J3K5hf8PtJOmxxx7TIYcc0uh85557rhwOR5OtwaOPPqohQ4aoZ8+e+vWvf61oNNqBj27PSLQAAAAgqURicZX7InaHAQAAAABohWAwqEceeaRdznXfffepurpaN910k4488khVV1erurpakrR48WL96U9/0rPPPqsPP/xQCxcu1P33398u6+4tWocBAAAgacTipjZUBhWNmeqR6ZHbxe+CAAAAAKQ4y5KMoD1rezKlnSpJmuNyuXTffffpsssua/OymZmZyszMVEZGhtxut/Lz8xPHPvjgA40dO1ZHHHGEJOnPf/6ziouL27xmW5BoAQAAQFIwTUsbqoKKGKYkqTIQVd/cdJujAgAAAACbGUHppgH2rH3NFsmb1aKbHn300fryyy81b948jRw5ssNC2nffffXnP/9Zr776qn74wx/ql7/8ZYet1VL8RBAAAABJYVN1SMFIPHG9wh9R3LRsjAgAAAAA0FLZ2dk6//zzdc899zTa/8Ybbyg/P1/5+fkaM2ZMm9f54Q9/qEsvvVSnnXaajjzySH322WdtPmdbUdECAAAA222pCak21Hh4pmlKlYGI+uRQ1QIAAAAghXky6ytL7Fq7FX73u9/pgAMOUFFRUWLf1KlT9eCDD0qSNm3apMmTJ7c5rJtvvlkXXnih5syZoylTpui5557Taaed1ubz7i0SLQAAALBVhT+iSn9018d8UfXKSpPT2bKewAAAAADQ7TgcLW7fZbcRI0Zo5syZuu+++xL7MjMzNXTo0HZbY9WqVerRo4dGjBihp556Svvss4/+9Kc/2ZpooXUYAAAAbFMbMrS1Jrzb43HTUmVg10kYAAAAADZLT5cWLqzf0qlER71LLrlEr776aoed/4orrtD999+fuH7ssceqpqamw9ZrCRItAAAAsEUwGlNJVXCPt6vwR2RZzGoBAAAAko7LJR19dP3mctkdDZLEtGnTtP/++3fY+WfMmKGHHnpIn3/+udavX69bbrlFM2bM6LD1WoJECwAAADpdJBZXcUVQLcmfxOKWqqhqAQAAAIAu4w9/+EOHnfuiiy7S2WefrVNPPVWHHXaYcnNzdffdd3fYei3BjBYAAAB0qljcVHFFUHGz5VUq5f6ICrK8cjiY1QIAAAAkDcOQtg85169/LXk89sYD21x33XWNrl900UW66KKLmtxu6NChTToWnHvuuTr33HN3ed5LL71Ul156aaN9LpdLt9xyi2655Za2hNyuqGgBAABApzFNS8WVQUVjZqvuZ8QsVQeNDooKAAAAwF6JRqXf/a5+i1KFjtRFogUAAACdpqQ6qFA0vlf3LfcxqwUAAAAAkHxItAAAAKBTbK4JqS4U2+v7R2OmakNUtQAAAAAAkguJFgAAAHS4cl9EVf62txIo90XaIRoAAAAASG5U83eO9nqeSbQAAACgQ9UGDZXWhtvlXGGDqhYAAAAA3ZfH45EkBYNBmyNJDQ3Pc8Pzvrfc7REMAAAAsCuBSEwl1e37AaHcF1ZeRtveBAMAAABAMnK5XMrPz1dZWZkkKTMzUw6Hw+aouh/LshQMBlVWVqb8/Hy5XK42nY9ECwAAADpE2IiruDKg9q54D0VN1YUN5aaTbAEAAADQ/fTr10+SEskWdJz8/PzE890WJFoAAADQ7oy4qeLKgEyzY85fVhch0QIAAADYLS1Nev31HZfRLhwOh/r3768+ffrIMGid3FE8Hk+bK1kakGgBAABAuzJNSxsqAzJiHTe8MRSNyx+JKTuNt7MAAACAbdxu6cQT7Y6i23K5XO2WCEDHctqx6GOPPSaHw9Fke+yxx/Tkk09q8ODBys7O1rRp01RcXJy43/LlyzVu3Dj16NFDs2fPlrVTH4rmjgEAAKBzWJaljVVBhaIdVMqyk7K6cIevAQAAAADAntiSaDnrrLNUXV2d2EpKStSrVy9NnjxZ//d//6eXX35ZK1as0JAhQ3TuuedKkiKRiE4++WSNHTtWixcv1ooVK/TYY4/t8RgAAAA6z5basHzhWKesFYjEFYh0zloAAAAAdsEwpMceq99ocYUUZkuvBa/XK6/Xm7h+33336bTTTtOSJUs0ceJEHXbYYZKk8847T2eeeaYkad68eaqtrdUdd9yhzMxM3XTTTZo1a5bOO++8Zo/tSiQSUSQSSVyvq6uTJBmGQc877LWGvx3+hgAkO16v0FFqglFV1HZulUlpdUCDe2Z26prdFa8NAFIVr38AdoXXhhYKBOTZ/h2sccopUlaWvfEA7ag1//5tb2odDod11113adGiRQoGg3rvvfe0ZMkSDR8+XPfee6+OO+44SdLSpUs1ceJEZWbWf5AeM2aMVqxYscdju3LzzTfr+uuvb7L/7bffTpwD2FvvvPOO3SEAQIvweoXuYrndAXQzvDYASFW8/gHYFV4bmucKh3XS9stvvfWW4unptsYDtKdgMNji29qeaHnmmWc0ceJEDR06VJJ0+umnJypahg0bpkWLFkmqrzoZNmxY4n4Oh0Mul0vV1dXNHuvRo0eTNa+++mpdfvnliet1dXUqLCzU9OnTlZub2xEPEynAMAy98847Ou644+TxeOwOBwB2i9crdJRNVSHVhTv/F3856W4VFvBjmbbitQFAquL1D8Cu8NrQQoFA4uKMGTOoaEG30tAJqyVsT7Q88MADieqSzz//XK+99poWLVqkkSNH6uabb9YJJ5ygL774Qm63W2lpaY3um56ermAw2OyxXSVa0tLSmtxekjweDy+caDP+jgB0Fbxeob2Zzoicrs5/exkwpLicSve4On3t7ojXBgCpitc/ALvCa8Me7PTceDyeRteBrq41//adHRjHHhUVFamoqEjTpk2TJD333HP66U9/qvHjxys7O1t//etftW7dOi1dulQFBQUqLy9vdH+fzyev19vsMQAAAHSOWNyybe1yX2TPNwIAAAAAoAPYmmiZO3euTjrppERmKBaLadu2bYnjPp9PgUBA8Xhc48aN0+eff544VlxcrEgkooKCgmaPAQAAoHMYcdO2tWtDhiKxuG3rAwAAAABSl62Jlvnz52vq1KmJ60ceeaT++9//6p///KeeeeYZnXLKKerbt6/GjBmjKVOmqLa2Vk888YQk6ZZbbtG0adPkcrmaPQYAAICOFzctWfYVtMiypLI6qloAAAAAAJ3PthktoVBIixYt0oMPPpjY95Of/ESrVq3SnXfeqa1bt+qggw7Sf//730TFy4MPPqizzjpLs2fPVjwe1wcffCBJcrvduz0GAACAjmdnNUuD2pChvjFTXretvyUCAAAAUkdamjR37o7LQIqyLdGSkZGhSKTxrw4dDofmzJmjOXPm7PI+p5xyitasWaPFixdr0qRJ6t27d4uOAQAAoGPFTBvLWbazLKncH9HA/Ay7QwEAAABSg9stnXGG3VEAtrMt0bK3Bg4cqIEDB7b6GAAAADqOEbO/okWSqgNR9clJk8dFVQsAAAAAoHPwCRQAAABtZpjJkWix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0EJERERERERERNR4vEpJRO2WWZMhioDPF+qRdAwsHUZEREREREREjSJJwHnnnbxP1Ekx0EJE7ZYgCLDqCgrLPaEeSoegyzwgIiIiIiIiIqJG0HVg0aJQj4Io5Dh9mYjatWiLBpPGAEFzqbIIURRCPQwiIiIiIiIiIqJ2h4EWImrXdEVCerQZXSKN0Fj6qslYNoyIiIiIiIiIiKhpeGWNiDoEm0FBtxgzEuw6JGZmNJquMCuIiIiIiIiIiBqprAwwmQK3srJQj4YoZNijhYg6DEEQEGnWYDeqyClxI7fUDb8/1KNqH9ifhYiIiIiIiIiapLw81CMgCjlmtBBRhyOJAuJsOrrHWmA3KqEeTrvAsmtERERERERERERNwytrRNRhqbKIZIcR3WLNMOtM4KuNIACazD8HRERERERERERETcEra0TU4emKhLQoE1KjjGz6XgNdESEI7GtDRERERERERETUFJziTUSdhkVXYNZkFJR7cLTYBW8lG7gAgMb+LERERERERERERE3GQAsRdSqCIMBhUmE3KMgtdeNYiRv+Th5v0RUGWoiIiIiIiIiIiJqKgRYi6pREUUCMVUeEScXRYhcKyz2dNuDCcmpERERERERE1CSiCIweffI+USfFQAsRdWqKJCIpwogocyWOFLlQ4vKGekhtjhktRERERERERNQkBgPw7behHgVRyDHMSESEQLAhNcqEtGgTDGrn2TWKYiDYRERERERERERERE3Dq2tERKcwazK6xliQFGGAIguhHk6rYzYLERERERERERFR8zDQQkRUgwiTiu4xFsTatA5dYpSBFiIiIiIiIiJqsrIyIDo6cCsrC/VoiEKGPVqIiGohigJiLDocRhXHStzIL6uA3x/qUbUsAwMtRERERERERNQcubmhHgFRyHXgedpERC1DlkQk2A3oGmOG1dCx4tO6wj8DREREREREREREzcErbEREDaQrElIiTUiPNsGgdoxMEE3uGJ+DiIiIiIiIiIgoVBhoISJqJJMmo2uMGV0cRqhy+92NKrIASRRCPQwiIiIiIiIiIqJ2rWPVwCEiakM2owKrQUZuaQWOlbjg84V6RI2jM5uFiIiIiIiIiIio2RhoISJqBkEQEG3R4DCpOFbiQl5pBfz+UI+qYXSFgRYiIiIiIiIiIqLmCknNm1mzZkEQhGq3WbNmYeHChUhPT4csyzjj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RERERERERERETcRACxERERERERERERERURMx0EJERERERERERERERNREcqgHQERERERERERERETtVFRUqEdAFHIMtBARERERERERERFR45lMQE5OqEdBFHIsHUZERERERERERERERNREDLQQERERERERERERERE1EQMtRERERERERERERNR4TicwZkzg5nSGejREIcMeLURERERERERERETUeD4fsHz5yftEnRQzWoiIiIiIiIiIiIiIiJqIgRYiIiIiIiIiIiIiIqImYqCFiIiIiIiIiIiIiIioiRhoISIiIiIiIiIiIiIiaiIGWoiIiIiIiIiIiIiIiJpIDvUAiIiIiIiIiIiIiKidMhpDPQKikGOghYiIiIiIiIiIiIgaz2QCyspCPQqikGPpMCIiIiIiIiIiIiIioiZioIWIiIiIiIiIiIiIiKiJGGghIiIiIiIiIiIiosZzuYDzzw/cXK5Qj4YoZNijhYiIiIiIiIiIiIgar7ISWLz45H2iTooZLURERERERERERERERE3EQAsREREREREREREREVETMdBCRERERERERERERETURAy0EBERERERERERERERNREDLURERERERERERERERE0kh3oA4cDv9wMAiouLQzwSas88Hg/Ky8tRXPz/7d1/aFX1H8fx17n3zm3e3O9liVfbuFHgkkVoUlRQ/hG0aPZHZJKuH2ZLJ4YaQUJ/VGAgVDiwXLAhRQTBxaI/Yq2IiLIsU24TIZk11gqu3bp3a3m926c/vux+3bz33Otx89577vMBF7z3nM/n8z7CXvvI23NuTGVlZfkuBwAyIq8ApEM2AChV5B+AdMiGHI2P///PsZg0OZm/WoA5Nt0vmO4f2KHRIikej0uSAoFAnisBAAAAAAAAgCK0ZEm+KwDmRTweV3V1te05lsmlHeNyU1NT+u2337Ro0SJZlpXvclCkYrGYAoGAhoeHVVVVle9yACAj8gpAOmQDgFJF/gFIh2wAYIxRPB7XkiVL5PHYfwsLd7RI8ng8Wrp0ab7LgEtUVVXxCxhAUSCvAKRDNgAoVeQfgHTIBqC0ZbuTZZp9GwYAAAAAAAAAAAAZ0WgBAAAAAAAAAABwiEYLMEfKy8v14osvqry8PN+lAIAt8gpAOmQDgFJF/gFIh2wAcCksY4zJdxEAAAAAAAAAAADFiDtaAAAAAAAAAAAAHKLR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "训练数据绘图end\n", + "训练数据绘图end\n" + ] + } + ], + "source": [ + "logger.info('模型训练完成')\n", + "# # 模型评估\n", + "\n", + "pd.set_option('display.max_columns', 100)\n", + "# 计算预测评估指数\n", + "def model_losss_juxiting(sqlitedb):\n", + " global dataset\n", + " # 数据库查询最佳模型名称\n", + " most_model = [sqlitedb.select_data('most_model',columns=['most_common_model'],order_by='ds desc',limit=1).values[0][0]]\n", + " most_model_name = most_model[0]\n", + "\n", + " # 预测数据处理 predict\n", + " df_combined = loadcsv(os.path.join(dataset,\"cross_validation.csv\")) \n", + " df_combined = dateConvert(df_combined)\n", + " # 删除空列\n", + " df_combined.dropna(axis=1,inplace=True)\n", + " # 删除缺失值,预测过程不能有缺失值\n", + " df_combined.dropna(inplace=True) \n", + " # 其他列转为数值类型\n", + " df_combined = df_combined.astype({col: 'float32' for col in df_combined.columns if col not in ['cutoff','ds'] })\n", + " # 使用 groupby 和 transform 结合 lambda 函数来获取每个分组中 cutoff 的最小值,并创建一个新的列来存储这个最大值\n", + " df_combined['max_cutoff'] = df_combined.groupby('ds')['cutoff'].transform('max')\n", + "\n", + " # 然后筛选出那些 cutoff 等于 max_cutoff 的行,这样就得到了每个分组中 cutoff 最大的行,并保留了其他列\n", + " df_combined = df_combined[df_combined['cutoff'] == df_combined['max_cutoff']]\n", + " # 删除模型生成的cutoff列\n", + " df_combined.drop(columns=['cutoff', 'max_cutoff'], inplace=True)\n", + " # 获取模型名称\n", + " modelnames = df_combined.columns.to_list()[1:] \n", + " if 'y' in modelnames:\n", + " modelnames.remove('y')\n", + " df_combined3 = df_combined.copy() # 备份df_combined,后面画图需要\n", + "\n", + "\n", + " # 空的列表存储每个模型的MSE、RMSE、MAE、MAPE、SMAPE\n", + " cellText = []\n", + "\n", + " # 遍历模型名称,计算模型评估指标 \n", + " for model in modelnames:\n", + " modelmse = mse(df_combined['y'], df_combined[model])\n", + " modelrmse = rmse(df_combined['y'], df_combined[model])\n", + " modelmae = mae(df_combined['y'], df_combined[model])\n", + " # modelmape = mape(df_combined['y'], df_combined[model])\n", + " # modelsmape = smape(df_combined['y'], df_combined[model])\n", + " # modelr2 = r2_score(df_combined['y'], df_combined[model])\n", + " cellText.append([model,round(modelmse, 3), round(modelrmse, 3), round(modelmae, 3)])\n", + " \n", + " model_results3 = pd.DataFrame(cellText,columns=['模型(Model)','平均平方误差(MSE)', '均方根误差(RMSE)', '平均绝对误差(MAE)'])\n", + " # 按MSE降序排列\n", + " model_results3 = model_results3.sort_values(by='平均平方误差(MSE)', ascending=True)\n", + " model_results3.to_csv(os.path.join(dataset,\"model_evaluation.csv\"),index=False)\n", + " modelnames = model_results3['模型(Model)'].tolist()\n", + " allmodelnames = modelnames.copy()\n", + " # 保存5个最佳模型的名称\n", + " if len(modelnames) > 5:\n", + " modelnames = modelnames[0:5]\n", + " with open(os.path.join(dataset,\"best_modelnames.txt\"), 'w') as f:\n", + " f.write(','.join(modelnames) + '\\n')\n", + "\n", + "\n", + " # 去掉方差最大的模型,其余模型预测最大最小值确定通道边界\n", + " best_models = pd.read_csv(os.path.join(dataset,'best_modelnames.txt'),header=None).values.flatten().tolist()\n", + " \n", + "\n", + " # 预测值与真实值对比图\n", + " plt.rcParams['font.sans-serif'] = ['SimHei']\n", + " plt.figure(figsize=(15, 10))\n", + " # 设置有5个子图的画布\n", + " for n,model in enumerate(modelnames[:5]):\n", + " plt.subplot(3, 2, n+1)\n", + " plt.plot(df_combined3['ds'], df_combined3['y'], label='真实值')\n", + " plt.plot(df_combined3['ds'], df_combined3[model], label=model)\n", + " plt.legend()\n", + " plt.xlabel('日期')\n", + " plt.ylabel('价格')\n", + " plt.title(model+'拟合')\n", + " plt.subplots_adjust(hspace=0.5)\n", + " plt.savefig(os.path.join(dataset,'预测值与真实值对比图.png'), bbox_inches='tight')\n", + " plt.close()\n", + " \n", + " # 历史数据+预测数据\n", + " # 拼接未来时间预测\n", + " df_predict = loadcsv(os.path.join(dataset,'predict.csv'))\n", + " df_predict.drop('unique_id',inplace=True,axis=1)\n", + " df_predict.dropna(axis=1,inplace=True)\n", + " df_predict2 = df_predict.copy()\n", + " try:\n", + " df_predict['ds'] = pd.to_datetime(df_predict['ds'],format=r'%Y-%m-%d')\n", + " except ValueError :\n", + " df_predict['ds'] = pd.to_datetime(df_predict['ds'],format=r'%Y/%m/%d')\n", + "\n", + " # 取第一行数据存储到数据库中\n", + " first_row = df_predict.head(1)\n", + " first_row['ds'] = first_row['ds'].dt.strftime('%Y-%m-%d 00:00:00')\n", + "\n", + " # # 将预测结果保存到数据库\n", + " # # 判断表存在\n", + " if not sqlitedb.check_table_exists('testandpredict_groupby'):\n", + " df_predict2.to_sql('testandpredict_groupby',sqlitedb.connection,index=False)\n", + " else:\n", + " for row in df_predict2.itertuples(index=False):\n", + " row_dict = row._asdict()\n", + " check_query = sqlitedb.select_data('testandpredict_groupby',where_condition = f\"ds = '{row.ds}'\")\n", + " if len(check_query) > 0:\n", + " set_clause = \", \".join([f\"{key} = '{value}'\" for key, value in row_dict.items()])\n", + " sqlitedb.update_data('testandpredict_groupby',set_clause,where_condition = f\"ds = '{row.ds}'\")\n", + " continue\n", + " sqlitedb.insert_data('testandpredict_groupby',tuple(row_dict.values()),columns=row_dict.keys())\n", + "\n", + " df_combined3 = pd.concat([df_combined3, df_predict]).reset_index(drop=True)\n", + "\n", + " # # 判断 df 的数值列转为float\n", + " for col in df_combined3.columns:\n", + " try:\n", + " if col != 'ds':\n", + " df_combined3[col] = df_combined3[col].astype(float)\n", + " df_combined3[col] = df_combined3[col].round(2)\n", + " except ValueError:\n", + " pass\n", + " df_combined3.to_csv(os.path.join(dataset,\"df_combined3.csv\"),index=False) \n", + " df_combined3.to_sql('testandpredict_groupby', sqlitedb.connection, if_exists='replace', index=False)\n", + " df_combined3.to_csv(os.path.join(dataset,\"testandpredict_groupby.csv\"),index=False)\n", + " \n", + " \n", + " ten_models = allmodelnames\n", + " # 计算每个模型的方差\n", + " variances = df_combined3[ten_models].var()\n", + " # 找到方差最大的模型\n", + " max_variance_model = variances.idxmax()\n", + " # 打印方差最大的模型\n", + " print(\"方差最大的模型是:\", max_variance_model)\n", + " # 去掉方差最大的模型\n", + " df_combined3 = df_combined3.drop(columns=[max_variance_model])\n", + " if max_variance_model in allmodelnames:\n", + " allmodelnames.remove(max_variance_model)\n", + " df_combined3['min'] = df_combined3[allmodelnames].min(axis=1)\n", + " df_combined3['max'] = df_combined3[allmodelnames].max(axis=1)\n", + " print(df_combined3[['min','max']])\n", + " # 历史价格+预测价格\n", + " df_combined3 = df_combined3[-50:] # 取50个数据点画图\n", + " plt.figure(figsize=(20, 10))\n", + " plt.plot(df_combined3['ds'], df_combined3['y'], label='真实值',marker='o')\n", + " plt.plot(df_combined3['ds'], df_combined3[most_model], label=most_model_name)\n", + " plt.fill_between(df_combined3['ds'], df_combined3['min'], df_combined3['max'], alpha=0.2)\n", + " plt.grid(True)\n", + " # 当前日期画竖虚线\n", + " plt.axvline(x=df_combined3['ds'].iloc[-horizon], color='r', linestyle='--')\n", + " plt.legend()\n", + " plt.xlabel('日期')\n", + " plt.ylabel('价格')\n", + "\n", + " # # 显示历史值\n", + " for i, j in zip(df_combined3['ds'][:-5], df_combined3['y'][:-5]):\n", + " plt.text(i, j, str(j), ha='center', va='bottom')\n", + " plt.savefig(os.path.join(dataset,'历史价格-预测值.png'), bbox_inches='tight')\n", + " plt.show()\n", + " plt.close()\n", + "\n", + "\n", + "\n", + " # for model in most_model:\n", + " # print(model)\n", + " # plt.plot(df_combined3['ds'], df_combined3[model], label=model,marker='o')\n", + " # # 当前日期画竖虚线\n", + " # plt.axvline(x=df_combined3['ds'].iloc[-horizon], color='r', linestyle='--')\n", + " # plt.legend()\n", + " # plt.xlabel('日期')\n", + " # plt.ylabel('价格')\n", + " \n", + " # plt.savefig(os.path.join(dataset,'历史价格-预测值.png'), bbox_inches='tight')\n", + " # plt.show()\n", + " # plt.close()\n", + " \n", + " # # 预测值表格\n", + " # fig, ax = plt.subplots(figsize=(20, 6))\n", + " # ax.axis('off') # 关闭坐标轴\n", + " # # 数值保留2位小数\n", + " # df_combined3 = df_combined3.round(2)\n", + " # df_combined3 = df_combined3[-horizon:]\n", + " # df_combined3['Day'] = [f'Day_{i}' for i in range(1,horizon+1)]\n", + " # # Day列放到最前面\n", + " # df_combined3 = df_combined3[['Day'] + list(df_combined3.columns[:-1])]\n", + " # table = ax.table(cellText=df_combined3.values, colLabels=df_combined3.columns, loc='center')\n", + " # #加宽表格\n", + " # table.auto_set_font_size(False)\n", + " # table.set_fontsize(10)\n", + "\n", + " # # 设置表格样式,列数据最小的用绿色标识\n", + " # plt.savefig(os.path.join(dataset,'预测值表格.png'), bbox_inches='tight')\n", + " # plt.close()\n", + " # # plt.show()\n", + " \n", + " # # 可视化评估结果\n", + " # plt.rcParams['font.sans-serif'] = ['SimHei']\n", + " # fig, ax = plt.subplots(figsize=(20, 10))\n", + " # ax.axis('off') # 关闭坐标轴\n", + " # table = ax.table(cellText=model_results3.values, colLabels=model_results3.columns, loc='center')\n", + " # # 加宽表格\n", + " # table.auto_set_font_size(False)\n", + " # table.set_fontsize(10)\n", + "\n", + " # # 设置表格样式,列数据最小的用绿色标识\n", + " # plt.savefig(os.path.join(dataset,'模型评估.png'), bbox_inches='tight')\n", + " # plt.close()\n", + " # return model_results3\n", + "\n", + "\n", + "\n", + "\n", + "logger.info('训练数据绘图ing')\n", + "model_results3 = model_losss_juxiting(sqlitedb)\n", + "\n", + "logger.info('训练数据绘图end')\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "85b557de-8235-4e27-b5b8-58b36dfe6724", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "制作报告ing\n", + "制作报告ing\n", + "开始绘制价差类指标的相关性直方图\n", + "开始绘制价差类指标的相关性直方图\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "价差下正相关的特征值有: ['PP期货-丙烯价差(山东)/400DMA', 'PP-SC价差(7吨桶比)', '布伦特-PP价差(盘面)', '薄壁-拉丝价差(华北)', 'PP-FEI M4(含税成本)', '油制PP利润(华东)', 'PP-FEI M3(含税成本)', '价差:聚乙烯与乙烯(西北欧)', 'PP-FEI M2(含税成本)', 'PP-FEI M1(含税成本)', 'PP加权利润', '滨化PDH利润(1.169/含税)', 'PDH利润(山东/丙烯)', 'PP-FEI价差', '外采丙烯制聚丙烯利润(华东)', '5-9月差(PP)', '9-1月差(PP)']\n", + "正在绘制第1个特征PP期货-丙烯价差(山东)/400DMA与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征PP-SC价差(7吨桶比)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征布伦特-PP价差(盘面)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征薄壁-拉丝价差(华北)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征PP-FEI M4(含税成本)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "价差下负相关的特征值有: ['L-P价差', 'L-P价差(盘面)', 'PDH制PP利润(山东)', '低熔共聚-拉丝价差(华南)', '外采丙烯制聚丙烯利润(山东)', 'PDH制PP利润(华南)', '京博-滨化价差(不含税/1.13/580)', 'PP现货-丙烯价差(山东)', 'PP-3MA价差(盘面)', 'PP-3*MA主力', '透明-PP盘面价差(华北)', '透明-拉丝价差(华北)', 'PP期货-丙烯价差(山东)', 'PDH制PP利润(华东)指数修匀', 'PDH制PP利润(华东)', '华东拉丝-CP', '透明-PP盘面(华东)', 'LPG-PP价差(盘面)', '拉丝区域价差(华东-华北)', '透明-拉丝价差(华东)', 'PP盘中基差(临沂)', 'PP基差(盘中)', '外采甲醇制PP利润(西北)', '拉丝区域价差(华南-华北)', '滨化丙烷-PP边际贡献(不含税/510/收率1.169)', '滨化丙烯-京博PP边际贡献(不含税/600/收率1.169)', '粉粒价差(山东)', '外采甲醇制PP利润(太仓)', '1-5月差(PP)', '滨化丙烷-PP边际贡献(不含税/580/收率1.13)', '山东拉丝-CP', '山东拉丝-丙烯价差', '拉丝区域价差(华南-华东)']\n", + "正在绘制第1个特征L-P价差与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征L-P价差(盘面)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征PDH制PP利润(山东)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征低熔共聚-拉丝价差(华南)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征外采丙烯制聚丙烯利润(山东)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "价差类指标的相关性总和为:11.045084254496823\n", + "价差类指标的相关性总和为:11.045084254496823\n", + "D:\\liurui\\dev\\code\\PriceForecast\\models\\nerulforcastmodels.py:1638: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " grouped_corr = pd.concat([grouped_corr, goup_corr], axis=0, ignore_index=True)\n", + "开始绘制价格类指标的相关性直方图\n", + "开始绘制价格类指标的相关性直方图\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "价格下正相关的特征值有: ['PP神华竞拍(临沂)', 'PP:拉丝:S1003:市场主流价:常州:国能榆林化工(日)', 'PP神华竞拍(华东)', 'BOPP:成本:中国(日)', 'PP:BOPP:1103K:出厂价:华北地区:国家能源宁煤(日)', 'PP拉丝国内现货价格', 'PP:BOPP:1103K:出厂价:华南地区:宁夏神华宁煤(日)', 'PP:BOPP:1103K:出厂价:华东地区:国家能源宁煤(日)', 'PP神华竞拍(西安)', 'PP:薄壁注塑:1040TE:出厂价:华东地区:宁夏神华宁煤(日)', 'PP:薄壁注塑:1040TE:出厂价:华南地区:宁夏神华宁煤(日)', 'PP主力盘中', 'PP:拉丝:S1003:市场主流价:东莞:宝丰能源(日)', 'PP:BOPP:PPH-F03D:出厂价:华南地区:海南炼化装置一(日)', 'PP粉料(山东)/拼接', 'PP.DCE收盘价', 'PP主力收盘价', 'PP无纺布生产成本(日)', 'PP:薄壁注塑:PPH-MN60:出厂价:华南地区:中石化北海(日)', 'PP:低熔共聚:K8003:出厂价:华东地区:东华能源(宁波)(日)', 'PP:薄壁注塑:BZ-70:出厂价:华北地区:寿光鲁清(日)', 'PP:中熔共聚:2043N:出厂价:华南地区:国家能源宁煤(日)', 'PP:中熔共聚:2043N:出厂价:华东地区:国家能源宁煤(日)', 'PP:薄壁注塑:TM6000H:出厂价:华南地区:福建联合石化(日)', 'PP:低熔共聚:2500H:市场价:厦门:国家能源宁煤(日)', 'PP:拉丝:1102K:市场价:临沂:国家能源宁煤(日)', 'PP:低熔共聚:K8003:自提价:广州:宝丰能源(日)', 'PP:透明:R3080T:出厂价:华东地区:浙江鸿基(日)', 'PP:中熔共聚:EP5010C:出厂价:华北地区:中沙天津(日)', 'PP:BOPP:PPH-FL03-S:出厂价:华北地区:青岛炼化(日)', 'PP:中熔共聚:SP179P:出厂价:华北地区:中石化齐鲁化工(日)', 'PP:拉丝:1102K:市场价:青州:国家能源宁煤(日)', 'PP:透明:R3260T:出厂价:华东地区:浙江鸿基(日)', 'PP:低熔共聚:K8003:自提价:宁波:国能榆林化工(日)', 'PP:低熔共聚:K8003:市场价:杭州:东华能源(宁波)(日)', 'PP粉料(山东)', 'PP:中熔共聚:EP440N:出厂价:华南地区:中科炼化(日)', 'PP:中熔共聚:YPJ1215C:出厂价:华东地区:扬子石化(日)', 'DCE:化工产品:期货价格指数收盘价(日)', 'PP:薄壁注塑:PPH-MM60:出厂价:华北地区:石家庄炼化(日)', 'PP:低熔共聚:EPS30R:市场价:临沂:榆能化(日)', 'PP:薄壁注塑:M60ET:出厂价:华东地区:镇海炼化(日)', 'CPP:二元共聚膜:PPR-F08-S:出厂价:华南地区:茂名石化(日)', 'CPP:二元共聚膜:PPR-F08M-S:出厂价:华南地区:茂名石化(日)', '现货价(中间价):均聚聚丙烯(PP-H):CFR远东', 'BOPP:厚光膜:出厂价:华北地区:山东永冠(日)', 'PP:无规共聚:HC-M700B:出厂价:华北地区:山东东明(日)', 'PP:透明:HC-RP340R:出厂价:华北地区:山东东明(日)', 'PP:低熔共聚:2500H:市场价:台州:国家能源宁煤(日)', 'PP:薄壁注塑:K1870-B:市场价:临沂:榆能化(日)', 'PP:高熔共聚:EP300R:市场价:青岛:宝来石化(日)', 'PP:高熔共聚:2240S:出厂价:华南地区:国家能源宁煤(日)', 'PP:高熔共聚:M30RH:市场价:合肥:中安联合(日)', '现货价(中间价):均聚聚丙烯(PP-H):FOB中东', 'DCE:塑料:期货价格指数收盘价(日)', 'PP:透明:HT9025ZK:出厂价:华南地区:中科炼化(日)', 'PP:中熔共聚:K8009:出厂价:华南地区:广州石化(日)', 'PP:透明:PPR-MT75N:出厂价:华中地区:中原中石化(日)', 'PP:透明:PPR-MT25:出厂价:华中地区:中原中石化(日)', 'BOPP:12μ光膜:出厂价:华北地区:凯达包装(日)', 'PP:高熔共聚:EP548R:市场价:临沂:万华化学(日)', 'PP:透明:PPR-B10:出厂价:华中地区:中原中石化(日)', '现货价(中间价):聚丙烯PP(纤维/注塑):CFR东南亚', 'PP:高熔共聚:EP548R:出厂价:华南地区:中海壳牌(日)', '热水管:YPR-503:出厂价:华东地区:扬子石化(日)', '热水管:T4401:出厂价:华南地区:茂名石化(日)', 'CPP:二元共聚膜:DY-W0723F:市场主流价:天津:独山子石化(日)', 'PP:高熔共聚:EP548R:市场价:广州:中科炼化(日)', 'PP:透明:HT9025NX:出厂价:华南地区:茂名石化(日)', '热水管:PA14D:出厂价:华东地区:大庆炼化(日)', '热水管:PPR-4220:出厂价:华南地区:广州石化(日)', '再生PP市场价/山东(日)', '现货价(中间价):聚丙烯PP(纤维/注塑):FAS休斯敦', '现货价(中间价):聚丙烯PP(纤维/注塑):FOB西北欧', 'CPP:二元共聚膜:F800EDF:出厂价:华东地区:上海石化(日)', '热水管:PA14D:市场价:青州:大庆炼化(日)', 'PP:透明:HT9025NX:市场主流价:广州:中石化茂名(日)', '西北欧:现货价:FOB低密度聚乙烯', 'PP:BOPP:F03BT:出厂价:华东地区:镇海炼化(日)', 'PP:高熔共聚:2240S:自提价:常州:国家能源宁煤(日)', '塑编:透明:30cm*45cm:市场价:山东(日)', 'BOPP:生产毛利:中国(日)', '塑编原材料库存天数', 'BOPP:18μ光膜:市场低端价:青岛(日)', 'PP:透明:M26ET:出厂价:华东地区:镇海炼化(日)', 'PP:透明:M08ETN:出厂价:华东地区:镇海炼化(日)', 'PP无纺布开工率', '塑编产成品库存', 'PET瓶片:利润:中国(日)7DMA', '塑编产成品库存天数', '塑编订单天数', 'PP:低熔共聚:市场价:华南地区(日)', 'CPP薄膜成本(日)', '中国BOPP订单天数', '中国BOPP原料库存天数', 'PP多空情绪强弱指数', 'PP主力收盘价拟合残差/丙烷 CP M1', 'PE注塑开工率/周', 'PP:BOPP:L5D98:出厂价:华南地区:广东石化(日)', 'PP:看升比例:中国(周)', '美国-中国PS(GPPS)价差', 'PP无纺布:生产毛利:中国(周)', '塑编整体开工率', '华南聚丙烯基差(折盘面收盘价)', '中国PP下游平均开工率', '华东聚丙烯基差(折盘面收盘价)', 'PP看空情绪指数环差', 'PP:看平比例:中国(周)']\n", + "正在绘制第1个特征PP神华竞拍(临沂)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征PP:拉丝:S1003:市场主流价:常州:国能榆林化工(日)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征PP神华竞拍(华东)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征BOPP:成本:中国(日)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征PP:BOPP:1103K:出厂价:华北地区:国家能源宁煤(日)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "价格下负相关的特征值有: ['中国PP无纺布原料库存天数', '中国PP无纺布成品库存天数', '中国PP无纺布原料库存量', 'PP无纺布:厂内库存:中国(周)', '中国BOPP成品库存量', '中国BOPP成品库存天数', '印度粉矿:57%Fe:品牌价格:青岛港', 'PP:看跌比例:中国(周)', 'PP管材开工率', 'PP:低熔共聚:2500HY:市场价:临沂:国家能源宁煤(日)', '煤制聚丙烯利润', 'CPP:二元共聚膜:F08EC:出厂价:华东地区:镇海炼化(日)', 'PP:低熔共聚:K8003:出厂价:临沂:宝丰能源(日)', 'BOPP开工率', 'PP:低熔共聚:K8003:出厂价:常州:宝丰能源(日)', 'PP:低熔共聚:K8003:出厂价:河北、鲁北:大唐内蒙多伦(日)', '华北聚丙烯基差(折盘面收盘价)', 'DCE:工业产品:期货价格综合指数收盘价(日)']\n", + "正在绘制第1个特征中国PP无纺布原料库存天数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征中国PP无纺布成品库存天数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征中国PP无纺布原料库存量与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征PP无纺布:厂内库存:中国(周)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征中国BOPP成品库存量与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "价格类指标的相关性总和为:91.9826336555467\n", + "价格类指标的相关性总和为:91.9826336555467\n", + "开始绘制供应类指标的相关性直方图\n", + "开始绘制供应类指标的相关性直方图\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "供应下正相关的特征值有: ['PP开工率(1MMA)', 'PP周度开工率', 'PP开工率/7DMA', 'PP开工率/2WMA', 'PP日度开工率', 'PP/开工率/东北地区(日)', 'PP开工率/华中地区(日)', 'PP开工率/华南地区(日)', 'PP开工率/华北地区(日)', 'PP下游综合开工率(少注塑&CPP)', 'PP无纺布生产毛利', 'CPP:均聚:生产比例:中国(日)', 'PP:高熔纤维:生产比例:中国(日)', '中国再生PP周度开工负荷率同差', '冷水管:生产比例:中国(日)', 'PP粉料开工率(4WMA)', 'PP开工率/西北地区(日)', '中国再生PP周度开工负荷率', 'PP:拉丝:生产比例:中国(日)', 'BOPP开工率(隆众)同差', 'BOPP开工率同差', 'PP粉料开工率', 'PP:涂覆料:生产比例:中国(日)', 'PP:薄壁注塑:生产比例:中国(日)', 'PP开工率/西南地区(日)', 'PP下游综合开工率/2WMA', 'PP:低熔共聚:生产比例:中国(日)', 'PP开工率/华东地区(日)', 'PP:中熔共聚:生产比例:中国(日)', 'PP:均聚注塑:生产比例:中国(日)', 'PP日产/PE日产']\n", + "正在绘制第1个特征PP开工率(1MMA)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征PP周度开工率与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征PP开工率/7DMA与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征PP开工率/2WMA与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征PP日度开工率与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "供应下负相关的特征值有: ['PP粉检修减损量(周)', 'PP日度产量(粒料+粉料)', 'PP周度产量', 'PP日度产量7DMA', 'PP日度产量', 'PP周度产量变频', 'PP日度产量(1MMA)', 'PP周度产量/4WMA', 'PP管材开工率同差', 'PP周度产量同差', 'PP开工率同差', 'PP检修减损量', 'PP周度产量同比', 'PP日度产量同差', 'PP检修损失量(万吨/年)', 'PP检修减损量(日)', 'PP日度产量同比', 'PP下游综合开工率同差', 'PP粉料产量(钢联)7DMA', 'PP周度检修率', 'PP粉产量/中国(日)', 'CPP:三元共聚薄膜:生产比例:中国(日)', 'PP下游综合开工率/3年超季节性', 'CPP:二元共聚膜:生产比例:中国(日)', 'PP:透明:生产比例:中国(日)', 'BOPP开工率(4WMA)', 'PP周度产量周环差', 'PP:中熔纤维:生产比例:中国(日)', 'PP无纺布开工率同差', 'PP下游开工/PE下游开工', 'PP:无规共聚:生产比例:中国(日)', '热水管:生产比例:中国(日)', 'PP:高熔共聚:生产比例:中国(日)', 'PP日度产量1000天百分位', 'PP日度产量环差']\n", + "正在绘制第1个特征PP粉检修减损量(周)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征PP日度产量(粒料+粉料)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征PP周度产量与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征PP日度产量7DMA与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征PP日度产量与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "供应类指标的相关性总和为:19.676577761750373\n", + "供应类指标的相关性总和为:19.676577761750373\n", + "开始绘制其他类指标的相关性直方图\n", + "开始绘制其他类指标的相关性直方图\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "其他下正相关的特征值有: ['PP连续-1月', 'PP连续-9月', 'PP连续-5月', '山东丙烯主流价', 'FEI丙烷 M1', 'PVC期货主力', '丙烷(山东)', '甲醇鲁南价格', '甲醇太仓港口价格', 'PE期货收盘价', 'LME铜价']\n", + "正在绘制第1个特征PP连续-1月与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征PP连续-9月与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征PP连续-5月与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征山东丙烯主流价与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征FEI丙烷 M1与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "其他下负相关的特征值有: ['在岸人民币汇率', '黄金连1合约', '美元指数', 'Brent-WTI', '南华工业品指数']\n", + "正在绘制第1个特征在岸人民币汇率与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征黄金连1合约与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征美元指数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征Brent-WTI与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征南华工业品指数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "其他类指标的相关性总和为:12.061155519572203\n", + "其他类指标的相关性总和为:12.061155519572203\n", + "开始绘制库存类指标的相关性直方图\n", + "开始绘制库存类指标的相关性直方图\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "库存下正相关的特征值有: ['PP贸易商库存(钢联)同比', 'PP期末库存/天津港(周)', '塑编原材料库存', 'PP下游原料库存', 'BOPP订单天数-产成品库存天数(隆众)', 'PP期末库存/厦门港(周)', '中国BOPP原料库存量', 'PP粉料库存', 'PP库存 (地方炼厂)', '聚烯烃两油库存', 'PP:期末库存:青岛港(周)', 'PP库存(PDH)超季节性(3Y)', 'PP贸易商库存(钢联)', 'PP拉丝期末库存(周)', '聚烯烃两油库存同比', 'PP周度总库存', 'PP炼厂库存+PDH库存', 'PP期末库存/宁波港(周)', '中国BOPP周度原料库存天数(T)', 'PP粉料库存(吨)变化', 'PP上游库存(两油+煤+PDH+地方)']\n", + "正在绘制第1个特征PP贸易商库存(钢联)同比与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征PP期末库存/天津港(周)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征塑编原材料库存与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征PP下游原料库存与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征BOPP订单天数-产成品库存天数(隆众)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "库存下负相关的特征值有: ['中国BOPP周度产成品库存天数(T)', 'PP下游原料库存天数', '中国CPP成品库存天数', '中国再生PP样本企业周度库存', 'PP库存(PDH)', '聚烯烃两油库存1000天百分位', '中国CPP原料库存天数', '中国CPP成品库存量', 'PP期末库存/广州港(周)', 'BOPP原料库存+产成品库存天数', 'PP期末库存/上海港(周)', '中国PP港口期末库存', 'PP上游库存(两油+煤+PDH)', 'PP两油+煤制库存', 'PP两桶油/库存(周)', 'PP库存(煤制)', '中国BOPP原料库存天数同差']\n", + "正在绘制第1个特征中国BOPP周度产成品库存天数(T)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征PP下游原料库存天数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征中国CPP成品库存天数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征中国再生PP样本企业周度库存与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征PP库存(PDH)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "库存类指标的相关性总和为:11.265124823866078\n", + "库存类指标的相关性总和为:11.265124823866078\n", + "开始绘制进出口类指标的相关性直方图\n", + "开始绘制进出口类指标的相关性直方图\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "进出口下正相关的特征值有: ['聚丙烯出口利润']\n", + "正在绘制第1个特征聚丙烯出口利润与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "进出口下负相关的特征值有: ['聚丙烯进口利润']\n", + "正在绘制第1个特征聚丙烯进口利润与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "进出口类指标的相关性总和为:1.621285695326623\n", + "进出口类指标的相关性总和为:1.621285695326623\n", + "开始绘制需求类指标的相关性直方图\n", + "开始绘制需求类指标的相关性直方图\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "需求下正相关的特征值有: ['中国:华东地区:市场平均价:BOPP厚光膜', 'BOPP利润(华东地区)', '中国BOPP订单天数/4WMA', 'PP部分下游订单天数', 'BOPP 订单-成品天数', 'BOPP订单天数变频', 'BOPP完工订单工作量(周)', 'BOPP开工率超季节性/3年', 'BOPP新订单量(7DMA)', '中国再生PP周度样本成交量', 'BOPP日度新订单量(T)', '中国BOPP订单天数同差', '中国BOPP成品库存量同差']\n", + "正在绘制第1个特征中国:华东地区:市场平均价:BOPP厚光膜与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征BOPP利润(华东地区)与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第3个特征中国BOPP订单天数/4WMA与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第4个特征PP部分下游订单天数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第5个特征BOPP 订单-成品天数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "需求下负相关的特征值有: ['PP下游成品库存天数', '中国CPP订单天数']\n", + "正在绘制第1个特征PP下游成品库存天数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "正在绘制第2个特征中国CPP订单天数与价格散点图...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "需求类指标的相关性总和为:6.76636659497056\n", + "需求类指标的相关性总和为:6.76636659497056\n", + "开始绘制相关性总和的气泡图\n", + "开始绘制相关性总和的气泡图\n", + "绘制相关性总和的气泡图结束\n", + "绘制相关性总和的气泡图结束\n", + "制作报告end\n", + "制作报告end\n", + "模型训练完成\n", + "模型训练完成\n" + ] + } + ], + "source": [ + "# 模型报告\n", + "\n", + "logger.info('制作报告ing')\n", + "title = f'{settings}--{now}-预测报告' # 报告标题\n", + "\n", + "pp_export_pdf(dataset=dataset,num_models = 5 if is_fivemodels else 22,time=end_time,\n", + " reportname=reportname,sqlitedb=sqlitedb),\n", + "\n", + "logger.info('制作报告end')\n", + "logger.info('模型训练完成')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4129e71-ee2c-4af1-81ed-fadf14efa206", + "metadata": {}, + "outputs": [], + "source": [ + "# 发送邮件\n", + "m = SendMail(\n", + " username=username,\n", + " passwd=passwd,\n", + " recv=recv,\n", + " title=title,\n", + " content=content,\n", + " file=max(glob.glob(os.path.join(dataset,'*.pdf')), key=os.path.getctime),\n", + " ssl=ssl,\n", + ")\n", + "# m.send_mail() \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}