diff --git a/.ipynb_checkpoints/main-checkpoint.ipynb b/.ipynb_checkpoints/main-checkpoint.ipynb index 4045375..abcf868 100644 --- a/.ipynb_checkpoints/main-checkpoint.ipynb +++ b/.ipynb_checkpoints/main-checkpoint.ipynb @@ -24,7 +24,7 @@ " -- Create a time window for each trade\n", " date_time - INTERVAL '1 second' * {time_window_s} AS window_start,\n", " date_time AS window_end\n", - " FROM {trade_data_1b}\n", + " FROM {trade_10m_v3}\n", "),\n", "\n", "aggregated_trades AS (\n", @@ -64,7 +64,7 @@ "\"\"\"\n", "\n", "class Scenario:\n", - " seq = SQLQueryInterface(schema=\"internal\")\n", + " seq = SQLQueryInterface(schema=\"trade_schema\")\n", "\n", " def logic(self, **kwargs):\n", " validation_window = kwargs.get('validation_window')\n", @@ -81,7 +81,7 @@ " cols = [\n", " 'START_DATE_TIME',\n", " 'END_DATE_TIME',\n", - " 'PARTICIPANT',\n", + " 'FOCAL_ID',\n", " 'MIN_PRICE',\n", " 'MAX_PRICE',\n", " 'PRICE_CHANGE (%)',\n", diff --git a/main.ipynb b/main.ipynb index c2ea71c..c3e147f 100644 --- a/main.ipynb +++ b/main.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "id": "90c70e46-71a0-44a6-8090-f53aad3193c3", "metadata": { "tags": [] @@ -24,7 +24,7 @@ " -- Create a time window for each trade\n", " date_time - INTERVAL '1 second' * {time_window_s} AS window_start,\n", " date_time AS window_end\n", - " FROM {trade_data_1b}\n", + " FROM {trade_10m_v3}\n", "),\n", "\n", "aggregated_trades AS (\n", @@ -46,7 +46,7 @@ " RANGE BETWEEN {time_window_s} PRECEDING AND CURRENT ROW) AS lowest_price,\n", " COUNT(*) OVER (PARTITION BY td.trader_id ORDER BY td.date_time \n", " RANGE BETWEEN {time_window_s} PRECEDING AND CURRENT ROW) AS number_of_trades\n", - " FROM trade_data td\n", + " FROM {trade_10m_v3} td\n", ")\n", "\n", "SELECT \n", @@ -74,14 +74,14 @@ " print(\"Query start time:\", query_start_time)\n", "\n", " row_list = self.seq.execute_raw(query.format(\n", - " trade_data_1b=\"trade_data_2b\",\n", + " trade_10m_v3=\"trade_10m_v3\",\n", " time_window_s=time_window_s\n", " ))\n", "\n", " cols = [\n", " 'START_DATE_TIME',\n", " 'END_DATE_TIME',\n", - " 'FOCAL ID',\n", + " 'FOCAL_ID',\n", " 'MIN_PRICE',\n", " 'MAX_PRICE',\n", " 'PRICE_CHANGE (%)',\n", @@ -104,11 +104,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "caee5554-5254-4388-bf24-029281d77890", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "ename": "TypeError", + "evalue": "unsupported operand type(s) for /: 'NoneType' and 'int'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[6], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m scenario \u001b[38;5;241m=\u001b[39m Scenario()\n\u001b[0;32m----> 2\u001b[0m \u001b[43mscenario\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlogic\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[0;32mIn[4], line 60\u001b[0m, in \u001b[0;36mScenario.logic\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mlogic\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 59\u001b[0m validation_window \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mvalidation_window\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m---> 60\u001b[0m time_window_s \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mint\u001b[39m(\u001b[43mvalidation_window\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1000\u001b[39;49m)\n\u001b[1;32m 62\u001b[0m query_start_time \u001b[38;5;241m=\u001b[39m datetime\u001b[38;5;241m.\u001b[39mnow()\n\u001b[1;32m 63\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mQuery start time:\u001b[39m\u001b[38;5;124m\"\u001b[39m, query_start_time)\n", + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for /: 'NoneType' and 'int'" + ] + } + ], + "source": [ + "scenario = Scenario()\n", + "scenario.logic()" + ] } ], "metadata": { diff --git a/main.py b/main.py index d54d540..2e75a7c 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # coding: utf-8 -# In[2]: +# In[4]: from datetime import datetime @@ -19,7 +19,7 @@ WITH trade_data AS ( -- Create a time window for each trade date_time - INTERVAL '1 second' * {time_window_s} AS window_start, date_time AS window_end - FROM {trade_data_1b} + FROM {trade_10m_v3} ), aggregated_trades AS ( @@ -41,7 +41,7 @@ aggregated_trades AS ( RANGE BETWEEN {time_window_s} PRECEDING AND CURRENT ROW) AS lowest_price, COUNT(*) OVER (PARTITION BY td.trader_id ORDER BY td.date_time RANGE BETWEEN {time_window_s} PRECEDING AND CURRENT ROW) AS number_of_trades - FROM trade_data td + FROM {trade_10m_v3} td ) SELECT @@ -69,14 +69,14 @@ class Scenario: print("Query start time:", query_start_time) row_list = self.seq.execute_raw(query.format( - trade_data_1b="trade_data_2b", + trade_10m_v3="trade_10m_v3", time_window_s=time_window_s )) cols = [ 'START_DATE_TIME', 'END_DATE_TIME', - 'FOCAL ID', + 'FOCAL_ID', 'MIN_PRICE', 'MAX_PRICE', 'PRICE_CHANGE (%)', @@ -97,8 +97,9 @@ class Scenario: return final_scenario_df -# In[ ]: - +# In[6]: +scenario = Scenario() +scenario.logic()