{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# VARMAX models\n", "\n", "This is a brief introduction notebook to VARMAX models in statsmodels. The VARMAX model is generically specified as:\n", "$$\n", "y_t = \\nu + A_1 y_{t-1} + \\dots + A_p y_{t-p} + B x_t + \\epsilon_t +\n", "M_1 \\epsilon_{t-1} + \\dots M_q \\epsilon_{t-q}\n", "$$\n", "\n", "where $y_t$ is a $\\text{k_endog} \\times 1$ vector." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import statsmodels.api as sm\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "dta = sm.datasets.webuse('lutkepohl2', 'https://www.stata-press.com/data/r12/')\n", "dta.index = dta.qtr\n", "endog = dta.loc['1960-04-01':'1978-10-01', ['dln_inv', 'dln_inc', 'dln_consump']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model specification\n", "\n", "The `VARMAX` class in statsmodels allows estimation of VAR, VMA, and VARMA models (through the `order` argument), optionally with a constant term (via the `trend` argument). Exogenous regressors may also be included (as usual in statsmodels, by the `exog` argument), and in this way a time trend may be added. Finally, the class allows measurement error (via the `measurement_error` argument) and allows specifying either a diagonal or unstructured innovation covariance matrix (via the `error_cov_type` argument)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 1: VAR\n", "\n", "Below is a simple VARX(2) model in two endogenous variables and an exogenous series, but no constant term. Notice that we needed to allow for more iterations than the default (which is `maxiter=50`) in order for the likelihood estimation to converge. This is not unusual in VAR models which have to estimate a large number of parameters, often on a relatively small number of time series: this model, for example, estimates 27 parameters off of 75 observations of 3 variables." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/travis/build/statsmodels/statsmodels/statsmodels/tsa/base/tsa_model.py:162: ValueWarning: No frequency information was provided, so inferred frequency QS-OCT will be used.\n", " % freq, ValueWarning)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " Statespace Model Results \n", "==================================================================================\n", "Dep. Variable: ['dln_inv', 'dln_inc'] No. Observations: 75\n", "Model: VARX(2) Log Likelihood 361.036\n", "Date: Fri, 21 Feb 2020 AIC -696.072\n", "Time: 13:54:51 BIC -665.945\n", "Sample: 04-01-1960 HQIC -684.043\n", " - 10-01-1978 \n", "Covariance Type: opg \n", "===================================================================================\n", "Ljung-Box (Q): 61.20, 39.27 Jarque-Bera (JB): 11.47, 2.34\n", "Prob(Q): 0.02, 0.50 Prob(JB): 0.00, 0.31\n", "Heteroskedasticity (H): 0.45, 0.40 Skew: 0.16, -0.38\n", "Prob(H) (two-sided): 0.05, 0.03 Kurtosis: 4.89, 3.43\n", " Results for equation dln_inv \n", "====================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------------\n", "L1.dln_inv -0.2372 0.093 -2.544 0.011 -0.420 -0.054\n", "L1.dln_inc 0.2837 0.449 0.632 0.528 -0.597 1.164\n", "L2.dln_inv -0.1648 0.156 -1.057 0.290 -0.470 0.141\n", "L2.dln_inc 0.0754 0.422 0.178 0.858 -0.752 0.903\n", "beta.dln_consump 0.9544 0.640 1.492 0.136 -0.300 2.208\n", " Results for equation dln_inc \n", "====================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------------\n", "L1.dln_inv 0.0636 0.036 1.782 0.075 -0.006 0.134\n", "L1.dln_inc 0.0847 0.107 0.793 0.428 -0.125 0.294\n", "L2.dln_inv 0.0098 0.033 0.298 0.765 -0.055 0.074\n", "L2.dln_inc 0.0356 0.134 0.265 0.791 -0.227 0.299\n", "beta.dln_consump 0.7684 0.112 6.853 0.000 0.549 0.988\n", " Error covariance matrix \n", "============================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "--------------------------------------------------------------------------------------------\n", "sqrt.var.dln_inv 0.0434 0.004 12.269 0.000 0.036 0.050\n", "sqrt.cov.dln_inv.dln_inc 5.368e-05 0.002 0.027 0.979 -0.004 0.004\n", "sqrt.var.dln_inc 0.0109 0.001 11.239 0.000 0.009 0.013\n", "============================================================================================\n", "\n", "Warnings:\n", "[1] Covariance matrix calculated using the outer product of gradients (complex-step).\n" ] } ], "source": [ "exog = endog['dln_consump']\n", "mod = sm.tsa.VARMAX(endog[['dln_inv', 'dln_inc']], order=(2,0), trend='n', exog=exog)\n", "res = mod.fit(maxiter=1000, disp=False)\n", "print(res.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the estimated VAR model, we can plot the impulse response functions of the endogenous variables." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwkAAADgCAYAAABIOCpbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de3xV9Znv8c+zcyVcAiQBIQESropSEeINgth6qXYqWLWjtraiWKczZZyZttPauWl7jjO2w5m2r6n2HAdFO9OKjtYOtrVWa1XAVglqqwgoQpBwDXeQWy7P+WOthL13dkJCdrJy+b5fr7z2Xmv91lrPvojrWb/fbz/m7oiIiIiIiDSKRR2AiIiIiIh0L0oSREREREQkgZIEERERERFJoCRBREREREQSKEkQEREREZEEShJERERERCSBkgQREZEUzOzjZnZF1HF0hJn9mZmdHnUcItLzKEkQEZFOYWYvmtltaT7mPDNbns5jtuJN4HtmNqo9MZmZm9n4jpzYzA6Z2diOHCO0DnjYzDLScCwR6UOUJIhIj2dmVWZ2JLyw2m5mD5vZgKjjikoXX0h3W2Z2t5n916nu7+47gNuB+9IXVZvPPcDdN6ThOC8CS4GvdjgoEelTlCSISG9xlbsPAKYC5wDfiDge6QXc/WV3nxN1HB3h7v/s7t+OOg4R6VmUJIhIr+Lu24FnCZIFAMwsx8wWmtkHZrbDzP6vmfULtxWa2c/NbJ+Z7TGzZWYWC7dVmdk3zOwdM9trZovNLDfuuF8ws/XhfkvNbGTcNjezL5rZe+G+95mZhdvGm9lLZrbfzHaZ2WNx+51uZs+Fx1xnZn8at+0TYSwHzWyLmTW7O2xmZwD/F7gw7FnZF67PN7MfmVmNmW0ys39ofJ0pjnGemf0ufE+2mdkPzCy7hba5ZvZfZrY7bL/SzIbHNRljZivCmH9tZoVx+84xs9Xhfi+GsTduG2VmPw3j3W1mP2jh/P9qZsvNLD9p/RXA3wHXh+/DH8L1I8PPak/42X0h1XFbY2YF4TEOmNlrwLhW2j4cfva/CN+DV82sxfZx+zUNWWrtGOF3eWHSvv9jZl9u7+sSEYmnJEFEehUzKwGuBNbHrf42MJEgcRgPFAP/FG77ClANFAHDCS4sPW7fzwIfJ7gQnAj8Q3iejwH/AvwpMALYBCxJCueTwLnA2WG7j4fr/xfwa2AIUAL8e3jM/sBzwE+AYcCNwP1mdma434PAn7n7QOAs4IXk1+/ua4AvAr8Lh6wMDjf9O5APjAVmA58Hbmn2Bgbqgb8BCoELgUuAv2ih7c3hcUcBBeG5j8Rt/0x4nmFANuGwFzObCDwK/DXBe/9L4Gkzy7Zg/PzPCd7TUoLPK+G9NbOYmf0H8BHgcnffn/Q+/Ar4Z+Cx8H04O9z0KMHnPRK4DvhnM7ukhdfWkvuAowSf+63hX2tuBL5J8HmvB+5p5/laO8ZPCBKhxgR0CHA5zb+LIiLtoiRBRHqLn5nZQWAzsBO4CyC8ePoC8DfuvsfdDxJcPN4Q7ldLcLE3xt1r3X2Zu8cnCT9w983uvofgwuzGcP1ngYfc/XV3P0YwvOlCMyuN2/ded9/n7h8Av+VE70YtMAYY6e5H3b1x/sAngSp3X+zude7+OvAkwcVs436TzWyQu+8Nt59UeNF9PfANdz/o7lXA/wE+l6q9u69y99+HMVQB/48gsUilliA5GO/u9eG+B+K2L3b3d939CPB43HtwPfALd3/O3WuBhUA/YAZwHsFF/N+6+4dJ7xFAFsHF/lCCYWaH2/g+jAIqgK+Hx3wTWNTS+9DCMTKAa4F/CmN7G3jkJLv91N1fc/c64MfE9XK1Q0vHWEaQ1M4Kl68jSBC3nsI5RESaKEkQkd7i6vAO+8XA6QR3wSG4S50HrAqHtewDfhWuB/hXgjuzvzazDWZ2Z9JxN8c930Rw8Ur4uKlxg7sfAnYT3PVutD3u+WGgcTL11wADXguH2zTeiR4DnN8YZxjrZ4HTwu3XAp8ANoXDlS482ZsSKiS4i78pbt2mpFibmNlEC4ZgbTezAwRJVWGqtsB/EgzvWmJmW83sO2aWFbe9pfcg+f1rIHiviwl6JTaFF8SpjAfmAt909+MttEllJNCYKDZq8X1oQRGQSfPvRWtaeg/aI+UxwoR2CSeS188QJBEiIh2iJEFEehV3fwl4mODONMAuguEvZ7r74PAvP5zkTHhn/SvuPha4Cvhy0vCT+J+/HA003qHdSnBRDzQNFSoAtrQhxu3u/gV3Hwn8GcGQovEEF54vxcU5OBwq8+fhfivdfS7B0J2fEdyZT3mKpOVdnOi9iH8tLcX6Q2AtMMHdBxEMwbIWXkutu3/T3ScT9AJ8kmAo08kkv39G8F5vIXgfRptZZgv7riEYwvSMmU1q5RzJ78NWYKiZDYxb19r7kEoNUEfz70WUHgWuM7MxwPkEvU8iIh2iJEFEeqPvAZeZ2dTwDvV/AN81s2EAZlZsZh8Pn3/SgonEBhwgGI9fH3esL5lZiZkNJbhYbpxk/BPgFjObamY5BHfbXw2H57TKzD4dzp0A2EtwMVtPMA5/opl9zsyywr9zzeyMcKz+Z80sPxye0xhrKjuAksbJxu5eT5BQ3GNmA8OLyS8DLf086MDw+IcsKMT15628lo+a2ZRwGM4BgmSkpbjiPQ78iZldEvY8fAU4BrwCvAZsA+41s/4WTI6eGb+zuz9K8Hk838pE4B1AqYUTtN19c3j8fwmP+RFgPu248x6+lz8F7jazPDObTDAvIzLu/gZB8rIIeNbd90UZj4j0DkoSRKTXcfca4EfAP4arvk4wpOj34fCZ54HGO9ATwuVDwO+A+8Pflm/0E4JJxhvCv/8dnuM34fGfJLigHceJeQ4ncy7wqpkdIvgN+79y943hMJjLw+NsJRhi8m0gJ9zvc0BV+Bq+CNzUwvFfAFYD281sV7juL4EPw9ewPHxdD7Ww/1cJhq0cJEiwHmuhHQRDoZ4gSBDWAC/RcvLRxN3XhfH/O0FPx1UE8wuOhxfiVxEMK/qAYKLx9SmO8QjwLeCFpLkgjf47fNxtZo3zN24kmAy9FXgKuMvdnztZvEkWEAz32U7Qa7W4nft3hkeBSwk+VxGRDrPE+XkiItLIzKqA29z9+ahjERER6UrqSRARERERkQQtTQoTERGRTmJms4BnUm1rnFQvIhIlDTcSEREREZEEGm4kIiIiIiIJeuRwo8LCQi8tLY06DBERERGRHmvVqlW73L0o1bYemSSUlpZSWVkZdRgiIiIiIj2WmbVYMV7DjUREREREJIGSBBERERERSaAkQUREREREEvTIOQkiIiIiIvFqa2uprq7m6NGjUYfS7eTm5lJSUkJWVlab91GS0E41B4+x8Nl13Hj+aKaOGhx1OCIiIiICVFdXM3DgQEpLSzGzqMPpNtyd3bt3U11dTVlZWZv303CjduqXncEv39rGomUbog5FREREREJHjx6loKBACUISM6OgoKDdPSxKEtppQE4mN54/mmfe3k713sNRhyMiIiIiISUIqZ3K+6Ik4RTcPKMUgEdeqYo0DhERERGRzqAk4RQUD+7HJ6aMYMlrmzl0rC7qcERERERE0kpJwimaX1HGwWN1PL5yc9ShiIiIiEg3dPfdd7Nw4ULmzZvHE0880e79ly5dyr333tsJkZ2cft3oFE0dNZhzS4fw0IqN3DyjlIyYxsCJiIiIdAfffHo172w9kNZjTh45iLuuOjOtxzyZOXPmMGfOnC49Z6O09CSY2RVmts7M1pvZnSm255jZY+H2V82sNGn7aDM7ZGZfTUc8XWV+xViq9x7h16u3Rx2KiIiIiHQD99xzD5MmTeLSSy9l3bp1zbaXlpZy1113MW3aNKZMmcLatWtbPNbDDz/MggULAJg3bx533HEHM2bMYOzYsU09E9dffz2//OUvm/aZN28eTz75ZIdfR4d7EswsA7gPuAyoBlaa2VJ3fyeu2Xxgr7uPN7MbgG8D18dt/y7wTEdj6WqXTR7O6KF5LFq+kSunjIg6HBERERGBLr/j32jVqlUsWbKEN954g7q6OqZNm8b06dObtSssLOT111/n/vvvZ+HChSxatKhNx9+2bRvLly9n7dq1zJkzh+uuu44bbriBxx57jE984hMcP36c3/zmN/zwhz/s8GtJR0/CecB6d9/g7seBJcDcpDZzgUfC508Al1j4W0xmdjWwAVidhli6VEbMuGVmKas27eX1D/ZGHY6IiIiIRGjZsmV86lOfIi8vj0GDBrU4VOiaa64BYPr06VRVVbX5+FdffTWxWIzJkyezY8cOAK688kpeeOEFjh07xjPPPMNFF11Ev379Ovxa0pEkFAPxs3erw3Up27h7HbAfKDCz/sDXgW+e7CRmdruZVZpZZU1NTRrCTo9Pl49iYG4mDy7fGHUoIiIiIhKxttQkyMnJASAjI4O6urb/UmbjfhBUUgbIzc3l4osv5tlnn+Wxxx7jhhtuaGfEqaUjSUj1Tngb23wT+K67HzrZSdz9AXcvd/fyoqKiUwizcwzIyeQz543mmbe2qbiaiIiISB920UUX8dRTT3HkyBEOHjzI008/3SXnveGGG1i8eDHLli3j4x//eFqOmY4koRoYFbdcAmxtqY2ZZQL5wB7gfOA7ZlYF/DXwd2a2IA0xdambZ5RiZiquJiIiItKHTZs2jeuvv56pU6dy7bXXMmvWrC457+WXX87LL7/MpZdeSnZ2dlqOaY1dFad8gOCi/13gEmALsBL4jLuvjmvzJWCKu38xnLh8jbv/adJx7gYOufvCk52zvLzcKysrOxR3ut3x6Bv8du1OXvnGxxiYmxV1OCIiIiJ9ypo1azjjjDOiDqPbSvX+mNkqdy9P1b7DPQnhHIMFwLPAGuBxd19tZt8ys8bZGg8SzEFYD3wZaPYzqT3dbbPC4mqV1VGHIiIiIiLSIWkppubuvwR+mbTun+KeHwU+fZJj3J2OWKLykZLBnFc6lMUrNnLzhWPIzFAxaxERERE5ucWLF/P9738/Yd3MmTO57777IopIFZfT6taKMr74X6v49Ts7+ITqJoiIiIhIG9xyyy3ccsstUYeRQLe706ipuNqyDVGHIiIiIiJyypQkpFFGzLh1Zimvf7CPVZtUXE1EREREeiYlCWnWWFztIRVXExEREZEeSklCmvXPyeQz54/mmbe3sXmPiquJiIiISM+jJKETzJtRSkzF1URERET6tLvvvpuFCxcyb948nnjiiXbvv3TpUu69995OiOzk9OtGnWBEfj/+5CMjWLJyM3916QQVVxMRERHpSs/cCdvfSu8xT5sCV3btBfucOXOYM2fOyRt2AvUkdJL5FWUcOlbHYys3Rx2KiIiIiHSRe+65h0mTJnHppZeybt26ZttLS0u56667mDZtGlOmTGHt2rUtHuvhhx9mwYIFAMybN4877riDGTNmMHbs2ISeie985ztMmTKFs88+mzvvTE/NYvUkdJITxdWqmDejVMXVRERERLpKF9/xb7Rq1SqWLFnCG2+8QV1dHdOmTWP69OnN2hUWFvL6669z//33s3DhQhYtWtSm42/bto3ly5ezdu1a5syZw3XXXcczzzzDz372M1599VXy8vLYs2dPWl6Lrlw70fxZZWzZd4RnV++IOhQRERER6WTLli3jU5/6FHl5eQwaNKjFoULXXHMNANOnT6eqqqrNx7/66quJxWJMnjyZHTuC68vnn3+eW265hby8PACGDh3asRcRUpLQiS49YzhjCvJYtFzF1URERET6AjM7aZucnBwAMjIyqKura/OxG/cDcPemx7acs72UJHSioLhaGW+ouJqIiIhIr3fRRRfx1FNPceTIEQ4ePMjTTz/d6ee8/PLLeeihhzh8OPjpfQ036iGum17CIBVXExEREen1pk2bxvXXX8/UqVO59tprmTVrVqef84orrmDOnDmUl5czdepUFi5cmJbjWmNXRU9SXl7ulZWVUYfRZvc+s5YHXn6f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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = res.impulse_responses(10, orthogonalized=True).plot(figsize=(13,3))\n", "ax.set(xlabel='t', title='Responses to a shock to `dln_inv`');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2: VMA\n", "\n", "A vector moving average model can also be formulated. Below we show a VMA(2) on the same data, but where the innovations to the process are uncorrelated. In this example we leave out the exogenous regressor but now include the constant term." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/travis/build/statsmodels/statsmodels/statsmodels/tsa/base/tsa_model.py:162: ValueWarning: No frequency information was provided, so inferred frequency QS-OCT will be used.\n", " % freq, ValueWarning)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " Statespace Model Results \n", "==================================================================================\n", "Dep. Variable: ['dln_inv', 'dln_inc'] No. Observations: 75\n", "Model: VMA(2) Log Likelihood 353.887\n", " + intercept AIC -683.774\n", "Date: Fri, 21 Feb 2020 BIC -655.964\n", "Time: 13:54:55 HQIC -672.670\n", "Sample: 04-01-1960 \n", " - 10-01-1978 \n", "Covariance Type: opg \n", "===================================================================================\n", "Ljung-Box (Q): 68.83, 39.18 Jarque-Bera (JB): 12.37, 13.43\n", "Prob(Q): 0.00, 0.51 Prob(JB): 0.00, 0.00\n", "Heteroskedasticity (H): 0.44, 0.81 Skew: 0.05, -0.48\n", "Prob(H) (two-sided): 0.04, 0.60 Kurtosis: 4.99, 4.84\n", " Results for equation dln_inv \n", "=================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "---------------------------------------------------------------------------------\n", "intercept 0.0182 0.005 3.803 0.000 0.009 0.028\n", "L1.e(dln_inv) -0.2638 0.106 -2.499 0.012 -0.471 -0.057\n", "L1.e(dln_inc) 0.5232 0.632 0.828 0.407 -0.715 1.761\n", "L2.e(dln_inv) 0.0348 0.148 0.235 0.814 -0.255 0.324\n", "L2.e(dln_inc) 0.1824 0.477 0.383 0.702 -0.752 1.117\n", " Results for equation dln_inc \n", "=================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "---------------------------------------------------------------------------------\n", "intercept 0.0207 0.002 13.029 0.000 0.018 0.024\n", "L1.e(dln_inv) 0.0484 0.042 1.163 0.245 -0.033 0.130\n", "L1.e(dln_inc) -0.0755 0.139 -0.542 0.588 -0.349 0.198\n", "L2.e(dln_inv) 0.0177 0.042 0.419 0.676 -0.065 0.101\n", "L2.e(dln_inc) 0.1298 0.153 0.849 0.396 -0.170 0.429\n", " Error covariance matrix \n", "==================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "----------------------------------------------------------------------------------\n", "sigma2.dln_inv 0.0020 0.000 7.366 0.000 0.001 0.003\n", "sigma2.dln_inc 0.0001 2.33e-05 5.818 0.000 8.99e-05 0.000\n", "==================================================================================\n", "\n", "Warnings:\n", "[1] Covariance matrix calculated using the outer product of gradients (complex-step).\n" ] } ], "source": [ "mod = sm.tsa.VARMAX(endog[['dln_inv', 'dln_inc']], order=(0,2), error_cov_type='diagonal')\n", "res = mod.fit(maxiter=1000, disp=False)\n", "print(res.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Caution: VARMA(p,q) specifications\n", "\n", "Although the model allows estimating VARMA(p,q) specifications, these models are not identified without additional restrictions on the representation matrices, which are not built-in. For this reason, it is recommended that the user proceed with error (and indeed a warning is issued when these models are specified). Nonetheless, they may in some circumstances provide useful information." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/travis/build/statsmodels/statsmodels/statsmodels/tsa/statespace/varmax.py:163: EstimationWarning: Estimation of VARMA(p,q) models is not generically robust, due especially to identification issues.\n", " EstimationWarning)\n", "/home/travis/build/statsmodels/statsmodels/statsmodels/tsa/base/tsa_model.py:162: ValueWarning: No frequency information was provided, so inferred frequency QS-OCT will be used.\n", " % freq, ValueWarning)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " Statespace Model Results \n", "==================================================================================\n", "Dep. Variable: ['dln_inv', 'dln_inc'] No. Observations: 75\n", "Model: VARMA(1,1) Log Likelihood 354.288\n", " + intercept AIC -682.576\n", "Date: Fri, 21 Feb 2020 BIC -652.449\n", "Time: 13:54:57 HQIC -670.547\n", "Sample: 04-01-1960 \n", " - 10-01-1978 \n", "Covariance Type: opg \n", "===================================================================================\n", "Ljung-Box (Q): 68.33, 39.15 Jarque-Bera (JB): 11.07, 14.06\n", "Prob(Q): 0.00, 0.51 Prob(JB): 0.00, 0.00\n", "Heteroskedasticity (H): 0.43, 0.91 Skew: 0.01, -0.46\n", "Prob(H) (two-sided): 0.04, 0.81 Kurtosis: 4.88, 4.92\n", " Results for equation dln_inv \n", "=================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "---------------------------------------------------------------------------------\n", "intercept 0.0105 0.066 0.160 0.873 -0.118 0.139\n", "L1.dln_inv -0.0061 0.699 -0.009 0.993 -1.375 1.363\n", "L1.dln_inc 0.3822 2.763 0.138 0.890 -5.032 5.797\n", "L1.e(dln_inv) -0.2484 0.709 -0.350 0.726 -1.638 1.141\n", "L1.e(dln_inc) 0.1247 3.012 0.041 0.967 -5.779 6.029\n", " Results for equation dln_inc \n", "=================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "---------------------------------------------------------------------------------\n", "intercept 0.0165 0.027 0.601 0.548 -0.037 0.070\n", "L1.dln_inv -0.0334 0.279 -0.119 0.905 -0.581 0.514\n", "L1.dln_inc 0.2348 1.114 0.211 0.833 -1.950 2.419\n", "L1.e(dln_inv) 0.0889 0.286 0.311 0.756 -0.471 0.649\n", "L1.e(dln_inc) -0.2382 1.149 -0.207 0.836 -2.490 2.014\n", " Error covariance matrix \n", "============================================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "--------------------------------------------------------------------------------------------\n", "sqrt.var.dln_inv 0.0449 0.003 14.523 0.000 0.039 0.051\n", "sqrt.cov.dln_inv.dln_inc 0.0017 0.003 0.650 0.516 -0.003 0.007\n", "sqrt.var.dln_inc 0.0116 0.001 11.712 0.000 0.010 0.013\n", "============================================================================================\n", "\n", "Warnings:\n", "[1] Covariance matrix calculated using the outer product of gradients (complex-step).\n" ] } ], "source": [ "mod = sm.tsa.VARMAX(endog[['dln_inv', 'dln_inc']], order=(1,1))\n", "res = mod.fit(maxiter=1000, disp=False)\n", "print(res.summary())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }