Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

Topic - Bayesian statistics to carry out Stock return analysis in python. Please use the data.csv instead of using Quandl. - files submitted in zipped format.

1 answer below »
Topic - Bayesian statistics to carry out Stock return analysis in python. Please use the data.csv instead of using Quandl. - files submitted in zipped format.
Answered Same Day Nov 15, 2021

Solution

Kshitij answered on Nov 19 2021
156 Votes
assignment5/.ipynb_checkpoints/Assignment-5(Stock)-checkpoint.ipyn
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Assignment 5"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"This assignment is based on Bayesian statistics to ca
y out Stock return analysis."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Learning outcomes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Bayesian analysis for stock return data\n",
"- Build models for different distributions of data\n",
"- Compare models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this assignment, you will use the Baysesian approach for analysis of stock return data.\n",
"In particular, you will model the data as a normal distribution and will estimate distribution parameters using Markov chain Monte Carlo technique (MCMC).\n",
"\n",
"The MCMC sampler draws parameter values from the prior distribution and computes the likelihood that the observed data came from a distribution with these parameter values.\n",
"It is recommended to use PyMC li
ary for these computations; PyMC is a Python li
ary for Bayesian analysis."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__NOTE__: The 'data.csv' file included with the assignment contains the data.\n",
"The data were downloaded from Quandl, the code used to download data and calculate daily return is provided. \n",
"Use that file instead if you aren't able to read the data, or if you have reached the limit for calls to the API.\n",
"\n",
"__Getting data from Quandl__ \n",
"To download stock data from Quandl you should create an account for quandl (https:
www.quandl.com/).\n",
"\n",
"Quandl is a platform for financial, economic, and alternative data that serves investment professionals. Quandl sources data from over 500 publishers. All Quandl's data are accessible via an API. API access is possible through packages for multiple programming languages including R, Python."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Required imports for this project are given below. Make sure you have all li
aries required for this project installed. You may use _conda_ or _pip_ based on your set up.\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"#required imports\n",
"\n",
"import json\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"import pymc3 as pm\n",
"import scipy\n",
"import scipy.stats as stats\n",
"import statsmodels.api as sm\n",
"import theano.tensor as tt\n",
"import seaborn as sns\n",
"from datetime import datetime\n",
"\n",
"## Get the data:\n",
"pd.core.common.is_list_like = pd.api.types.is_list_like # resolves datareader e
or\n",
"from pandas_datareader import data\n",
"# For all li
aries please install the necessary li
aries \n",
"#If the above fails, you might need to do something like this:\n",
"#This is to show how you install pandas-datareader, you might need to do this for all li
aries\n",
"#conda install pandas-datareader\n",
"#or\n",
"#pip install pandas-datareader\n",
"#Depending on your setup\n",
"\n",
"from IPython.display import Image\n",
"from datetime import datetime\n",
"%matplotlib inline"
]
},
{
"attachments": {
"image.png": {
"image/png": "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
qf3sJ8WVz1Bx1k
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
7fUkjY
INHuSn7Y2H398KsPGgweJpwOjduM2wc58C08cGXiuEvXwPDLnZN34sG5PZFBjLXxVvn3C7uYv/ebhuBU2hVu7g1CchfitL4JPW3WCGG/giVjCmXb3A9CJy/FX/3Euftd5INb0vAbvuAHAUS7niyOP+91vXwWSzzVpePf30Vs+htf8/jxbhdfqj2INl7izO7E7O+fAV+O62X+Hd1Dxx7+DoyfyxOAoTDxqHn6z9GgcdcYS3POBozEprCBtZb7ngZg9G/irUxZhRu/ZtsXAptvKwR2LnewnjDAgIj4FSSuLOGHS0biydhn+jts4nzgXB4Z98cd+3wOc8U84YI8GGg+vxg09AI5skEv9RBWuHiKBMP3YvfgOTsNXDtgDjcY63Lv0RgAvMxK1Sv9+AX7y9l/gtJcCf/jJe/DvuBRv278Pmx9h+/uxedOLcPhHavjUxV/BSYs/gmm7F6td4s39U98bFBlvNuK2feLNfdgU94yLesUkCCONfUDcwgqRIQ9ioQFEWDjAjXItQQknJYsZyYQxEwjNxxzx8W8Y2oQLcTMQ/tAGCciwp9ZAWLTFvhQxx/xQLtJi6L64QsrxI33mX3BeOixPhB78cLkwRkIbqYNDjjcOOZ7b2vxGea3ftzNkS/ZS/T4bXTnV8ZFA+5fYNTxDm70dbH9x49K2EYRHDNne0HfWcuLEPqM299/aEuU93z1xfIWN++3tiyecetPIp62d7xgAmiRmXrjbXSwnePMgGR/sJGtLyEv1y2419Hni7aC8YW3z20+QfgMPOOrIo9B73/04ctqReHLtGvRvfMoWMFyH8pE49o0RsLYz2n1rg6tZzkx9maRqX2n5Wk3Tsz4bB3XYl2a5dcF1qgnW/XlpW/H6qrm9fRzad5qA3Q6YhNv+sBZHH3W0SYZuIPChhyzK55SL1QqB5pneQGn4A89E36bivE4cOU/uzcfS33Ti49/5OHre9Ca87GPMPwNnnLEUSwUiPQ9khIP+B75+xjyc+7obgblLcFvnZPAbNsRmr6M/iH+54dWYesNwnqYAACAASURBVIV0X4Vltx9rTzigthcOIrvecAM+fpQ/5YB7e3DUGXPj0Ju/9De2NVDb61x8vHY6Tpv+MXRe95+46m++idk3vB2ndISNcISVs5nxNssi21gM5SJXsaJz/CkMXNbEJ462R0RscB7U+SP8860n4nWOtaqVQukwO9yjPeA0LPuH23DKya8oy5EAnfvwyb98JT5ppafgfy49Bfv392O9EaNftex/0j/hQ595Fz541veijtd96hu4qGO3sF3hhOw3dYq9ZK2e7QaWtjcC4YqAqVA+K09p56UCsSLf85yAnKkZt1+l4Qi0/U62j3J+lcGTB9MkD55MbL5USEOExjJtUzAv5jMe9kQZUkZkThn6x7pmNZBDzDdbvgJlm11nkVYedXCSs+2MF22uoUbsSNJhG4MnQ+oRmVrnGPsKU2ul+xXaQVm3LR88ZB6vJBhaueHpcaZTG1ZuxgINBxw5nxn1fiv0pu1gNaapQ21jHvXzvhJDkrHhn/QPichPEJTVyTJZgcsf9UP0qTixy3Y1TMcd2xCPJnDPPatxxqUfw7x3vhUbO2fjyCOOwn47j+e7PK2vbU+Ztup8QZG33/AKpyjvgaixZSTFgQID0mFMyTPi29/0V9RxrPFZZTvax+ORpzdh+a9/i5uW9uDKb12P++6/P/T3QE9qU6ZMad5222345S9/GTqAneAfdTq/KWZ5DGUoNM6mIQepnLaTmeWWGpo2yM/4PgjdRjHIVIny/Kz/1RV4zTuPQs+vO3Ggz4gKgSYTiAPXVmm+Gqdub7JkFMpKqzDUsEEcLsk0mkMb5ZutHO3ZRPfVz/AFMIJK8uXQyUkkI0+iDMmZmQFbhSr3ActiJ2gNYE5gktvmPq6MRcohtG0N308mMW/evMmeLBAhSof5ktilj25XA7M8eVkWXA3DlBOfP2FFvMMjQeEkTDm3E668bLvLfwzA7gfYt+rsDpPZZB9SP8PqYf0biMnigdhsrOoxKVZKX7qkEWF6XSPr2qNy0UA1XRAl+4Hyjomvxmw8hx8fkB76QDkxoTCiCZ8tRXska20Q+dLt0GaVa0XF/JiXyLG8ND+tPvumsEU/WJehvgHK/tBh++apTtRMro37oYEX2tvb0NbW7vlJu+U/7ZnpOB89rfaYrTg3fUzJB4Y+Pvzq3eM+zjnMAiTWpj32eAH22+/F+P5Vl4Fvu3zoyaeC6uJGK8egnzQKvqEOMQNX9l4phILLh7QtSB29sEq3N
Lsh+dkjQ/wpWfbq7a9HVs991tAqYePhWnzbsaj6xbh6f+9CdTklALjj9+JqZOncq32gWTceLJQDHx2IF2mc8N8iDPWtx+YBk/PBS6y8Vf5ZuYnbwIPB/w5sP21OGTQL64LsqswY/n9OD0r1+MA3k5HlYpheYkFjo5DgxOHv5LyCAOFqtmLfBYaAfbFn3gAGBpgpraaiGBD6s9khrzfGwXA1zeefu9A+3qwb5Jx20Da5BNcNkt2QirA7qgfOqsDmAShA3eQHBcfdJv3cBjGeN8/Mm2DCKRF/1G/fRBus2f0PbCN
SB31gnreriHNosArLiktyx5FYsr8pYMiHQS9dOpkybUVsezjhMS895A/zDJtQaDbC+KQRI8hgh6t1wzASDvu6cIJ6RKjSazqkz2ggvM8gGWuUMRG2i9fM4VB/2RhSm4JiJ2X67nNAOJaINtgzsEI7edmttlsdB9ssmq7wikriXJAzV62BUML4pqyImZXZbp0QrT1hvKW2OC6sX+kLx36dY95fuMPVqM3noJ9yPvvUCFoRDZq7GijR95AbA2HiGd5PPr6KE/Tjjz9uL1M75zP/n2CK+Ljv4eRA62k/JvFosBJJ7Q8Wr1SxpOwoDJkeALj
vvx56eessWKY12MQQqxXiRlq5X8oSNyhh1ilya8AZgA75PLlUo2UdEi6oODOuwgi9nNF5IKz2SFg+tu/Rhee+5S4PSv4f8cNdEHTTgzSXEyJn0mR1IIHcfBEW66GACl+ua9zShu5tvBNkt5mHhOKWFQ2+RyXETEwokYUU16mUWAVR4MhMHvJyUjQBKq7Afblh98Tes
pByKSHHdFghU53lhT1hptk+1mcX0D
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
U/XFirpLtqbV6XC3r6
UL/Ub7TF+8MEHY+edd8Y73vEO/OM
iNqGzZsaN5444346U9/ive9733Yddddcc8999hSmoqkIHWkVV5aPlR8y4AOVTuXbS8EWvXxUHmt+nUoebYjLU/j0pXmqd1bykvLh9JTtc/0luTlg8LUlvK2JRypvpHKb41vwkR1mU7z0jTj9Kmal8pLD0OTTzJa3LpPSovoYPpcp8tJphqG0iJISFn12Yb046Tsb8xshTlt6GMkzK2LsH1hjxeXHjLwkwL17L333pg8eTKeeupP+NznPofXvva1eOc73+m/Zv26173OnDj
PPxoQ99CNzSOO7YY1Hv70f7hAnegPw3I7CDIsABrsknF1tNHpXl8JlDoNoPz5ylbdGcrJYrpDxam5vDweGBBx7AL3+5HFdffbXx7uzZs61RtlJW837729/itttuw6LFi/HgAw8YUfMskY+MQEYgI/BMI2D8WCLJUmLY5lsRYqu8oRSmJ/U0rjryLNC7srn8tw2SaC+kCwGPcQX9ohe9CF1nn42ZM2fi5S9/eRT5/wGygi3NUr8DOgAAAABJRU5ErkJggg=="
}
},
"cell_type": "markdown",
"metadata": {},
"source": [
"After installing the necessary li
aries, we will proceed to download the data.\n",
"You might have to set an environment variable for pymc3 package. \n",
"You can do this by \n",
"For linux:\n",
"export mkl_threading_layer=gnu or set this in your bashrc file.\n",
"\n",
"For windows:\n",
"Add it in your environment variables\n",
"\n",
"![image.png](attachment:image.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Returns\n",
"Extract historical data for Apple (AAPL) [2015 - 2016], calculate daily returns, and estimate the mean daily return. Remove NaN from dataset. Plot histogram of daily returns.\n",
"\n",
"Use code below to download data.\n",
"\n",
"For this you will need to install the li
ary quandl: \n",
"conda install -c anaconda quandl\n",
"\n",
"You will also need an API Key that is generated when you create an account. "
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"data = pd.read_csv('/kaggle/input/data.csv')"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(504, 13)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.shape"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"