{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "d92d7f3c",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import requests\n",
    "import seaborn as sns\n",
    "import pandas_datareader.data as web\n",
    "import datetime as dt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "011a48bf",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['F-F_Research_Data_Factors',\n",
       " 'F-F_Research_Data_Factors_weekly',\n",
       " 'F-F_Research_Data_Factors_daily',\n",
       " 'F-F_Research_Data_5_Factors_2x3',\n",
       " 'F-F_Research_Data_5_Factors_2x3_daily',\n",
       " 'Portfolios_Formed_on_ME',\n",
       " 'Portfolios_Formed_on_ME_Wout_Div',\n",
       " 'Portfolios_Formed_on_ME_Daily',\n",
       " 'Portfolios_Formed_on_BE-ME',\n",
       " 'Portfolios_Formed_on_BE-ME_Wout_Div',\n",
       " 'Portfolios_Formed_on_BE-ME_Daily',\n",
       " 'Portfolios_Formed_on_OP',\n",
       " 'Portfolios_Formed_on_OP_Wout_Div',\n",
       " 'Portfolios_Formed_on_OP_Daily',\n",
       " 'Portfolios_Formed_on_INV',\n",
       " 'Portfolios_Formed_on_INV_Wout_Div',\n",
       " 'Portfolios_Formed_on_INV_Daily',\n",
       " '6_Portfolios_2x3',\n",
       " '6_Portfolios_2x3_Wout_Div',\n",
       " '6_Portfolios_2x3_weekly',\n",
       " '6_Portfolios_2x3_daily',\n",
       " '25_Portfolios_5x5',\n",
       " '25_Portfolios_5x5_Wout_Div',\n",
       " '25_Portfolios_5x5_Daily',\n",
       " '100_Portfolios_10x10',\n",
       " '100_Portfolios_10x10_Wout_Div',\n",
       " '100_Portfolios_10x10_Daily',\n",
       " '6_Portfolios_ME_OP_2x3',\n",
       " '6_Portfolios_ME_OP_2x3_Wout_Div',\n",
       " '6_Portfolios_ME_OP_2x3_daily',\n",
       " '25_Portfolios_ME_OP_5x5',\n",
       " '25_Portfolios_ME_OP_5x5_Wout_Div',\n",
       " '25_Portfolios_ME_OP_5x5_daily',\n",
       " '100_Portfolios_ME_OP_10x10',\n",
       " '100_Portfolios_10x10_ME_OP_Wout_Div',\n",
       " '100_Portfolios_ME_OP_10x10_daily',\n",
       " '6_Portfolios_ME_INV_2x3',\n",
       " '6_Portfolios_ME_INV_2x3_Wout_Div',\n",
       " '6_Portfolios_ME_INV_2x3_daily',\n",
       " '25_Portfolios_ME_INV_5x5',\n",
       " '25_Portfolios_ME_INV_5x5_Wout_Div',\n",
       " '25_Portfolios_ME_INV_5x5_daily',\n",
       " '100_Portfolios_ME_INV_10x10',\n",
       " '100_Portfolios_10x10_ME_INV_Wout_Div',\n",
       " '100_Portfolios_ME_INV_10x10_daily',\n",
       " '25_Portfolios_BEME_OP_5x5',\n",
       " '25_Portfolios_BEME_OP_5x5_Wout_Div',\n",
       " '25_Portfolios_BEME_OP_5x5_daily',\n",
       " '25_Portfolios_BEME_INV_5x5',\n",
       " '25_Portfolios_BEME_INV_5x5_Wout_Div',\n",
       " '25_Portfolios_BEME_INV_5x5_daily',\n",
       " '25_Portfolios_OP_INV_5x5',\n",
       " '25_Portfolios_OP_INV_5x5_Wout_Div',\n",
       " '25_Portfolios_OP_INV_5x5_daily',\n",
       " '32_Portfolios_ME_BEME_OP_2x4x4',\n",
       " '32_Portfolios_ME_BEME_OP_2x4x4_Wout_Div',\n",
       " '32_Portfolios_ME_BEME_INV_2x4x4',\n",
       " '32_Portfolios_ME_BEME_INV_2x4x4_Wout_Div',\n",
       " '32_Portfolios_ME_OP_INV_2x4x4',\n",
       " '32_Portfolios_ME_OP_INV_2x4x4_Wout_Div',\n",
       " 'Portfolios_Formed_on_E-P',\n",
       " 'Portfolios_Formed_on_E-P_Wout_Div',\n",
       " 'Portfolios_Formed_on_CF-P',\n",
       " 'Portfolios_Formed_on_CF-P_Wout_Div',\n",
       " 'Portfolios_Formed_on_D-P',\n",
       " 'Portfolios_Formed_on_D-P_Wout_Div',\n",
       " '6_Portfolios_ME_EP_2x3',\n",
       " '6_Portfolios_ME_EP_2x3_Wout_Div',\n",
       " '6_Portfolios_ME_CFP_2x3',\n",
       " '6_Portfolios_ME_CFP_2x3_Wout_Div',\n",
       " '6_Portfolios_ME_DP_2x3',\n",
       " '6_Portfolios_ME_DP_2x3_Wout_Div',\n",
       " 'F-F_Momentum_Factor',\n",
       " 'F-F_Momentum_Factor_daily',\n",
       " '6_Portfolios_ME_Prior_12_2',\n",
       " '6_Portfolios_ME_Prior_12_2_Daily',\n",
       " '25_Portfolios_ME_Prior_12_2',\n",
       " '25_Portfolios_ME_Prior_12_2_Daily',\n",
       " '10_Portfolios_Prior_12_2',\n",
       " '10_Portfolios_Prior_12_2_Daily',\n",
       " 'F-F_ST_Reversal_Factor',\n",
       " 'F-F_ST_Reversal_Factor_daily',\n",
       " '6_Portfolios_ME_Prior_1_0',\n",
       " '6_Portfolios_ME_Prior_1_0_Daily',\n",
       " '25_Portfolios_ME_Prior_1_0',\n",
       " '25_Portfolios_ME_Prior_1_0_Daily',\n",
       " '10_Portfolios_Prior_1_0',\n",
       " '10_Portfolios_Prior_1_0_Daily',\n",
       " 'F-F_LT_Reversal_Factor',\n",
       " 'F-F_LT_Reversal_Factor_daily',\n",
       " '6_Portfolios_ME_Prior_60_13',\n",
       " '6_Portfolios_ME_Prior_60_13_Daily',\n",
       " '25_Portfolios_ME_Prior_60_13',\n",
       " '25_Portfolios_ME_Prior_60_13_Daily',\n",
       " '10_Portfolios_Prior_60_13',\n",
       " '10_Portfolios_Prior_60_13_Daily',\n",
       " 'Portfolios_Formed_on_AC',\n",
       " '25_Portfolios_ME_AC_5x5',\n",
       " 'Portfolios_Formed_on_BETA',\n",
       " '25_Portfolios_ME_BETA_5x5',\n",
       " 'Portfolios_Formed_on_NI',\n",
       " '25_Portfolios_ME_NI_5x5',\n",
       " 'Portfolios_Formed_on_VAR',\n",
       " '25_Portfolios_ME_VAR_5x5',\n",
       " 'Portfolios_Formed_on_RESVAR',\n",
       " '25_Portfolios_ME_RESVAR_5x5',\n",
       " '5_Industry_Portfolios',\n",
       " '5_Industry_Portfolios_Wout_Div',\n",
       " '5_Industry_Portfolios_daily',\n",
       " '10_Industry_Portfolios',\n",
       " '10_Industry_Portfolios_Wout_Div',\n",
       " '10_Industry_Portfolios_daily',\n",
       " '12_Industry_Portfolios',\n",
       " '12_Industry_Portfolios_Wout_Div',\n",
       " '12_Industry_Portfolios_daily',\n",
       " '17_Industry_Portfolios',\n",
       " '17_Industry_Portfolios_Wout_Div',\n",
       " '17_Industry_Portfolios_daily',\n",
       " '30_Industry_Portfolios',\n",
       " '30_Industry_Portfolios_Wout_Div',\n",
       " '30_Industry_Portfolios_daily',\n",
       " '38_Industry_Portfolios',\n",
       " '38_Industry_Portfolios_Wout_Div',\n",
       " '38_Industry_Portfolios_daily',\n",
       " '48_Industry_Portfolios',\n",
       " '48_Industry_Portfolios_Wout_Div',\n",
       " '48_Industry_Portfolios_daily',\n",
       " '49_Industry_Portfolios',\n",
       " '49_Industry_Portfolios_Wout_Div',\n",
       " '49_Industry_Portfolios_daily',\n",
       " 'ME_Breakpoints',\n",
       " 'BE-ME_Breakpoints',\n",
       " 'OP_Breakpoints',\n",
       " 'INV_Breakpoints',\n",
       " 'E-P_Breakpoints',\n",
       " 'CF-P_Breakpoints',\n",
       " 'D-P_Breakpoints',\n",
       " 'Prior_2-12_Breakpoints',\n",
       " 'Developed_3_Factors',\n",
       " 'Developed_3_Factors_Daily',\n",
       " 'Developed_ex_US_3_Factors',\n",
       " 'Developed_ex_US_3_Factors_Daily',\n",
       " 'Europe_3_Factors',\n",
       " 'Europe_3_Factors_Daily',\n",
       " 'Japan_3_Factors',\n",
       " 'Japan_3_Factors_Daily',\n",
       " 'Asia_Pacific_ex_Japan_3_Factors',\n",
       " 'Asia_Pacific_ex_Japan_3_Factors_Daily',\n",
       " 'North_America_3_Factors',\n",
       " 'North_America_3_Factors_Daily',\n",
       " 'Developed_5_Factors',\n",
       " 'Developed_5_Factors_Daily',\n",
       " 'Developed_ex_US_5_Factors',\n",
       " 'Developed_ex_US_5_Factors_Daily',\n",
       " 'Europe_5_Factors',\n",
       " 'Europe_5_Factors_Daily',\n",
       " 'Japan_5_Factors',\n",
       " 'Japan_5_Factors_Daily',\n",
       " 'Asia_Pacific_ex_Japan_5_Factors',\n",
       " 'Asia_Pacific_ex_Japan_5_Factors_Daily',\n",
       " 'North_America_5_Factors',\n",
       " 'North_America_5_Factors_Daily',\n",
       " 'Developed_Mom_Factor',\n",
       " 'Developed_Mom_Factor_Daily',\n",
       " 'Developed_ex_US_Mom_Factor',\n",
       " 'Developed_ex_US_Mom_Factor_Daily',\n",
       " 'Europe_Mom_Factor',\n",
       " 'Europe_Mom_Factor_Daily',\n",
       " 'Japan_Mom_Factor',\n",
       " 'Japan_Mom_Factor_Daily',\n",
       " 'Asia_Pacific_ex_Japan_MOM_Factor',\n",
       " 'Asia_Pacific_ex_Japan_MOM_Factor_Daily',\n",
       " 'North_America_Mom_Factor',\n",
       " 'North_America_Mom_Factor_Daily',\n",
       " 'Developed_6_Portfolios_ME_BE-ME',\n",
       " 'Developed_6_Portfolios_ME_BE-ME_daily',\n",
       " 'Developed_ex_US_6_Portfolios_ME_BE-ME',\n",
       " 'Developed_ex_US_6_Portfolios_ME_BE-ME_daily',\n",
       " 'Europe_6_Portfolios_ME_BE-ME',\n",
       " 'Europe_6_Portfolios_ME_BE-ME_daily',\n",
       " 'Japan_6_Portfolios_ME_BE-ME',\n",
       " 'Japan_6_Portfolios_ME_BE-ME_daily',\n",
       " 'Asia_Pacific_ex_Japan_6_Portfolios_ME_BE-ME',\n",
       " 'Asia_Pacific_ex_Japan_6_Portfolios_ME_BE-ME_daily',\n",
       " 'North_America_6_Portfolios_ME_BE-ME',\n",
       " 'North_America_6_Portfolios_ME_BE-ME_daily',\n",
       " 'Developed_25_Portfolios_ME_BE-ME',\n",
       " 'Developed_25_Portfolios_ME_BE-ME_daily',\n",
       " 'Developed_ex_US_25_Portfolios_ME_BE-ME',\n",
       " 'Developed_ex_US_25_Portfolios_ME_BE-ME_daily',\n",
       " 'Europe_25_Portfolios_ME_BE-ME',\n",
       " 'Europe_25_Portfolios_ME_BE-ME_daily',\n",
       " 'Japan_25_Portfolios_ME_BE-ME',\n",
       " 'Japan_25_Portfolios_ME_BE-ME_daily',\n",
       " 'Asia_Pacific_ex_Japan_25_Portfolios_ME_BE-ME',\n",
       " 'Asia_Pacific_ex_Japan_25_Portfolios_ME_BE-ME_daily',\n",
       " 'North_America_25_Portfolios_ME_BE-ME',\n",
       " 'North_America_25_Portfolios_ME_BE-ME_daily',\n",
       " 'Developed_6_Portfolios_ME_OP',\n",
       " 'Developed_6_Portfolios_ME_OP_Daily',\n",
       " 'Developed_ex_US_6_Portfolios_ME_OP',\n",
       " 'Developed_ex_US_6_Portfolios_ME_OP_Daily',\n",
       " 'Europe_6_Portfolios_ME_OP',\n",
       " 'Europe_6_Portfolios_ME_OP_Daily',\n",
       " 'Japan_6_Portfolios_ME_OP',\n",
       " 'Japan_6_Portfolios_ME_OP_Daily',\n",
       " 'Asia_Pacific_ex_Japan_6_Portfolios_ME_OP',\n",
       " 'Asia_Pacific_ex_Japan_6_Portfolios_ME_OP_Daily',\n",
       " 'North_America_6_Portfolios_ME_OP',\n",
       " 'North_America_6_Portfolios_ME_OP_Daily',\n",
       " 'Developed_25_Portfolios_ME_OP',\n",
       " 'Developed_25_Portfolios_ME_OP_Daily',\n",
       " 'Developed_ex_US_25_Portfolios_ME_OP',\n",
       " 'Developed_ex_US_25_Portfolios_ME_OP_Daily',\n",
       " 'Europe_25_Portfolios_ME_OP',\n",
       " 'Europe_25_Portfolios_ME_OP_Daily',\n",
       " 'Japan_25_Portfolios_ME_OP',\n",
       " 'Japan_25_Portfolios_ME_OP_Daily',\n",
       " 'Asia_Pacific_ex_Japan_25_Portfolios_ME_OP',\n",
       " 'Asia_Pacific_ex_Japan_25_Portfolios_ME_OP_Daily',\n",
       " 'North_America_25_Portfolios_ME_OP',\n",
       " 'North_America_25_Portfolios_ME_OP_Daily',\n",
       " 'Developed_6_Portfolios_ME_INV',\n",
       " 'Developed_6_Portfolios_ME_INV_Daily',\n",
       " 'Developed_ex_US_6_Portfolios_ME_INV',\n",
       " 'Developed_ex_US_6_Portfolios_ME_INV_Daily',\n",
       " 'Europe_6_Portfolios_ME_INV',\n",
       " 'Europe_6_Portfolios_ME_INV_Daily',\n",
       " 'Japan_6_Portfolios_ME_INV',\n",
       " 'Japan_6_Portfolios_ME_INV_Daily',\n",
       " 'Asia_Pacific_ex_Japan_6_Portfolios_ME_INV',\n",
       " 'Asia_Pacific_ex_Japan_6_Portfolios_ME_INV_Daily',\n",
       " 'North_America_6_Portfolios_ME_INV',\n",
       " 'North_America_6_Portfolios_ME_INV_Daily',\n",
       " 'Developed_25_Portfolios_ME_INV',\n",
       " 'Developed_25_Portfolios_ME_INV_Daily',\n",
       " 'Developed_ex_US_25_Portfolios_ME_INV',\n",
       " 'Developed_ex_US_25_Portfolios_ME_INV_Daily',\n",
       " 'Europe_25_Portfolios_ME_INV',\n",
       " 'Europe_25_Portfolios_ME_INV_Daily',\n",
       " 'Japan_25_Portfolios_ME_INV',\n",
       " 'Japan_25_Portfolios_ME_INV_Daily',\n",
       " 'Asia_Pacific_ex_Japan_25_Portfolios_ME_INV',\n",
       " 'Asia_Pacific_ex_Japan_25_Portfolios_ME_INV_Daily',\n",
       " 'North_America_25_Portfolios_ME_INV',\n",
       " 'North_America_25_Portfolios_ME_INV_Daily',\n",
       " 'Developed_6_Portfolios_ME_Prior_12_2',\n",
       " 'Developed_6_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Developed_ex_US_6_Portfolios_ME_Prior_12_2',\n",
       " 'Developed_ex_US_6_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Europe_6_Portfolios_ME_Prior_12_2',\n",
       " 'Europe_6_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Japan_6_Portfolios_ME_Prior_12_2',\n",
       " 'Japan_6_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Asia_Pacific_ex_Japan_6_Portfolios_ME_Prior_12_2',\n",
       " 'Asia_Pacific_ex_Japan_6_Portfolios_ME_Prior_250_20_daily',\n",
       " 'North_America_6_Portfolios_ME_Prior_12_2',\n",
       " 'North_America_6_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Developed_25_Portfolios_ME_Prior_12_2',\n",
       " 'Developed_25_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Developed_ex_US_25_Portfolios_ME_Prior_12_2',\n",
       " 'Developed_ex_US_25_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Europe_25_Portfolios_ME_Prior_12_2',\n",
       " 'Europe_25_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Japan_25_Portfolios_ME_Prior_12_2',\n",
       " 'Japan_25_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Asia_Pacific_ex_Japan_25_Portfolios_ME_Prior_12_2',\n",
       " 'Asia_Pacific_ex_Japan_25_Portfolios_ME_Prior_250_20_daily',\n",
       " 'North_America_25_Portfolios_ME_Prior_12_2',\n",
       " 'North_America_25_Portfolios_ME_Prior_250_20_daily',\n",
       " 'Developed_32_Portfolios_ME_BE-ME_OP_2x4x4',\n",
       " 'Developed_ex_US_32_Portfolios_ME_BE-ME_OP_2x4x4',\n",
       " 'Europe_32_Portfolios_ME_BE-ME_OP_2x4x4',\n",
       " 'Japan_32_Portfolios_ME_BE-ME_OP_2x4x4',\n",
       " 'Asia_Pacific_ex_Japan_32_Portfolios_ME_BE-ME_OP_2x4x4',\n",
       " 'North_America_32_Portfolios_ME_BE-ME_OP_2x4x4',\n",
       " 'Developed_32_Portfolios_ME_BE-ME_INV(TA)_2x4x4',\n",
       " 'Developed_ex_US_32_Portfolios_ME_BE-ME_INV(TA)_2x4x4',\n",
       " 'Europe_32_Portfolios_ME_BE-ME_INV(TA)_2x4x4',\n",
       " 'Japan_32_Portfolios_ME_BE-ME_INV(TA)_2x4x4',\n",
       " 'Asia_Pacific_ex_Japan_32_Portfolios_ME_BE-ME_INV(TA)_2x4x4',\n",
       " 'North_America_32_Portfolios_ME_BE-ME_INV(TA)_2x4x4',\n",
       " 'Developed_32_Portfolios_ME_INV(TA)_OP_2x4x4',\n",
       " 'Developed_ex_US_32_Portfolios_ME_INV(TA)_OP_2x4x4',\n",
       " 'Europe_32_Portfolios_ME_INV(TA)_OP_2x4x4',\n",
       " 'Japan_32_Portfolios_ME_INV(TA)_OP_2x4x4',\n",
       " 'Asia_Pacific_ex_Japan_32_Portfolios_ME_INV(TA)_OP_2x4x4',\n",
       " 'North_America_32_Portfolios_ME_INV(TA)_OP_2x4x4',\n",
       " 'Emerging_5_Factors',\n",
       " 'Emerging_MOM_Factor',\n",
       " 'Emerging_Markets_6_Portfolios_ME_BE-ME',\n",
       " 'Emerging_Markets_6_Portfolios_ME_OP',\n",
       " 'Emerging_Markets_6_Portfolios_ME_INV',\n",
       " 'Emerging_Markets_6_Portfolios_ME_Prior_12_2',\n",
       " 'Emerging_Markets_4_Portfolios_BE-ME_OP',\n",
       " 'Emerging_Markets_4_Portfolios_OP_INV',\n",
       " 'Emerging_Markets_4_Portfolios_BE-ME_INV']"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pandas_datareader.famafrench.get_available_datasets()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "b3765e9d",
   "metadata": {},
   "outputs": [],
   "source": [
    "start_date = dt.datetime(1926, 7, 1)\n",
    "end_date = dt.datetime(2022, 8, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "bfd31bdd",
   "metadata": {},
   "outputs": [],
   "source": [
    "fffactors = web.DataReader('F-F_Research_Data_Factors', 'famafrench', start = start_date, end = end_date)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "3f5916ab",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0:          Mkt-RF   SMB   HML    RF\n",
       " Date                             \n",
       " 1926-07    2.96 -2.56 -2.43  0.22\n",
       " 1926-08    2.64 -1.17  3.82  0.25\n",
       " 1926-09    0.36 -1.40  0.13  0.23\n",
       " 1926-10   -3.24 -0.09  0.70  0.32\n",
       " 1926-11    2.53 -0.10 -0.51  0.31\n",
       " ...         ...   ...   ...   ...\n",
       " 2022-04   -9.46 -1.41  6.19  0.01\n",
       " 2022-05   -0.34 -1.85  8.41  0.03\n",
       " 2022-06   -8.43  2.09 -5.97  0.06\n",
       " 2022-07    9.57  2.81 -4.10  0.08\n",
       " 2022-08   -3.78  1.39  0.31  0.19\n",
       " \n",
       " [1154 rows x 4 columns],\n",
       " 1:       Mkt-RF    SMB    HML    RF\n",
       " Date                            \n",
       " 1927   29.47  -2.04  -4.54  3.12\n",
       " 1928   35.39   4.51  -6.17  3.56\n",
       " 1929  -19.54 -30.70  11.67  4.75\n",
       " 1930  -31.23  -5.17 -11.54  2.41\n",
       " 1931  -45.11   3.70 -13.95  1.07\n",
       " ...      ...    ...    ...   ...\n",
       " 2017   21.51  -4.97 -13.51  0.80\n",
       " 2018   -6.95  -3.21  -9.73  1.83\n",
       " 2019   28.28  -6.10 -10.34  2.15\n",
       " 2020   23.66  13.17 -46.57  0.45\n",
       " 2021   23.56  -3.92  25.57  0.04\n",
       " \n",
       " [95 rows x 4 columns],\n",
       " 'DESCR': 'F-F Research Data Factors\\n-------------------------\\n\\nThis file was created by CMPT_ME_BEME_RETS using the 202208 CRSP database. The 1-month TBill return is from Ibbotson and Associates, Inc. Copyright 2022 Kenneth R. French\\n\\n  0 : (1154 rows x 4 cols)\\n  1 : Annual Factors: January-December (95 rows x 4 cols)'}"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fffactors"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "db0ee619",
   "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>Mkt-RF</th>\n",
       "      <th>SMB</th>\n",
       "      <th>HML</th>\n",
       "      <th>RF</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1926-07</th>\n",
       "      <td>2.96</td>\n",
       "      <td>-2.56</td>\n",
       "      <td>-2.43</td>\n",
       "      <td>0.22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-08</th>\n",
       "      <td>2.64</td>\n",
       "      <td>-1.17</td>\n",
       "      <td>3.82</td>\n",
       "      <td>0.25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-09</th>\n",
       "      <td>0.36</td>\n",
       "      <td>-1.40</td>\n",
       "      <td>0.13</td>\n",
       "      <td>0.23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-10</th>\n",
       "      <td>-3.24</td>\n",
       "      <td>-0.09</td>\n",
       "      <td>0.70</td>\n",
       "      <td>0.32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-11</th>\n",
       "      <td>2.53</td>\n",
       "      <td>-0.10</td>\n",
       "      <td>-0.51</td>\n",
       "      <td>0.31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-04</th>\n",
       "      <td>-9.46</td>\n",
       "      <td>-1.41</td>\n",
       "      <td>6.19</td>\n",
       "      <td>0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-05</th>\n",
       "      <td>-0.34</td>\n",
       "      <td>-1.85</td>\n",
       "      <td>8.41</td>\n",
       "      <td>0.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-06</th>\n",
       "      <td>-8.43</td>\n",
       "      <td>2.09</td>\n",
       "      <td>-5.97</td>\n",
       "      <td>0.06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-07</th>\n",
       "      <td>9.57</td>\n",
       "      <td>2.81</td>\n",
       "      <td>-4.10</td>\n",
       "      <td>0.08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-08</th>\n",
       "      <td>-3.78</td>\n",
       "      <td>1.39</td>\n",
       "      <td>0.31</td>\n",
       "      <td>0.19</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1154 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         Mkt-RF   SMB   HML    RF\n",
       "Date                             \n",
       "1926-07    2.96 -2.56 -2.43  0.22\n",
       "1926-08    2.64 -1.17  3.82  0.25\n",
       "1926-09    0.36 -1.40  0.13  0.23\n",
       "1926-10   -3.24 -0.09  0.70  0.32\n",
       "1926-11    2.53 -0.10 -0.51  0.31\n",
       "...         ...   ...   ...   ...\n",
       "2022-04   -9.46 -1.41  6.19  0.01\n",
       "2022-05   -0.34 -1.85  8.41  0.03\n",
       "2022-06   -8.43  2.09 -5.97  0.06\n",
       "2022-07    9.57  2.81 -4.10  0.08\n",
       "2022-08   -3.78  1.39  0.31  0.19\n",
       "\n",
       "[1154 rows x 4 columns]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fffactors_monthly = fffactors[0]\n",
    "fffactors_monthly"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "89a46a6a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0:          Food   Beer   Smoke  Games  Books  Hshld  Clths  Hlth   Chems  Txtls  \\\n",
       " Date                                                                            \n",
       " 1926-07   0.56  -5.19   1.29   2.93  10.97  -0.48   8.08   1.77   8.14   0.39   \n",
       " 1926-08   2.59  27.03   6.50   0.55  10.01  -3.58  -2.51   4.25   5.50   7.97   \n",
       " 1926-09   1.16   4.02   1.26   6.58  -0.99   0.73  -0.51   0.69   5.33   2.30   \n",
       " 1926-10  -3.06  -3.31   1.06  -4.76   9.47  -4.68   0.12  -0.57  -4.76   1.00   \n",
       " 1926-11   6.35   7.29   4.55   1.66  -5.80  -0.54   1.87   5.42   5.20   3.10   \n",
       " ...        ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2022-04   3.01   3.03   6.37 -25.22 -10.76   2.04  -7.00  -6.80  -2.28   6.63   \n",
       " 2022-05  -1.68  -1.60   2.67  -2.93  -7.40  -5.12  -6.45   0.99   4.52   2.38   \n",
       " 2022-06  -1.64  -0.02 -11.63 -11.33 -12.53  -2.56 -12.00  -2.05 -15.65 -11.17   \n",
       " 2022-07   3.67   5.49   0.56  14.62  12.10   0.76  11.86   2.75   7.66   6.86   \n",
       " 2022-08  -1.61  -1.87  -0.12  -2.95  -4.97  -2.16  -6.01  -5.07  -1.39 -12.20   \n",
       " \n",
       "          ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       " Date     ...                                                                  \n",
       " 1926-07  ...   0.83   9.22   2.06   7.70   1.91 -23.79   0.07   1.87  -0.02   \n",
       " 1926-08  ...   2.17   2.02   4.39  -2.38   4.85   5.39  -0.75  -0.13   4.47   \n",
       " 1926-09  ...   2.41   2.25   0.19  -5.54   0.07  -7.87   0.25  -0.56  -1.61   \n",
       " 1926-10  ...  -0.11  -2.00  -1.09  -5.08  -2.61 -15.38  -2.20  -4.11  -5.51   \n",
       " 1926-11  ...   1.63   3.77   3.64   3.84   1.61   4.67   6.52   4.33   2.34   \n",
       " ...      ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2022-04  ... -10.70 -12.59 -12.26  -0.74 -10.93  -2.14 -11.41  -5.47  -7.99   \n",
       " 2022-05  ...   8.54  -3.35  -0.75  -0.66  -4.59   1.03  -5.64  -3.29   2.80   \n",
       " 2022-06  ...  -6.72  -6.79 -10.19  -8.51  -7.14  -6.43  -8.50  -9.02  -9.05   \n",
       " 2022-07  ...  -0.40   8.60  15.68   7.22   9.33   9.08  16.33  11.89   7.38   \n",
       " 2022-08  ...  -3.00  -4.72  -5.89  -7.66  -1.46  -1.60  -3.46  -1.47  -2.24   \n",
       " \n",
       "          Other  \n",
       " Date            \n",
       " 1926-07   5.20  \n",
       " 1926-08   6.76  \n",
       " 1926-09  -3.86  \n",
       " 1926-10  -8.49  \n",
       " 1926-11   4.00  \n",
       " ...        ...  \n",
       " 2022-04  -7.65  \n",
       " 2022-05  -1.19  \n",
       " 2022-06 -11.78  \n",
       " 2022-07   9.19  \n",
       " 2022-08  -3.65  \n",
       " \n",
       " [1154 rows x 30 columns],\n",
       " 1:          Food   Beer   Smoke  Games  Books  Hshld  Clths  Hlth   Chems  Txtls  \\\n",
       " Date                                                                            \n",
       " 1926-07   0.86  -5.36   1.67   2.31  26.28   2.45  -0.68   2.45   1.01   0.41   \n",
       " 1926-08   3.70  19.25   5.01   2.53  21.18  -2.86   4.79   6.11   3.02   2.53   \n",
       " 1926-09   1.38   5.63   3.10   4.13  -2.04   1.76  -6.16   0.80   2.40  -3.80   \n",
       " 1926-10  -4.70  -6.08  -1.63  -5.76   8.33  -2.98  -1.12   0.13  -8.77   1.87   \n",
       " 1926-11   6.74  11.29   9.58   0.28  -5.98   1.65   0.85   7.20   5.34   4.21   \n",
       " ...        ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2022-04  -3.40   2.55   1.70 -12.41  -8.07  -5.29  -7.80 -19.95  -6.26  -7.30   \n",
       " 2022-05  -1.63  -6.48  -1.09  -4.71  -4.08  -5.67  -2.52  -7.47   2.62  -1.94   \n",
       " 2022-06  -4.07  -0.04 -11.34 -10.10 -13.41  -7.11 -10.48   2.25 -14.10 -14.07   \n",
       " 2022-07   3.91   5.30  -2.71   7.74  11.58   6.50   9.07   7.24  10.56   9.10   \n",
       " 2022-08   0.05  -2.60  -0.56  -2.68  -4.67   1.17  -7.46   2.55   1.02 -13.11   \n",
       " \n",
       "          ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       " Date     ...                                                                  \n",
       " 1926-07  ...   1.31   7.76   3.13   1.29  -0.88 -20.23   1.78   1.69  -0.38   \n",
       " 1926-08  ...   1.08   4.20   1.20   4.00   5.05   9.42  -0.45  -0.90   8.54   \n",
       " 1926-09  ...   0.22  -6.28  -0.89  -6.64  -0.24   0.32  -0.87  -0.14  -3.35   \n",
       " 1926-10  ...  -0.99  -4.10  -5.88  -4.90  -2.28  -6.21  -3.33  -2.05  -5.39   \n",
       " 1926-11  ...   1.48  -3.62   1.65   2.60   0.45  -0.26   1.34   1.92   0.25   \n",
       " ...      ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2022-04  ... -11.33 -13.22 -13.45   0.87 -10.13  -5.57  -7.00  -7.24  -7.70   \n",
       " 2022-05  ...   4.87  -5.25   0.67  -2.90  -3.51   1.68  -6.00  -5.91   1.80   \n",
       " 2022-06  ... -12.16  -8.63  -8.82  -8.96  -8.48  -7.10 -11.87 -10.01  -7.44   \n",
       " 2022-07  ...   1.77   8.27  15.11   6.44  13.66   8.28   8.10  13.93   6.30   \n",
       " 2022-08  ...   1.15  -1.06  -2.96  -0.15  -3.35  -3.15   2.13   0.54  -2.05   \n",
       " \n",
       "          Other  \n",
       " Date            \n",
       " 1926-07   2.61  \n",
       " 1926-08   3.48  \n",
       " 1926-09  -0.18  \n",
       " 1926-10  -6.39  \n",
       " 1926-11  -0.41  \n",
       " ...        ...  \n",
       " 2022-04  -6.92  \n",
       " 2022-05  -3.70  \n",
       " 2022-06  -8.16  \n",
       " 2022-07   4.18  \n",
       " 2022-08   0.73  \n",
       " \n",
       " [1154 rows x 30 columns],\n",
       " 2:       Food   Beer   Smoke  Games  Books  Hshld  Clths  Hlth   Chems  Txtls  \\\n",
       " Date                                                                         \n",
       " 1927  39.00  64.22  47.72  11.14  86.11  43.03  43.13  46.55  57.08  31.06   \n",
       " 1928  24.05  38.80  -2.30  46.45  54.52  59.07   7.74  47.21  56.52  -9.70   \n",
       " 1929 -15.00 -16.07  -7.17 -37.68 -10.15 -34.99 -28.47 -25.20   1.08 -50.66   \n",
       " 1930 -14.81 -53.28  -3.24 -14.84 -17.41 -42.26 -20.63 -14.62 -26.49 -38.28   \n",
       " 1931 -34.34 -43.07 -20.18 -74.04 -65.50 -36.51 -24.27 -15.06 -40.92 -28.56   \n",
       " ...     ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2017   7.55  22.40  14.42  34.53   9.40  16.07  23.86  22.20  33.85  35.51   \n",
       " 2018  -8.60 -10.87 -30.34   3.47 -25.01  -3.46   7.42   4.82 -15.43 -51.13   \n",
       " 2019  21.86  26.29  22.08  31.97  14.29  35.59  39.20  20.20   6.45  16.82   \n",
       " 2020   8.40  14.70  -2.05  38.76  12.10  17.62  24.04  18.31  16.74  -0.96   \n",
       " 2021  13.25  13.41  21.97  -1.88  31.09  20.43  15.54  13.86  25.27  28.23   \n",
       " \n",
       "       ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       " Date  ...                                                                  \n",
       " 1927  ...  25.31  30.47  43.33  53.67  22.77 -45.47  43.54  32.14  64.02   \n",
       " 1928  ...  20.28  19.41  41.71  32.66  15.70  24.16  55.26  28.12  32.70   \n",
       " 1929  ...  20.70  29.49   0.34   3.20   1.19 -49.56 -41.34  -4.90 -26.50   \n",
       " 1930  ...  -9.81 -30.72 -26.49 -15.50 -29.25 -47.91 -35.10 -29.47 -47.16   \n",
       " 1931  ... -30.77 -65.43 -42.94 -38.20 -60.81 -60.86 -25.20 -46.16 -53.30   \n",
       " ...   ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2017  ...   3.27  35.23  37.10  23.30  21.39   9.46  25.41  27.78  23.98   \n",
       " 2018  ...  -3.52   2.28  -3.09 -16.34 -10.69 -11.10   6.83   2.56  -9.51   \n",
       " 2019  ...  29.79  37.66  51.85  14.19  14.92  32.99  25.40  28.17  33.92   \n",
       " 2020  ...  12.33  44.30  47.98   8.30  23.06  14.05  42.45  12.84   2.17   \n",
       " 2021  ...  -7.32  25.48  38.23   9.27  18.31  32.51  16.61  21.64  30.42   \n",
       " \n",
       "       Other  \n",
       " Date         \n",
       " 1927  24.64  \n",
       " 1928  -8.47  \n",
       " 1929 -62.25  \n",
       " 1930 -33.41  \n",
       " 1931 -11.18  \n",
       " ...     ...  \n",
       " 2017   7.03  \n",
       " 2018  -6.26  \n",
       " 2019  19.11  \n",
       " 2020   5.56  \n",
       " 2021  21.91  \n",
       " \n",
       " [95 rows x 30 columns],\n",
       " 3:       Food   Beer   Smoke  Games  Books  Hshld  Clths  Hlth   Chems  Txtls  \\\n",
       " Date                                                                         \n",
       " 1927  27.37  93.09  36.84  -6.46  48.90  25.37  31.61  56.54  41.61  -0.06   \n",
       " 1928  29.43  41.05  26.69  50.61  38.54  34.45   5.19  32.58  42.72  28.42   \n",
       " 1929 -31.64 -28.02 -43.55 -56.73 -18.28 -39.33 -38.93 -17.51 -10.48 -51.53   \n",
       " 1930 -27.19 -57.29 -22.07  -9.38 -16.88 -50.74 -34.78 -17.87 -39.95 -34.66   \n",
       " 1931 -32.19 -23.01  -9.71 -74.70 -56.52 -45.37 -42.81 -37.21 -41.31 -10.02   \n",
       " ...     ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2017   7.44  28.88  32.26  21.67  -0.10   4.06  25.62  25.49  11.48  21.22   \n",
       " 2018  -9.66 -12.47 -11.32   0.69 -21.76 -21.46  17.65 -22.48 -24.92 -44.16   \n",
       " 2019  17.28   8.79  22.42  11.04  -6.86  24.95  24.24  25.96  22.37  32.01   \n",
       " 2020  17.99  31.93  17.95  50.25  -1.45  53.50  13.06  63.63  33.82  20.52   \n",
       " 2021  11.54  24.07  10.55  65.27  80.06  19.19  20.85 -10.86  39.58  37.25   \n",
       " \n",
       "       ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       " Date  ...                                                                  \n",
       " 1927  ...  25.81  28.84  54.74  38.12  35.28   1.19  29.82  32.93  38.77   \n",
       " 1928  ...  21.54  44.09  34.52   4.84  15.43  68.35  54.53  27.09  49.41   \n",
       " 1929  ...   4.26  -6.73   0.07 -30.11 -17.58 -41.24 -47.59  -1.43 -15.12   \n",
       " 1930  ...  -7.38 -30.84 -37.75 -33.62 -42.86 -61.38 -40.39 -19.35 -45.01   \n",
       " 1931  ... -36.71 -26.23 -54.06 -35.73 -56.51 -50.08 -41.31 -41.83 -50.72   \n",
       " ...   ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2017  ...  14.65  26.85  23.07  15.00   9.08   7.85  -3.34   3.81  13.50   \n",
       " 2018  ... -15.31  -2.29 -10.84 -26.82 -21.13 -16.72 -14.89  -5.14 -11.35   \n",
       " 2019  ...   6.32  24.23  37.98  16.01  10.27  19.63  14.12  15.09  26.03   \n",
       " 2020  ...  13.41  60.44  64.30  13.55  19.32  22.01  58.47  22.46   2.41   \n",
       " 2021  ...  26.31  18.94  24.53  18.34  30.44  49.20  53.71  30.81  36.60   \n",
       " \n",
       "       Other  \n",
       " Date         \n",
       " 1927  22.49  \n",
       " 1928  12.18  \n",
       " 1929 -46.91  \n",
       " 1930 -20.09  \n",
       " 1931 -20.45  \n",
       " ...     ...  \n",
       " 2017  -0.06  \n",
       " 2018  -7.17  \n",
       " 2019  14.33  \n",
       " 2020  67.47  \n",
       " 2021  11.08  \n",
       " \n",
       " [95 rows x 30 columns],\n",
       " 4:          Food   Beer   Smoke  Games  Books  Hshld  Clths  Hlth   Chems  Txtls  \\\n",
       " Date                                                                            \n",
       " 1926-07     43      3     16      7      2      8     12      7     17     14   \n",
       " 1926-08     43      3     16      7      2      8     12      7     17     14   \n",
       " 1926-09     43      3     16      7      2      8     12      7     17     14   \n",
       " 1926-10     43      3     16      7      2      8     12      7     17     14   \n",
       " 1926-11     43      3     16      7      2      8     12      7     17     14   \n",
       " ...        ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2022-04     61      9      3     70     13     39     31    804     61      7   \n",
       " 2022-05     61      9      3     69     13     39     31    800     61      7   \n",
       " 2022-06     61      9      3     69     13     39     31    797     61      7   \n",
       " 2022-07     69     13      3     74     13     46     32    868     63      7   \n",
       " 2022-08     69     13      3     73     13     45     32    862     63      7   \n",
       " \n",
       "          ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       " Date     ...                                                                  \n",
       " 1926-07  ...      5      3      7      6     75      2     33      6     13   \n",
       " 1926-08  ...      5      3      7      6     75      2     33      6     13   \n",
       " 1926-09  ...      5      3      7      6     75      2     33      6     13   \n",
       " 1926-10  ...      5      3      7      6     75      2     33      6     13   \n",
       " 1926-11  ...      5      3      7      6     75      2     33      6     13   \n",
       " ...      ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2022-04  ...     51    499    255     31     62     90    140     52    604   \n",
       " 2022-05  ...     51    496    255     31     62     89    140     51    601   \n",
       " 2022-06  ...     51    494    253     31     62     89    140     51    599   \n",
       " 2022-07  ...     54    575    259     31     64     90    151     56    628   \n",
       " 2022-08  ...     54    574    257     31     64     90    151     56    627   \n",
       " \n",
       "          Other  \n",
       " Date            \n",
       " 1926-07      4  \n",
       " 1926-08      4  \n",
       " 1926-09      4  \n",
       " 1926-10      4  \n",
       " 1926-11      4  \n",
       " ...        ...  \n",
       " 2022-04    279  \n",
       " 2022-05    275  \n",
       " 2022-06    272  \n",
       " 2022-07    494  \n",
       " 2022-08    490  \n",
       " \n",
       " [1154 rows x 30 columns],\n",
       " 5:             Food      Beer      Smoke    Games    Books     Hshld     Clths  \\\n",
       " Date                                                                          \n",
       " 1926-07     35.98      7.12     59.72    26.41    12.02     22.27     18.36   \n",
       " 1926-08     36.10      6.75     60.47    27.17    13.33     22.13     19.83   \n",
       " 1926-09     37.00      8.58     64.03    27.30    14.67     21.18     19.29   \n",
       " 1926-10     37.14      8.92     64.42    28.76    14.42     21.23     19.03   \n",
       " 1926-11     35.88      8.62     65.08    27.38    15.79     20.14     19.03   \n",
       " ...           ...       ...       ...      ...      ...       ...       ...   \n",
       " 2022-04  15359.62  36316.42  81350.95  6615.40  2383.69  17791.92  12155.46   \n",
       " 2022-05  15808.94  37417.56  86536.79  5013.98  2123.98  18082.09  11303.89   \n",
       " 2022-06  15518.16  36800.36  88850.78  4865.69  1964.76  17144.72  10569.45   \n",
       " 2022-07  13454.01  25256.54  76572.31  4137.88  1710.10  13611.48   7796.50   \n",
       " 2022-08  13936.96  26642.68  77001.67  4806.38  1914.26  13954.85   8719.06   \n",
       " \n",
       "            Hlth     Chems    Txtls  ...     Telcm     Servs     BusEq  \\\n",
       " Date                                ...                                 \n",
       " 1926-07    25.52    57.59     5.78  ...    350.36     13.60     56.70   \n",
       " 1926-08    25.80    62.13     5.79  ...    353.27     14.75     57.74   \n",
       " 1926-09    26.73    65.53     6.25  ...    360.96     15.05     59.61   \n",
       " 1926-10    26.87    68.47     6.36  ...    364.16     15.30     59.52   \n",
       " 1926-11    26.54    65.06     6.38  ...    363.74     14.89     58.74   \n",
       " ...          ...      ...      ...  ...       ...       ...       ...   \n",
       " 2022-04  5127.73  8432.96  1828.15  ...  25917.35  18887.90  28409.98   \n",
       " 2022-05  4795.80  8237.99  1949.09  ...  23017.21  16561.04  24917.22   \n",
       " 2022-06  4849.79  8587.11  1995.53  ...  24972.48  16025.64  24779.59   \n",
       " 2022-07  4520.24  7017.59  1686.63  ...  22412.89  12922.50  21290.22   \n",
       " 2022-08  4664.16  7549.60  1802.26  ...  22203.94  14045.39  24796.67   \n",
       " \n",
       "            Paper     Trans    Whlsl     Rtail     Meals     Fin      Other  \n",
       " Date                                                                        \n",
       " 1926-07    35.35     66.46     1.19     46.65     10.82     18.03    24.25  \n",
       " 1926-08    37.86     67.52     0.90     46.57     11.00     18.01    25.51  \n",
       " 1926-09    36.82     70.51     0.95     46.11     10.94     18.77    27.21  \n",
       " 1926-10    34.77     70.34     0.88     46.15     10.80     18.41    26.16  \n",
       " 1926-11    32.80     68.29     0.74     45.03     10.33     17.38    23.94  \n",
       " ...          ...       ...      ...       ...       ...       ...      ...  \n",
       " 2022-04  9213.01  15562.44  5276.26  27854.80  13580.72  10488.67  7472.11  \n",
       " 2022-05  9144.48  13861.43  5213.56  24661.01  13083.30   9673.57  6993.85  \n",
       " 2022-06  9037.38  13177.43  5259.87  23247.55  12632.45   9959.78  6976.29  \n",
       " 2022-07  8174.88  11736.95  4801.89  18485.56  10590.24   8533.15  3409.71  \n",
       " 2022-08  8764.38  12832.30  5233.81  21493.83  11846.62   9163.38  3751.40  \n",
       " \n",
       " [1154 rows x 30 columns],\n",
       " 6:       Food   Beer   Smoke  Games  Books  Hshld  Clths  Hlth   Chems  Txtls  \\\n",
       " Date                                                                         \n",
       " 1926   0.64   2.54   0.79   0.91   1.25   0.38   0.90   0.68   0.72   2.14   \n",
       " 1927   0.54   1.81   0.69   1.08   0.80   0.36   0.80   0.51   0.51   1.13   \n",
       " 1928   0.43   0.62   0.69   0.85   0.34   0.35   1.14   0.22   0.39   1.15   \n",
       " 1929   0.39   0.52   0.67   0.56   0.35   0.27   1.28   0.26   0.23   1.11   \n",
       " 1930   0.49   1.70   1.30   0.87   0.66   0.33   0.86   0.42   0.41   2.19   \n",
       " ...     ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2018   0.33   0.14   0.14   0.14   0.59   0.24   0.16   0.19   0.42   0.43   \n",
       " 2019   0.31   0.14   0.17   0.15   0.72   0.18   0.16   0.19   0.48   0.61   \n",
       " 2020   0.36   0.17   0.09   0.15   0.80   0.14   0.16   0.19   0.42   0.98   \n",
       " 2021   0.30   0.13   0.03   0.10   0.39   0.12   0.10   0.16   0.29   0.57   \n",
       " 2022   0.30   0.15   0.26   0.29   0.69   0.14   0.20   0.22   0.38   0.87   \n",
       " \n",
       "       ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       " Date  ...                                                                  \n",
       " 1926  ...   0.77   0.92   0.53   0.97   1.41   2.35   0.44   0.66   0.77   \n",
       " 1927  ...   0.73   0.71   0.42   1.00   1.30   5.25   0.43   0.59   0.72   \n",
       " 1928  ...   0.64   0.68   0.35   0.65   1.26   0.65   0.34   0.55   0.51   \n",
       " 1929  ...   0.55   0.54   0.24   0.43   1.09   0.39   0.29   0.41   0.52   \n",
       " 1930  ...   0.54   2.66   0.36   0.63   1.39   1.36   0.59   0.74   1.15   \n",
       " ...   ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2018  ...   0.43   0.16   0.22   0.21   0.28   0.32   0.16   0.14   0.55   \n",
       " 2019  ...   0.44   0.15   0.19   0.27   0.28   0.33   0.16   0.10   0.56   \n",
       " 2020  ...   0.50   0.15   0.15   0.31   0.31   0.33   0.14   0.24   0.70   \n",
       " 2021  ...   0.39   0.11   0.11   0.20   0.16   0.22   0.12   0.11   0.49   \n",
       " 2022  ...   0.55   0.17   0.15   0.28   0.24   0.27   0.16   0.17   0.59   \n",
       " \n",
       "       Other  \n",
       " Date         \n",
       " 1926   0.63  \n",
       " 1927   0.69  \n",
       " 1928   0.60  \n",
       " 1929   0.91  \n",
       " 1930   1.29  \n",
       " ...     ...  \n",
       " 2018   0.39  \n",
       " 2019   0.31  \n",
       " 2020   0.44  \n",
       " 2021   0.32  \n",
       " 2022   0.40  \n",
       " \n",
       " [97 rows x 30 columns],\n",
       " 7:       Food   Beer   Smoke  Games  Books  Hshld  Clths  Hlth   Chems  Txtls  \\\n",
       " Date                                                                         \n",
       " 1926   0.71   1.98   0.84   1.13   1.52   0.34   0.75   0.73   0.73   1.46   \n",
       " 1927   0.57   1.92   0.70   0.96   0.91   0.42   0.91   0.57   0.59   1.00   \n",
       " 1928   0.46   0.73   0.62   0.92   0.47   0.33   1.23   0.32   0.42   1.19   \n",
       " 1929   0.38   0.67   0.62   0.55   0.35   0.25   1.12   0.25   0.32   0.94   \n",
       " 1930   0.48   1.00   1.28   1.06   0.60   0.31   0.77   0.39   0.39   2.16   \n",
       " ...     ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2018   0.30   0.12   0.11   0.15   0.59   0.22   0.19   0.20   0.40   0.34   \n",
       " 2019   0.34   0.16   0.16   0.18   0.78   0.23   0.19   0.21   0.44   0.75   \n",
       " 2020   0.33   0.14   0.07   0.12   0.63   0.13   0.11   0.19   0.35   0.71   \n",
       " 2021   0.33   0.14   0.04   0.12   0.54   0.12   0.11   0.17   0.34   0.76   \n",
       " 2022   0.31   0.15   0.19   0.17   0.49   0.11   0.12   0.19   0.32   0.60   \n",
       " \n",
       "       ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       " Date  ...                                                                  \n",
       " 1926  ...   0.87   0.82   0.53   0.93   1.38   1.25   0.37   0.58   0.70   \n",
       " 1927  ...   0.80   0.80   0.51   1.21   1.53   2.45   0.47   0.70   0.77   \n",
       " 1928  ...   0.71   0.65   0.37   0.77   1.29   0.63   0.37   0.57   0.56   \n",
       " 1929  ...   0.67   0.65   0.28   0.51   1.17   0.37   0.26   0.49   0.58   \n",
       " 1930  ...   0.60   1.65   0.33   0.63   1.24   1.07   0.51   0.72   1.22   \n",
       " ...   ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       " 2018  ...   0.39   0.17   0.23   0.20   0.28   0.31   0.16   0.14   0.53   \n",
       " 2019  ...   0.52   0.19   0.24   0.29   0.32   0.37   0.16   0.13   0.65   \n",
       " 2020  ...   0.42   0.16   0.15   0.24   0.25   0.29   0.14   0.17   0.50   \n",
       " 2021  ...   0.41   0.13   0.12   0.23   0.18   0.27   0.14   0.13   0.62   \n",
       " 2022  ...   0.50   0.12   0.11   0.23   0.19   0.23   0.11   0.13   0.48   \n",
       " \n",
       "       Other  \n",
       " Date         \n",
       " 1926   0.66  \n",
       " 1927   0.65  \n",
       " 1928   0.60  \n",
       " 1929   0.68  \n",
       " 1930   1.41  \n",
       " ...     ...  \n",
       " 2018   0.36  \n",
       " 2019   0.34  \n",
       " 2020   0.35  \n",
       " 2021   0.38  \n",
       " 2022   0.36  \n",
       " \n",
       " [97 rows x 30 columns],\n",
       " 'DESCR': '30 Industry Portfolios\\n----------------------\\n\\nThis file was created by CMPT_IND_RETS using the 202208 CRSP database. It contains value- and equal-weighted returns for 30 industry portfolios. The portfolios are constructed at the end of June. The annual returns are from January to December. Missing data are indicated by -99.99 or -999. Copyright 2022 Kenneth R. French\\n\\n  0 : Average Value Weighted Returns -- Monthly (1154 rows x 30 cols)\\n  1 : Average Equal Weighted Returns -- Monthly (1154 rows x 30 cols)\\n  2 : Average Value Weighted Returns -- Annual (95 rows x 30 cols)\\n  3 : Average Equal Weighted Returns -- Annual (95 rows x 30 cols)\\n  4 : Number of Firms in Portfolios (1154 rows x 30 cols)\\n  5 : Average Firm Size (1154 rows x 30 cols)\\n  6 : Sum of BE / Sum of ME (97 rows x 30 cols)\\n  7 : Value-Weighted Average of BE/ME (97 rows x 30 cols)'}"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "industry = web.DataReader('30_Industry_Portfolios', 'famafrench', start = start_date, end = end_date)\n",
    "industry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "9272ce64",
   "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>Food</th>\n",
       "      <th>Beer</th>\n",
       "      <th>Smoke</th>\n",
       "      <th>Games</th>\n",
       "      <th>Books</th>\n",
       "      <th>Hshld</th>\n",
       "      <th>Clths</th>\n",
       "      <th>Hlth</th>\n",
       "      <th>Chems</th>\n",
       "      <th>Txtls</th>\n",
       "      <th>...</th>\n",
       "      <th>Telcm</th>\n",
       "      <th>Servs</th>\n",
       "      <th>BusEq</th>\n",
       "      <th>Paper</th>\n",
       "      <th>Trans</th>\n",
       "      <th>Whlsl</th>\n",
       "      <th>Rtail</th>\n",
       "      <th>Meals</th>\n",
       "      <th>Fin</th>\n",
       "      <th>Other</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",
       "      <th></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",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1926-07</th>\n",
       "      <td>0.56</td>\n",
       "      <td>-5.19</td>\n",
       "      <td>1.29</td>\n",
       "      <td>2.93</td>\n",
       "      <td>10.97</td>\n",
       "      <td>-0.48</td>\n",
       "      <td>8.08</td>\n",
       "      <td>1.77</td>\n",
       "      <td>8.14</td>\n",
       "      <td>0.39</td>\n",
       "      <td>...</td>\n",
       "      <td>0.83</td>\n",
       "      <td>9.22</td>\n",
       "      <td>2.06</td>\n",
       "      <td>7.70</td>\n",
       "      <td>1.91</td>\n",
       "      <td>-23.79</td>\n",
       "      <td>0.07</td>\n",
       "      <td>1.87</td>\n",
       "      <td>-0.02</td>\n",
       "      <td>5.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-08</th>\n",
       "      <td>2.59</td>\n",
       "      <td>27.03</td>\n",
       "      <td>6.50</td>\n",
       "      <td>0.55</td>\n",
       "      <td>10.01</td>\n",
       "      <td>-3.58</td>\n",
       "      <td>-2.51</td>\n",
       "      <td>4.25</td>\n",
       "      <td>5.50</td>\n",
       "      <td>7.97</td>\n",
       "      <td>...</td>\n",
       "      <td>2.17</td>\n",
       "      <td>2.02</td>\n",
       "      <td>4.39</td>\n",
       "      <td>-2.38</td>\n",
       "      <td>4.85</td>\n",
       "      <td>5.39</td>\n",
       "      <td>-0.75</td>\n",
       "      <td>-0.13</td>\n",
       "      <td>4.47</td>\n",
       "      <td>6.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-09</th>\n",
       "      <td>1.16</td>\n",
       "      <td>4.02</td>\n",
       "      <td>1.26</td>\n",
       "      <td>6.58</td>\n",
       "      <td>-0.99</td>\n",
       "      <td>0.73</td>\n",
       "      <td>-0.51</td>\n",
       "      <td>0.69</td>\n",
       "      <td>5.33</td>\n",
       "      <td>2.30</td>\n",
       "      <td>...</td>\n",
       "      <td>2.41</td>\n",
       "      <td>2.25</td>\n",
       "      <td>0.19</td>\n",
       "      <td>-5.54</td>\n",
       "      <td>0.07</td>\n",
       "      <td>-7.87</td>\n",
       "      <td>0.25</td>\n",
       "      <td>-0.56</td>\n",
       "      <td>-1.61</td>\n",
       "      <td>-3.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-10</th>\n",
       "      <td>-3.06</td>\n",
       "      <td>-3.31</td>\n",
       "      <td>1.06</td>\n",
       "      <td>-4.76</td>\n",
       "      <td>9.47</td>\n",
       "      <td>-4.68</td>\n",
       "      <td>0.12</td>\n",
       "      <td>-0.57</td>\n",
       "      <td>-4.76</td>\n",
       "      <td>1.00</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.11</td>\n",
       "      <td>-2.00</td>\n",
       "      <td>-1.09</td>\n",
       "      <td>-5.08</td>\n",
       "      <td>-2.61</td>\n",
       "      <td>-15.38</td>\n",
       "      <td>-2.20</td>\n",
       "      <td>-4.11</td>\n",
       "      <td>-5.51</td>\n",
       "      <td>-8.49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-11</th>\n",
       "      <td>6.35</td>\n",
       "      <td>7.29</td>\n",
       "      <td>4.55</td>\n",
       "      <td>1.66</td>\n",
       "      <td>-5.80</td>\n",
       "      <td>-0.54</td>\n",
       "      <td>1.87</td>\n",
       "      <td>5.42</td>\n",
       "      <td>5.20</td>\n",
       "      <td>3.10</td>\n",
       "      <td>...</td>\n",
       "      <td>1.63</td>\n",
       "      <td>3.77</td>\n",
       "      <td>3.64</td>\n",
       "      <td>3.84</td>\n",
       "      <td>1.61</td>\n",
       "      <td>4.67</td>\n",
       "      <td>6.52</td>\n",
       "      <td>4.33</td>\n",
       "      <td>2.34</td>\n",
       "      <td>4.00</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",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-04</th>\n",
       "      <td>3.01</td>\n",
       "      <td>3.03</td>\n",
       "      <td>6.37</td>\n",
       "      <td>-25.22</td>\n",
       "      <td>-10.76</td>\n",
       "      <td>2.04</td>\n",
       "      <td>-7.00</td>\n",
       "      <td>-6.80</td>\n",
       "      <td>-2.28</td>\n",
       "      <td>6.63</td>\n",
       "      <td>...</td>\n",
       "      <td>-10.70</td>\n",
       "      <td>-12.59</td>\n",
       "      <td>-12.26</td>\n",
       "      <td>-0.74</td>\n",
       "      <td>-10.93</td>\n",
       "      <td>-2.14</td>\n",
       "      <td>-11.41</td>\n",
       "      <td>-5.47</td>\n",
       "      <td>-7.99</td>\n",
       "      <td>-7.65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-05</th>\n",
       "      <td>-1.68</td>\n",
       "      <td>-1.60</td>\n",
       "      <td>2.67</td>\n",
       "      <td>-2.93</td>\n",
       "      <td>-7.40</td>\n",
       "      <td>-5.12</td>\n",
       "      <td>-6.45</td>\n",
       "      <td>0.99</td>\n",
       "      <td>4.52</td>\n",
       "      <td>2.38</td>\n",
       "      <td>...</td>\n",
       "      <td>8.54</td>\n",
       "      <td>-3.35</td>\n",
       "      <td>-0.75</td>\n",
       "      <td>-0.66</td>\n",
       "      <td>-4.59</td>\n",
       "      <td>1.03</td>\n",
       "      <td>-5.64</td>\n",
       "      <td>-3.29</td>\n",
       "      <td>2.80</td>\n",
       "      <td>-1.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-06</th>\n",
       "      <td>-1.64</td>\n",
       "      <td>-0.02</td>\n",
       "      <td>-11.63</td>\n",
       "      <td>-11.33</td>\n",
       "      <td>-12.53</td>\n",
       "      <td>-2.56</td>\n",
       "      <td>-12.00</td>\n",
       "      <td>-2.05</td>\n",
       "      <td>-15.65</td>\n",
       "      <td>-11.17</td>\n",
       "      <td>...</td>\n",
       "      <td>-6.72</td>\n",
       "      <td>-6.79</td>\n",
       "      <td>-10.19</td>\n",
       "      <td>-8.51</td>\n",
       "      <td>-7.14</td>\n",
       "      <td>-6.43</td>\n",
       "      <td>-8.50</td>\n",
       "      <td>-9.02</td>\n",
       "      <td>-9.05</td>\n",
       "      <td>-11.78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-07</th>\n",
       "      <td>3.67</td>\n",
       "      <td>5.49</td>\n",
       "      <td>0.56</td>\n",
       "      <td>14.62</td>\n",
       "      <td>12.10</td>\n",
       "      <td>0.76</td>\n",
       "      <td>11.86</td>\n",
       "      <td>2.75</td>\n",
       "      <td>7.66</td>\n",
       "      <td>6.86</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.40</td>\n",
       "      <td>8.60</td>\n",
       "      <td>15.68</td>\n",
       "      <td>7.22</td>\n",
       "      <td>9.33</td>\n",
       "      <td>9.08</td>\n",
       "      <td>16.33</td>\n",
       "      <td>11.89</td>\n",
       "      <td>7.38</td>\n",
       "      <td>9.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-08</th>\n",
       "      <td>-1.61</td>\n",
       "      <td>-1.87</td>\n",
       "      <td>-0.12</td>\n",
       "      <td>-2.95</td>\n",
       "      <td>-4.97</td>\n",
       "      <td>-2.16</td>\n",
       "      <td>-6.01</td>\n",
       "      <td>-5.07</td>\n",
       "      <td>-1.39</td>\n",
       "      <td>-12.20</td>\n",
       "      <td>...</td>\n",
       "      <td>-3.00</td>\n",
       "      <td>-4.72</td>\n",
       "      <td>-5.89</td>\n",
       "      <td>-7.66</td>\n",
       "      <td>-1.46</td>\n",
       "      <td>-1.60</td>\n",
       "      <td>-3.46</td>\n",
       "      <td>-1.47</td>\n",
       "      <td>-2.24</td>\n",
       "      <td>-3.65</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1154 rows × 30 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         Food   Beer   Smoke  Games  Books  Hshld  Clths  Hlth   Chems  Txtls  \\\n",
       "Date                                                                            \n",
       "1926-07   0.56  -5.19   1.29   2.93  10.97  -0.48   8.08   1.77   8.14   0.39   \n",
       "1926-08   2.59  27.03   6.50   0.55  10.01  -3.58  -2.51   4.25   5.50   7.97   \n",
       "1926-09   1.16   4.02   1.26   6.58  -0.99   0.73  -0.51   0.69   5.33   2.30   \n",
       "1926-10  -3.06  -3.31   1.06  -4.76   9.47  -4.68   0.12  -0.57  -4.76   1.00   \n",
       "1926-11   6.35   7.29   4.55   1.66  -5.80  -0.54   1.87   5.42   5.20   3.10   \n",
       "...        ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       "2022-04   3.01   3.03   6.37 -25.22 -10.76   2.04  -7.00  -6.80  -2.28   6.63   \n",
       "2022-05  -1.68  -1.60   2.67  -2.93  -7.40  -5.12  -6.45   0.99   4.52   2.38   \n",
       "2022-06  -1.64  -0.02 -11.63 -11.33 -12.53  -2.56 -12.00  -2.05 -15.65 -11.17   \n",
       "2022-07   3.67   5.49   0.56  14.62  12.10   0.76  11.86   2.75   7.66   6.86   \n",
       "2022-08  -1.61  -1.87  -0.12  -2.95  -4.97  -2.16  -6.01  -5.07  -1.39 -12.20   \n",
       "\n",
       "         ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       "Date     ...                                                                  \n",
       "1926-07  ...   0.83   9.22   2.06   7.70   1.91 -23.79   0.07   1.87  -0.02   \n",
       "1926-08  ...   2.17   2.02   4.39  -2.38   4.85   5.39  -0.75  -0.13   4.47   \n",
       "1926-09  ...   2.41   2.25   0.19  -5.54   0.07  -7.87   0.25  -0.56  -1.61   \n",
       "1926-10  ...  -0.11  -2.00  -1.09  -5.08  -2.61 -15.38  -2.20  -4.11  -5.51   \n",
       "1926-11  ...   1.63   3.77   3.64   3.84   1.61   4.67   6.52   4.33   2.34   \n",
       "...      ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       "2022-04  ... -10.70 -12.59 -12.26  -0.74 -10.93  -2.14 -11.41  -5.47  -7.99   \n",
       "2022-05  ...   8.54  -3.35  -0.75  -0.66  -4.59   1.03  -5.64  -3.29   2.80   \n",
       "2022-06  ...  -6.72  -6.79 -10.19  -8.51  -7.14  -6.43  -8.50  -9.02  -9.05   \n",
       "2022-07  ...  -0.40   8.60  15.68   7.22   9.33   9.08  16.33  11.89   7.38   \n",
       "2022-08  ...  -3.00  -4.72  -5.89  -7.66  -1.46  -1.60  -3.46  -1.47  -2.24   \n",
       "\n",
       "         Other  \n",
       "Date            \n",
       "1926-07   5.20  \n",
       "1926-08   6.76  \n",
       "1926-09  -3.86  \n",
       "1926-10  -8.49  \n",
       "1926-11   4.00  \n",
       "...        ...  \n",
       "2022-04  -7.65  \n",
       "2022-05  -1.19  \n",
       "2022-06 -11.78  \n",
       "2022-07   9.19  \n",
       "2022-08  -3.65  \n",
       "\n",
       "[1154 rows x 30 columns]"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "industry_monthly = industry[0]\n",
    "industry_monthly"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cc86c712",
   "metadata": {},
   "source": [
    "1.1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "e7132ea0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['Food ', 'Beer ', 'Smoke', 'Games', 'Books', 'Hshld', 'Clths', 'Hlth ',\n",
       "       'Chems', 'Txtls', 'Cnstr', 'Steel', 'FabPr', 'ElcEq', 'Autos', 'Carry',\n",
       "       'Mines', 'Coal ', 'Oil  ', 'Util ', 'Telcm', 'Servs', 'BusEq', 'Paper',\n",
       "       'Trans', 'Whlsl', 'Rtail', 'Meals', 'Fin  ', 'Other'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ind_name = industry_monthly.columns\n",
    "ind_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "3d7d5631",
   "metadata": {
    "scrolled": false
   },
   "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>Mkt-RF</th>\n",
       "      <th>SMB</th>\n",
       "      <th>HML</th>\n",
       "      <th>RF</th>\n",
       "      <th>Food</th>\n",
       "      <th>Beer</th>\n",
       "      <th>Smoke</th>\n",
       "      <th>Games</th>\n",
       "      <th>Books</th>\n",
       "      <th>Hshld</th>\n",
       "      <th>...</th>\n",
       "      <th>Telcm</th>\n",
       "      <th>Servs</th>\n",
       "      <th>BusEq</th>\n",
       "      <th>Paper</th>\n",
       "      <th>Trans</th>\n",
       "      <th>Whlsl</th>\n",
       "      <th>Rtail</th>\n",
       "      <th>Meals</th>\n",
       "      <th>Fin</th>\n",
       "      <th>Other</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",
       "      <th></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",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1926-07</th>\n",
       "      <td>2.96</td>\n",
       "      <td>-2.56</td>\n",
       "      <td>-2.43</td>\n",
       "      <td>0.22</td>\n",
       "      <td>0.56</td>\n",
       "      <td>-5.19</td>\n",
       "      <td>1.29</td>\n",
       "      <td>2.93</td>\n",
       "      <td>10.97</td>\n",
       "      <td>-0.48</td>\n",
       "      <td>...</td>\n",
       "      <td>0.83</td>\n",
       "      <td>9.22</td>\n",
       "      <td>2.06</td>\n",
       "      <td>7.70</td>\n",
       "      <td>1.91</td>\n",
       "      <td>-23.79</td>\n",
       "      <td>0.07</td>\n",
       "      <td>1.87</td>\n",
       "      <td>-0.02</td>\n",
       "      <td>5.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-08</th>\n",
       "      <td>2.64</td>\n",
       "      <td>-1.17</td>\n",
       "      <td>3.82</td>\n",
       "      <td>0.25</td>\n",
       "      <td>2.59</td>\n",
       "      <td>27.03</td>\n",
       "      <td>6.50</td>\n",
       "      <td>0.55</td>\n",
       "      <td>10.01</td>\n",
       "      <td>-3.58</td>\n",
       "      <td>...</td>\n",
       "      <td>2.17</td>\n",
       "      <td>2.02</td>\n",
       "      <td>4.39</td>\n",
       "      <td>-2.38</td>\n",
       "      <td>4.85</td>\n",
       "      <td>5.39</td>\n",
       "      <td>-0.75</td>\n",
       "      <td>-0.13</td>\n",
       "      <td>4.47</td>\n",
       "      <td>6.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-09</th>\n",
       "      <td>0.36</td>\n",
       "      <td>-1.40</td>\n",
       "      <td>0.13</td>\n",
       "      <td>0.23</td>\n",
       "      <td>1.16</td>\n",
       "      <td>4.02</td>\n",
       "      <td>1.26</td>\n",
       "      <td>6.58</td>\n",
       "      <td>-0.99</td>\n",
       "      <td>0.73</td>\n",
       "      <td>...</td>\n",
       "      <td>2.41</td>\n",
       "      <td>2.25</td>\n",
       "      <td>0.19</td>\n",
       "      <td>-5.54</td>\n",
       "      <td>0.07</td>\n",
       "      <td>-7.87</td>\n",
       "      <td>0.25</td>\n",
       "      <td>-0.56</td>\n",
       "      <td>-1.61</td>\n",
       "      <td>-3.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-10</th>\n",
       "      <td>-3.24</td>\n",
       "      <td>-0.09</td>\n",
       "      <td>0.70</td>\n",
       "      <td>0.32</td>\n",
       "      <td>-3.06</td>\n",
       "      <td>-3.31</td>\n",
       "      <td>1.06</td>\n",
       "      <td>-4.76</td>\n",
       "      <td>9.47</td>\n",
       "      <td>-4.68</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.11</td>\n",
       "      <td>-2.00</td>\n",
       "      <td>-1.09</td>\n",
       "      <td>-5.08</td>\n",
       "      <td>-2.61</td>\n",
       "      <td>-15.38</td>\n",
       "      <td>-2.20</td>\n",
       "      <td>-4.11</td>\n",
       "      <td>-5.51</td>\n",
       "      <td>-8.49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1926-11</th>\n",
       "      <td>2.53</td>\n",
       "      <td>-0.10</td>\n",
       "      <td>-0.51</td>\n",
       "      <td>0.31</td>\n",
       "      <td>6.35</td>\n",
       "      <td>7.29</td>\n",
       "      <td>4.55</td>\n",
       "      <td>1.66</td>\n",
       "      <td>-5.80</td>\n",
       "      <td>-0.54</td>\n",
       "      <td>...</td>\n",
       "      <td>1.63</td>\n",
       "      <td>3.77</td>\n",
       "      <td>3.64</td>\n",
       "      <td>3.84</td>\n",
       "      <td>1.61</td>\n",
       "      <td>4.67</td>\n",
       "      <td>6.52</td>\n",
       "      <td>4.33</td>\n",
       "      <td>2.34</td>\n",
       "      <td>4.00</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",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-04</th>\n",
       "      <td>-9.46</td>\n",
       "      <td>-1.41</td>\n",
       "      <td>6.19</td>\n",
       "      <td>0.01</td>\n",
       "      <td>3.01</td>\n",
       "      <td>3.03</td>\n",
       "      <td>6.37</td>\n",
       "      <td>-25.22</td>\n",
       "      <td>-10.76</td>\n",
       "      <td>2.04</td>\n",
       "      <td>...</td>\n",
       "      <td>-10.70</td>\n",
       "      <td>-12.59</td>\n",
       "      <td>-12.26</td>\n",
       "      <td>-0.74</td>\n",
       "      <td>-10.93</td>\n",
       "      <td>-2.14</td>\n",
       "      <td>-11.41</td>\n",
       "      <td>-5.47</td>\n",
       "      <td>-7.99</td>\n",
       "      <td>-7.65</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-05</th>\n",
       "      <td>-0.34</td>\n",
       "      <td>-1.85</td>\n",
       "      <td>8.41</td>\n",
       "      <td>0.03</td>\n",
       "      <td>-1.68</td>\n",
       "      <td>-1.60</td>\n",
       "      <td>2.67</td>\n",
       "      <td>-2.93</td>\n",
       "      <td>-7.40</td>\n",
       "      <td>-5.12</td>\n",
       "      <td>...</td>\n",
       "      <td>8.54</td>\n",
       "      <td>-3.35</td>\n",
       "      <td>-0.75</td>\n",
       "      <td>-0.66</td>\n",
       "      <td>-4.59</td>\n",
       "      <td>1.03</td>\n",
       "      <td>-5.64</td>\n",
       "      <td>-3.29</td>\n",
       "      <td>2.80</td>\n",
       "      <td>-1.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-06</th>\n",
       "      <td>-8.43</td>\n",
       "      <td>2.09</td>\n",
       "      <td>-5.97</td>\n",
       "      <td>0.06</td>\n",
       "      <td>-1.64</td>\n",
       "      <td>-0.02</td>\n",
       "      <td>-11.63</td>\n",
       "      <td>-11.33</td>\n",
       "      <td>-12.53</td>\n",
       "      <td>-2.56</td>\n",
       "      <td>...</td>\n",
       "      <td>-6.72</td>\n",
       "      <td>-6.79</td>\n",
       "      <td>-10.19</td>\n",
       "      <td>-8.51</td>\n",
       "      <td>-7.14</td>\n",
       "      <td>-6.43</td>\n",
       "      <td>-8.50</td>\n",
       "      <td>-9.02</td>\n",
       "      <td>-9.05</td>\n",
       "      <td>-11.78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-07</th>\n",
       "      <td>9.57</td>\n",
       "      <td>2.81</td>\n",
       "      <td>-4.10</td>\n",
       "      <td>0.08</td>\n",
       "      <td>3.67</td>\n",
       "      <td>5.49</td>\n",
       "      <td>0.56</td>\n",
       "      <td>14.62</td>\n",
       "      <td>12.10</td>\n",
       "      <td>0.76</td>\n",
       "      <td>...</td>\n",
       "      <td>-0.40</td>\n",
       "      <td>8.60</td>\n",
       "      <td>15.68</td>\n",
       "      <td>7.22</td>\n",
       "      <td>9.33</td>\n",
       "      <td>9.08</td>\n",
       "      <td>16.33</td>\n",
       "      <td>11.89</td>\n",
       "      <td>7.38</td>\n",
       "      <td>9.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2022-08</th>\n",
       "      <td>-3.78</td>\n",
       "      <td>1.39</td>\n",
       "      <td>0.31</td>\n",
       "      <td>0.19</td>\n",
       "      <td>-1.61</td>\n",
       "      <td>-1.87</td>\n",
       "      <td>-0.12</td>\n",
       "      <td>-2.95</td>\n",
       "      <td>-4.97</td>\n",
       "      <td>-2.16</td>\n",
       "      <td>...</td>\n",
       "      <td>-3.00</td>\n",
       "      <td>-4.72</td>\n",
       "      <td>-5.89</td>\n",
       "      <td>-7.66</td>\n",
       "      <td>-1.46</td>\n",
       "      <td>-1.60</td>\n",
       "      <td>-3.46</td>\n",
       "      <td>-1.47</td>\n",
       "      <td>-2.24</td>\n",
       "      <td>-3.65</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1154 rows × 34 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         Mkt-RF   SMB   HML    RF  Food   Beer   Smoke  Games  Books  Hshld  \\\n",
       "Date                                                                          \n",
       "1926-07    2.96 -2.56 -2.43  0.22   0.56  -5.19   1.29   2.93  10.97  -0.48   \n",
       "1926-08    2.64 -1.17  3.82  0.25   2.59  27.03   6.50   0.55  10.01  -3.58   \n",
       "1926-09    0.36 -1.40  0.13  0.23   1.16   4.02   1.26   6.58  -0.99   0.73   \n",
       "1926-10   -3.24 -0.09  0.70  0.32  -3.06  -3.31   1.06  -4.76   9.47  -4.68   \n",
       "1926-11    2.53 -0.10 -0.51  0.31   6.35   7.29   4.55   1.66  -5.80  -0.54   \n",
       "...         ...   ...   ...   ...    ...    ...    ...    ...    ...    ...   \n",
       "2022-04   -9.46 -1.41  6.19  0.01   3.01   3.03   6.37 -25.22 -10.76   2.04   \n",
       "2022-05   -0.34 -1.85  8.41  0.03  -1.68  -1.60   2.67  -2.93  -7.40  -5.12   \n",
       "2022-06   -8.43  2.09 -5.97  0.06  -1.64  -0.02 -11.63 -11.33 -12.53  -2.56   \n",
       "2022-07    9.57  2.81 -4.10  0.08   3.67   5.49   0.56  14.62  12.10   0.76   \n",
       "2022-08   -3.78  1.39  0.31  0.19  -1.61  -1.87  -0.12  -2.95  -4.97  -2.16   \n",
       "\n",
       "         ...  Telcm  Servs  BusEq  Paper  Trans  Whlsl  Rtail  Meals  Fin    \\\n",
       "Date     ...                                                                  \n",
       "1926-07  ...   0.83   9.22   2.06   7.70   1.91 -23.79   0.07   1.87  -0.02   \n",
       "1926-08  ...   2.17   2.02   4.39  -2.38   4.85   5.39  -0.75  -0.13   4.47   \n",
       "1926-09  ...   2.41   2.25   0.19  -5.54   0.07  -7.87   0.25  -0.56  -1.61   \n",
       "1926-10  ...  -0.11  -2.00  -1.09  -5.08  -2.61 -15.38  -2.20  -4.11  -5.51   \n",
       "1926-11  ...   1.63   3.77   3.64   3.84   1.61   4.67   6.52   4.33   2.34   \n",
       "...      ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       "2022-04  ... -10.70 -12.59 -12.26  -0.74 -10.93  -2.14 -11.41  -5.47  -7.99   \n",
       "2022-05  ...   8.54  -3.35  -0.75  -0.66  -4.59   1.03  -5.64  -3.29   2.80   \n",
       "2022-06  ...  -6.72  -6.79 -10.19  -8.51  -7.14  -6.43  -8.50  -9.02  -9.05   \n",
       "2022-07  ...  -0.40   8.60  15.68   7.22   9.33   9.08  16.33  11.89   7.38   \n",
       "2022-08  ...  -3.00  -4.72  -5.89  -7.66  -1.46  -1.60  -3.46  -1.47  -2.24   \n",
       "\n",
       "         Other  \n",
       "Date            \n",
       "1926-07   5.20  \n",
       "1926-08   6.76  \n",
       "1926-09  -3.86  \n",
       "1926-10  -8.49  \n",
       "1926-11   4.00  \n",
       "...        ...  \n",
       "2022-04  -7.65  \n",
       "2022-05  -1.19  \n",
       "2022-06 -11.78  \n",
       "2022-07   9.19  \n",
       "2022-08  -3.65  \n",
       "\n",
       "[1154 rows x 34 columns]"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.concat([fffactors_monthly, industry_monthly], axis = 1, join = 'inner')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "291aad90",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import linear_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "f2f9a54e",
   "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>BETAs</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       BETAs\n",
       "Food     NaN\n",
       "Beer     NaN\n",
       "Smoke    NaN\n",
       "Games    NaN\n",
       "Books    NaN\n",
       "Hshld    NaN\n",
       "Clths    NaN\n",
       "Hlth     NaN\n",
       "Chems    NaN\n",
       "Txtls    NaN\n",
       "Cnstr    NaN\n",
       "Steel    NaN\n",
       "FabPr    NaN\n",
       "ElcEq    NaN\n",
       "Autos    NaN\n",
       "Carry    NaN\n",
       "Mines    NaN\n",
       "Coal     NaN\n",
       "Oil      NaN\n",
       "Util     NaN\n",
       "Telcm    NaN\n",
       "Servs    NaN\n",
       "BusEq    NaN\n",
       "Paper    NaN\n",
       "Trans    NaN\n",
       "Whlsl    NaN\n",
       "Rtail    NaN\n",
       "Meals    NaN\n",
       "Fin      NaN\n",
       "Other    NaN"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "beta = pd.DataFrame(np.nan,index=ind_name,columns=[\"BETAs\"])\n",
    "beta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "71df923d",
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(len(ind_name)):\n",
    "    model = linear_model.LinearRegression()\n",
    "    model = model.fit(df[['Mkt-RF']], pd.DataFrame(df[ind_name[i]]-df['RF'])) #First input must be feature\n",
    "    #step3: save data in the dataframe\n",
    "    beta.iloc[i:] = model.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "b50238e9",
   "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>BETAs</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>0.729095</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>0.924026</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>0.623424</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>1.385464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>1.110920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>0.884306</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>0.831563</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>0.833813</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>1.043679</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>1.145560</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>1.181354</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>1.361442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>1.239619</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>1.288733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>1.286918</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>1.188716</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>0.913507</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>1.278337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>0.889536</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>0.763865</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>0.664651</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>0.823919</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>1.080205</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>0.948937</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>1.138238</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>1.086695</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>0.967677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>0.946614</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>1.158976</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>1.055502</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          BETAs\n",
       "Food   0.729095\n",
       "Beer   0.924026\n",
       "Smoke  0.623424\n",
       "Games  1.385464\n",
       "Books  1.110920\n",
       "Hshld  0.884306\n",
       "Clths  0.831563\n",
       "Hlth   0.833813\n",
       "Chems  1.043679\n",
       "Txtls  1.145560\n",
       "Cnstr  1.181354\n",
       "Steel  1.361442\n",
       "FabPr  1.239619\n",
       "ElcEq  1.288733\n",
       "Autos  1.286918\n",
       "Carry  1.188716\n",
       "Mines  0.913507\n",
       "Coal   1.278337\n",
       "Oil    0.889536\n",
       "Util   0.763865\n",
       "Telcm  0.664651\n",
       "Servs  0.823919\n",
       "BusEq  1.080205\n",
       "Paper  0.948937\n",
       "Trans  1.138238\n",
       "Whlsl  1.086695\n",
       "Rtail  0.967677\n",
       "Meals  0.946614\n",
       "Fin    1.158976\n",
       "Other  1.055502"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "beta"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48aadbd0",
   "metadata": {},
   "source": [
    "1.2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "id": "cb5b75a3",
   "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>Average Excess Return</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>0.699220</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>0.929593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>0.866482</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>0.835659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>0.631750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>0.655269</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>0.664896</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>0.807920</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>0.777340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>0.675537</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>0.694168</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>0.677374</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>0.800849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>0.896854</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>0.923614</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>0.850295</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>0.640659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>0.828094</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>0.773960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>0.618354</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>0.566352</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>0.953033</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>0.903787</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>0.721256</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>0.655191</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>0.575069</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>0.777964</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>0.800208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>0.742305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>0.522088</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Average Excess Return\n",
       "Food                0.699220\n",
       "Beer                0.929593\n",
       "Smoke               0.866482\n",
       "Games               0.835659\n",
       "Books               0.631750\n",
       "Hshld               0.655269\n",
       "Clths               0.664896\n",
       "Hlth                0.807920\n",
       "Chems               0.777340\n",
       "Txtls               0.675537\n",
       "Cnstr               0.694168\n",
       "Steel               0.677374\n",
       "FabPr               0.800849\n",
       "ElcEq               0.896854\n",
       "Autos               0.923614\n",
       "Carry               0.850295\n",
       "Mines               0.640659\n",
       "Coal                0.828094\n",
       "Oil                 0.773960\n",
       "Util                0.618354\n",
       "Telcm               0.566352\n",
       "Servs               0.953033\n",
       "BusEq               0.903787\n",
       "Paper               0.721256\n",
       "Trans               0.655191\n",
       "Whlsl               0.575069\n",
       "Rtail               0.777964\n",
       "Meals               0.800208\n",
       "Fin                 0.742305\n",
       "Other               0.522088"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "excess_return = pd.DataFrame(data = np.nan, index = ind_name, columns = ['Average Excess Return'])\n",
    "for i in range(len(ind_name)):\n",
    "    excess_return.iloc[i] = np.sum((df[ind_name[i]]-df['RF'])/df.shape[0])\n",
    "    \n",
    "excess_return"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "id": "b722b9cf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.scatter(beta, excess_return)\n",
    "plt.xlabel('Beta')\n",
    "plt.ylabel('Excess Return')\n",
    "plt.title('1.2 Plot')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f0833ea2",
   "metadata": {},
   "source": [
    "Yes, we can observe SML"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba2c13ce",
   "metadata": {},
   "source": [
    "1.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "id": "2792842f",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import KFold"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "id": "a8683a7d",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KFold(n_splits=10, random_state=None, shuffle=False)"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "kf = KFold(n_splits=10,shuffle=False)\n",
    "kf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "id": "c13cc144",
   "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>RMSE</th>\n",
       "      <th>MAE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       RMSE  MAE\n",
       "Food    NaN  NaN\n",
       "Beer    NaN  NaN\n",
       "Smoke   NaN  NaN\n",
       "Games   NaN  NaN\n",
       "Books   NaN  NaN\n",
       "Hshld   NaN  NaN\n",
       "Clths   NaN  NaN\n",
       "Hlth    NaN  NaN\n",
       "Chems   NaN  NaN\n",
       "Txtls   NaN  NaN\n",
       "Cnstr   NaN  NaN\n",
       "Steel   NaN  NaN\n",
       "FabPr   NaN  NaN\n",
       "ElcEq   NaN  NaN\n",
       "Autos   NaN  NaN\n",
       "Carry   NaN  NaN\n",
       "Mines   NaN  NaN\n",
       "Coal    NaN  NaN\n",
       "Oil     NaN  NaN\n",
       "Util    NaN  NaN\n",
       "Telcm   NaN  NaN\n",
       "Servs   NaN  NaN\n",
       "BusEq   NaN  NaN\n",
       "Paper   NaN  NaN\n",
       "Trans   NaN  NaN\n",
       "Whlsl   NaN  NaN\n",
       "Rtail   NaN  NaN\n",
       "Meals   NaN  NaN\n",
       "Fin     NaN  NaN\n",
       "Other   NaN  NaN"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model1_metric = pd.DataFrame(np.nan,index=ind_name,columns=[\"RMSE\", 'MAE'])\n",
    "model1_metric"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "id": "c8fdeb97",
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(len(ind_name)):\n",
    "    err_rmse_test = 0\n",
    "    err_mae_test = 0\n",
    "    mkt = df['Mkt-RF'].to_numpy()\n",
    "    ri_rf = (df[ind_name[i]])-df['RF'].to_numpy()\n",
    "    for train, test in kf.split(mkt):\n",
    "        lr = linear_model.LinearRegression()\n",
    "        reg = lr.fit(mkt[train].reshape(-1,1), ri_rf[train])\n",
    "        ri_rf_pred_test = reg.predict(mkt[test].reshape(-1,1))\n",
    "        e_test = ri_rf[test]-ri_rf_pred_test\n",
    "        err_rmse_test += np.sqrt(np.mean(e_test*e_test))    \n",
    "        err_mae_test += np.mean(np.abs(e_test))\n",
    "    rmse_10cv_test = err_rmse_test/10\n",
    "    mae_10cv_test = err_mae_test/10\n",
    "    model1_metric.iloc[i][0] = rmse_10cv_test\n",
    "    model1_metric.iloc[i][1] = mae_10cv_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "id": "0b3b24fe",
   "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>RMSE</th>\n",
       "      <th>MAE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>2.538109</td>\n",
       "      <td>1.898086</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>4.636514</td>\n",
       "      <td>3.384528</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>4.526541</td>\n",
       "      <td>3.521301</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>4.874197</td>\n",
       "      <td>3.623334</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>3.861875</td>\n",
       "      <td>2.956903</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>3.213406</td>\n",
       "      <td>2.409892</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>4.235036</td>\n",
       "      <td>3.093844</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>3.229728</td>\n",
       "      <td>2.437323</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>2.905301</td>\n",
       "      <td>2.200431</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>4.653665</td>\n",
       "      <td>3.403551</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>2.829698</td>\n",
       "      <td>2.153414</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>4.417177</td>\n",
       "      <td>3.314934</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>2.817130</td>\n",
       "      <td>2.186627</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>3.274492</td>\n",
       "      <td>2.547459</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>4.572182</td>\n",
       "      <td>3.280924</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>4.224256</td>\n",
       "      <td>3.154163</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>5.255009</td>\n",
       "      <td>4.125605</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>8.114324</td>\n",
       "      <td>5.838560</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>4.139266</td>\n",
       "      <td>3.138144</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>3.519019</td>\n",
       "      <td>2.705937</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>2.901631</td>\n",
       "      <td>2.226987</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>5.632045</td>\n",
       "      <td>3.950464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>3.421839</td>\n",
       "      <td>2.596730</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>2.839679</td>\n",
       "      <td>2.148962</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>3.515633</td>\n",
       "      <td>2.602099</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>3.747144</td>\n",
       "      <td>2.795816</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>2.954227</td>\n",
       "      <td>2.257817</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>3.997552</td>\n",
       "      <td>3.018501</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>2.691408</td>\n",
       "      <td>2.016012</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>3.483393</td>\n",
       "      <td>2.651443</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           RMSE       MAE\n",
       "Food   2.538109  1.898086\n",
       "Beer   4.636514  3.384528\n",
       "Smoke  4.526541  3.521301\n",
       "Games  4.874197  3.623334\n",
       "Books  3.861875  2.956903\n",
       "Hshld  3.213406  2.409892\n",
       "Clths  4.235036  3.093844\n",
       "Hlth   3.229728  2.437323\n",
       "Chems  2.905301  2.200431\n",
       "Txtls  4.653665  3.403551\n",
       "Cnstr  2.829698  2.153414\n",
       "Steel  4.417177  3.314934\n",
       "FabPr  2.817130  2.186627\n",
       "ElcEq  3.274492  2.547459\n",
       "Autos  4.572182  3.280924\n",
       "Carry  4.224256  3.154163\n",
       "Mines  5.255009  4.125605\n",
       "Coal   8.114324  5.838560\n",
       "Oil    4.139266  3.138144\n",
       "Util   3.519019  2.705937\n",
       "Telcm  2.901631  2.226987\n",
       "Servs  5.632045  3.950464\n",
       "BusEq  3.421839  2.596730\n",
       "Paper  2.839679  2.148962\n",
       "Trans  3.515633  2.602099\n",
       "Whlsl  3.747144  2.795816\n",
       "Rtail  2.954227  2.257817\n",
       "Meals  3.997552  3.018501\n",
       "Fin    2.691408  2.016012\n",
       "Other  3.483393  2.651443"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model1_metric"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7e48c3e7",
   "metadata": {},
   "source": [
    "1.4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "id": "3aeaedd9",
   "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>BETAs</th>\n",
       "      <th>SMB</th>\n",
       "      <th>HML</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       BETAs  SMB  HML\n",
       "Food     NaN  NaN  NaN\n",
       "Beer     NaN  NaN  NaN\n",
       "Smoke    NaN  NaN  NaN\n",
       "Games    NaN  NaN  NaN\n",
       "Books    NaN  NaN  NaN\n",
       "Hshld    NaN  NaN  NaN\n",
       "Clths    NaN  NaN  NaN\n",
       "Hlth     NaN  NaN  NaN\n",
       "Chems    NaN  NaN  NaN\n",
       "Txtls    NaN  NaN  NaN\n",
       "Cnstr    NaN  NaN  NaN\n",
       "Steel    NaN  NaN  NaN\n",
       "FabPr    NaN  NaN  NaN\n",
       "ElcEq    NaN  NaN  NaN\n",
       "Autos    NaN  NaN  NaN\n",
       "Carry    NaN  NaN  NaN\n",
       "Mines    NaN  NaN  NaN\n",
       "Coal     NaN  NaN  NaN\n",
       "Oil      NaN  NaN  NaN\n",
       "Util     NaN  NaN  NaN\n",
       "Telcm    NaN  NaN  NaN\n",
       "Servs    NaN  NaN  NaN\n",
       "BusEq    NaN  NaN  NaN\n",
       "Paper    NaN  NaN  NaN\n",
       "Trans    NaN  NaN  NaN\n",
       "Whlsl    NaN  NaN  NaN\n",
       "Rtail    NaN  NaN  NaN\n",
       "Meals    NaN  NaN  NaN\n",
       "Fin      NaN  NaN  NaN\n",
       "Other    NaN  NaN  NaN"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "beta2 = pd.DataFrame(np.nan,index=ind_name,columns=[\"BETAs\", 'SMB', 'HML'])\n",
    "beta2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "id": "9a11c821",
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(len(ind_name)):\n",
    "    model = linear_model.LinearRegression()\n",
    "    model = model.fit(df[['Mkt-RF', 'SMB', 'HML']], pd.DataFrame(df[ind_name[i]]-df['RF'])) #First input must be feature\n",
    "    #step3: save data in the dataframe\n",
    "    beta2.iloc[i:] = model.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "id": "edcc29d6",
   "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>BETAs</th>\n",
       "      <th>SMB</th>\n",
       "      <th>HML</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>0.747453</td>\n",
       "      <td>-0.140384</td>\n",
       "      <td>0.052259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>0.866732</td>\n",
       "      <td>0.196442</td>\n",
       "      <td>0.133388</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>0.649355</td>\n",
       "      <td>-0.216873</td>\n",
       "      <td>0.096605</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>1.287535</td>\n",
       "      <td>0.408923</td>\n",
       "      <td>0.138250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>1.012498</td>\n",
       "      <td>0.372491</td>\n",
       "      <td>0.186158</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>0.906274</td>\n",
       "      <td>-0.088170</td>\n",
       "      <td>-0.035378</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>0.761506</td>\n",
       "      <td>0.422109</td>\n",
       "      <td>-0.060045</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>0.878894</td>\n",
       "      <td>-0.085659</td>\n",
       "      <td>-0.189481</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>1.068119</td>\n",
       "      <td>-0.151514</td>\n",
       "      <td>0.026175</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>0.982731</td>\n",
       "      <td>0.563268</td>\n",
       "      <td>0.372973</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>1.118341</td>\n",
       "      <td>0.247742</td>\n",
       "      <td>0.107824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>1.259659</td>\n",
       "      <td>0.232049</td>\n",
       "      <td>0.380399</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>1.173377</td>\n",
       "      <td>0.261550</td>\n",
       "      <td>0.111985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>1.295485</td>\n",
       "      <td>-0.035460</td>\n",
       "      <td>-0.000616</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>1.247708</td>\n",
       "      <td>0.055086</td>\n",
       "      <td>0.188627</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>1.097555</td>\n",
       "      <td>0.218124</td>\n",
       "      <td>0.328079</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>0.842647</td>\n",
       "      <td>0.258731</td>\n",
       "      <td>0.145621</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>1.084163</td>\n",
       "      <td>0.485378</td>\n",
       "      <td>0.673339</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>0.878785</td>\n",
       "      <td>-0.179207</td>\n",
       "      <td>0.290080</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>0.755451</td>\n",
       "      <td>-0.166903</td>\n",
       "      <td>0.259715</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>0.694991</td>\n",
       "      <td>-0.131654</td>\n",
       "      <td>-0.036739</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>0.832129</td>\n",
       "      <td>0.368626</td>\n",
       "      <td>-0.505840</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>1.121167</td>\n",
       "      <td>0.153322</td>\n",
       "      <td>-0.455735</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>0.952825</td>\n",
       "      <td>-0.057684</td>\n",
       "      <td>0.045355</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>1.038001</td>\n",
       "      <td>0.163473</td>\n",
       "      <td>0.454423</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>0.972969</td>\n",
       "      <td>0.550152</td>\n",
       "      <td>0.068217</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>0.979982</td>\n",
       "      <td>0.041639</td>\n",
       "      <td>-0.131479</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>0.896939</td>\n",
       "      <td>0.289515</td>\n",
       "      <td>-0.030568</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>1.121536</td>\n",
       "      <td>-0.057539</td>\n",
       "      <td>0.315218</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>0.999547</td>\n",
       "      <td>0.283097</td>\n",
       "      <td>0.018335</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          BETAs       SMB       HML\n",
       "Food   0.747453 -0.140384  0.052259\n",
       "Beer   0.866732  0.196442  0.133388\n",
       "Smoke  0.649355 -0.216873  0.096605\n",
       "Games  1.287535  0.408923  0.138250\n",
       "Books  1.012498  0.372491  0.186158\n",
       "Hshld  0.906274 -0.088170 -0.035378\n",
       "Clths  0.761506  0.422109 -0.060045\n",
       "Hlth   0.878894 -0.085659 -0.189481\n",
       "Chems  1.068119 -0.151514  0.026175\n",
       "Txtls  0.982731  0.563268  0.372973\n",
       "Cnstr  1.118341  0.247742  0.107824\n",
       "Steel  1.259659  0.232049  0.380399\n",
       "FabPr  1.173377  0.261550  0.111985\n",
       "ElcEq  1.295485 -0.035460 -0.000616\n",
       "Autos  1.247708  0.055086  0.188627\n",
       "Carry  1.097555  0.218124  0.328079\n",
       "Mines  0.842647  0.258731  0.145621\n",
       "Coal   1.084163  0.485378  0.673339\n",
       "Oil    0.878785 -0.179207  0.290080\n",
       "Util   0.755451 -0.166903  0.259715\n",
       "Telcm  0.694991 -0.131654 -0.036739\n",
       "Servs  0.832129  0.368626 -0.505840\n",
       "BusEq  1.121167  0.153322 -0.455735\n",
       "Paper  0.952825 -0.057684  0.045355\n",
       "Trans  1.038001  0.163473  0.454423\n",
       "Whlsl  0.972969  0.550152  0.068217\n",
       "Rtail  0.979982  0.041639 -0.131479\n",
       "Meals  0.896939  0.289515 -0.030568\n",
       "Fin    1.121536 -0.057539  0.315218\n",
       "Other  0.999547  0.283097  0.018335"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "beta2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a95d67dd",
   "metadata": {},
   "source": [
    "1.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "id": "b7ab50d0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(beta2['BETAs'], excess_return)\n",
    "plt.xlabel('Beta')\n",
    "plt.ylabel('Excess Return')\n",
    "plt.title('Beta1 Plot')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "id": "11bcc39f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(beta2['SMB'], excess_return)\n",
    "plt.xlabel('SMB')\n",
    "plt.ylabel('Excess Return')\n",
    "plt.title('Beta2 Plot')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "id": "e3ef87cc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEWCAYAAABrDZDcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAZl0lEQVR4nO3de7htdV3v8fenzcVNmhsFDTYgWIChIOiSjpfMyyEu6gHJApFMHzvGKcz0pGI+eTydx7AoQ0PloJl6LNGSEBWlvGGFKHsLIhfRHV7YG9ONiihuU/B7/phz6WSyLmOtNe/j/Xqe+TDHHGOO+R1MmN81fpfvL1WFJKm9fmrcAUiSxstEIEktZyKQpJYzEUhSy5kIJKnlTASS1HImAmmCJHlWkn8ddxxqFxOBZlKSLyXZkeS7Sb6V5P1J9m343scl2brCz/toku1JbkvymSTHL3HsK5L8sBvbrUkuS/LIlXxe9zwfS/JbK32f1M9EoFn2lKq6J7AX8DXgr4b4Wc8H9qqqnwGeC7w9yV5LHP/Obmx7Av8KXJAkQ4xPWpSJQDOvqr4P/ANwyPxrSXZN8udJvpLka0nOTbI+yU8DHwD27v7F/t0keyc5Msknun/BfzXJOUl26fmMq6vqjvlNYGdg2TuQqvoh8FbgZ4H79u9P8qgkVyT5dvefj+q+/krgl4BzujGes9p/P5KJQDMvyW7AScDlPS//KXAQcDjw88BG4OVVdTtwLHBzVd2z+7gZuBN4AbAH8EjgicDv9H3O+5J8H/gk8DFgU4PYdgWeBWytqlv69t0HeD/wWjpJ4tXA+5Pct6peBvwLcHo3xtMb/wuR+pgINMsuTHIrcBtwFHAWQLcJ5r8DL6iqb1bVd4A/AU5e7ERVtbmqLq+qO6rqS8D/BX6575gnA/cCjgMuqaofLRHbr3djuwl4OHDCAsc8CfhCVf2/7ue+A/gc8JTlLlxaiZ3GHYA0RCdU1YeSrAOOBy5NcgjwI2A3YHNPs3yAdYudKMlBdP4in+u+dydgc/9x3aaeDyR5fpJ/r6qLFjnlu6rq1GXi3xv4ct9rX6Zz9yINjHcEmnlVdWdVXUCneecxwC3ADuDBVbWh+7h3t/MWOm38/d5A56/xA7sdwn9IJ3ksZifg59YY+s3AA/pe2w/YtkSc0oqZCDTz0nE8sDtwfbfJ5o3AXya5X/eYjUmO7r7la8B9k9y75zT3otPE9N0kDwL+R8/5H5Tk2G5n885JTgUeC1y6xtAvBg5KckqSnZKcRKfD+309cT5wjZ8hmQg0096b5Lt0fsBfCfxmVV3b3fcSYAtweZLbgA8BBwNU1eeAdwA3dkcJ7Q38AXAK8B06SeSdPZ8T4BXA14HtdIaSnlRVn15L8FX1DeDJwP8EvgG8GHhyT6fya4CndedJvHYtn6V2iwvTSFK7eUcgSS1nIpCkljMRSFLLmQgkqeWmbkLZHnvsUfvvv/+4w5CkqbJ58+ZbqmrPhfZNXSLYf//92bRp2RIukqQeSfpnqf+YTUOS1HImAklqOROBJLWciUCSWs5EIEktN3Wjhlbjwiu3cdYlN3DzrTvYe8N6XnT0wZxwhCXdJQlakAguvHIbL73gs+z44Z0AbLt1By+94LMAJgNJogVNQ2ddcsOPk8C8HT+8k7MuuWFMEUnSZJn5RHDzrTtW9Loktc3MJ4K9N6xf0euS1DYznwhedPTBrN/5rmuSr995HS86+uAxRSRJk2XmO4vnO4QdNSRJC5v5RACdZOAPvyQtbOabhiRJSzMRSFLLmQgkqeVa0UcgTRrLnmiSmAikEbPsiSaNTUPSiFn2RJPGOwJpxNZa9sRmJQ2adwTSiK2l7Ml8s9K2W3dQ/KRZ6cIrtw04SrWJiUAasbWUPbFZScNg05A0Ymspe2I1XQ2DiUAag9WWPdl7w3q2LfCjbzVdrYVNQ9IUsZquhsE7AmmKWE1Xw2AikKaM1XQ1aDYNSVLLeUewCCftSGqLod4RJDkmyQ1JtiQ5Y4H9uyf5xyRXJ/lUkocMM56mnLQjqU2GlgiSrANeBxwLHAI8PckhfYf9IXBVVR0GPBN4zbDiWQkn7Uhqk2E2DR0JbKmqGwGSnA8cD1zXc8whwJkAVfW5JPsnuX9VfW2IcS3LSTuzyyY/6e6G2TS0EbipZ3tr97VenwFOBEhyJPAAYJ8hxtTIWmrBaHLZ5CctbJiJIAu8Vn3brwJ2T3IV8DzgSuCOu50oeW6STUk2bd++feCB9nPSzmyyyU9a2DCbhrYC+/Zs7wPc3HtAVd0GPBsgSYAvdh/0HXcecB7A3NxcfzIZOCftzCab/KSFDTMRXAEcmOQAYBtwMnBK7wFJNgDfq6ofAL8FfLybHMbOSTuzxzo90sKG1jRUVXcApwOXANcD76qqa5OcluS07mG/AFyb5HN0Rhc9f1jxSDb5SQsb6oSyqroYuLjvtXN7nn8COHCYMUjzbPKTFubMYrWKTX7S3VlrSJJazkQgSS1nIpCkljMRSFLLmQgkqeVMBJLUcg4flQbMCqeaNiYCaYDmK5zOF7ebr3AKmAw0sWwakgbICqeaRiYCaYCscKppZCKQBshFjTSNTATSAFnhVNPIzmJpgKxwqmlkIpAGrG0VTh0uO/1MBJJWzeGys8E+Akmr5nDZ2WAikLRqDpedDSYCSavmcNnZYCKQtGoOl50NdhZLWjWHy84GE4E0RrMw9LJtw2VnkYlAGhOHXmpS2EcgjYlDLzUpTATSmDj0UpPCpiFpTPbesJ5tC/zoO/RS/Ybdl+QdgTQmDr1UE/N9Sdtu3UHxk76kC6/cNrDPMBFIY3LCERs588RD2bhhPQE2bljPmSceakex7mIUfUk2DUlj5NBLLWcUfUneEUjSBBtFGQ8TgSRNsFH0Jdk0JEkTbBRlPEwEkjThht2XZNOQJLWcdwRqbBYKpEm6OxOBGrFAmjS7lk0ESXYFfhXYv/f4qvrj4YWlSbPUpBYTgTTdmtwRvAf4NrAZ+M+VnDzJMcBrgHXAm6rqVX377w28HdivG8ufV9XfrOQzNBrTUiBtEpuvJjEmqVeTRLBPVR2z0hMnWQe8DjgK2ApckeSiqrqu57DfBa6rqqck2RO4IcnfVtUPVvp5Gq5pKJA2ic1XkxiT1K/JqKHLkhy6inMfCWypqhu7P+znA8f3HVPAvZIEuCfwTeCOVXyWhmwaCqRNYn3/SYxJ6tfkjuAxwLOSfJFO01CAqqrDlnnfRuCmnu2twC/2HXMOcBFwM3Av4KSq+lH/iZI8F3guwH777dcgZA3aNKxNO4nNV5MYk9RvyUTQ/Uv9NODLqzh3Fnit+raPBq4CngD8HPDPSf6lqm67y5uqzgPOA5ibm+s/h0Zk0gukTWLz1STGJPVbsmmoqgr4y6r6cv+jwbm3Avv2bO9D5y//Xs8GLqiOLcAXgQetIH7pxyax+WoSY5L6NekjuDzJI1Zx7iuAA5MckGQX4GQ6zUC9vgI8ESDJ/YGDgRtX8VnSRNb3n8SYpH7p/NG/xAHJdcBBdJqHbqd5HwFJjgPOpjN89M1V9cokp9E5wblJ9gbeAuzVPe+rqurtS51zbm6uNm3atNxHS5J6JNlcVXML7WvSWXzsaj+4qi4GLu577dye5zcDv7La80uS1q5JIrBzVpJmWJNE8H46ySDAPYADgBuABw8xLknSiCybCKrqLpPJkjwM+O2hRaSZNA1lFqYhRmkYVlx9tKo+vcpRRGqpaSizMA0xjpqJsT2aVB99Yc/mTwEPA7YPLSLNnGmoXDoNMY6SibFdmswjuFfPY1c6fQb9NYOkRU1DmYVpiHGUrJHULk2ahq6rqr/vfSHJrwF/v8jx0l1MQ5mFaYhxlEyM7dLkjuClDV+TFjQNZRamIcZRWiwBtjUxzrpF7wiSHAscB2xM8tqeXT+DpaK1AtNQuXQaYhylFx198F36CKDdiXHWLVpiIslDgcOBPwZe3rPrO8BHq+pbQ49uAZaYkEbDUUOzZakSE01qDe1M585hv6oae0+RiUCSVm6pRNCkj+AYOmsGfLB7ssOT9FcRlSRNqSaJ4BV0lp28FaCqrgL2H1ZAkqTRapII7qiqbw89EknSWDSZR3BNklOAdUkOBH4PuGy4YUmSRqXJHcHz6FQa/U/gHcC3gecPMyhJ0ugsmwiq6ntV9bKqekS3x/ntwDnDD02SNAqLJoIkhyX5pyTXJPk/Se6f5N3Ah4DrRheiJGmYluojeCPwBuATdIaQfhr4O+AZVfX9EcQmaQI50Wz2LJUIdq2qt3Sf35DkD4AzqurOJd4jaYZZnno2LdVHcI8kRyR5WHdVsu8Ch/VsS2oZy1PPpqXuCL4KvLpn+z96tgt4wrCCkjSZLE89mxZNBFX1+FEGImnyuW7DbGoyj0CSANdtmFUrXrxeUnu5bsNsMhFIWpETjtjoD/+MWbZpKMmjk/x09/mpSV6d5AHDD02SNApN+gjeAHyvu2LZi4EvA28balSSpJFp0jR0R1VVkuOB11TVXyf5zWEHJk0CZ9GqDZokgu8keSlwKvDYJOuAnYcbljR+zqJVWzRpGjqJTgnq51TVfwAbgbOGGpU0AZxFq7ZodEdAp0noziQHAQ+isy6BNNOcRau2aHJH8HFg1yQbgQ8DzwbeMsygpEmw2GxZZ9Fq1jRJBKmq7wEnAn9VVU+ls2KZNNOcRau2aNI0lCSPBJ4BPKf72roljpdmgrNo1RZNEsHvAy8F/rGqrk3yQOCjQ41KmhDOolUbLJsIqupS4NL52cVVdSPwe8MOTJI0Gk1KTDwyyXXA9d3thyZ5fZOTJzkmyQ1JtiQ5Y4H9L0pyVfdxTZI7k9xnxVchSVq1Jk1DZwNHAxcBVNVnkjx2uTd1J569DjgK2ApckeSiqvrxwvdVdRbdOQlJngK8oKq+udKLkIbJ2cWadY3WI6iqm/pearJu8ZHAlqq6sap+AJwPHL/E8U/H+QmaMPOzi7fduoPiJ7OLL7xy27hDkwamSSK4KcmjgEqyS3cR++sbvG8j0JtAtnZfu5skuwHHAO9eZP9zk2xKsmn79u0NPloajLXOLr7wym08+lUf4YAz3s+jX/URE4gmUpNEcBrwu3R+xLcCh3e3l5MFXqtFjn0K8G+LNQtV1XlVNVdVc3vuuWeDj5YGYy2zi72b0LRYNhFU1S1V9Yyqun9V3a+qTq2qbzQ491Zg357tfYCbFzn2ZGwW0gRay+xiaxVpWjQZNfTWJBt6tndP8uYG574CODDJAUl2ofNjf9EC57838MvAexpHLY3IWmYXW6tI06LJqKHDqurW+Y2q+laSI5Z7U1XdkeR04BI6M5Hf3J2Qdlp3/7ndQ58K/FNV3b7i6KUhW8vs4r03rGfbAj/61irSpEnVYs323QOSzwCPq6pvdbfvA1xaVYeOIL67mZubq02bNo3jo6UV6V/PADp3E2eeeKjDTzVySTZX1dxC+5rcEfwFcFmSf6DT2fvrwJ8MMD5pJlmrSNNi2TsCgCQPBh5PZyTQh3snhY2adwSStHJruiNI8pyq+mvg2u72uiT/q6r+94DjlNQSztaeLE2ahp6Y5FfplKC+L/A3wKVDjUrSTLrwym284qJruXXHD3/8mmtBj1+T6qOnJDkJ+CzwPeDpVfVvQ49M0kxZqPN83vz8ChPBeDSZR3Ag8Hw65R++BPxGtySEJDW20AS7Xs6vGJ8mJSbeC/xRVf02nYlfX6AzWUySGlvuh975FePTpI/gyKq6DaA6Q4z+IsndZghLo2An4/RabIIduBb0uC16R5DkxQBVdVuSX+vb/eyhRiUtwCJu022hch0Au++2s5PsxmyppqGTe56/tG/fMUOIRVqSRdym2wlHbOTMEw9l44b1BNi4YT1nn3Q4V778V0wCY7ZU01AWeb7QtjR0FnGbficcsdEf/Qm01B1BLfJ8oW1p6NZSElrS4pa6I3hoktvo/PW/vvuc7vY9hh6Z1OdFRx+8YBG3+U5GO5Lbye997RZNBFV1914daYyWKuLWP1nJ2art4Pc+GE2Gj0oTY7E25qU6kv1BmF1+74PRZEKZNPHsSG4nv/fBMBFoJtiR3E5+74NhItBMWMvawppefu+DYR+BZoKrgbWT3/tgNFqhbJK4QplmkUMgNWxrXbNY0hA5BFLjZh+BNGbWUNK4mQikMXMIpMbNpiFpzBar07/QEEj7EjQM3hFIY9Z0CKTrMWhYTATSmC1Up3+hhVrsS9Cw2DQkTYAmdfrtS9CweEcgTQnLKWhYTATSlLCcgobFpiFpSgy6nIIjkDTPRCBNkUGt+etsZvWyaUhqIUcgqZeJQGohRyCpl4lAaiFHIKmXiUBqIUcgqZedxVILuaCLepkIpJYa1AgkTb+hNg0lOSbJDUm2JDljkWMel+SqJNcmuXSY8UiS7m5odwRJ1gGvA44CtgJXJLmoqq7rOWYD8HrgmKr6SpL7DSseSdLChnlHcCSwpapurKofAOcDx/cdcwpwQVV9BaCqvj7EeCRJCxhmItgI3NSzvbX7Wq+DgN2TfCzJ5iTPXOhESZ6bZFOSTdu3bx9SuJLUTsNMBFngterb3gl4OPAk4Gjgj5IcdLc3VZ1XVXNVNbfnnnsOPlJJarFhjhraCuzbs70PcPMCx9xSVbcDtyf5OPBQ4PNDjEuS1GOYdwRXAAcmOSDJLsDJwEV9x7wH+KUkOyXZDfhF4PohxiRJ6jO0O4KquiPJ6cAlwDrgzVV1bZLTuvvPrarrk3wQuBr4EfCmqrpmWDFJku4uVf3N9pNtbm6uNm3aNO4wJGmqJNlcVXML7bPWkCS1nIlAklrORCBJLWfROWkVXO9Xs8REIK2Q6/1q1tg0JK2Q6/1q1pgIpBVyvV/NGpuGNDNG1W6/94b1bFvgR9/1fjWtvCPQTJhvt9926w6Kn7TbX3jltoF/luv9ataYCDQTRtluf8IRGznzxEPZuGE9ATZuWM+ZJx5qR7Gmlk1Dmgmjbrd3vV/NEu8INBMWa5+33V5anolAM8F2e2n1bBrSTJhvpnG2r7RyJgLNDNvtpdWxaUiSWs5EIEktZyKQpJYzEUhSy5kIJKnlTASS1HImAklqOROBJLWciUCSWs5EIEktZyKQpJYzEUhSy1l0Tq03qrWOpUllIlCrza91PL/M5fxax4DJQK1h05BabZRrHUuTykSgVhv1WsfSJDIRqNVc61gyEajlXOtYsrNYLedax5KJQHKtY7WeTUOS1HImAklqOROBJLWciUCSWs5EIEktl6oadwwrkmQ78OVxx9HQHsAt4w5iQGbpWsDrmWSzdC0wOdfzgKrac6EdU5cIpkmSTVU1N+44BmGWrgW8nkk2S9cC03E9Ng1JUsuZCCSp5UwEw3XeuAMYoFm6FvB6JtksXQtMwfXYRyBJLecdgSS1nIlAklrORDBASe6T5J+TfKH7z92XOHZdkiuTvG+UMTbV5FqS7Jvko0muT3JtkuePI9alJDkmyQ1JtiQ5Y4H9SfLa7v6rkzxsHHE20eBantG9hquTXJbkoeOIs6nlrqfnuEckuTPJ00YZ30o0uZYkj0tyVff/lUtHHeOSqsrHgB7AnwFndJ+fAfzpEse+EPg74H3jjnu11wLsBTys+/xewOeBQ8Yde09864B/Bx4I7AJ8pj8+4DjgA0CA/wJ8ctxxr+FaHgXs3n1+7KReS9Pr6TnuI8DFwNPGHfcavpsNwHXAft3t+4077t6HdwSDdTzw1u7ztwInLHRQkn2AJwFvGk1Yq7LstVTVV6vq093n3wGuByapsP+RwJaqurGqfgCcT+e6eh0PvK06Lgc2JNlr1IE2sOy1VNVlVfWt7ublwD4jjnElmnw3AM8D3g18fZTBrVCTazkFuKCqvgJQVRN1PSaCwbp/VX0VOj+SwP0WOe5s4MXAj0YU12o0vRYAkuwPHAF8cvihNbYRuKlneyt3T1RNjpkEK43zOXTudCbVsteTZCPwVODcEca1Gk2+m4OA3ZN8LMnmJM8cWXQNuELZCiX5EPCzC+x6WcP3Pxn4elVtTvK4AYa2Ymu9lp7z3JPOX22/X1W3DSK2AckCr/WPl25yzCRoHGeSx9NJBI8ZakRr0+R6zgZeUlV3JgsdPjGaXMtOwMOBJwLrgU8kubyqPj/s4JowEaxQVf3XxfYl+VqSvarqq93mhYVu/x4N/LckxwH3AH4mydur6tQhhbyoAVwLSXamkwT+tqouGFKoq7UV2Ldnex/g5lUcMwkaxZnkMDpNjsdW1TdGFNtqNLmeOeD8bhLYAzguyR1VdeFIImyu6X9nt1TV7cDtST4OPJROv9r4jbuTYpYewFnctYP1z5Y5/nFMbmfxstdC5y+htwFnjzveRa5hJ+BG4AB+0on34L5jnsRdO4s/Ne6413At+wFbgEeNO95BXE/f8W9hcjuLm3w3vwB8uHvsbsA1wEPGHfv8wz6CwXoVcFSSLwBHdbdJsneSi8ca2co1uZZHA78BPKE7LO6q7p3ORKiqO4DTgUvodGS/q6quTXJaktO6h11M53/iLcAbgd8ZS7DLaHgtLwfuC7y++11sGlO4y2p4PVOhybVU1fXAB4GrgU8Bb6qqa8YVcz9LTEhSy3lHIEktZyKQpJYzEUhSy5kIJKnlTASS1HImAqmBJN/t235WknO6z1+RpJL8fM/+F3Rfm+tufynJHqONWmrGRCANxmeBk3u2n0an2qQ08UwE0mBcSLfiZJIHAt8Gto8zIKkpaw1JzaxPclXP9n2Ai3q2bwNuSvIQOgnhncCzRxeetHomAqmZHVV1+PxGkmfRKYrW63w6zUNH06kyaSLQVLBpSBqc99KpvfSVmqxy3NKSvCOQBqSqdiR5CZNSWlhqyEQgDVBVnb/E7quTzK9K966qeuEoYpKWY/VRSWo5+wgkqeVMBJLUciYCSWo5E4EktZyJQJJazkQgSS1nIpCklvv/cz1iBz+z+AwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(beta2['HML'], excess_return)\n",
    "plt.xlabel('HML')\n",
    "plt.ylabel('Excess Return')\n",
    "plt.title('Beta3 Plot')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "28dc1696",
   "metadata": {},
   "outputs": [],
   "source": [
    "Sure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "27079a9f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "b1fdba59",
   "metadata": {},
   "source": [
    "1.6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "id": "f46ad52b",
   "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>RMSE</th>\n",
       "      <th>MAE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       RMSE  MAE\n",
       "Food    NaN  NaN\n",
       "Beer    NaN  NaN\n",
       "Smoke   NaN  NaN\n",
       "Games   NaN  NaN\n",
       "Books   NaN  NaN\n",
       "Hshld   NaN  NaN\n",
       "Clths   NaN  NaN\n",
       "Hlth    NaN  NaN\n",
       "Chems   NaN  NaN\n",
       "Txtls   NaN  NaN\n",
       "Cnstr   NaN  NaN\n",
       "Steel   NaN  NaN\n",
       "FabPr   NaN  NaN\n",
       "ElcEq   NaN  NaN\n",
       "Autos   NaN  NaN\n",
       "Carry   NaN  NaN\n",
       "Mines   NaN  NaN\n",
       "Coal    NaN  NaN\n",
       "Oil     NaN  NaN\n",
       "Util    NaN  NaN\n",
       "Telcm   NaN  NaN\n",
       "Servs   NaN  NaN\n",
       "BusEq   NaN  NaN\n",
       "Paper   NaN  NaN\n",
       "Trans   NaN  NaN\n",
       "Whlsl   NaN  NaN\n",
       "Rtail   NaN  NaN\n",
       "Meals   NaN  NaN\n",
       "Fin     NaN  NaN\n",
       "Other   NaN  NaN"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model2_metric = pd.DataFrame(np.nan,index=ind_name,columns=[\"RMSE\", 'MAE'])\n",
    "model2_metric"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "id": "65d2b348",
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(len(ind_name)):\n",
    "    err_rmse_test = 0\n",
    "    err_mae_test = 0\n",
    "    threef = df[['Mkt-RF','SMB','HML']].to_numpy()\n",
    "    ri_rf = (df[ind_name[i]])-df['RF'].to_numpy()\n",
    "    for train, test in kf.split(mkt):\n",
    "        lr = linear_model.LinearRegression()\n",
    "        reg = lr.fit(threef[train], ri_rf[train])\n",
    "        ri_rf_pred_test = reg.predict(threef[test])\n",
    "        e_test = ri_rf[test]-ri_rf_pred_test\n",
    "        err_rmse_test += np.sqrt(np.mean(e_test*e_test))    \n",
    "        err_mae_test += np.mean(np.abs(e_test))\n",
    "    rmse_10cv_test = err_rmse_test/10\n",
    "    mae_10cv_test = err_mae_test/10\n",
    "    model2_metric.iloc[i][0] = rmse_10cv_test\n",
    "    model2_metric.iloc[i][1] = mae_10cv_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "id": "2126c285",
   "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>RMSE</th>\n",
       "      <th>MAE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Food</th>\n",
       "      <td>2.583992</td>\n",
       "      <td>1.950460</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Beer</th>\n",
       "      <td>4.727382</td>\n",
       "      <td>3.441337</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Smoke</th>\n",
       "      <td>4.534637</td>\n",
       "      <td>3.511960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Games</th>\n",
       "      <td>4.822235</td>\n",
       "      <td>3.520520</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Books</th>\n",
       "      <td>3.725951</td>\n",
       "      <td>2.855786</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hshld</th>\n",
       "      <td>3.235331</td>\n",
       "      <td>2.434792</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Clths</th>\n",
       "      <td>4.197140</td>\n",
       "      <td>2.975686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hlth</th>\n",
       "      <td>3.197743</td>\n",
       "      <td>2.386017</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Chems</th>\n",
       "      <td>2.943988</td>\n",
       "      <td>2.243567</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Txtls</th>\n",
       "      <td>4.255104</td>\n",
       "      <td>3.106636</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cnstr</th>\n",
       "      <td>2.807713</td>\n",
       "      <td>2.112981</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Steel</th>\n",
       "      <td>4.192168</td>\n",
       "      <td>3.179183</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FabPr</th>\n",
       "      <td>2.690331</td>\n",
       "      <td>2.090893</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ElcEq</th>\n",
       "      <td>3.334103</td>\n",
       "      <td>2.592332</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Autos</th>\n",
       "      <td>4.564839</td>\n",
       "      <td>3.317047</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Carry</th>\n",
       "      <td>4.102379</td>\n",
       "      <td>3.079451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mines</th>\n",
       "      <td>5.209853</td>\n",
       "      <td>4.070646</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Coal</th>\n",
       "      <td>7.683888</td>\n",
       "      <td>5.632237</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Oil</th>\n",
       "      <td>4.087016</td>\n",
       "      <td>3.117979</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Util</th>\n",
       "      <td>3.389365</td>\n",
       "      <td>2.590805</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Telcm</th>\n",
       "      <td>2.908926</td>\n",
       "      <td>2.232419</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Servs</th>\n",
       "      <td>5.143993</td>\n",
       "      <td>3.536210</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BusEq</th>\n",
       "      <td>3.147124</td>\n",
       "      <td>2.411187</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Paper</th>\n",
       "      <td>2.924536</td>\n",
       "      <td>2.204255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Trans</th>\n",
       "      <td>3.201444</td>\n",
       "      <td>2.472775</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Whlsl</th>\n",
       "      <td>3.581311</td>\n",
       "      <td>2.605731</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rtail</th>\n",
       "      <td>2.952258</td>\n",
       "      <td>2.250535</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Meals</th>\n",
       "      <td>4.032527</td>\n",
       "      <td>3.011346</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fin</th>\n",
       "      <td>2.514929</td>\n",
       "      <td>1.901121</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Other</th>\n",
       "      <td>3.480490</td>\n",
       "      <td>2.631941</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           RMSE       MAE\n",
       "Food   2.583992  1.950460\n",
       "Beer   4.727382  3.441337\n",
       "Smoke  4.534637  3.511960\n",
       "Games  4.822235  3.520520\n",
       "Books  3.725951  2.855786\n",
       "Hshld  3.235331  2.434792\n",
       "Clths  4.197140  2.975686\n",
       "Hlth   3.197743  2.386017\n",
       "Chems  2.943988  2.243567\n",
       "Txtls  4.255104  3.106636\n",
       "Cnstr  2.807713  2.112981\n",
       "Steel  4.192168  3.179183\n",
       "FabPr  2.690331  2.090893\n",
       "ElcEq  3.334103  2.592332\n",
       "Autos  4.564839  3.317047\n",
       "Carry  4.102379  3.079451\n",
       "Mines  5.209853  4.070646\n",
       "Coal   7.683888  5.632237\n",
       "Oil    4.087016  3.117979\n",
       "Util   3.389365  2.590805\n",
       "Telcm  2.908926  2.232419\n",
       "Servs  5.143993  3.536210\n",
       "BusEq  3.147124  2.411187\n",
       "Paper  2.924536  2.204255\n",
       "Trans  3.201444  2.472775\n",
       "Whlsl  3.581311  2.605731\n",
       "Rtail  2.952258  2.250535\n",
       "Meals  4.032527  3.011346\n",
       "Fin    2.514929  1.901121\n",
       "Other  3.480490  2.631941"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model2_metric"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bf18ed56",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d7133584",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
