{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.11.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":96164,"databundleVersionId":12993472,"sourceType":"competition"}],"dockerImageVersionId":31089,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# DRW - Crypto Market Prediction Submission Template\n\nimport numpy as np\nimport pandas as pd\n\n# ✅ Step 1: Define total number of prediction rows\nNUM_ROWS = 538150  # As per competition requirement\n\n# ✅ Step 2: Create the submission dataframe\nsubmission = pd.DataFrame({\n    'row_id': np.arange(NUM_ROWS),\n    'label': np.random.normal(loc=0.0, scale=0.001, size=NUM_ROWS)  # Placeholder prediction values\n})\n\n# ✅ Step 3: Save to CSV (for direct submission)\nsubmission.to_csv(\"submission.csv\", index=False)\n\n# ✅ Step 4 (Optional): Save to ZIP if you want to upload that format\nimport zipfile\n\nwith zipfile.ZipFile(\"submission.zip\", \"w\", zipfile.ZIP_DEFLATED) as zipf:\n    zipf.write(\"submission.csv\")\n\n# Output confirmation\nprint(\"submission.csv created with shape:\", submission.shape)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:09:16.119795Z","iopub.execute_input":"2025-07-24T18:09:16.120035Z","iopub.status.idle":"2025-07-24T18:09:21.161211Z","shell.execute_reply.started":"2025-07-24T18:09:16.120007Z","shell.execute_reply":"2025-07-24T18:09:21.160245Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# DRW - Crypto Market Prediction - Submission Generator\n\nimport numpy as np\nimport pandas as pd\nimport os\nimport zipfile\n\n# List all input files\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# STEP 1: Set required number of rows from the competition\nNUM_ROWS = 538150  # Make sure this is exact\n\n# STEP 2: Generate placeholder predictions (replace this later with model output)\nsubmission_df = pd.DataFrame({\n    'row_id': np.arange(NUM_ROWS),\n    'label': np.random.normal(loc=0.0, scale=0.001, size=NUM_ROWS)  # Simulated returns\n})\n\n# STEP 3: Save CSV for submission\nsubmission_csv_path = '/kaggle/working/submission.csv'\nsubmission_df.to_csv(submission_csv_path, index=False)\nprint(f\"✅ submission.csv saved at {submission_csv_path} with shape {submission_df.shape}\")\n\n# OPTIONAL: Create a ZIP file (if preferred)\nsubmission_zip_path = '/kaggle/working/submission.zip'\nwith zipfile.ZipFile(submission_zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf:\n    zipf.write(submission_csv_path, arcname='submission.csv')\nprint(f\"✅ submission.zip created at {submission_zip_path}\")\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:10:40.680852Z","iopub.execute_input":"2025-07-24T18:10:40.681580Z","iopub.status.idle":"2025-07-24T18:10:43.351862Z","shell.execute_reply.started":"2025-07-24T18:10:40.681548Z","shell.execute_reply":"2025-07-24T18:10:43.350716Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"submission_df.to_csv('/kaggle/working/submission.csv', index=False)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:14:09.203491Z","iopub.execute_input":"2025-07-24T18:14:09.203816Z","iopub.status.idle":"2025-07-24T18:14:10.526718Z","shell.execute_reply.started":"2025-07-24T18:14:09.203792Z","shell.execute_reply":"2025-07-24T18:14:10.525913Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\n\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:18:50.379804Z","iopub.execute_input":"2025-07-24T18:18:50.380414Z","iopub.status.idle":"2025-07-24T18:18:50.384863Z","shell.execute_reply.started":"2025-07-24T18:18:50.380388Z","shell.execute_reply":"2025-07-24T18:18:50.384080Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"pip install kaggle\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:34:18.696025Z","iopub.execute_input":"2025-07-24T18:34:18.696868Z","iopub.status.idle":"2025-07-24T18:34:22.315578Z","shell.execute_reply.started":"2025-07-24T18:34:18.696838Z","shell.execute_reply":"2025-07-24T18:34:22.314208Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"{\n  \"id\": \"ishitabahamnia/DRW - Crypto Market Prediction Submission Template\",\n  \"title\": \"My DRW Crypto Submission\",\n  \"code_file\": \"DRW - Crypto Market Prediction Submission Template.ipynb\",\n  \"language\": \"python\",\n  \"kernel_type\": \"notebook\",\n  \"is_private\": \"true\"\n}\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:41:56.039747Z","iopub.execute_input":"2025-07-24T18:41:56.040067Z","iopub.status.idle":"2025-07-24T18:41:56.045835Z","shell.execute_reply.started":"2025-07-24T18:41:56.040045Z","shell.execute_reply":"2025-07-24T18:41:56.045097Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\n\n# Simulate training dataset\nnp.random.seed(42)\nn_rows = 5000\ndf_train = pd.DataFrame({\n    \"ID\": np.arange(1, n_rows + 1),\n    \"feature1\": np.random.randn(n_rows),\n    \"feature2\": np.random.rand(n_rows) * 100,\n    \"feature3\": np.random.randint(0, 2, n_rows),\n    \"label\": np.random.randint(0, 2, n_rows)\n})\n\n# Simulate test dataset\nn_test_rows = 2000\ndf_test = pd.DataFrame({\n    \"ID\": np.arange(10001, 10001 + n_test_rows),\n    \"feature1\": np.random.randn(n_test_rows),\n    \"feature2\": np.random.rand(n_test_rows) * 100,\n    \"feature3\": np.random.randint(0, 2, n_test_rows)\n})\n\n# Save locally\ndf_train.to_csv(\"train.csv\", index=False)\ndf_test.to_csv(\"test.csv\", index=False)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:42:10.453096Z","iopub.execute_input":"2025-07-24T18:42:10.453383Z","iopub.status.idle":"2025-07-24T18:42:10.494364Z","shell.execute_reply.started":"2025-07-24T18:42:10.453365Z","shell.execute_reply":"2025-07-24T18:42:10.493645Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"\"First LSTM model with precomputed features\"\n\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:14:37.740510Z","iopub.execute_input":"2025-07-24T18:14:37.741169Z","iopub.status.idle":"2025-07-24T18:14:37.746312Z","shell.execute_reply.started":"2025-07-24T18:14:37.741144Z","shell.execute_reply":"2025-07-24T18:14:37.745651Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import tensorflow as tf\nfrom tensorflow import keras\nfashion_mnist = keras.datasets.fashion_mnist\n## use Fashion MNIST data set for example\n(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()\ntrain_images = train_images / 255.0\n\ntest_images = test_images / 255.0\nmodel = keras.Sequential([\n    keras.layers.Flatten(input_shape=(28, 28)),\n    keras.layers.Dense(128, activation='relu'),\n    keras.layers.Dense(10)\n])\nmodel.compile(optimizer='adam',\n              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),\n              metrics=['accuracy'])\nmodel.fit(train_images, train_labels, epochs=10)\ntest_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)\n\nprint('\\nTest accuracy:', test_acc)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-07-24T18:46:24.090734Z","iopub.execute_input":"2025-07-24T18:46:24.091049Z","iopub.status.idle":"2025-07-24T18:47:31.695790Z","shell.execute_reply.started":"2025-07-24T18:46:24.091028Z","shell.execute_reply":"2025-07-24T18:47:31.694859Z"}},"outputs":[],"execution_count":null}]}