Last active
January 13, 2021 08:36
-
-
Save anurag-7/17e945b04ba884136646a3a288e12d78 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Time | Side | Instrument | OptionType | |
|---|---|---|---|---|
| 09:18:39.184.112.574 | Buy | HDFCLIFE20DEC660PE | PE | |
| 09:40:45.724.619.778 | Sell | BEL20DEC110PE | PE | |
| 09:40:45.725.883.078 | Sell | BEL20DEC112.5PE | PE | |
| 10:08:14.993.269.799 | Buy | BANKBARODA20DEC63CE | CE | |
| 10:09:11.452.614.025 | Buy | ITC20DEC200CE | CE | |
| 10:19:25.134.812.941 | Buy | FEDERALBNK20DEC66CE | CE | |
| 10:26:40.232.194.477 | Buy | MANAPPURAM20DEC175PE | PE | |
| 10:27:13.855.205.646 | Buy | TATACONSUM20DEC540PE | PE | |
| 10:32:43.153.077.655 | Buy | APOLLOHOSP20DEC2400PE | PE | |
| 10:37:44.463.283.643 | Buy | JSWSTEEL20DEC365PE | PE | |
| 10:40:28.311.698.714 | Sell | SUNPHARMA20DEC570CE | CE | |
| 10:48:47.839.547.059 | Sell | ICICIBANK20DEC520CE | CE | |
| 10:57:19.706.088.449 | Buy | MUTHOOTFIN20DEC1180PE | PE | |
| 10:57:19.706.162.626 | Buy | MUTHOOTFIN20DEC1200PE | PE | |
| 10:57:19.706.195.205 | Buy | MUTHOOTFIN20DEC1220PE | PE | |
| 11:02:02.343.439.095 | Sell | SAIL20DEC41CE | CE | |
| 11:02:02.343.607.044 | Sell | SAIL20DEC54CE | CE | |
| 11:02:02.344.250.773 | Buy | SAIL20DEC54PE | PE | |
| 11:48:20.415.215.349 | Buy | BEL20DEC112.5CE | CE | |
| 11:50:11.769.553.247 | Buy | INFRATEL20DEC235CE | CE | |
| 11:50:11.769.556.511 | Buy | INFRATEL20DEC240CE | CE | |
| 11:50:11.770.124.331 | Buy | INFRATEL20DEC245CE | CE | |
| 11:58:43.814.518.989 | Sell | IBULHSGFIN20DEC210PE | PE | |
| 12:00:24.698.024.246 | Sell | JINDALSTEL20DEC260PE | PE | |
| 12:37:25.426.802.547 | Buy | BATAINDIA20DEC1600CE | CE | |
| 12:37:25.427.432.353 | Buy | BATAINDIA20DEC1580CE | CE | |
| 12:41:28.593.150.768 | Sell | BATAINDIA20DEC1560CE | CE | |
| 12:41:28.593.192.421 | Sell | BATAINDIA20DEC1580CE | CE | |
| 13:06:38.319.237.383 | Sell | BANKBARODA20DEC64CE | CE | |
| 13:06:38.319.483.204 | Sell | BANKBARODA20DEC65CE | CE | |
| 13:06:38.320.505.469 | Sell | BANKBARODA20DEC63CE | CE | |
| 13:23:25.292.262.993 | Buy | DLF20DEC215PE | PE | |
| 13:37:13.456.288.841 | Sell | AXISBANK20DEC610PE | PE | |
| 13:37:36.467.482.904 | Buy | ICICIBANK20DEC490CE | CE | |
| 13:41:09.130.631.861 | Sell | MFSL20DEC640CE | CE | |
| 13:52:40.997.999.865 | Sell | BHEL20DEC37CE | CE | |
| 13:52:40.998.644.873 | Sell | BHEL20DEC36CE | CE | |
| 13:59:46.399.171.010 | Sell | BHARTIARTL20DEC520CE | CE | |
| 14:12:17.276.696.217 | Buy | TITAN20DEC1380PE | PE | |
| 14:30:39.242.597.791 | Buy | JSWSTEEL20DEC375PE | PE | |
| 14:42:40.295.484.707 | Buy | BHEL20DEC36PE | PE | |
| 14:42:53.798.907.439 | Buy | AXISBANK20DEC610PE | PE | |
| 14:50:59.426.673.456 | Buy | SAIL20DEC56PE | PE | |
| 14:50:59.426.728.209 | Buy | SAIL20DEC55PE | PE | |
| 14:54:13.808.415.957 | Buy | JSWSTEEL20DEC365PE | PE | |
| 14:54:13.808.816.189 | Buy | JSWSTEEL20DEC360PE | PE |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "metadata": { | |
| "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.8.2-final" | |
| }, | |
| "orig_nbformat": 2, | |
| "kernelspec": { | |
| "name": "Python 3.8.2 64-bit ('apache-spark')", | |
| "display_name": "Python 3.8.2 64-bit ('apache-spark')", | |
| "metadata": { | |
| "interpreter": { | |
| "hash": "8f57246ef9dc600d10d55efa92118c8714b2ccac801576bfa97a127a1596c494" | |
| } | |
| } | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2, | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import pandas as pd\n", | |
| "import dateutil\n", | |
| "import datetime as dt\n", | |
| "import re\n", | |
| "import numpy as np" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "def date_parser(string):\n", | |
| " ts, *_ = string.rsplit('.', 2)\n", | |
| " return dateutil.parser.parse(ts)\n", | |
| "\n", | |
| "def instrument_parser(string):\n", | |
| " ins, *_ = re.split(r'(\\d+)', string)\n", | |
| " return ins\n", | |
| "\n", | |
| "data = pd.read_csv(\n", | |
| " r\"Path\\to\\dataset.csv\",\n", | |
| " header=0,\n", | |
| " parse_dates=True,\n", | |
| " converters={'Time': date_parser},\n", | |
| " infer_datetime_format=True,\n", | |
| ")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "diff = dt.timedelta(milliseconds=25)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "data['t'] = 0" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "data['InsType'] = data.apply(lambda row: instrument_parser(row.Instrument), axis=1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "mapping = []\n", | |
| "count = 0\n", | |
| "\n", | |
| "def predicate(key, ts):\n", | |
| " for _key, _ts, num in mapping:\n", | |
| " if key == _key and abs(_ts - ts) < diff:\n", | |
| " return num\n", | |
| "\n", | |
| "for row in data.index:\n", | |
| " key = (data['InsType'][row], data['Side'][row])\n", | |
| " ts = data['Time'][row]\n", | |
| " if num := predicate(key, ts):\n", | |
| " data['t'][row] = num\n", | |
| " else:\n", | |
| " data['t'][row] = count\n", | |
| " mapping.append((key, ts, count))\n", | |
| " count += 1" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| " Time Side Instrument OptionType t InsType\n0 2021-01-13 09:18:39.184 Buy HDFCLIFE20DEC660PE PE 0 HDFCLIFE\n1 2021-01-13 09:40:45.724 Sell BEL20DEC110PE PE 1 BEL\n2 2021-01-13 09:40:45.725 Sell BEL20DEC112.5PE PE 1 BEL\n3 2021-01-13 10:08:14.993 Buy BANKBARODA20DEC63CE CE 2 BANKBARODA\n4 2021-01-13 10:09:11.452 Buy ITC20DEC200CE CE 3 ITC\n5 2021-01-13 10:19:25.134 Buy FEDERALBNK20DEC66CE CE 4 FEDERALBNK\n6 2021-01-13 10:26:40.232 Buy MANAPPURAM20DEC175PE PE 5 MANAPPURAM\n7 2021-01-13 10:27:13.855 Buy TATACONSUM20DEC540PE PE 6 TATACONSUM\n8 2021-01-13 10:32:43.153 Buy APOLLOHOSP20DEC2400PE PE 7 APOLLOHOSP\n9 2021-01-13 10:37:44.463 Buy JSWSTEEL20DEC365PE PE 8 JSWSTEEL\n10 2021-01-13 10:40:28.311 Sell SUNPHARMA20DEC570CE CE 9 SUNPHARMA\n11 2021-01-13 10:48:47.839 Sell ICICIBANK20DEC520CE CE 10 ICICIBANK\n12 2021-01-13 10:57:19.706 Buy MUTHOOTFIN20DEC1180PE PE 11 MUTHOOTFIN\n13 2021-01-13 10:57:19.706 Buy MUTHOOTFIN20DEC1200PE PE 11 MUTHOOTFIN\n14 2021-01-13 10:57:19.706 Buy MUTHOOTFIN20DEC1220PE PE 11 MUTHOOTFIN\n15 2021-01-13 11:02:02.343 Sell SAIL20DEC41CE CE 12 SAIL\n16 2021-01-13 11:02:02.343 Sell SAIL20DEC54CE CE 12 SAIL\n17 2021-01-13 11:02:02.344 Buy SAIL20DEC54PE PE 13 SAIL\n18 2021-01-13 11:48:20.415 Buy BEL20DEC112.5CE CE 14 BEL\n19 2021-01-13 11:50:11.769 Buy INFRATEL20DEC235CE CE 15 INFRATEL\n20 2021-01-13 11:50:11.769 Buy INFRATEL20DEC240CE CE 15 INFRATEL\n21 2021-01-13 11:50:11.770 Buy INFRATEL20DEC245CE CE 15 INFRATEL\n22 2021-01-13 11:58:43.814 Sell IBULHSGFIN20DEC210PE PE 16 IBULHSGFIN\n23 2021-01-13 12:00:24.698 Sell JINDALSTEL20DEC260PE PE 17 JINDALSTEL\n24 2021-01-13 12:37:25.426 Buy BATAINDIA20DEC1600CE CE 18 BATAINDIA\n25 2021-01-13 12:37:25.427 Buy BATAINDIA20DEC1580CE CE 18 BATAINDIA\n26 2021-01-13 12:41:28.593 Sell BATAINDIA20DEC1560CE CE 19 BATAINDIA\n27 2021-01-13 12:41:28.593 Sell BATAINDIA20DEC1580CE CE 19 BATAINDIA\n28 2021-01-13 13:06:38.319 Sell BANKBARODA20DEC64CE CE 20 BANKBARODA\n29 2021-01-13 13:06:38.319 Sell BANKBARODA20DEC65CE CE 20 BANKBARODA\n30 2021-01-13 13:06:38.320 Sell BANKBARODA20DEC63CE CE 20 BANKBARODA\n31 2021-01-13 13:23:25.292 Buy DLF20DEC215PE PE 21 DLF\n32 2021-01-13 13:37:13.456 Sell AXISBANK20DEC610PE PE 22 AXISBANK\n33 2021-01-13 13:37:36.467 Buy ICICIBANK20DEC490CE CE 23 ICICIBANK\n34 2021-01-13 13:41:09.130 Sell MFSL20DEC640CE CE 24 MFSL\n35 2021-01-13 13:52:40.997 Sell BHEL20DEC37CE CE 25 BHEL\n36 2021-01-13 13:52:40.998 Sell BHEL20DEC36CE CE 25 BHEL\n37 2021-01-13 13:59:46.399 Sell BHARTIARTL20DEC520CE CE 26 BHARTIARTL\n38 2021-01-13 14:12:17.276 Buy TITAN20DEC1380PE PE 27 TITAN\n39 2021-01-13 14:30:39.242 Buy JSWSTEEL20DEC375PE PE 28 JSWSTEEL\n40 2021-01-13 14:42:40.295 Buy BHEL20DEC36PE PE 29 BHEL\n41 2021-01-13 14:42:53.798 Buy AXISBANK20DEC610PE PE 30 AXISBANK\n42 2021-01-13 14:50:59.426 Buy SAIL20DEC56PE PE 31 SAIL\n43 2021-01-13 14:50:59.426 Buy SAIL20DEC55PE PE 31 SAIL\n44 2021-01-13 14:54:13.808 Buy JSWSTEEL20DEC365PE PE 32 JSWSTEEL\n45 2021-01-13 14:54:13.808 Buy JSWSTEEL20DEC360PE PE 32 JSWSTEEL\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(data.to_string())" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment