{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","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":10978571,"sourceType":"competition"}],"dockerImageVersionId":30839,"isInternetEnabled":false,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import os\nimport pandas as pd\nimport polars as pl\nimport numpy as np\nimport kaggle_evaluation.jane_street_inference_server","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-01-24T18:03:34.549863Z","iopub.execute_input":"2025-01-24T18:03:34.550245Z","iopub.status.idle":"2025-01-24T18:03:34.555870Z","shell.execute_reply.started":"2025-01-24T18:03:34.550220Z","shell.execute_reply":"2025-01-24T18:03:34.554337Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"class JaneStreetInferenceServer:\n    def __init__(self):\n        self.lags_ = None\n    def predict(self, test: pl.DataFrame, lags: pl.DataFrame | None) -> pl.DataFrame:\n        if lags is not None:\n            self.lags_ = lags\n        preprocessed_test = test.with_columns([\n            pl.col('time_id').cast(pl.Float32) / pl.col('time_id').max(),\n        ])\n        predictions = test.select(\n            'row_id', \n            pl.lit(0.0).alias('responder_6')\n        )\n        return predictions","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-24T18:20:42.122605Z","iopub.execute_input":"2025-01-24T18:20:42.123029Z","iopub.status.idle":"2025-01-24T18:20:42.129904Z","shell.execute_reply.started":"2025-01-24T18:20:42.122999Z","shell.execute_reply":"2025-01-24T18:20:42.128168Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def main():\n    inference_server_handler = JaneStreetInferenceServer()\n    inference_server = kaggle_evaluation.jane_street_inference_server.JSInferenceServer(\n        inference_server_handler.predict\n    )\n    if os.getenv('KAGGLE_IS_COMPETITION_RERUN'):\n        inference_server.serve()\n    else:\n        inference_server.run_local_gateway(\n            (\n                '/kaggle/input/jane-street-real-time-market-data-forecasting/test.parquet',\n                '/kaggle/input/jane-street-real-time-market-data-forecasting/lags.parquet',\n            )\n        )","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-24T18:21:01.358143Z","iopub.execute_input":"2025-01-24T18:21:01.358536Z","iopub.status.idle":"2025-01-24T18:21:01.364097Z","shell.execute_reply.started":"2025-01-24T18:21:01.358506Z","shell.execute_reply":"2025-01-24T18:21:01.362886Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"if __name__ == '__main__':\n    main()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-01-24T18:21:18.645985Z","iopub.execute_input":"2025-01-24T18:21:18.646381Z","iopub.status.idle":"2025-01-24T18:21:18.717933Z","shell.execute_reply.started":"2025-01-24T18:21:18.646353Z","shell.execute_reply":"2025-01-24T18:21:18.716673Z"}},"outputs":[],"execution_count":null}]}