Skip to content

Instantly share code, notes, and snippets.

@rohanjoseph93
Created May 24, 2018 04:59
Show Gist options
  • Save rohanjoseph93/37f6fe4c84ffabfade1ab1de00cb900b to your computer and use it in GitHub Desktop.
Save rohanjoseph93/37f6fe4c84ffabfade1ab1de00cb900b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# Import modules\n",
"from datetime import datetime, timedelta\n",
"import pandas as pd\n",
"pd.core.common.is_list_like = pd.api.types.is_list_like #For solving import pandas_datareader issue\n",
"import numpy as np\n",
"import datetime\n",
"import csv\n",
"import requests\n",
"import pandas_datareader.data as web\n",
"import pandas_datareader as pdr\n",
"from pandas_datareader import data, wb\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# Input Start and End Date\n",
"start = datetime.datetime(2018,4,20)\n",
"end = datetime.datetime(2018,5,20)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" <th>6</th>\n",
" <th>7</th>\n",
" <th>8</th>\n",
" <th>9</th>\n",
" <th>10</th>\n",
" <th>11</th>\n",
" <th>12</th>\n",
" <th>13</th>\n",
" <th>14</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>SYMBOL</td>\n",
" <td>SERIES</td>\n",
" <td>DATE1</td>\n",
" <td>PREV_CLOSE</td>\n",
" <td>OPEN_PRICE</td>\n",
" <td>HIGH_PRICE</td>\n",
" <td>LOW_PRICE</td>\n",
" <td>LAST_PRICE</td>\n",
" <td>CLOSE_PRICE</td>\n",
" <td>AVG_PRICE</td>\n",
" <td>TTL_TRD_QNTY</td>\n",
" <td>TURNOVER_LACS</td>\n",
" <td>NO_OF_TRADES</td>\n",
" <td>DELIV_QTY</td>\n",
" <td>DELIV_PER</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>20MICRONS</td>\n",
" <td>EQ</td>\n",
" <td>23-May-2018</td>\n",
" <td>41.25</td>\n",
" <td>41.55</td>\n",
" <td>42.90</td>\n",
" <td>41.20</td>\n",
" <td>41.65</td>\n",
" <td>41.45</td>\n",
" <td>41.67</td>\n",
" <td>38967</td>\n",
" <td>16.24</td>\n",
" <td>484</td>\n",
" <td>22020</td>\n",
" <td>56.51</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>21STCENMGM</td>\n",
" <td>EQ</td>\n",
" <td>23-May-2018</td>\n",
" <td>39.15</td>\n",
" <td>38.40</td>\n",
" <td>38.40</td>\n",
" <td>38.40</td>\n",
" <td>38.40</td>\n",
" <td>38.40</td>\n",
" <td>38.40</td>\n",
" <td>248</td>\n",
" <td>0.10</td>\n",
" <td>7</td>\n",
" <td>248</td>\n",
" <td>100.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3IINFOTECH</td>\n",
" <td>EQ</td>\n",
" <td>23-May-2018</td>\n",
" <td>4.70</td>\n",
" <td>4.80</td>\n",
" <td>4.90</td>\n",
" <td>4.65</td>\n",
" <td>4.90</td>\n",
" <td>4.90</td>\n",
" <td>4.79</td>\n",
" <td>4598046</td>\n",
" <td>220.32</td>\n",
" <td>1616</td>\n",
" <td>2776005</td>\n",
" <td>60.37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>3MINDIA</td>\n",
" <td>EQ</td>\n",
" <td>23-May-2018</td>\n",
" <td>19494.95</td>\n",
" <td>19499.85</td>\n",
" <td>19998.00</td>\n",
" <td>19250.00</td>\n",
" <td>19998.00</td>\n",
" <td>19598.05</td>\n",
" <td>19545.49</td>\n",
" <td>1440</td>\n",
" <td>281.46</td>\n",
" <td>471</td>\n",
" <td>1135</td>\n",
" <td>78.82</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4 5 \\\n",
"0 SYMBOL SERIES DATE1 PREV_CLOSE OPEN_PRICE HIGH_PRICE \n",
"1 20MICRONS EQ 23-May-2018 41.25 41.55 42.90 \n",
"2 21STCENMGM EQ 23-May-2018 39.15 38.40 38.40 \n",
"3 3IINFOTECH EQ 23-May-2018 4.70 4.80 4.90 \n",
"4 3MINDIA EQ 23-May-2018 19494.95 19499.85 19998.00 \n",
"\n",
" 6 7 8 9 10 \\\n",
"0 LOW_PRICE LAST_PRICE CLOSE_PRICE AVG_PRICE TTL_TRD_QNTY \n",
"1 41.20 41.65 41.45 41.67 38967 \n",
"2 38.40 38.40 38.40 38.40 248 \n",
"3 4.65 4.90 4.90 4.79 4598046 \n",
"4 19250.00 19998.00 19598.05 19545.49 1440 \n",
"\n",
" 11 12 13 14 \n",
"0 TURNOVER_LACS NO_OF_TRADES DELIV_QTY DELIV_PER \n",
"1 16.24 484 22020 56.51 \n",
"2 0.10 7 248 100.00 \n",
"3 220.32 1616 2776005 60.37 \n",
"4 281.46 471 1135 78.82 "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Today = datetime.datetime.now().strftime (\"%Y-%m-%d\")\n",
"\n",
"# Import list of stock names from NSE website\n",
"with requests.Session() as s:\n",
" download = s.get('https://www.nseindia.com/products/content/sec_bhavdata_full.csv')\n",
" decoded_content = download.content.decode('utf-8')\n",
" cr = csv.reader(decoded_content.splitlines(), delimiter=',')\n",
" my_list = pd.DataFrame(list(cr))\n",
" \n",
"#View the top rows\n",
"my_list.head()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"# Clean the downloaded data\n",
"# Rename the headers\n",
"new_header = my_list.iloc[0] #grab the first row for the header\n",
"my_list = my_list[1:] #take the data less the header row\n",
"my_list = my_list.rename(columns = new_header)\n",
"\n",
"# Get only the list of stock names - remove everything else\n",
"my_list['stock_name'] = \"NSE/\"+ my_list['SYMBOL']\n",
"stock_list = my_list['stock_name'].tolist()\n",
"stock_list = list(set(stock_list))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['NSE/HARRMALAYA',\n",
" 'NSE/ANSALHSG',\n",
" 'NSE/DPL',\n",
" 'NSE/STAN',\n",
" 'NSE/VOLTAMP',\n",
" 'NSE/SUMEETINDS',\n",
" 'NSE/JKPAPER',\n",
" 'NSE/KPRMILL',\n",
" 'NSE/INEOSSTYRO']"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#View the top few stock names\n",
"stock_list[1:10]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"# Create Empty Dataframe\n",
"stock_final = pd.DataFrame()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n",
"1\n",
"2\n",
"3\n",
"4\n",
"5\n",
"6\n",
"7\n",
"8\n",
"9\n"
]
}
],
"source": [
"# Scrape the stock prices from quandl\n",
"# for i in range(len(stock_list))#Use this to scrape all the stocks\n",
"for i in range(10): \n",
" print(i) \n",
" try:\n",
" stock=[]\n",
" stock = web.DataReader(stock_list[i],\"quandl\",start,end)\n",
" stock['Name']=stock_list[i]\n",
" \n",
" stock_final = pd.DataFrame.append(stock_final,stock)\n",
" except Exception: # Replace Exception with something more specific.\n",
" i = i+1"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Last</th>\n",
" <th>Close</th>\n",
" <th>TotalTradeQuantity</th>\n",
" <th>TurnoverLacs</th>\n",
" <th>Name</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2018-05-18</th>\n",
" <td>59.80</td>\n",
" <td>61.85</td>\n",
" <td>59.00</td>\n",
" <td>60.55</td>\n",
" <td>61.15</td>\n",
" <td>23947.0</td>\n",
" <td>14.60</td>\n",
" <td>NSE/SUTLEJTEX</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-05-17</th>\n",
" <td>62.50</td>\n",
" <td>63.00</td>\n",
" <td>59.10</td>\n",
" <td>59.75</td>\n",
" <td>59.55</td>\n",
" <td>123319.0</td>\n",
" <td>74.29</td>\n",
" <td>NSE/SUTLEJTEX</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-05-16</th>\n",
" <td>62.75</td>\n",
" <td>64.45</td>\n",
" <td>62.00</td>\n",
" <td>62.40</td>\n",
" <td>62.10</td>\n",
" <td>22810.0</td>\n",
" <td>14.33</td>\n",
" <td>NSE/SUTLEJTEX</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-05-15</th>\n",
" <td>62.25</td>\n",
" <td>65.00</td>\n",
" <td>62.25</td>\n",
" <td>62.80</td>\n",
" <td>62.90</td>\n",
" <td>36532.0</td>\n",
" <td>23.43</td>\n",
" <td>NSE/SUTLEJTEX</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2018-05-14</th>\n",
" <td>65.25</td>\n",
" <td>66.90</td>\n",
" <td>62.80</td>\n",
" <td>63.80</td>\n",
" <td>63.75</td>\n",
" <td>35242.0</td>\n",
" <td>22.60</td>\n",
" <td>NSE/SUTLEJTEX</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Open High Low Last Close TotalTradeQuantity \\\n",
"Date \n",
"2018-05-18 59.80 61.85 59.00 60.55 61.15 23947.0 \n",
"2018-05-17 62.50 63.00 59.10 59.75 59.55 123319.0 \n",
"2018-05-16 62.75 64.45 62.00 62.40 62.10 22810.0 \n",
"2018-05-15 62.25 65.00 62.25 62.80 62.90 36532.0 \n",
"2018-05-14 65.25 66.90 62.80 63.80 63.75 35242.0 \n",
"\n",
" TurnoverLacs Name \n",
"Date \n",
"2018-05-18 14.60 NSE/SUTLEJTEX \n",
"2018-05-17 74.29 NSE/SUTLEJTEX \n",
"2018-05-16 14.33 NSE/SUTLEJTEX \n",
"2018-05-15 23.43 NSE/SUTLEJTEX \n",
"2018-05-14 22.60 NSE/SUTLEJTEX "
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#View the top 10 rows of the downloaded data \n",
"stock_final.head()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x19d130e46a0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Plot trend for a particular stock\n",
"\n",
"#Subset for a particular stock\n",
"stock_final = stock_final[stock_final['Name']=='NSE/SUTLEJTEX']\n",
"\n",
"#Generate a line plot\n",
"stock_final.plot(y='High')\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"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.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment