{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":84493,"databundleVersionId":9871156,"sourceType":"competition"}],"dockerImageVersionId":30786,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv, pd.read_parquet )\nimport polars as pl\nimport time \n\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nfrom matplotlib import pyplot as plt\nfrom matplotlib.ticker import MaxNLocator, FormatStrFormatter, PercentFormatter\n\nimport os, gc\nfrom tqdm.auto import tqdm\nimport pickle # module to serialize and deserialize objects\n\nimport warnings\nwarnings.filterwarnings('ignore')\n\nfrom sklearn.preprocessing import StandardScaler, MinMaxScaler, RobustScaler, binarize\nfrom sklearn.preprocessing import OrdinalEncoder, PolynomialFeatures, OneHotEncoder, LabelEncoder \n\nimport kaggle_evaluation.jane_street_inference_server\n\npd.set_option('display.max_rows', 250)\npd.set_option('display.max_columns', 800)\npd.set_option('display.max_seq_items', 800)\npd.set_option('display.width', 1000)\npl.Config.set_tbl_width_chars(120)\npl.Config.set_tbl_rows(120)\n\n","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:38:50.158283Z","iopub.execute_input":"2024-12-03T01:38:50.158656Z","iopub.status.idle":"2024-12-03T01:38:51.897156Z","shell.execute_reply.started":"2024-12-03T01:38:50.158615Z","shell.execute_reply":"2024-12-03T01:38:51.896041Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def reduce_mem_usage(df, verbose=True):\n    numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']\n    start_mem = df.memory_usage().sum() / 1024**2    \n    for col in df.columns:\n        col_type = df[col].dtypes\n        if col_type in numerics:\n            c_min = df[col].min()\n            c_max = df[col].max()\n            if str(col_type)[:3] == 'int':\n                if c_min > np.iinfo(np.int8).min and c_max < np.iinfo(np.int8).max:\n                    df[col] = df[col].astype(np.int8)\n                elif c_min > np.iinfo(np.int16).min and c_max < np.iinfo(np.int16).max:\n                    df[col] = df[col].astype(np.int16)\n                elif c_min > np.iinfo(np.int32).min and c_max < np.iinfo(np.int32).max:\n                    df[col] = df[col].astype(np.int32)\n                elif c_min > np.iinfo(np.int64).min and c_max < np.iinfo(np.int64).max:\n                    df[col] = df[col].astype(np.int64)  \n            else:\n                if c_min > np.finfo(np.float16).min and c_max < np.finfo(np.float16).max:\n                    df[col] = df[col].astype(np.float16)\n                elif c_min > np.finfo(np.float32).min and c_max < np.finfo(np.float32).max:\n                    df[col] = df[col].astype(np.float32)\n                else:\n                    df[col] = df[col].astype(np.float64)    \n    end_mem = df.memory_usage().sum() / 1024**2\n    if verbose: print('Mem. usage decreased to {:5.2f} Mb ({:.1f}% reduction)'.format(end_mem, 100 * (start_mem - end_mem) / start_mem))\n    return df","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:38:51.899095Z","iopub.execute_input":"2024-12-03T01:38:51.899529Z","iopub.status.idle":"2024-12-03T01:38:51.910449Z","shell.execute_reply.started":"2024-12-03T01:38:51.899496Z","shell.execute_reply":"2024-12-03T01:38:51.909097Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"%%time\n\npath = \"/kaggle/input/jane-street-real-time-market-data-forecasting\"\nsamples = [] \n\n# Load a data from each file:\nr = range(3)\nfor i in r:\n    print(i)\n    file_path = f\"{path}/train.parquet/partition_id={i}/part-0.parquet\"\n    part = pl.read_parquet(file_path)\n    samples.append(part)\n    \ndf = pl.concat(samples) \n\n# df.round(1)\ndf.shape","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:38:51.912145Z","iopub.execute_input":"2024-12-03T01:38:51.912600Z","iopub.status.idle":"2024-12-03T01:38:59.918121Z","shell.execute_reply.started":"2024-12-03T01:38:51.912551Z","shell.execute_reply":"2024-12-03T01:38:59.917042Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"\n\n\n# df.describe().transpose()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:38:59.920164Z","iopub.execute_input":"2024-12-03T01:38:59.920481Z","iopub.status.idle":"2024-12-03T01:38:59.925030Z","shell.execute_reply.started":"2024-12-03T01:38:59.920448Z","shell.execute_reply":"2024-12-03T01:38:59.923913Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"t1 = time.time()\n\ndf = df.to_pandas()\n\nt2 = time.time()\n\nprint(\"    {}: {:.5f} seconds\".format(\"time check\",t2 - t1))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:38:59.926520Z","iopub.execute_input":"2024-12-03T01:38:59.926999Z","iopub.status.idle":"2024-12-03T01:39:04.800813Z","shell.execute_reply.started":"2024-12-03T01:38:59.926948Z","shell.execute_reply":"2024-12-03T01:39:04.799817Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"848/8\n\n# 8, 16, 53, \nplt.hist(df['time_id'], bins=24)\nplt.xlabel('Value')\nplt.ylabel('Frequency')\nplt.title('Histogram')\nplt.show()\n\n# feature_21, feature_26, feature_27","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:39:04.802124Z","iopub.execute_input":"2024-12-03T01:39:04.802495Z","iopub.status.idle":"2024-12-03T01:39:05.166643Z","shell.execute_reply.started":"2024-12-03T01:39:04.802448Z","shell.execute_reply":"2024-12-03T01:39:05.165573Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"norm_dist = ['feature_01', 'feature_04', 'feature_08', 'feature_18', 'feature_19',\n            'feature_24', 'feature_32', 'feature_34', 'feature_35', 'feature_36',\n             'feature_45', 'feature_46', 'feature_50', 'feature_52', 'feature_53',\n             'feature_55', 'feature_56', 'feature_57', 'feature_65', 'feature_66',\n            \n             'responder_0', 'responder_1', 'responder_2', 'responder_3', 'responder_4',\n             'responder_5', 'responder_7', 'responder_8',\n             \n             'feature_26', \n             \n             'time_id'\n            ]\n\nnorm_dist_longtails = ['feature_05', 'feature_06', 'feature_07', 'feature_37', \n                       'feature_38','feature_47', 'feature_48', 'feature_49', \n                       'feature_58', 'feature_59','feature_60']\n     \nmultimodal_dist2 = [ 'feature_20', 'feature_28', 'feature_33', 'feature_39', \n                     'feature_40', 'feature_41', 'feature_42', 'feature_43', \n                     'feature_44','feature_51', 'feature_54']\n\nmultimodal_dist3 =['feature_00', 'feature_02', 'feature_03', 'feature_23', 'feature_27']\n\nmulti_n_dist = ['feature_61']\n\nskewed_right = ['feature_12', 'feature_13', 'feature_14', 'feature_15', \n                'feature_16', 'feature_17', 'feature_22', 'feature_25', \n                'feature_29', 'feature_30', 'feature_62', 'feature_63', \n               'feature_64', 'feature_67', 'feature_68', 'feature_69',\n               'feature_70', 'feature_71', 'feature_72', 'feature_73', \n                'feature_74', 'feature_75', 'feature_76', 'feature_77', \n                'feature_78', \n                # 'feature_21',\n               ]\n\ncategorical = ['feature_09', 'feature_10', 'feature_11', \n               # 'symbol_id'\n              ]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:48:30.811192Z","iopub.execute_input":"2024-12-03T01:48:30.812226Z","iopub.status.idle":"2024-12-03T01:48:30.823673Z","shell.execute_reply.started":"2024-12-03T01:48:30.812166Z","shell.execute_reply":"2024-12-03T01:48:30.822548Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"\ndf.isna().sum()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T02:05:10.309518Z","iopub.execute_input":"2024-12-03T02:05:10.309922Z","iopub.status.idle":"2024-12-03T02:05:11.821912Z","shell.execute_reply.started":"2024-12-03T02:05:10.309883Z","shell.execute_reply":"2024-12-03T02:05:11.820824Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"## fill na with mean\n\n\nfor i in norm_dist:\n    mean_val = df[i].mean()\n    df[i] = df[i].fillna(mean_val)\n    df[i] = df[i].fillna(0)\n\nfor i in norm_dist_longtails:\n    mean_val = df[i].mean()\n    df[i] = df[i].fillna(mean_val)\n    df[i] = df[i].fillna(0)\n\nfor i in multimodal_dist2:\n    mean_val = df[i].mean()\n    df[i] = df[i].fillna(mean_val)\n    df[i] = df[i].fillna(0)\n\nfor i in multimodal_dist3:\n    mean_val = df[i].mean()\n    df[i] = df[i].fillna(mean_val)\n    df[i] = df[i].fillna(0)\n\nfor i in multi_n_dist:\n    mean_val = df[i].mean()\n    df[i] = df[i].fillna(mean_val)\n    df[i] = df[i].fillna(0)\n\n\nfor i in skewed_right:\n    mean_val = df[i].mean()\n    df[i] = df[i].fillna(mean_val)\n    df[i] = df[i].fillna(0)\n\nfor i in categorical:\n    mean_val = df[i].mean()\n    # df[i] = df[i].fillna(mean_val)\n    df[i] = df[i].fillna(999)\n    ","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T02:05:02.921448Z","iopub.execute_input":"2024-12-03T02:05:02.922313Z","iopub.status.idle":"2024-12-03T02:05:06.909874Z","shell.execute_reply.started":"2024-12-03T02:05:02.922262Z","shell.execute_reply":"2024-12-03T02:05:06.908693Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"## transform right/positive skewed vars\n\nfrom sklearn.preprocessing import PowerTransformer\npt = PowerTransformer()\n\nfor i in skewed_right:\n    print(i)\n    print(f'{i}_yj')\n    df[f'{i}_yj'] = pt.fit_transform(df[[f'{i}']])\n    \n# sample_df['feature_12_yj'] = pt.fit_transform(sample_df[['feature_12']])\n# sample_df[['feature_12_yj', 'feature_12']]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:48:40.793662Z","iopub.execute_input":"2024-12-03T01:48:40.794489Z","iopub.status.idle":"2024-12-03T01:54:35.021841Z","shell.execute_reply.started":"2024-12-03T01:48:40.794448Z","shell.execute_reply":"2024-12-03T01:54:35.020655Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# multimodal distributions\n\n# multimodal_dist2 feature_20\n# multimodal_dist3\n\n# https://scikit-learn.org/1.5/modules/mixture.html\n# next -- try clustering\n\nfrom sklearn.mixture import GaussianMixture\n\ngmm2 = GaussianMixture(n_components=2, random_state=31)\ngmm3 = GaussianMixture(n_components=3, random_state=31)\n\nfor i in multimodal_dist2:\n    print(i)\n    print(f'{i}_gm')\n    gmm2.fit(df[[f'{i}']])\n    df[f'{i}_gm'] = gmm2.predict(df[[f'{i}']])\n    \nfor i in multimodal_dist3:\n    print(i)\n    print(f'{i}_gm3')\n    gmm3.fit(df[[f'{i}']])\n    df[f'{i}_gm3'] = gmm3.predict(df[[f'{i}']])\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:57:05.620431Z","iopub.execute_input":"2024-12-03T01:57:05.620922Z","iopub.status.idle":"2024-12-03T02:02:28.442325Z","shell.execute_reply.started":"2024-12-03T01:57:05.620876Z","shell.execute_reply":"2024-12-03T02:02:28.440596Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# df['feature_20_gm'].value_counts()\n\n# plt.hist(df[df['feature_28_gm'] == 0]['feature_28'], bins=55)\n# # plt.hist(df['feature_28'], bins=55)\n# plt.xlabel('Value')\n# plt.ylabel('Frequency')\n# plt.title('Histogram')\n# plt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.356961Z","iopub.status.idle":"2024-12-03T01:45:07.357329Z","shell.execute_reply.started":"2024-12-03T01:45:07.357159Z","shell.execute_reply":"2024-12-03T01:45:07.357177Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"one_hot_vars = categorical + ['feature_00_gm3', 'feature_02_gm3', 'feature_03_gm3', 'feature_23_gm3']\n\none_hot_vars","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.358980Z","iopub.status.idle":"2024-12-03T01:45:07.359516Z","shell.execute_reply.started":"2024-12-03T01:45:07.359251Z","shell.execute_reply":"2024-12-03T01:45:07.359278Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print('one_hot time')\n\ndf = reduce_mem_usage(df)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.362279Z","iopub.status.idle":"2024-12-03T01:45:07.362837Z","shell.execute_reply.started":"2024-12-03T01:45:07.362541Z","shell.execute_reply":"2024-12-03T01:45:07.362569Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"## categorical vars\n\noenc = OneHotEncoder(handle_unknown='ignore')\n\n\ndef onehot_transform_df(data):\n    enc = oenc.fit_transform(data[one_hot_vars])\n    pickle.dump(oenc, open('oenc.pkl', 'wb'))\n    enc = enc.toarray() \n    enc = pd.DataFrame(enc, columns = oenc.get_feature_names_out()).reset_index(drop=True)\n    data = data.reset_index(drop=True)\n    data = data.join(enc)\n\n    return data\n\ndf = onehot_transform_df(df)\ndf.columns","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.364428Z","iopub.status.idle":"2024-12-03T01:45:07.364994Z","shell.execute_reply.started":"2024-12-03T01:45:07.364690Z","shell.execute_reply":"2024-12-03T01:45:07.364718Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df.head(5)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.366499Z","iopub.status.idle":"2024-12-03T01:45:07.367034Z","shell.execute_reply.started":"2024-12-03T01:45:07.366746Z","shell.execute_reply":"2024-12-03T01:45:07.366795Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"## normalize data \n\ntarget = ['responder_6']\ntarget_scaler = MinMaxScaler()    \ntarget_scaler.fit(df[target])\n\n\n# save scaler for re-use\npickle.dump(target_scaler, open('target_scaler.pkl', 'wb'))\n\n\nscaler1 = MinMaxScaler()\nscaler2 = RobustScaler()\n\nscaler3 = MinMaxScaler()\n\nprint('scalers set up')\n\n# norm_dist   norm_dist_longtails  \ncols_to_norm3 = multi_n_dist + skewed_right\ncols_to_norm3","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.368524Z","iopub.status.idle":"2024-12-03T01:45:07.369096Z","shell.execute_reply.started":"2024-12-03T01:45:07.368814Z","shell.execute_reply":"2024-12-03T01:45:07.368843Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"\n\ndef fit_normalize_training(df):\n\n    scaler1.fit(df[norm_dist])\n    pickle.dump(scaler1, open('scaler1.pkl', 'wb'))\n    \n    scaler2.fit(df[norm_dist_longtails])\n    pickle.dump(scaler2, open('scaler2.pkl', 'wb'))\n    \n    scaler3.fit(df[cols_to_norm3])\n    pickle.dump(scaler3, open('scaler3.pkl', 'wb'))\n    \n    df[norm_dist] = scaler1.transform(df[norm_dist])\n    df[norm_dist_longtails] = scaler2.transform(df[norm_dist_longtails])\n    df[cols_to_norm3] = scaler3.transform(df[cols_to_norm3])\n    \n    df[target] = target_scaler.transform(df[target])\n    return df\n\ndf = fit_normalize_training(df)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.370817Z","iopub.status.idle":"2024-12-03T01:45:07.371344Z","shell.execute_reply.started":"2024-12-03T01:45:07.371066Z","shell.execute_reply":"2024-12-03T01:45:07.371094Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"## lag time\n\ndf['responder_6_1'] = df.groupby(['symbol_id'])['responder_6'].shift(1)\ndf['responder_6_2'] = df.groupby(['symbol_id'])['responder_6'].shift(2)\ndf['responder_6_3'] = df.groupby(['symbol_id'])['responder_6'].shift(3)\ndf['responder_6_4'] = df.groupby(['symbol_id'])['responder_6'].shift(4)\ndf['responder_6_5'] = df.groupby(['symbol_id'])['responder_6'].shift(5)\ndf['responder_6_6'] = df.groupby(['symbol_id'])['responder_6'].shift(6)\ndf['responder_6_7'] = df.groupby(['symbol_id'])['responder_6'].shift(7)\ndf['responder_6_8'] = df.groupby(['symbol_id'])['responder_6'].shift(8)\ndf['responder_6_9'] = df.groupby(['symbol_id'])['responder_6'].shift(9)\ndf['responder_6_10'] = df.groupby(['symbol_id'])['responder_6'].shift(10)\n\ndf['responder_1_1'] = df.groupby(['symbol_id'])['responder_1'].shift(1)\ndf['responder_1_2'] = df.groupby(['symbol_id'])['responder_1'].shift(3)\ndf['responder_1_3'] = df.groupby(['symbol_id'])['responder_1'].shift(7)\n\ndf['responder_2_1'] = df.groupby(['symbol_id'])['responder_1'].shift(1)\ndf['responder_2_2'] = df.groupby(['symbol_id'])['responder_2'].shift(3)\ndf['responder_2_3'] = df.groupby(['symbol_id'])['responder_2'].shift(7)\n\ndf['responder_3_1'] = df.groupby(['symbol_id'])['responder_3'].shift(1)\ndf['responder_3_2'] = df.groupby(['symbol_id'])['responder_3'].shift(3)\ndf['responder_3_3'] = df.groupby(['symbol_id'])['responder_3'].shift(7)\n\ndf['responder_4_1'] = df.groupby(['symbol_id'])['responder_4'].shift(1)\ndf['responder_4_2'] = df.groupby(['symbol_id'])['responder_4'].shift(3)\ndf['responder_4_3'] = df.groupby(['symbol_id'])['responder_4'].shift(7)\n\ndf['responder_5_1'] = df.groupby(['symbol_id'])['responder_5'].shift(1)\ndf['responder_5_2'] = df.groupby(['symbol_id'])['responder_5'].shift(3)\ndf['responder_5_3'] = df.groupby(['symbol_id'])['responder_5'].shift(7)\n\ndf['responder_7_1'] = df.groupby(['symbol_id'])['responder_7'].shift(1)\ndf['responder_7_2'] = df.groupby(['symbol_id'])['responder_7'].shift(3)\ndf['responder_7_3'] = df.groupby(['symbol_id'])['responder_7'].shift(7)\n\ndf['responder_8_1'] = df.groupby(['symbol_id'])['responder_8'].shift(1)\ndf['responder_8_2'] = df.groupby(['symbol_id'])['responder_8'].shift(3)\ndf['responder_8_3'] = df.groupby(['symbol_id'])['responder_8'].shift(7)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.372519Z","iopub.status.idle":"2024-12-03T01:45:07.373068Z","shell.execute_reply.started":"2024-12-03T01:45:07.372791Z","shell.execute_reply":"2024-12-03T01:45:07.372819Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df.isna().sum()\n# df.columns","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.374924Z","iopub.status.idle":"2024-12-03T01:45:07.375469Z","shell.execute_reply.started":"2024-12-03T01:45:07.375192Z","shell.execute_reply":"2024-12-03T01:45:07.375220Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"lag_cols = ['responder_6_1', 'responder_6_2', 'responder_6_3', 'responder_6_4', 'responder_6_5', \n 'responder_6_6', 'responder_6_7', 'responder_6_8', 'responder_6_9', 'responder_6_10', \n 'responder_1_1', 'responder_1_2', 'responder_1_3', 'responder_2_1','responder_2_2', \n 'responder_2_3', 'responder_3_1', 'responder_3_2', 'responder_3_3', 'responder_4_1', \n 'responder_4_2', 'responder_4_3', 'responder_5_1', 'responder_5_2', 'responder_5_3', \n 'responder_7_1', 'responder_7_2', 'responder_7_3', 'responder_8_1', 'responder_8_2', \n 'responder_8_3']\n\nfor i in lag_cols:\n    mean_val = df[i].mean()\n    df[i] = df[i].fillna(mean_val)\n    df[i] = df[i].fillna(0)\n\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.377345Z","iopub.status.idle":"2024-12-03T01:45:07.377909Z","shell.execute_reply.started":"2024-12-03T01:45:07.377610Z","shell.execute_reply":"2024-12-03T01:45:07.377639Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df.isna().sum()\n\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.380014Z","iopub.status.idle":"2024-12-03T01:45:07.380562Z","shell.execute_reply.started":"2024-12-03T01:45:07.380291Z","shell.execute_reply":"2024-12-03T01:45:07.380320Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"\n\ndf.to_parquet('js_data_processed.parquet')\n\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.382544Z","iopub.status.idle":"2024-12-03T01:45:07.383111Z","shell.execute_reply.started":"2024-12-03T01:45:07.382837Z","shell.execute_reply":"2024-12-03T01:45:07.382866Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# lags_df = pd.read_parquet('/kaggle/input/jane-street-real-time-market-data-forecasting/lags.parquet/date_id=0/part-0.parquet')\n\n# lags_df\n\n# test_df = pd.read_parquet('/kaggle/input/jane-street-real-time-market-data-forecasting/test.parquet/date_id=0/part-0.parquet')\n\n# test_df","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.384660Z","iopub.status.idle":"2024-12-03T01:45:07.385055Z","shell.execute_reply.started":"2024-12-03T01:45:07.384872Z","shell.execute_reply":"2024-12-03T01:45:07.384898Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"print ('donzo')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T01:45:07.386319Z","iopub.status.idle":"2024-12-03T01:45:07.386681Z","shell.execute_reply.started":"2024-12-03T01:45:07.386506Z","shell.execute_reply":"2024-12-03T01:45:07.386523Z"}},"outputs":[],"execution_count":null}]}