{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 0: Import package"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests as r\n",
    "import json\n",
    "import pandas as pd\n",
    "from datetime import datetime, date"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 1: Download 1 month data in TAIEX (台股 加權股價指數)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "url = \"https://www.twse.com.tw/exchangeReport/FMTQIK?response=json&date=20200701\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.get(url)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "res = r.get(url)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': [['109/07/01',\n",
       "   '5,812,063,202',\n",
       "   '193,056,259,836',\n",
       "   '1,471,747',\n",
       "   '11,703.42',\n",
       "   '82.18'],\n",
       "  ['109/07/02',\n",
       "   '6,091,006,206',\n",
       "   '191,309,888,383',\n",
       "   '1,487,513',\n",
       "   '11,805.14',\n",
       "   '101.72'],\n",
       "  ['109/07/03',\n",
       "   '6,484,752,215',\n",
       "   '218,879,744,425',\n",
       "   '1,666,680',\n",
       "   '11,909.16',\n",
       "   '104.02'],\n",
       "  ['109/07/06',\n",
       "   '7,916,423,089',\n",
       "   '252,079,466,765',\n",
       "   '1,951,316',\n",
       "   '12,116.70',\n",
       "   '207.54'],\n",
       "  ['109/07/07',\n",
       "   '7,651,045,729',\n",
       "   '277,506,544,486',\n",
       "   '1,994,922',\n",
       "   '12,092.97',\n",
       "   '-23.73'],\n",
       "  ['109/07/08',\n",
       "   '6,363,746,201',\n",
       "   '242,676,395,267',\n",
       "   '1,755,000',\n",
       "   '12,170.19',\n",
       "   '77.22'],\n",
       "  ['109/07/09',\n",
       "   '6,645,387,543',\n",
       "   '252,727,573,213',\n",
       "   '1,866,152',\n",
       "   '12,192.69',\n",
       "   '22.50'],\n",
       "  ['109/07/10',\n",
       "   '7,031,694,732',\n",
       "   '261,020,496,174',\n",
       "   '1,983,065',\n",
       "   '12,073.68',\n",
       "   '-119.01'],\n",
       "  ['109/07/13',\n",
       "   '6,140,389,276',\n",
       "   '211,132,055,829',\n",
       "   '1,586,140',\n",
       "   '12,211.56',\n",
       "   '137.88'],\n",
       "  ['109/07/14',\n",
       "   '6,197,831,696',\n",
       "   '205,369,887,777',\n",
       "   '1,561,071',\n",
       "   '12,209.01',\n",
       "   '-2.55'],\n",
       "  ['109/07/15',\n",
       "   '6,756,734,156',\n",
       "   '240,427,292,308',\n",
       "   '1,778,651',\n",
       "   '12,202.85',\n",
       "   '-6.16'],\n",
       "  ['109/07/16',\n",
       "   '5,770,300,669',\n",
       "   '199,619,270,942',\n",
       "   '1,466,907',\n",
       "   '12,157.74',\n",
       "   '-45.11'],\n",
       "  ['109/07/17',\n",
       "   '5,938,809,215',\n",
       "   '200,271,062,950',\n",
       "   '1,595,717',\n",
       "   '12,181.56',\n",
       "   '23.82'],\n",
       "  ['109/07/20',\n",
       "   '5,326,683,162',\n",
       "   '176,439,351,236',\n",
       "   '1,378,130',\n",
       "   '12,174.54',\n",
       "   '-7.02'],\n",
       "  ['109/07/21',\n",
       "   '6,781,208,219',\n",
       "   '225,623,414,631',\n",
       "   '1,684,747',\n",
       "   '12,397.55',\n",
       "   '223.01'],\n",
       "  ['109/07/22',\n",
       "   '6,475,848,930',\n",
       "   '226,256,572,816',\n",
       "   '1,619,267',\n",
       "   '12,473.27',\n",
       "   '75.72'],\n",
       "  ['109/07/23',\n",
       "   '6,566,842,345',\n",
       "   '228,150,200,225',\n",
       "   '1,573,096',\n",
       "   '12,413.04',\n",
       "   '-60.23'],\n",
       "  ['109/07/24',\n",
       "   '7,302,839,893',\n",
       "   '268,423,485,119',\n",
       "   '1,868,849',\n",
       "   '12,304.04',\n",
       "   '-109.00'],\n",
       "  ['109/07/27',\n",
       "   '6,497,324,062',\n",
       "   '256,612,208,060',\n",
       "   '1,698,001',\n",
       "   '12,588.30',\n",
       "   '284.26'],\n",
       "  ['109/07/28',\n",
       "   '7,749,667,366',\n",
       "   '348,922,817,780',\n",
       "   '2,066,032',\n",
       "   '12,586.73',\n",
       "   '-1.57'],\n",
       "  ['109/07/29',\n",
       "   '5,900,556,154',\n",
       "   '221,220,518,609',\n",
       "   '1,504,202',\n",
       "   '12,540.97',\n",
       "   '-45.76'],\n",
       "  ['109/07/30',\n",
       "   '5,882,978,873',\n",
       "   '215,707,482,486',\n",
       "   '1,489,304',\n",
       "   '12,722.92',\n",
       "   '181.95'],\n",
       "  ['109/07/31',\n",
       "   '5,953,761,412',\n",
       "   '210,436,131,573',\n",
       "   '1,422,266',\n",
       "   '12,664.80',\n",
       "   '-58.12']],\n",
       " 'date': '20200718',\n",
       " 'fields': ['日期', '成交股數', '成交金額', '成交筆數', '發行量加權股價指數', '漲跌點數'],\n",
       " 'notes': ['當日統計資訊含大盤、零股、盤後定價及鉅額交易,不含拍賣、標購。',\n",
       "  '外幣成交值係以本公司當日下午3時30分公告匯率換算後加入成交金額。<br>公告匯率請參考本公司首頁>產品與服務>交易系統>雙幣ETF專區>代號對應及每日公告匯率。'],\n",
       " 'stat': 'OK',\n",
       " 'title': '109年07月市場成交資訊'}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock_json = res.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['109/07/01',\n",
       "  '5,812,063,202',\n",
       "  '193,056,259,836',\n",
       "  '1,471,747',\n",
       "  '11,703.42',\n",
       "  '82.18'],\n",
       " ['109/07/02',\n",
       "  '6,091,006,206',\n",
       "  '191,309,888,383',\n",
       "  '1,487,513',\n",
       "  '11,805.14',\n",
       "  '101.72'],\n",
       " ['109/07/03',\n",
       "  '6,484,752,215',\n",
       "  '218,879,744,425',\n",
       "  '1,666,680',\n",
       "  '11,909.16',\n",
       "  '104.02'],\n",
       " ['109/07/06',\n",
       "  '7,916,423,089',\n",
       "  '252,079,466,765',\n",
       "  '1,951,316',\n",
       "  '12,116.70',\n",
       "  '207.54'],\n",
       " ['109/07/07',\n",
       "  '7,651,045,729',\n",
       "  '277,506,544,486',\n",
       "  '1,994,922',\n",
       "  '12,092.97',\n",
       "  '-23.73'],\n",
       " ['109/07/08',\n",
       "  '6,363,746,201',\n",
       "  '242,676,395,267',\n",
       "  '1,755,000',\n",
       "  '12,170.19',\n",
       "  '77.22'],\n",
       " ['109/07/09',\n",
       "  '6,645,387,543',\n",
       "  '252,727,573,213',\n",
       "  '1,866,152',\n",
       "  '12,192.69',\n",
       "  '22.50'],\n",
       " ['109/07/10',\n",
       "  '7,031,694,732',\n",
       "  '261,020,496,174',\n",
       "  '1,983,065',\n",
       "  '12,073.68',\n",
       "  '-119.01'],\n",
       " ['109/07/13',\n",
       "  '6,140,389,276',\n",
       "  '211,132,055,829',\n",
       "  '1,586,140',\n",
       "  '12,211.56',\n",
       "  '137.88'],\n",
       " ['109/07/14',\n",
       "  '6,197,831,696',\n",
       "  '205,369,887,777',\n",
       "  '1,561,071',\n",
       "  '12,209.01',\n",
       "  '-2.55'],\n",
       " ['109/07/15',\n",
       "  '6,756,734,156',\n",
       "  '240,427,292,308',\n",
       "  '1,778,651',\n",
       "  '12,202.85',\n",
       "  '-6.16'],\n",
       " ['109/07/16',\n",
       "  '5,770,300,669',\n",
       "  '199,619,270,942',\n",
       "  '1,466,907',\n",
       "  '12,157.74',\n",
       "  '-45.11'],\n",
       " ['109/07/17',\n",
       "  '5,938,809,215',\n",
       "  '200,271,062,950',\n",
       "  '1,595,717',\n",
       "  '12,181.56',\n",
       "  '23.82'],\n",
       " ['109/07/20',\n",
       "  '5,326,683,162',\n",
       "  '176,439,351,236',\n",
       "  '1,378,130',\n",
       "  '12,174.54',\n",
       "  '-7.02'],\n",
       " ['109/07/21',\n",
       "  '6,781,208,219',\n",
       "  '225,623,414,631',\n",
       "  '1,684,747',\n",
       "  '12,397.55',\n",
       "  '223.01'],\n",
       " ['109/07/22',\n",
       "  '6,475,848,930',\n",
       "  '226,256,572,816',\n",
       "  '1,619,267',\n",
       "  '12,473.27',\n",
       "  '75.72'],\n",
       " ['109/07/23',\n",
       "  '6,566,842,345',\n",
       "  '228,150,200,225',\n",
       "  '1,573,096',\n",
       "  '12,413.04',\n",
       "  '-60.23'],\n",
       " ['109/07/24',\n",
       "  '7,302,839,893',\n",
       "  '268,423,485,119',\n",
       "  '1,868,849',\n",
       "  '12,304.04',\n",
       "  '-109.00'],\n",
       " ['109/07/27',\n",
       "  '6,497,324,062',\n",
       "  '256,612,208,060',\n",
       "  '1,698,001',\n",
       "  '12,588.30',\n",
       "  '284.26'],\n",
       " ['109/07/28',\n",
       "  '7,749,667,366',\n",
       "  '348,922,817,780',\n",
       "  '2,066,032',\n",
       "  '12,586.73',\n",
       "  '-1.57'],\n",
       " ['109/07/29',\n",
       "  '5,900,556,154',\n",
       "  '221,220,518,609',\n",
       "  '1,504,202',\n",
       "  '12,540.97',\n",
       "  '-45.76'],\n",
       " ['109/07/30',\n",
       "  '5,882,978,873',\n",
       "  '215,707,482,486',\n",
       "  '1,489,304',\n",
       "  '12,722.92',\n",
       "  '181.95'],\n",
       " ['109/07/31',\n",
       "  '5,953,761,412',\n",
       "  '210,436,131,573',\n",
       "  '1,422,266',\n",
       "  '12,664.80',\n",
       "  '-58.12']]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_json['data']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "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",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>109/07/01</td>\n",
       "      <td>5,812,063,202</td>\n",
       "      <td>193,056,259,836</td>\n",
       "      <td>1,471,747</td>\n",
       "      <td>11,703.42</td>\n",
       "      <td>82.18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>109/07/02</td>\n",
       "      <td>6,091,006,206</td>\n",
       "      <td>191,309,888,383</td>\n",
       "      <td>1,487,513</td>\n",
       "      <td>11,805.14</td>\n",
       "      <td>101.72</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>109/07/03</td>\n",
       "      <td>6,484,752,215</td>\n",
       "      <td>218,879,744,425</td>\n",
       "      <td>1,666,680</td>\n",
       "      <td>11,909.16</td>\n",
       "      <td>104.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>109/07/06</td>\n",
       "      <td>7,916,423,089</td>\n",
       "      <td>252,079,466,765</td>\n",
       "      <td>1,951,316</td>\n",
       "      <td>12,116.70</td>\n",
       "      <td>207.54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>109/07/07</td>\n",
       "      <td>7,651,045,729</td>\n",
       "      <td>277,506,544,486</td>\n",
       "      <td>1,994,922</td>\n",
       "      <td>12,092.97</td>\n",
       "      <td>-23.73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>109/07/08</td>\n",
       "      <td>6,363,746,201</td>\n",
       "      <td>242,676,395,267</td>\n",
       "      <td>1,755,000</td>\n",
       "      <td>12,170.19</td>\n",
       "      <td>77.22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>109/07/09</td>\n",
       "      <td>6,645,387,543</td>\n",
       "      <td>252,727,573,213</td>\n",
       "      <td>1,866,152</td>\n",
       "      <td>12,192.69</td>\n",
       "      <td>22.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>109/07/10</td>\n",
       "      <td>7,031,694,732</td>\n",
       "      <td>261,020,496,174</td>\n",
       "      <td>1,983,065</td>\n",
       "      <td>12,073.68</td>\n",
       "      <td>-119.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>109/07/13</td>\n",
       "      <td>6,140,389,276</td>\n",
       "      <td>211,132,055,829</td>\n",
       "      <td>1,586,140</td>\n",
       "      <td>12,211.56</td>\n",
       "      <td>137.88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>109/07/14</td>\n",
       "      <td>6,197,831,696</td>\n",
       "      <td>205,369,887,777</td>\n",
       "      <td>1,561,071</td>\n",
       "      <td>12,209.01</td>\n",
       "      <td>-2.55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>109/07/15</td>\n",
       "      <td>6,756,734,156</td>\n",
       "      <td>240,427,292,308</td>\n",
       "      <td>1,778,651</td>\n",
       "      <td>12,202.85</td>\n",
       "      <td>-6.16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>109/07/16</td>\n",
       "      <td>5,770,300,669</td>\n",
       "      <td>199,619,270,942</td>\n",
       "      <td>1,466,907</td>\n",
       "      <td>12,157.74</td>\n",
       "      <td>-45.11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>109/07/17</td>\n",
       "      <td>5,938,809,215</td>\n",
       "      <td>200,271,062,950</td>\n",
       "      <td>1,595,717</td>\n",
       "      <td>12,181.56</td>\n",
       "      <td>23.82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>109/07/20</td>\n",
       "      <td>5,326,683,162</td>\n",
       "      <td>176,439,351,236</td>\n",
       "      <td>1,378,130</td>\n",
       "      <td>12,174.54</td>\n",
       "      <td>-7.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>109/07/21</td>\n",
       "      <td>6,781,208,219</td>\n",
       "      <td>225,623,414,631</td>\n",
       "      <td>1,684,747</td>\n",
       "      <td>12,397.55</td>\n",
       "      <td>223.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>109/07/22</td>\n",
       "      <td>6,475,848,930</td>\n",
       "      <td>226,256,572,816</td>\n",
       "      <td>1,619,267</td>\n",
       "      <td>12,473.27</td>\n",
       "      <td>75.72</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>109/07/23</td>\n",
       "      <td>6,566,842,345</td>\n",
       "      <td>228,150,200,225</td>\n",
       "      <td>1,573,096</td>\n",
       "      <td>12,413.04</td>\n",
       "      <td>-60.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>109/07/24</td>\n",
       "      <td>7,302,839,893</td>\n",
       "      <td>268,423,485,119</td>\n",
       "      <td>1,868,849</td>\n",
       "      <td>12,304.04</td>\n",
       "      <td>-109.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>109/07/27</td>\n",
       "      <td>6,497,324,062</td>\n",
       "      <td>256,612,208,060</td>\n",
       "      <td>1,698,001</td>\n",
       "      <td>12,588.30</td>\n",
       "      <td>284.26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>109/07/28</td>\n",
       "      <td>7,749,667,366</td>\n",
       "      <td>348,922,817,780</td>\n",
       "      <td>2,066,032</td>\n",
       "      <td>12,586.73</td>\n",
       "      <td>-1.57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>109/07/29</td>\n",
       "      <td>5,900,556,154</td>\n",
       "      <td>221,220,518,609</td>\n",
       "      <td>1,504,202</td>\n",
       "      <td>12,540.97</td>\n",
       "      <td>-45.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>109/07/30</td>\n",
       "      <td>5,882,978,873</td>\n",
       "      <td>215,707,482,486</td>\n",
       "      <td>1,489,304</td>\n",
       "      <td>12,722.92</td>\n",
       "      <td>181.95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>109/07/31</td>\n",
       "      <td>5,953,761,412</td>\n",
       "      <td>210,436,131,573</td>\n",
       "      <td>1,422,266</td>\n",
       "      <td>12,664.80</td>\n",
       "      <td>-58.12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0              1                2          3          4        5\n",
       "0   109/07/01  5,812,063,202  193,056,259,836  1,471,747  11,703.42    82.18\n",
       "1   109/07/02  6,091,006,206  191,309,888,383  1,487,513  11,805.14   101.72\n",
       "2   109/07/03  6,484,752,215  218,879,744,425  1,666,680  11,909.16   104.02\n",
       "3   109/07/06  7,916,423,089  252,079,466,765  1,951,316  12,116.70   207.54\n",
       "4   109/07/07  7,651,045,729  277,506,544,486  1,994,922  12,092.97   -23.73\n",
       "5   109/07/08  6,363,746,201  242,676,395,267  1,755,000  12,170.19    77.22\n",
       "6   109/07/09  6,645,387,543  252,727,573,213  1,866,152  12,192.69    22.50\n",
       "7   109/07/10  7,031,694,732  261,020,496,174  1,983,065  12,073.68  -119.01\n",
       "8   109/07/13  6,140,389,276  211,132,055,829  1,586,140  12,211.56   137.88\n",
       "9   109/07/14  6,197,831,696  205,369,887,777  1,561,071  12,209.01    -2.55\n",
       "10  109/07/15  6,756,734,156  240,427,292,308  1,778,651  12,202.85    -6.16\n",
       "11  109/07/16  5,770,300,669  199,619,270,942  1,466,907  12,157.74   -45.11\n",
       "12  109/07/17  5,938,809,215  200,271,062,950  1,595,717  12,181.56    23.82\n",
       "13  109/07/20  5,326,683,162  176,439,351,236  1,378,130  12,174.54    -7.02\n",
       "14  109/07/21  6,781,208,219  225,623,414,631  1,684,747  12,397.55   223.01\n",
       "15  109/07/22  6,475,848,930  226,256,572,816  1,619,267  12,473.27    75.72\n",
       "16  109/07/23  6,566,842,345  228,150,200,225  1,573,096  12,413.04   -60.23\n",
       "17  109/07/24  7,302,839,893  268,423,485,119  1,868,849  12,304.04  -109.00\n",
       "18  109/07/27  6,497,324,062  256,612,208,060  1,698,001  12,588.30   284.26\n",
       "19  109/07/28  7,749,667,366  348,922,817,780  2,066,032  12,586.73    -1.57\n",
       "20  109/07/29  5,900,556,154  221,220,518,609  1,504,202  12,540.97   -45.76\n",
       "21  109/07/30  5,882,978,873  215,707,482,486  1,489,304  12,722.92   181.95\n",
       "22  109/07/31  5,953,761,412  210,436,131,573  1,422,266  12,664.80   -58.12"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame.from_dict(stock_json['data'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "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",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>109/07/01</td>\n",
       "      <td>5,812,063,202</td>\n",
       "      <td>193,056,259,836</td>\n",
       "      <td>1,471,747</td>\n",
       "      <td>11,703.42</td>\n",
       "      <td>82.18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>109/07/02</td>\n",
       "      <td>6,091,006,206</td>\n",
       "      <td>191,309,888,383</td>\n",
       "      <td>1,487,513</td>\n",
       "      <td>11,805.14</td>\n",
       "      <td>101.72</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>109/07/03</td>\n",
       "      <td>6,484,752,215</td>\n",
       "      <td>218,879,744,425</td>\n",
       "      <td>1,666,680</td>\n",
       "      <td>11,909.16</td>\n",
       "      <td>104.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>109/07/06</td>\n",
       "      <td>7,916,423,089</td>\n",
       "      <td>252,079,466,765</td>\n",
       "      <td>1,951,316</td>\n",
       "      <td>12,116.70</td>\n",
       "      <td>207.54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>109/07/07</td>\n",
       "      <td>7,651,045,729</td>\n",
       "      <td>277,506,544,486</td>\n",
       "      <td>1,994,922</td>\n",
       "      <td>12,092.97</td>\n",
       "      <td>-23.73</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           0              1                2          3          4       5\n",
       "0  109/07/01  5,812,063,202  193,056,259,836  1,471,747  11,703.42   82.18\n",
       "1  109/07/02  6,091,006,206  191,309,888,383  1,487,513  11,805.14  101.72\n",
       "2  109/07/03  6,484,752,215  218,879,744,425  1,666,680  11,909.16  104.02\n",
       "3  109/07/06  7,916,423,089  252,079,466,765  1,951,316  12,116.70  207.54\n",
       "4  109/07/07  7,651,045,729  277,506,544,486  1,994,922  12,092.97  -23.73"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_df = pd.DataFrame.from_dict(stock_json['data'])\n",
    "stock_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['日期', '成交股數', '成交金額', '成交筆數', '發行量加權股價指數', '漲跌點數']"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_json['fields']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock_df.columns = stock_json['fields']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "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>日期</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>0</th>\n",
       "      <td>109/07/01</td>\n",
       "      <td>5,812,063,202</td>\n",
       "      <td>193,056,259,836</td>\n",
       "      <td>1,471,747</td>\n",
       "      <td>11,703.42</td>\n",
       "      <td>82.18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>109/07/02</td>\n",
       "      <td>6,091,006,206</td>\n",
       "      <td>191,309,888,383</td>\n",
       "      <td>1,487,513</td>\n",
       "      <td>11,805.14</td>\n",
       "      <td>101.72</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>109/07/03</td>\n",
       "      <td>6,484,752,215</td>\n",
       "      <td>218,879,744,425</td>\n",
       "      <td>1,666,680</td>\n",
       "      <td>11,909.16</td>\n",
       "      <td>104.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>109/07/06</td>\n",
       "      <td>7,916,423,089</td>\n",
       "      <td>252,079,466,765</td>\n",
       "      <td>1,951,316</td>\n",
       "      <td>12,116.70</td>\n",
       "      <td>207.54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>109/07/07</td>\n",
       "      <td>7,651,045,729</td>\n",
       "      <td>277,506,544,486</td>\n",
       "      <td>1,994,922</td>\n",
       "      <td>12,092.97</td>\n",
       "      <td>-23.73</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          日期           成交股數             成交金額       成交筆數  發行量加權股價指數    漲跌點數\n",
       "0  109/07/01  5,812,063,202  193,056,259,836  1,471,747  11,703.42   82.18\n",
       "1  109/07/02  6,091,006,206  191,309,888,383  1,487,513  11,805.14  101.72\n",
       "2  109/07/03  6,484,752,215  218,879,744,425  1,666,680  11,909.16  104.02\n",
       "3  109/07/06  7,916,423,089  252,079,466,765  1,951,316  12,116.70  207.54\n",
       "4  109/07/07  7,651,045,729  277,506,544,486  1,994,922  12,092.97  -23.73"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock_df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 2: Download multi months data in TAIEX (台股 加權股價指數)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "url = \"https://www.twse.com.tw/exchangeReport/FMTQIK?response=json&date=20200701\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "month_list = pd.date_range('2020-06-01','2020-08-01', freq='MS').strftime(\"%Y%m%d\").tolist()    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20200601\n",
      "20200701\n",
      "20200801\n"
     ]
    }
   ],
   "source": [
    "for month in month_list:\n",
    "    print(month) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "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",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: []\n",
       "Index: []"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame()\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "for month in month_list:\n",
    "    url = \"https://www.twse.com.tw/exchangeReport/FMTQIK?response=json&date=\" + month\n",
    "    res = r.get(url)\n",
    "    stock_json = res.json()\n",
    "    stock_df = pd.DataFrame.from_dict(stock_json['data'])\n",
    "    df = df.append(stock_df, ignore_index = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.columns = ['日期', '成交股數', '成交金額', '成交筆數', '發行量加權股價指數', '漲跌點數']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "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>日期</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>0</th>\n",
       "      <td>109/06/01</td>\n",
       "      <td>4,975,164,301</td>\n",
       "      <td>169,563,746,947</td>\n",
       "      <td>1,350,613</td>\n",
       "      <td>11,079.02</td>\n",
       "      <td>136.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>109/06/02</td>\n",
       "      <td>4,974,734,421</td>\n",
       "      <td>182,409,278,902</td>\n",
       "      <td>1,399,684</td>\n",
       "      <td>11,127.93</td>\n",
       "      <td>48.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>109/06/03</td>\n",
       "      <td>6,431,206,610</td>\n",
       "      <td>214,594,995,112</td>\n",
       "      <td>1,670,723</td>\n",
       "      <td>11,320.16</td>\n",
       "      <td>192.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>109/06/04</td>\n",
       "      <td>5,944,102,520</td>\n",
       "      <td>203,655,766,408</td>\n",
       "      <td>1,550,402</td>\n",
       "      <td>11,393.23</td>\n",
       "      <td>73.07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>109/06/05</td>\n",
       "      <td>5,782,637,500</td>\n",
       "      <td>181,156,372,573</td>\n",
       "      <td>1,522,634</td>\n",
       "      <td>11,479.40</td>\n",
       "      <td>86.17</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          日期           成交股數             成交金額       成交筆數  發行量加權股價指數    漲跌點數\n",
       "0  109/06/01  4,975,164,301  169,563,746,947  1,350,613  11,079.02  136.86\n",
       "1  109/06/02  4,974,734,421  182,409,278,902  1,399,684  11,127.93   48.91\n",
       "2  109/06/03  6,431,206,610  214,594,995,112  1,670,723  11,320.16  192.23\n",
       "3  109/06/04  5,944,102,520  203,655,766,408  1,550,402  11,393.23   73.07\n",
       "4  109/06/05  5,782,637,500  181,156,372,573  1,522,634  11,479.40   86.17"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_stock_data(start_year, start_month, end_year, end_month):\n",
    "    start_date = str(date(start_year, start_month, 1))\n",
    "    end_date = str(date(end_year, end_month, 1))\n",
    "    month_list = pd.date_range(start_date, end_date, freq='MS').strftime(\"%Y%m%d\").tolist()\n",
    "    \n",
    "    df = pd.DataFrame()\n",
    "    for month in month_list:\n",
    "        url = \"https://www.twse.com.tw/exchangeReport/FMTQIK?response=json&date=\" + month\n",
    "        res = r.get(url)\n",
    "        stock_json = res.json()\n",
    "        stock_df = pd.DataFrame.from_dict(stock_json['data'])\n",
    "        df = df.append(stock_df, ignore_index = True)\n",
    "    \n",
    "    df.columns = ['日期', '成交股數', '成交金額', '成交筆數', '發行量加權股價指數', '漲跌點數']\n",
    "    return df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Part 3: Save the dataframe as csv file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "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>日期</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>0</th>\n",
       "      <td>108/07/01</td>\n",
       "      <td>4,985,631,880</td>\n",
       "      <td>145,664,096,932</td>\n",
       "      <td>1,089,572</td>\n",
       "      <td>10,895.46</td>\n",
       "      <td>164.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>108/07/02</td>\n",
       "      <td>4,295,548,703</td>\n",
       "      <td>120,716,164,596</td>\n",
       "      <td>991,072</td>\n",
       "      <td>10,865.12</td>\n",
       "      <td>-30.34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>108/07/03</td>\n",
       "      <td>4,246,162,907</td>\n",
       "      <td>112,714,237,324</td>\n",
       "      <td>938,659</td>\n",
       "      <td>10,743.77</td>\n",
       "      <td>-121.35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>108/07/04</td>\n",
       "      <td>3,797,646,624</td>\n",
       "      <td>98,158,438,333</td>\n",
       "      <td>828,014</td>\n",
       "      <td>10,775.90</td>\n",
       "      <td>32.13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>108/07/05</td>\n",
       "      <td>3,400,302,424</td>\n",
       "      <td>86,511,212,135</td>\n",
       "      <td>752,681</td>\n",
       "      <td>10,785.73</td>\n",
       "      <td>9.83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>108/07/08</td>\n",
       "      <td>3,738,945,153</td>\n",
       "      <td>97,082,027,949</td>\n",
       "      <td>815,372</td>\n",
       "      <td>10,751.22</td>\n",
       "      <td>-34.51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>108/07/09</td>\n",
       "      <td>3,474,464,386</td>\n",
       "      <td>94,204,036,152</td>\n",
       "      <td>836,475</td>\n",
       "      <td>10,702.78</td>\n",
       "      <td>-48.44</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>108/07/10</td>\n",
       "      <td>4,044,852,809</td>\n",
       "      <td>104,197,474,125</td>\n",
       "      <td>932,562</td>\n",
       "      <td>10,798.48</td>\n",
       "      <td>95.70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>108/07/11</td>\n",
       "      <td>4,997,530,807</td>\n",
       "      <td>132,057,394,072</td>\n",
       "      <td>1,071,497</td>\n",
       "      <td>10,843.42</td>\n",
       "      <td>44.94</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>108/07/12</td>\n",
       "      <td>4,559,013,456</td>\n",
       "      <td>122,217,270,421</td>\n",
       "      <td>1,031,495</td>\n",
       "      <td>10,824.35</td>\n",
       "      <td>-19.07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>108/07/15</td>\n",
       "      <td>4,625,135,650</td>\n",
       "      <td>120,541,529,871</td>\n",
       "      <td>1,005,175</td>\n",
       "      <td>10,876.43</td>\n",
       "      <td>52.08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>108/07/16</td>\n",
       "      <td>4,451,418,488</td>\n",
       "      <td>119,695,164,249</td>\n",
       "      <td>1,037,335</td>\n",
       "      <td>10,886.05</td>\n",
       "      <td>9.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>108/07/17</td>\n",
       "      <td>4,588,257,766</td>\n",
       "      <td>116,341,167,900</td>\n",
       "      <td>1,048,002</td>\n",
       "      <td>10,828.48</td>\n",
       "      <td>-57.57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>108/07/18</td>\n",
       "      <td>4,212,328,479</td>\n",
       "      <td>106,205,765,697</td>\n",
       "      <td>961,380</td>\n",
       "      <td>10,799.28</td>\n",
       "      <td>-29.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>108/07/19</td>\n",
       "      <td>4,502,161,924</td>\n",
       "      <td>123,566,684,603</td>\n",
       "      <td>982,410</td>\n",
       "      <td>10,873.19</td>\n",
       "      <td>73.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>108/07/22</td>\n",
       "      <td>4,435,604,953</td>\n",
       "      <td>118,654,132,818</td>\n",
       "      <td>977,980</td>\n",
       "      <td>10,944.53</td>\n",
       "      <td>71.34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>108/07/23</td>\n",
       "      <td>4,564,947,566</td>\n",
       "      <td>127,879,150,427</td>\n",
       "      <td>1,077,697</td>\n",
       "      <td>10,947.26</td>\n",
       "      <td>2.73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>108/07/24</td>\n",
       "      <td>4,789,346,753</td>\n",
       "      <td>133,129,096,409</td>\n",
       "      <td>1,132,545</td>\n",
       "      <td>10,935.76</td>\n",
       "      <td>-11.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>108/07/25</td>\n",
       "      <td>5,034,848,310</td>\n",
       "      <td>133,885,703,398</td>\n",
       "      <td>1,131,686</td>\n",
       "      <td>10,941.41</td>\n",
       "      <td>5.65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>108/07/26</td>\n",
       "      <td>4,227,775,498</td>\n",
       "      <td>111,794,836,905</td>\n",
       "      <td>1,002,794</td>\n",
       "      <td>10,891.98</td>\n",
       "      <td>-49.43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>108/07/29</td>\n",
       "      <td>3,873,144,739</td>\n",
       "      <td>105,524,746,606</td>\n",
       "      <td>945,531</td>\n",
       "      <td>10,885.73</td>\n",
       "      <td>-6.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>108/07/30</td>\n",
       "      <td>4,493,608,915</td>\n",
       "      <td>131,409,613,891</td>\n",
       "      <td>1,099,181</td>\n",
       "      <td>10,830.90</td>\n",
       "      <td>-54.83</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>108/07/31</td>\n",
       "      <td>4,476,398,294</td>\n",
       "      <td>131,643,019,317</td>\n",
       "      <td>1,046,160</td>\n",
       "      <td>10,823.81</td>\n",
       "      <td>-7.09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>108/08/01</td>\n",
       "      <td>4,521,619,307</td>\n",
       "      <td>131,058,984,590</td>\n",
       "      <td>1,098,159</td>\n",
       "      <td>10,731.75</td>\n",
       "      <td>-92.06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>108/08/02</td>\n",
       "      <td>5,675,601,956</td>\n",
       "      <td>159,939,135,883</td>\n",
       "      <td>1,300,394</td>\n",
       "      <td>10,549.04</td>\n",
       "      <td>-182.71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>108/08/05</td>\n",
       "      <td>4,911,728,030</td>\n",
       "      <td>129,390,816,837</td>\n",
       "      <td>1,107,939</td>\n",
       "      <td>10,423.41</td>\n",
       "      <td>-125.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>108/08/06</td>\n",
       "      <td>6,008,242,875</td>\n",
       "      <td>146,038,029,501</td>\n",
       "      <td>1,232,634</td>\n",
       "      <td>10,394.75</td>\n",
       "      <td>-28.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>108/08/07</td>\n",
       "      <td>4,468,033,535</td>\n",
       "      <td>121,765,614,143</td>\n",
       "      <td>1,059,318</td>\n",
       "      <td>10,386.18</td>\n",
       "      <td>-8.57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>108/08/08</td>\n",
       "      <td>4,470,132,577</td>\n",
       "      <td>124,081,823,011</td>\n",
       "      <td>998,888</td>\n",
       "      <td>10,494.49</td>\n",
       "      <td>108.31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>108/08/12</td>\n",
       "      <td>4,517,408,511</td>\n",
       "      <td>126,685,737,957</td>\n",
       "      <td>1,065,930</td>\n",
       "      <td>10,472.36</td>\n",
       "      <td>-22.13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>108/08/16</td>\n",
       "      <td>4,700,960,825</td>\n",
       "      <td>120,048,343,262</td>\n",
       "      <td>1,133,574</td>\n",
       "      <td>10,420.89</td>\n",
       "      <td>93.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>108/08/19</td>\n",
       "      <td>4,574,050,378</td>\n",
       "      <td>120,476,924,084</td>\n",
       "      <td>1,068,019</td>\n",
       "      <td>10,488.75</td>\n",
       "      <td>67.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>108/08/20</td>\n",
       "      <td>4,542,661,753</td>\n",
       "      <td>121,491,792,456</td>\n",
       "      <td>1,070,480</td>\n",
       "      <td>10,522.50</td>\n",
       "      <td>33.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>108/08/21</td>\n",
       "      <td>3,932,448,282</td>\n",
       "      <td>111,080,424,760</td>\n",
       "      <td>1,006,299</td>\n",
       "      <td>10,525.80</td>\n",
       "      <td>3.30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>108/08/22</td>\n",
       "      <td>4,396,250,909</td>\n",
       "      <td>123,271,367,108</td>\n",
       "      <td>1,072,360</td>\n",
       "      <td>10,529.78</td>\n",
       "      <td>3.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>108/08/23</td>\n",
       "      <td>3,942,656,466</td>\n",
       "      <td>110,007,554,049</td>\n",
       "      <td>947,669</td>\n",
       "      <td>10,538.11</td>\n",
       "      <td>8.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>108/08/26</td>\n",
       "      <td>4,862,207,637</td>\n",
       "      <td>117,049,586,345</td>\n",
       "      <td>1,016,154</td>\n",
       "      <td>10,354.57</td>\n",
       "      <td>-183.54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>108/08/27</td>\n",
       "      <td>4,120,194,542</td>\n",
       "      <td>123,691,150,076</td>\n",
       "      <td>894,549</td>\n",
       "      <td>10,387.23</td>\n",
       "      <td>32.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>108/08/28</td>\n",
       "      <td>3,597,431,879</td>\n",
       "      <td>102,092,710,347</td>\n",
       "      <td>878,572</td>\n",
       "      <td>10,434.29</td>\n",
       "      <td>47.06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>108/08/29</td>\n",
       "      <td>3,866,814,680</td>\n",
       "      <td>104,248,701,178</td>\n",
       "      <td>937,813</td>\n",
       "      <td>10,462.43</td>\n",
       "      <td>28.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>108/08/30</td>\n",
       "      <td>5,323,560,006</td>\n",
       "      <td>148,217,313,012</td>\n",
       "      <td>1,199,598</td>\n",
       "      <td>10,618.05</td>\n",
       "      <td>155.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>108/09/02</td>\n",
       "      <td>4,333,278,342</td>\n",
       "      <td>105,848,766,031</td>\n",
       "      <td>981,744</td>\n",
       "      <td>10,634.85</td>\n",
       "      <td>16.80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>108/09/03</td>\n",
       "      <td>4,043,809,186</td>\n",
       "      <td>105,576,630,318</td>\n",
       "      <td>949,727</td>\n",
       "      <td>10,558.21</td>\n",
       "      <td>-76.64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>108/09/04</td>\n",
       "      <td>4,338,123,349</td>\n",
       "      <td>107,093,494,944</td>\n",
       "      <td>972,295</td>\n",
       "      <td>10,657.31</td>\n",
       "      <td>99.10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>108/09/05</td>\n",
       "      <td>6,013,120,362</td>\n",
       "      <td>154,662,076,294</td>\n",
       "      <td>1,261,814</td>\n",
       "      <td>10,756.93</td>\n",
       "      <td>99.62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>108/09/06</td>\n",
       "      <td>4,827,692,321</td>\n",
       "      <td>131,307,111,626</td>\n",
       "      <td>1,107,361</td>\n",
       "      <td>10,780.64</td>\n",
       "      <td>23.71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>108/09/09</td>\n",
       "      <td>4,543,925,038</td>\n",
       "      <td>116,733,239,498</td>\n",
       "      <td>1,027,773</td>\n",
       "      <td>10,801.14</td>\n",
       "      <td>20.50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>108/09/10</td>\n",
       "      <td>4,475,712,468</td>\n",
       "      <td>121,338,149,239</td>\n",
       "      <td>986,052</td>\n",
       "      <td>10,753.58</td>\n",
       "      <td>-47.56</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>108/09/11</td>\n",
       "      <td>4,310,865,154</td>\n",
       "      <td>119,937,917,952</td>\n",
       "      <td>974,736</td>\n",
       "      <td>10,790.35</td>\n",
       "      <td>36.77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>108/09/12</td>\n",
       "      <td>4,330,422,356</td>\n",
       "      <td>120,872,609,647</td>\n",
       "      <td>962,901</td>\n",
       "      <td>10,827.55</td>\n",
       "      <td>37.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>108/09/16</td>\n",
       "      <td>4,390,073,832</td>\n",
       "      <td>119,576,475,670</td>\n",
       "      <td>1,005,025</td>\n",
       "      <td>10,898.13</td>\n",
       "      <td>70.58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>108/09/17</td>\n",
       "      <td>4,238,580,734</td>\n",
       "      <td>117,546,611,937</td>\n",
       "      <td>1,001,017</td>\n",
       "      <td>10,874.50</td>\n",
       "      <td>-23.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>108/09/18</td>\n",
       "      <td>4,380,465,735</td>\n",
       "      <td>130,465,246,047</td>\n",
       "      <td>1,113,809</td>\n",
       "      <td>10,929.45</td>\n",
       "      <td>54.95</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>108/09/19</td>\n",
       "      <td>4,094,709,966</td>\n",
       "      <td>114,671,100,910</td>\n",
       "      <td>922,567</td>\n",
       "      <td>10,894.70</td>\n",
       "      <td>-34.75</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>108/09/20</td>\n",
       "      <td>4,712,806,256</td>\n",
       "      <td>147,979,569,707</td>\n",
       "      <td>1,015,743</td>\n",
       "      <td>10,929.69</td>\n",
       "      <td>34.99</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>108/09/23</td>\n",
       "      <td>3,976,565,745</td>\n",
       "      <td>106,841,123,621</td>\n",
       "      <td>978,964</td>\n",
       "      <td>10,919.02</td>\n",
       "      <td>-10.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>108/09/24</td>\n",
       "      <td>3,872,481,764</td>\n",
       "      <td>109,707,784,147</td>\n",
       "      <td>1,013,261</td>\n",
       "      <td>10,918.01</td>\n",
       "      <td>-1.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>108/09/25</td>\n",
       "      <td>3,880,868,893</td>\n",
       "      <td>106,259,302,170</td>\n",
       "      <td>954,407</td>\n",
       "      <td>10,873.69</td>\n",
       "      <td>-44.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>108/09/26</td>\n",
       "      <td>3,878,756,606</td>\n",
       "      <td>116,018,960,126</td>\n",
       "      <td>945,745</td>\n",
       "      <td>10,871.99</td>\n",
       "      <td>-1.70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>108/09/27</td>\n",
       "      <td>4,211,145,537</td>\n",
       "      <td>124,771,598,230</td>\n",
       "      <td>1,031,089</td>\n",
       "      <td>10,829.68</td>\n",
       "      <td>-42.31</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>63 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           日期           成交股數             成交金額       成交筆數  發行量加權股價指數     漲跌點數\n",
       "0   108/07/01  4,985,631,880  145,664,096,932  1,089,572  10,895.46   164.63\n",
       "1   108/07/02  4,295,548,703  120,716,164,596    991,072  10,865.12   -30.34\n",
       "2   108/07/03  4,246,162,907  112,714,237,324    938,659  10,743.77  -121.35\n",
       "3   108/07/04  3,797,646,624   98,158,438,333    828,014  10,775.90    32.13\n",
       "4   108/07/05  3,400,302,424   86,511,212,135    752,681  10,785.73     9.83\n",
       "5   108/07/08  3,738,945,153   97,082,027,949    815,372  10,751.22   -34.51\n",
       "6   108/07/09  3,474,464,386   94,204,036,152    836,475  10,702.78   -48.44\n",
       "7   108/07/10  4,044,852,809  104,197,474,125    932,562  10,798.48    95.70\n",
       "8   108/07/11  4,997,530,807  132,057,394,072  1,071,497  10,843.42    44.94\n",
       "9   108/07/12  4,559,013,456  122,217,270,421  1,031,495  10,824.35   -19.07\n",
       "10  108/07/15  4,625,135,650  120,541,529,871  1,005,175  10,876.43    52.08\n",
       "11  108/07/16  4,451,418,488  119,695,164,249  1,037,335  10,886.05     9.62\n",
       "12  108/07/17  4,588,257,766  116,341,167,900  1,048,002  10,828.48   -57.57\n",
       "13  108/07/18  4,212,328,479  106,205,765,697    961,380  10,799.28   -29.20\n",
       "14  108/07/19  4,502,161,924  123,566,684,603    982,410  10,873.19    73.91\n",
       "15  108/07/22  4,435,604,953  118,654,132,818    977,980  10,944.53    71.34\n",
       "16  108/07/23  4,564,947,566  127,879,150,427  1,077,697  10,947.26     2.73\n",
       "17  108/07/24  4,789,346,753  133,129,096,409  1,132,545  10,935.76   -11.50\n",
       "18  108/07/25  5,034,848,310  133,885,703,398  1,131,686  10,941.41     5.65\n",
       "19  108/07/26  4,227,775,498  111,794,836,905  1,002,794  10,891.98   -49.43\n",
       "20  108/07/29  3,873,144,739  105,524,746,606    945,531  10,885.73    -6.25\n",
       "21  108/07/30  4,493,608,915  131,409,613,891  1,099,181  10,830.90   -54.83\n",
       "22  108/07/31  4,476,398,294  131,643,019,317  1,046,160  10,823.81    -7.09\n",
       "23  108/08/01  4,521,619,307  131,058,984,590  1,098,159  10,731.75   -92.06\n",
       "24  108/08/02  5,675,601,956  159,939,135,883  1,300,394  10,549.04  -182.71\n",
       "25  108/08/05  4,911,728,030  129,390,816,837  1,107,939  10,423.41  -125.63\n",
       "26  108/08/06  6,008,242,875  146,038,029,501  1,232,634  10,394.75   -28.66\n",
       "27  108/08/07  4,468,033,535  121,765,614,143  1,059,318  10,386.18    -8.57\n",
       "28  108/08/08  4,470,132,577  124,081,823,011    998,888  10,494.49   108.31\n",
       "29  108/08/12  4,517,408,511  126,685,737,957  1,065,930  10,472.36   -22.13\n",
       "..        ...            ...              ...        ...        ...      ...\n",
       "33  108/08/16  4,700,960,825  120,048,343,262  1,133,574  10,420.89    93.76\n",
       "34  108/08/19  4,574,050,378  120,476,924,084  1,068,019  10,488.75    67.86\n",
       "35  108/08/20  4,542,661,753  121,491,792,456  1,070,480  10,522.50    33.75\n",
       "36  108/08/21  3,932,448,282  111,080,424,760  1,006,299  10,525.80     3.30\n",
       "37  108/08/22  4,396,250,909  123,271,367,108  1,072,360  10,529.78     3.98\n",
       "38  108/08/23  3,942,656,466  110,007,554,049    947,669  10,538.11     8.33\n",
       "39  108/08/26  4,862,207,637  117,049,586,345  1,016,154  10,354.57  -183.54\n",
       "40  108/08/27  4,120,194,542  123,691,150,076    894,549  10,387.23    32.66\n",
       "41  108/08/28  3,597,431,879  102,092,710,347    878,572  10,434.29    47.06\n",
       "42  108/08/29  3,866,814,680  104,248,701,178    937,813  10,462.43    28.14\n",
       "43  108/08/30  5,323,560,006  148,217,313,012  1,199,598  10,618.05   155.62\n",
       "44  108/09/02  4,333,278,342  105,848,766,031    981,744  10,634.85    16.80\n",
       "45  108/09/03  4,043,809,186  105,576,630,318    949,727  10,558.21   -76.64\n",
       "46  108/09/04  4,338,123,349  107,093,494,944    972,295  10,657.31    99.10\n",
       "47  108/09/05  6,013,120,362  154,662,076,294  1,261,814  10,756.93    99.62\n",
       "48  108/09/06  4,827,692,321  131,307,111,626  1,107,361  10,780.64    23.71\n",
       "49  108/09/09  4,543,925,038  116,733,239,498  1,027,773  10,801.14    20.50\n",
       "50  108/09/10  4,475,712,468  121,338,149,239    986,052  10,753.58   -47.56\n",
       "51  108/09/11  4,310,865,154  119,937,917,952    974,736  10,790.35    36.77\n",
       "52  108/09/12  4,330,422,356  120,872,609,647    962,901  10,827.55    37.20\n",
       "53  108/09/16  4,390,073,832  119,576,475,670  1,005,025  10,898.13    70.58\n",
       "54  108/09/17  4,238,580,734  117,546,611,937  1,001,017  10,874.50   -23.63\n",
       "55  108/09/18  4,380,465,735  130,465,246,047  1,113,809  10,929.45    54.95\n",
       "56  108/09/19  4,094,709,966  114,671,100,910    922,567  10,894.70   -34.75\n",
       "57  108/09/20  4,712,806,256  147,979,569,707  1,015,743  10,929.69    34.99\n",
       "58  108/09/23  3,976,565,745  106,841,123,621    978,964  10,919.02   -10.67\n",
       "59  108/09/24  3,872,481,764  109,707,784,147  1,013,261  10,918.01    -1.01\n",
       "60  108/09/25  3,880,868,893  106,259,302,170    954,407  10,873.69   -44.32\n",
       "61  108/09/26  3,878,756,606  116,018,960,126    945,745  10,871.99    -1.70\n",
       "62  108/09/27  4,211,145,537  124,771,598,230  1,031,089  10,829.68   -42.31\n",
       "\n",
       "[63 rows x 6 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_stock_data(start_year = 2019, start_month = 7, end_year = 2019, end_month = 9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "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>日期</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>0</th>\n",
       "      <td>108/07/01</td>\n",
       "      <td>4,985,631,880</td>\n",
       "      <td>145,664,096,932</td>\n",
       "      <td>1,089,572</td>\n",
       "      <td>10,895.46</td>\n",
       "      <td>164.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>108/07/02</td>\n",
       "      <td>4,295,548,703</td>\n",
       "      <td>120,716,164,596</td>\n",
       "      <td>991,072</td>\n",
       "      <td>10,865.12</td>\n",
       "      <td>-30.34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>108/07/03</td>\n",
       "      <td>4,246,162,907</td>\n",
       "      <td>112,714,237,324</td>\n",
       "      <td>938,659</td>\n",
       "      <td>10,743.77</td>\n",
       "      <td>-121.35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>108/07/04</td>\n",
       "      <td>3,797,646,624</td>\n",
       "      <td>98,158,438,333</td>\n",
       "      <td>828,014</td>\n",
       "      <td>10,775.90</td>\n",
       "      <td>32.13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>108/07/05</td>\n",
       "      <td>3,400,302,424</td>\n",
       "      <td>86,511,212,135</td>\n",
       "      <td>752,681</td>\n",
       "      <td>10,785.73</td>\n",
       "      <td>9.83</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          日期           成交股數             成交金額       成交筆數  發行量加權股價指數     漲跌點數\n",
       "0  108/07/01  4,985,631,880  145,664,096,932  1,089,572  10,895.46   164.63\n",
       "1  108/07/02  4,295,548,703  120,716,164,596    991,072  10,865.12   -30.34\n",
       "2  108/07/03  4,246,162,907  112,714,237,324    938,659  10,743.77  -121.35\n",
       "3  108/07/04  3,797,646,624   98,158,438,333    828,014  10,775.90    32.13\n",
       "4  108/07/05  3,400,302,424   86,511,212,135    752,681  10,785.73     9.83"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stock = get_stock_data(start_year = 2019, start_month = 7, end_year = 2019, end_month = 9)\n",
    "stock.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock.to_csv(\"TAIEX.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}