Skip to content

Instantly share code, notes, and snippets.

@anurag-7
Last active January 13, 2021 08:36
Show Gist options
  • Select an option

  • Save anurag-7/17e945b04ba884136646a3a288e12d78 to your computer and use it in GitHub Desktop.

Select an option

Save anurag-7/17e945b04ba884136646a3a288e12d78 to your computer and use it in GitHub Desktop.
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
Display the source blob
Display the rendered blob
Raw
{
"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