{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Dynamic Linear Model using Kalman Filter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example for Online Linear Regression" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from pykalman import KalmanFilter\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from scipy import poly1d\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "EM Algorithm for a Linear Gaussian model specified by\n", "$$x_0 = Normal(\\mu_0, \\Sigma_0)$$\n", "$$x_{t+1} = A x_{t} + b_t + Normal(0,Q_t)$$\n", "$$z_t = C x_t + d_t + Normal(0,R_t)$$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "tau = 0.1\n", "\n", "# Set up the filter\n", "kf = KalmanFilter(n_dim_obs=1, n_dim_state=2, # position is 1-dimensional, (x,v) is 2-dimensional\n", " initial_state_mean=[30,10],\n", " initial_state_covariance=np.eye(2),\n", " transition_matrices=[[1,tau], [0,1]],\n", " observation_matrices=[[1,0]],\n", " observation_covariance=3,\n", " transition_covariance=np.zeros((2,2)),\n", " transition_offsets=[-4.9*tau**2, -9.8*tau])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "actual = np.array([-4.9*(tau*n)**2 for n in range(40)])\n", "cameral = actual + np.random.randn(40)*3\n", "state_means,state_cov = kf.filter(cameral)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n1zoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "times = [n for n in range(40)]\n", "plt.plot(times, state_means[:,0])\n", "plt.plot(times, cameral)\n", "plt.plot(times, actual)\n", "plt.legend(['Filter estimate', 'Camera data', 'Actual'])\n", "plt.xlabel('Time')\n", "plt.ylabel('Height');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use a Kalman filter to model non-linear transition and observation functions, as well. For this purpose there exist extended and unscented Kalman filters, the latter of which is included in pykalman. These can even model situations where noise is not additive (for example, where noise is proportional to the size of the measurement). We can also specify non-Gaussian errors; this is useful in financial data, which tends to have heavy-tailed distributions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Beta hedge: How to hedge your algorithm against your risk factors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Stock Price Prediction Using Kalman Filter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dynamics of Price\n", "Based on the celebrated APT model and Berra's risk model, I proposed the stock forecasting model as the following expression.\n", "\n", "$$r_{i}(t) = \\alpha_i(t) + \\sum_{k=1}^K \\beta_{ik}(t) F_{ik}(t)$$\n", "\n", "Note that here we don't assume the excessive return or factor returns to be constant, which is different comparing to APT and Berra model. The traditional way to handle it is doing the time-series calibration (APT) or cross-section regression (Barra). And we would implement in the end of this part. Alternatively, we can call it dynamic linear model.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Input data\n", "\n", "- price_df\n", "- instrument_df\n", "- equity_df\n", "\n", "\n", "- healthcare_universe\n", "- healthcare_subset\n", "\n", "\n", "- healthcare_equity_df\n", "- benchmark_df\n", "\n", "\n", "- factor_zscore: healthcare universe factor zscore\n", "- subset_factor_zscore: healthcare subset factor zscore\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from rqdata_utils import *\n", "import pandas\n", "import numpy as np\n", "import scipy as sp\n", "import alphalens as al\n", "from pykalman import KalmanFilter\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "price_df,instrument_df,equity_df = get_price_instrument_equity(\"cn_stock_price_2012_2018.csv\",\"cn_instrument_info_2012_2018.csv\",\"cn_equity_daily_2012_2018.csv\",\"sectorCode\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "164" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "healthcare_universe = instrument_df.index[instrument_df.sectorCode=='HealthCare'].values\n", "len(healthcare_universe)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def equity_universe_filtering(equity_df, universe):\n", " universeFilter = [book_id in set(universe) for book_id in equity_df.index.get_level_values(level=1).values]\n", " return equity_df[universeFilter]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
returnclosetotal_turnovervolumeweekmonthreport_quartermarket_capa_share_market_val_2cash_received_from_sales_of_goodspb_rationet_profitps_ratiosectorCode
dateorder_book_id
2012-01-04000004.XSHE-0.0222507.91003763832.88465469.00.57200.75062011q36.642556e+086.634549e+085.949968e+078.81754.500363e+0637.5796HealthCare
000028.XSHE-0.04543319.84229326924.28450553.00.42010.27222011q35.872485e+094.753820e+091.053298e+104.34932.481834e+080.3414HealthCare
000150.XSHE-0.0302953.17373109304.50952600.00.34600.36102011q31.036800e+091.036800e+094.913279e+071.47633.657858e+067.8956HealthCare
000153.XSHE-0.0280535.77009673054.491596020.00.68302.45942011q31.531454e+091.360856e+091.329425e+092.11691.560397e+070.7818HealthCare
000403.XSHE0.0000003.16250.000.00.00000.0000NaNNaNNaNNaNNaNNaNNaNHealthCare
\n", "
" ], "text/plain": [ " return close total_turnover volume \\\n", "date order_book_id \n", "2012-01-04 000004.XSHE -0.022250 7.9100 3763832.88 465469.0 \n", " 000028.XSHE -0.045433 19.8422 9326924.28 450553.0 \n", " 000150.XSHE -0.030295 3.1737 3109304.50 952600.0 \n", " 000153.XSHE -0.028053 5.7700 9673054.49 1596020.0 \n", " 000403.XSHE 0.000000 3.1625 0.00 0.0 \n", "\n", " week month report_quarter market_cap \\\n", "date order_book_id \n", "2012-01-04 000004.XSHE 0.5720 0.7506 2011q3 6.642556e+08 \n", " 000028.XSHE 0.4201 0.2722 2011q3 5.872485e+09 \n", " 000150.XSHE 0.3460 0.3610 2011q3 1.036800e+09 \n", " 000153.XSHE 0.6830 2.4594 2011q3 1.531454e+09 \n", " 000403.XSHE 0.0000 0.0000 NaN NaN \n", "\n", " a_share_market_val_2 \\\n", "date order_book_id \n", "2012-01-04 000004.XSHE 6.634549e+08 \n", " 000028.XSHE 4.753820e+09 \n", " 000150.XSHE 1.036800e+09 \n", " 000153.XSHE 1.360856e+09 \n", " 000403.XSHE NaN \n", "\n", " cash_received_from_sales_of_goods pb_ratio \\\n", "date order_book_id \n", "2012-01-04 000004.XSHE 5.949968e+07 8.8175 \n", " 000028.XSHE 1.053298e+10 4.3493 \n", " 000150.XSHE 4.913279e+07 1.4763 \n", " 000153.XSHE 1.329425e+09 2.1169 \n", " 000403.XSHE NaN NaN \n", "\n", " net_profit ps_ratio sectorCode \n", "date order_book_id \n", "2012-01-04 000004.XSHE 4.500363e+06 37.5796 HealthCare \n", " 000028.XSHE 2.481834e+08 0.3414 HealthCare \n", " 000150.XSHE 3.657858e+06 7.8956 HealthCare \n", " 000153.XSHE 1.560397e+07 0.7818 HealthCare \n", " 000403.XSHE NaN NaN HealthCare " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "healthcare_equity_df = equity_universe_filtering(equity_df, healthcare_universe)\n", "healthcare_equity_df.head()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
valuereturn
date
2012-01-042891.4620.000000
2012-01-052766.9550.044015
2012-01-062744.7930.008042
2012-01-092833.219-0.031708
2012-01-102929.594-0.033450
\n", "
" ], "text/plain": [ " value return\n", "date \n", "2012-01-04 2891.462 0.000000\n", "2012-01-05 2766.955 0.044015\n", "2012-01-06 2744.793 0.008042\n", "2012-01-09 2833.219 -0.031708\n", "2012-01-10 2929.594 -0.033450" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "benchmark_df = pd.read_csv(\"cn_SH_healthcare_index_2012_2018.csv\",names=['date','value'])\n", "benchmark_df = benchmark_df.set_index('date',drop=True)\n", "benchmark_df['return'] = np.log(benchmark_df.shift(1)/benchmark_df).fillna(0)\n", "benchmark_df.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "date order_book_id\n", "2012-01-04 000004.XSHE 6.642556e+08\n", " 000028.XSHE 5.872485e+09\n", " 000150.XSHE 1.036800e+09\n", " 000153.XSHE 1.531454e+09\n", " 000403.XSHE 0.000000e+00\n", "Name: market_cap, dtype: float64" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "healthcare_equity_df['market_cap'].fillna(0).head()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
market_cappb_ratiops_ratio
dateorder_book_id
2012-01-04000004.XSHE-0.784393-0.1156924.830427
000028.XSHE-0.093343-0.124286-0.672507
000150.XSHE-0.734962-0.1298120.443827
000153.XSHE-0.669329-0.128580-0.607426
000403.XSHE-0.872529-0.132652-0.722958
\n", "
" ], "text/plain": [ " market_cap pb_ratio ps_ratio\n", "date order_book_id \n", "2012-01-04 000004.XSHE -0.784393 -0.115692 4.830427\n", " 000028.XSHE -0.093343 -0.124286 -0.672507\n", " 000150.XSHE -0.734962 -0.129812 0.443827\n", " 000153.XSHE -0.669329 -0.128580 -0.607426\n", " 000403.XSHE -0.872529 -0.132652 -0.722958" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "factor_list = ['market_cap', 'pb_ratio', 'ps_ratio']\n", "factor_size = len(factor_list)\n", "\n", "data_copy = healthcare_equity_df[factor_list].fillna(0)\n", "factor_zscore = (data_copy - data_copy.groupby(level='date').mean())/data_copy.groupby(level='date').std()\n", "factor_zscore.head()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "63\n" ] } ], "source": [ "idx = pandas.IndexSlice\n", "\n", "healthcare_subset = set(healthcare_universe)\n", "\n", "for date,group in factor_zscore.groupby(level=0):\n", "# print(size)\n", " size = group.shape[0]\n", "# print(date,size)\n", "# print(group)\n", " new_set = set(group.loc[idx[:,healthcare_subset],:].index.get_level_values(1).values)\n", " if(new_set\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
market_cappb_ratiops_ratioconst
600789.XSHG0.0258730.0012990.0011130.017211
600721.XSHG-0.0083670.0002230.000256-0.005176
000999.XSHE0.001759-0.0024730.001878-0.000998
000919.XSHE0.053181-0.0165660.0003390.019037
600211.XSHG0.0006400.000864-0.0012950.000808
\n", "" ], "text/plain": [ " market_cap pb_ratio ps_ratio const\n", "600789.XSHG 0.025873 0.001299 0.001113 0.017211\n", "600721.XSHG -0.008367 0.000223 0.000256 -0.005176\n", "000999.XSHE 0.001759 -0.002473 0.001878 -0.000998\n", "000919.XSHE 0.053181 -0.016566 0.000339 0.019037\n", "600211.XSHG 0.000640 0.000864 -0.001295 0.000808" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import statsmodels.api as sm\n", "from statsmodels import regression,stats\n", "\n", "\n", "ts_factor_zscore = sm.add_constant(factor_zscore.dropna())\n", "\n", "Y = [healthcare_equity_df.xs(asset,level=1)['return'] for asset in healthcare_subset]\n", "X = [ts_factor_zscore.xs(asset,level=1)[['market_cap','pb_ratio','ps_ratio','const']] for asset in healthcare_subset]\n", "reg_results = [regression.linear_model.OLS(y,x).fit().params for y,x in zip(Y,X) if not(x.empty or y.empty)]\n", "indices = [asset for y, x, asset in zip(Y, X, healthcare_subset) if not(x.empty or y.empty)]\n", "ts_F_df = pd.DataFrame(reg_results, index=indices)\n", "ts_F_df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cross-sectional Regression\n", "Here, we fixed the time-stamp and do the regression across the healthcare universe. From the result we can see the factor returns are constant (not dependent on each stock), which is good, but the alpha is also a constant which is supposed to be different for each stock." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " OLS Regression Results \n", "==============================================================================\n", "Dep. Variable: return R-squared: 0.209\n", "Model: OLS Adj. R-squared: 0.169\n", "Method: Least Squares F-statistic: 5.202\n", "Date: Mon, 07 May 2018 Prob (F-statistic): 0.00296\n", "Time: 13:51:20 Log-Likelihood: 160.16\n", "No. Observations: 63 AIC: -312.3\n", "Df Residuals: 59 BIC: -303.8\n", "Df Model: 3 \n", "Covariance Type: nonrobust \n", "==============================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const -0.0283 0.002 -11.417 0.000 -0.033 -0.023\n", "market_cap -0.0014 0.002 -0.585 0.561 -0.006 0.004\n", "pb_ratio 0.0072 0.003 2.773 0.007 0.002 0.012\n", "ps_ratio 0.0042 0.003 1.595 0.116 -0.001 0.009\n", "==============================================================================\n", "Omnibus: 0.884 Durbin-Watson: 1.882\n", "Prob(Omnibus): 0.643 Jarque-Bera (JB): 0.911\n", "Skew: -0.136 Prob(JB): 0.634\n", "Kurtosis: 2.478 Cond. No. 1.43\n", "==============================================================================\n", "\n", "Warnings:\n", "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", "const -0.028308\n", "market_cap -0.001447\n", "pb_ratio 0.007250\n", "ps_ratio 0.004179\n", "dtype: float64\n" ] } ], "source": [ "import statsmodels.api as sm\n", "from statsmodels import regression,stats\n", "\n", "for date,group in subset_factor_zscore.groupby(level=0):\n", " X = sm.add_constant(group.loc[:,('market_cap','pb_ratio','ps_ratio')])\n", " y = healthcare_equity_df.loc[(date,list(healthcare_subset)),'return']\n", "# print(X)\n", "# print(y)\n", " results = sm.regression.linear_model.OLS(y,X).fit()\n", " print(results.summary())\n", " print(results.params)\n", " break" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Kalman Filter\n", "In order to address both problems in time-series calibration and cross-section regression, we use a powerful tool: Kalman Filter. We have the following anatomic version of the model to match the parameters setting for Kalman filter\n", "$$\n", "\\left(\\begin{array}{cc} \n", "a_1(t)\\\\\n", "\\vdots\\\\\n", "a_n(t)\\\\\n", "F_1(t)\\\\\n", "\\vdots\\\\\n", "F_K(t)\n", "\\end{array}\\right)\n", "=\n", "\\left(\\begin{array}{cc} \n", "1&\\dots &0&0&\\dots&0\\\\\n", "\\vdots&\\ddots&\\vdots&\\vdots&\\dots &\\vdots\\\\\n", "0&\\dots&1&0&\\dots&0\\\\\n", "0&\\dots&0&1&\\dots&0\\\\\n", "\\vdots&\\dots&\\vdots&\\vdots&\\ddots&\\vdots\\\\\n", "0&\\dots&0&0&\\dots&1\\\\\n", "\\end{array}\\right)\n", "\\left(\\begin{array}{cc} \n", "a_1(t)\\\\\n", "\\vdots\\\\\n", "a_n(t)\\\\\n", "F_1(t)\\\\\n", "\\vdots\\\\\n", "F_K(t)\n", "\\end{array}\\right)\n", "+ \\Sigma(\\mbox{state})\n", "$$ \n", "\n", "$$\n", "\\left(\\begin{array}{cc} \n", "R_1(t)\\\\\n", "\\vdots\\\\\n", "R_n(t)\\\\\n", "\\end{array}\\right)\n", "=\n", "\\left(\\begin{array}{cc} \n", "1 & 0 &\\dots &0&b_{11}(t) &b_{12}(t)&\\dots&b_{1K}(t)\\\\\n", "0 & 1 &\\dots &0&b_{21}(t) &b_{22}(t)&\\dots&b_{2K}(t)\\\\\n", "\\vdots& \\vdots&\\ddots&\\vdots&\\vdots&\\vdots&\\vdots&\\vdots\\\\\n", "0& 0 &\\dots &1&b_{n1}(t) &b_{n2}(t)&\\dots&b_{nK}(t)\n", "\\end{array}\\right)\n", "\\left(\\begin{array}{cc} \n", "a_1(t)\\\\\n", "\\vdots\\\\\n", "a_n(t)\\\\\n", "F_1(t)\\\\\n", "\\vdots\\\\\n", "F_K(t)\n", "\\end{array}\\right)\n", "+ \\Sigma(\\mbox{observation})\n", "$$ \n", "\n", "Here, we assume the variance to each parameter is 0.01 here, and covariance between two different factors is zero." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "observation_transition_matrix = []\n", "for date,group in subset_factor_zscore.groupby(level=0):\n", " exposure_matrix = group.values\n", "# print(np.shape(group.values))\n", "# print(np.shape(exposure_matrix))\n", "# print(exposure_matrix.shape)\n", "# print(healthcare_size)\n", " observation_transition_matrix.append(np.concatenate((np.eye(asset_size),exposure_matrix),axis=1).tolist())\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "observations = healthcare_equity_df.loc[pd.IndexSlice[:,healthcare_subset],'return']" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "observation_list = []\n", "for date,group in observations.groupby(level=0):\n", "# print(date)\n", " observation_list.append(group.values.tolist())" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(1535, 63, 66)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.shape(observation_transition_matrix)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(66, 66)\n", "(66, 66)\n", "(1535, 63, 66)\n", "True\n", "True\n", "True\n" ] } ], "source": [ "state_transition_matrix = np.eye(factor_size+asset_size)\n", "state_covariance_matrix = np.eye(factor_size+asset_size)*0.01\n", "observation_matrices = observation_transition_matrix\n", "observation_covariance_matrix = np.eye(asset_size)*0.0\n", "initial_state_mean = np.zeros(factor_size+asset_size)\n", "initial_state_covariance = np.eye(factor_size+asset_size)*0.01\n", "\n", "\n", "nstate = factor_size+asset_size\n", "nobs = asset_size\n", "print(state_transition_matrix.shape)\n", "print(state_covariance_matrix.shape)\n", "print(np.shape(observation_matrices))\n", "print(observation_covariance_matrix.shape==(nobs,nobs))\n", "print(initial_state_mean.shape==(nstate,))\n", "print(initial_state_covariance.shape==(nstate,nstate))\n", "\n", "\n", "kf = KalmanFilter(transition_matrices=state_transition_matrix,\n", " transition_covariance=state_covariance_matrix,\n", " observation_matrices=observation_matrices,\n", " observation_covariance=observation_covariance_matrix,\n", " initial_state_mean=initial_state_mean,\n", " initial_state_covariance=initial_state_covariance,\n", " n_dim_state=nstate,\n", " n_dim_obs=nobs)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": true }, "outputs": [], "source": [ "returns = kf.filter(observation_list)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[ -4.03170092e-02, -4.22587014e-02, -3.22438707e-02, ...,\n", " -1.72686818e-03, 7.18235474e-03, 3.63175090e-03],\n", " [ -8.04559245e-02, -6.09172113e-02, -3.54426821e-02, ...,\n", " 4.34147689e-03, -7.26471015e-04, 2.25155185e-03],\n", " [ -1.32326309e-02, -2.29379961e-02, -2.78122436e-03, ...,\n", " 3.35210709e-03, -4.65540870e-04, 4.28954215e-03],\n", " ..., \n", " [ -9.14206039e-02, -1.58927740e-02, 2.46211644e-02, ...,\n", " 4.30812908e-01, 1.33497100e-01, 1.33606232e-03],\n", " [ -9.79291269e-02, -3.19932704e-02, 2.83323311e-02, ...,\n", " 4.31024068e-01, 1.35620040e-01, -1.23446537e-04],\n", " [ -6.97343193e-02, 2.25549858e-02, 4.27761974e-02, ...,\n", " 4.37354078e-01, 1.29546549e-01, 6.69461062e-03]])" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "filtered_state_means = returns[0]\n", "filtered_state_means" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": true }, "outputs": [], "source": [ "a_list = []\n", "F_list = []\n", "for state in filtered_state_means:\n", " a = state[:asset_size]\n", " F = state[asset_size:]\n", " a_list.append(a)\n", " F_list.append(F)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "date order_book_id\n", "2012-01-04 000004.XSHE -0.040317\n", " 000028.XSHE -0.042259\n", " 000150.XSHE -0.032244\n", " 000153.XSHE -0.026079\n", " 000403.XSHE 0.002072\n", "Name: alpha, dtype: float64" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import itertools\n", "\n", "a_df = pd.Series(list(itertools.chain(*a_list)),index = subset_factor_zscore.index,name='alpha')\n", "a_df.head()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
market_cap_Fpb_ratio_Fps_ratio_F
dateorder_book_id
2012-01-04000004.XSHE-0.0017270.0071820.003632
000028.XSHE-0.0017270.0071820.003632
000150.XSHE-0.0017270.0071820.003632
000153.XSHE-0.0017270.0071820.003632
000403.XSHE-0.0017270.0071820.003632
\n", "
" ], "text/plain": [ " market_cap_F pb_ratio_F ps_ratio_F\n", "date order_book_id \n", "2012-01-04 000004.XSHE -0.001727 0.007182 0.003632\n", " 000028.XSHE -0.001727 0.007182 0.003632\n", " 000150.XSHE -0.001727 0.007182 0.003632\n", " 000153.XSHE -0.001727 0.007182 0.003632\n", " 000403.XSHE -0.001727 0.007182 0.003632" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F_list_temp = [[F,]*asset_size for F in F_list]\n", "# subset_factor_zscore.index.get_level_values(0).unique()\n", "F_list_temp = list(itertools.chain(*F_list_temp))\n", "F_df = pd.DataFrame(F_list_temp,columns=['market_cap_F','pb_ratio_F','ps_ratio_F'],index=subset_factor_zscore.index)\n", "F_df.head()" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "date order_book_id\n", "2012-01-04 000004.XSHE 7.9100\n", " 000028.XSHE 19.8422\n", " 000150.XSHE 3.1737\n", " 000153.XSHE 5.7700\n", " 000403.XSHE 3.1625\n", "Name: close, dtype: float64" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "return_df = healthcare_equity_df.loc[idx[:,healthcare_subset],'return']\n", "close_df = healthcare_equity_df.loc[idx[:,healthcare_subset],'close']\n", "close_df.head()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
market_cappb_ratiops_ratiomarket_cap_Fpb_ratio_Fps_ratio_Falphareturnclose
dateorder_book_id
2012-01-04000004.XSHE-0.784393-0.1156924.830427-0.0017270.0071820.003632-0.040317-0.0222507.9100
000028.XSHE-0.093343-0.124286-0.672507-0.0017270.0071820.003632-0.042259-0.04543319.8422
000150.XSHE-0.734962-0.1298120.443827-0.0017270.0071820.003632-0.032244-0.0302953.1737
000153.XSHE-0.669329-0.128580-0.607426-0.0017270.0071820.003632-0.026079-0.0280535.7700
000403.XSHE-0.872529-0.132652-0.722958-0.0017270.0071820.0036320.0020720.0000003.1625
\n", "
" ], "text/plain": [ " market_cap pb_ratio ps_ratio market_cap_F \\\n", "date order_book_id \n", "2012-01-04 000004.XSHE -0.784393 -0.115692 4.830427 -0.001727 \n", " 000028.XSHE -0.093343 -0.124286 -0.672507 -0.001727 \n", " 000150.XSHE -0.734962 -0.129812 0.443827 -0.001727 \n", " 000153.XSHE -0.669329 -0.128580 -0.607426 -0.001727 \n", " 000403.XSHE -0.872529 -0.132652 -0.722958 -0.001727 \n", "\n", " pb_ratio_F ps_ratio_F alpha return close \n", "date order_book_id \n", "2012-01-04 000004.XSHE 0.007182 0.003632 -0.040317 -0.022250 7.9100 \n", " 000028.XSHE 0.007182 0.003632 -0.042259 -0.045433 19.8422 \n", " 000150.XSHE 0.007182 0.003632 -0.032244 -0.030295 3.1737 \n", " 000153.XSHE 0.007182 0.003632 -0.026079 -0.028053 5.7700 \n", " 000403.XSHE 0.007182 0.003632 0.002072 0.000000 3.1625 " ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subset_kf_df = pd.concat([subset_factor_zscore,F_df,a_df,return_df,close_df],axis=1)\n", "subset_kf_df.head()" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "subset_kf_df.loc[idx[:,'000004.XSHE'],('alpha','return')].plot()\n", "subset_kf_df.loc[idx[:,'000004.XSHE'],('return')].rolling(40).mean().plot()" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "subset_kf_df.loc[idx[:,'000004.XSHE'],'close'].plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Return-neutralize: Demean the returns among cross-section" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#demean\n", "demean_observation_list = []\n", "for date,group in observations.groupby(level=0):\n", "# print(date)\n", "# print(group)\n", "# print(group - group.mean())\n", " demean_observation_list.append((group-group.mean()).values.tolist())" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "96705" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = [[1,2],[44,5]]\n", "list(itertools.chain(*a))\n", "len(list(itertools.chain(*demean_observation_list)))" ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "date order_book_id\n", "2012-01-04 000004.XSHE 0.005969\n", " 000028.XSHE -0.017213\n", " 000150.XSHE -0.002076\n", " 000153.XSHE 0.000166\n", " 000403.XSHE 0.028219\n", "Name: demean_return, dtype: float64" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "demean_return_df = pd.Series(list(itertools.chain(*demean_observation_list)),\n", " index=subset_factor_zscore.index,name='demean_return')\n", "demean_return_df.head()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 95, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(66, 66)\n", "(66, 66)\n", "(1535, 63, 66)\n", "True\n", "True\n", "True\n", "(1535, 63)\n", "(96705,)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\na6+xtcADaWoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "state_transition_matrix = np.eye(factor_size+asset_size)\n", "state_covariance_matrix = np.eye(factor_size+asset_size)*0.001\n", "observation_matrices = observation_transition_matrix\n", "observation_covariance_matrix = np.eye(asset_size)*0.00\n", "initial_state_mean = np.zeros(factor_size+asset_size)\n", "initial_state_covariance = np.eye(factor_size+asset_size)*0.1\n", "\n", "\n", "nstate = factor_size+asset_size\n", "nobs = asset_size\n", "print(state_transition_matrix.shape)\n", "print(state_covariance_matrix.shape)\n", "print(np.shape(observation_matrices))\n", "print(observation_covariance_matrix.shape==(nobs,nobs))\n", "print(initial_state_mean.shape==(nstate,))\n", "print(initial_state_covariance.shape==(nstate,nstate))\n", "print(np.shape(demean_observation_list))\n", "print(np.shape(demean_return_df))\n", "\n", "\n", "kf = KalmanFilter(transition_matrices=state_transition_matrix,\n", " transition_covariance=state_covariance_matrix,\n", " observation_matrices=observation_matrices,\n", " observation_covariance=observation_covariance_matrix,\n", " initial_state_mean=initial_state_mean,\n", " initial_state_covariance=initial_state_covariance,\n", " n_dim_state=nstate,\n", " n_dim_obs=nobs)\n", "\n", "returns = kf.filter(demean_observation_list)\n", "filtered_state_means = returns[0]\n", "a_list = []\n", "F_list = []\n", "for state in filtered_state_means:\n", " a = state[:asset_size]\n", " F = state[asset_size:]\n", " a_list.append(a)\n", " F_list.append(F)\n", " \n", "import itertools\n", "\n", "a_df = pd.Series(list(itertools.chain(*a_list)),index = subset_factor_zscore.index,name='alpha')\n", "a_df.head()\n", "F_list_temp = [[F,]*asset_size for F in F_list]\n", "# subset_factor_zscore.index.get_level_values(0).unique()\n", "F_list_temp = list(itertools.chain(*F_list_temp))\n", "F_df = pd.DataFrame(F_list_temp,columns=['market_cap_F','pb_ratio_F','ps_ratio_F'],index=subset_factor_zscore.index)\n", "F_df.head()\n", "return_df = healthcare_equity_df.loc[idx[:,healthcare_subset],'return']\n", "close_df = healthcare_equity_df.loc[idx[:,healthcare_subset],'close']\n", "close_df.head()\n", "\n", "subset_kf_df = pd.concat([subset_factor_zscore,F_df,a_df,return_df,close_df],axis=1)\n", "subset_kf_df.head()\n", "subset_kf_df.loc[idx[:,'000004.XSHE'],('alpha','return')].plot()\n", "subset_kf_df.loc[idx[:,'000004.XSHE'],('return')].rolling(40).mean().plot()" ] }, { "cell_type": "code", "execution_count": 94, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAEICAYAAAA9YK8aAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXecVcXZ+L+3bWMLsCwdqTIISBMFFAsWLIktiSWWaGI0\nmqjR5DWmmhiTX4zRN8YeS6KJpvlaoia2xIYoIkUFwUEQRPqywO6y/ZbfHzN399x+dvfu3WV5vp8P\nH+6eM2dmznNm5pl55pkZTyQSQRAEQRCEzHi7OwOCIAiCsK8gSlMQBEEQXCJKUxAEQRBcIkpTEARB\nEFwiSlMQBEEQXCJKUxAEQRBc4u/uDPRklFJe4B5gKtAEfF1rvdZx/8vANUAQWAF8U2sd7o68CoIg\nCF2PjDTTcwZQoLWeA3wfuC16QylVCPwCmKe1PgIoAz7fLbkUBEEQcoKMNNMzF3gBQGu9SCk103Gv\nCThca11v//YDjZkiDAZDkd276zMF26/o168IkUksIpPkiFwS2V9kUlFR4unuPIAozUyUAtWOv0NK\nKb/WOmjNsNsBlFJXAcXAy5ki9Pt9VFSUdElm92VEJomITJIjcklEZJI7RGmmpwZwlkav1joY/cPO\ned4CjAe+qLV2tSdhZWVtVjO5r1NRUSIyiUNkkhyRSyL7i0x6SsdA5jTTsxA4BUApNRvj7OPk90AB\ncIbDTCsIgiD0UmSkmZ6ngBOUUm8BHuCrSqnzMKbYJcAlwALgFaUUwO+01k91V2YFQRCErkWUZhrs\nvOXlcZc/cvyWkbogCMJ+hDT6giAIguASUZqCIAiC4BJRmoIgCILgElGagiDsc4TCYf76n4/RG3d3\nd1aE/QxRmoIg7HMsX7OTl5d8xq//spz1W2u6OzvCfoR4zwqCsM/R1BJq/b1y/S4iEdhaVccRBw/p\nxlwJ+wOiNAVB2Of5xZ+WADBzwkDyA75uzo3QmxHzrCAIvYZw2NVOloLQYURpCoKQE/Y2tBAMyXGz\nwr6NKE1BELqccDjC1b9bwA/vX9TdWRGETiFKUxCELidkzaY7qzMeOdt+ImKSFXKHKE1BENrNx5v2\ncO/TK2kJhjIHFoRehHjPCoLQbn716DIAJo/pz5FThnZzbgQhd8hIUxCEDuPeW1VMqELvQJSmIAiC\nILhElKYgCDnlww27ujsLgtBhRGkKgtDlOB1cb/vbe9mNO6uxCUJ6RGkKgtBhogorEolw91MrWPDB\nlg7H9eH6XfzogUVEZAmJ0IMRpSkIQodpbjE7/FRVN7JUV/LHf3+UNJzHkzmu2/7+Hlur6nni9U+y\nmUVByCqiNAVhH6ChKdgt6e6qaeSv//mYusaWpPdXfFIFwKvvbU4bT3sGj9t21bsPHMd7a3d2+FlB\ncIMoTUHo4eiNu/nWb9/g2bc25Dzt+59dxctLPuPpBetThgmFw3y6rbZd8T67MHV87WX5mjZF+cCz\nq7IWryAkQ5SmIPRwllml8MI7n+Y87T17mwCormvmmTfXs2NPQ0KYS295jVUbdrcr3qfSKOH28un2\n9ilsQegMojR7Mf94ZS0frKvq7mzE0Ngc5B+vrqWqK/Yg7eW4NXHWN7awvRMmzmQs+WgHT7+5nlv+\nsixjppJtrSeuPUJvQZRmL2VXTSMvLN7I7Y+/391ZieH5RRt54Z2N3PXUiqzE1xIM5dTbsra+OWdp\nRXHjROPkunvf4gf3L6K5Jfv7wu6qacoY5qrfLehUGsvWVFJdl1rOoXCYh/61ulNpCEJHEaXZSwn1\n0MN4d9WaEebums6PNBubg3zj1te568nsKOBMLNU7+PYdb/LCOxtzkl5HaWgyyrI52PmzK9upr026\nLW3pbtqxlyff+CRpxyadYnwxjYzXb+0+c2xLMMTNjy5lyUc7ui0PQvciSrMXUVXdmNQho3pvE3pj\n++ac2sP6rTUs/7gy6b1QOMxbK7dS19hCc0uIhSu2ZS3d6Khn+ced85hcvWEXv3/mw4wHJD/8vFlO\n8fr7HV+L2Bna2w0KhsK8+9EOmpqTmEsjEbbvqifcxaP0G/6wmOfe2sDKTxJ3AapMMj+aikgkwuOv\nrmVFN3vHrvxkF2s2VXPP0yu7NR9C9yFKsxdx3b1vcePD77JwxVZeXvJZ6/Xr73ubX/9leatTRyae\nX/QpP37wnYxKJMpNjyzhzieSj/b+9danPPjcaq66fUHakUV38pu/vcc7q7azcr1p2FuC4aRm2LrG\n7ln2kY6d1Q08v+hTQuHEb/XCOxu59+mVPPbymoR7b36wlR/cv4jncuSR29CcKLsnX18HwMbttezY\nnX4OdsvOOp5/ZyM/vHdhl+RPENwiR4P1QuLne6JmurqGFvoW56d8rnJPA4tXb29dXF65p4Eh5X06\nlZcPPumcI9KiVdtY+lElV5w5GW97J/faSfTEjh/c/za7app48Hvz8Hq7Ns320NQcoqEpSENTkPfX\n7uSY6cO45S/L2VndSGmfPI44eEhM+M927AVg3ZbqhLiiDmLvfrSD044YnTrRDDL/MIXX7F9eXhOT\nbrLpgo827gHgZ398N0m6sX8GQ9kZEQdDYTZsq2XM0FJX5WnDthqGlPchP+BLuPfBuipq6pqZO2VI\nkif3bTbt2EtVTSNTxw3IWpw79zRQU9/CmKGlWYuzOxCluQ+yZWcdT73xCReeqCjtk5e1eG9+bBm7\na92NRsGYXqMNc5THXlrDmk17uPFrh6V9tqa+hXA40qqUKvc04Pd56VcSq9Tvf8asu9u6s45hFcUp\n4wtHIllTqlGzb8iRv+7E+VqPvPARazdXs6umib7F+ey0Xsi19YmbD6z+1Ci0tN80iS56duF6GppC\nnH3suKSPPGFHiOn4z9JNMX//6QWd8Zlc8O073qShKchFJymOnjYsbdi1m6r5f48uZdKofnz33OkJ\n96NOdr1Rad7wh8UA/OH7x2Ytzu/d93ZMnPWNLRQVBNI+s6lyL/1LCigq6DmqSsyzaVBKeZVS9yml\n3lZKvaaUSmhFlFJFSqmFSqkJucrXnU+uYOmaSh55IfmWZenYVdPI3oYWfvf4+6zdHDsCaY/CBHji\n9U/4+cNLYq79d9mmBEUaJV79LFtj5kG376rn+vve5rt3pza97a5t4pJfv8Ibdj6xKc4z9LXliTvS\nfLh+F68u25RwPRW5cMJ9esEnLPhgC5FIhB2769vt+btuc02rUndr7m5MMqcZ/zEikQh6426aWkI8\ntWA9LyxO7Yjzr7dzu170zic+4MaH20ajnfGWju6s9Pp7meel//i8sdjEjKa7vw/V4wiFw6zasMv1\ndA7AU298wpW3L2DNZ3tar+2ubeLFxRtb46mua+aGhxbz0z+8k/U8d4aeo757JmcABVrrOUqp2cBt\nwOnRm0qpmcB9wPCuzMSiD7dx/7OruP2quZT2yWtdg9deB5jdtU385KHFrX+/v66qUz3Jzjrg1NsG\n7Ou/fDnmeigcJhIBv6+tT7dE7yASMc44S/QOVn6yi2vPntp6f+2mao6dEfsZbvu7OU1j3oyOfp7M\njXMkEsHTjhHuMws3ALC3oYXHX13HlLHl7G1o4bvnTKMwP3l19Dha6kgXrXhctmYndz+1ghnjK2Ku\nZ3u9p1uipvJIJJJQzh59KXGONhMtwRCvLm9TlPGfrHpvEyV98mKsFVur2t69JRgm4E8+xnh/7U7e\neH8LV5wxmT17m3h/bRXzZgyLiSsYCnPjw+9yxOQhnDTrgIQ4Nlfupaw4n+LC9COvnkJDU5Blayo5\n7KBBPLXgE154ZyNzJg3i0lMnZXw2HI607m61RO/ggWdXccKhI3h75TY+3V6L3+dl1JAStlTWAVDl\nYplTLpGRZnrmAi8AaK0XATPj7ucDZwLtH/KlYcEHW7j36ZWtPer77dZgP/3j4nSPZWT7bvfeitD+\nkVdHHH2SOdxcc8ebXH7r6ymfiXpirtucOFeXjLWbq115if7h36t417GU4M8vJm+ct++q5/X3NnPb\n39/jkl+/yt/++7GrfDh5d7VJ54N1VXyypYY33t9CfWOQvQ3J93iN4nwN5zxhR5VpBNi+u55la0x+\noqN/gK1VdR2KMxu89O5nvPzuZ1zy61cT7qWyZMTjHJE+/87GlN9p4/Zarr1rIX/8d+q1n60j7yRi\n/t3/fcDyj3fy0cbd/PLPS3ns5TW871D06zZX858lm9hcWcc/Xl0LwH3/XMm/F5kRe3NLiJ88tJjv\n3PWmq/cCYzFyO+Jev7Wmw2t26xuDrN9ak3D9zy9pHvrXav7ynzWtS7De/nC7qzi1Y3S5YWstVTWN\n/O2/H7fu7LSrppFf/mkpf3w+q81q1pCRZnpKAWfLHFJK+bXWQQCt9UIApVS7Iq2oKEl6fcHyzfzf\nKx/ziXWg+NbZ0ygvK2y9X723OeHZVHEloziJE1Bhn3yKi/JoSbKm76Wlm1i3aQ93X3csPl9i/8rv\ni+2u3/BQmxnlmbc/5cKTDyLgb3Og6F8eOydZUlJAbVNsuhUVJa1eqs53KyhInLsN5LUV3/z8ABUV\nJVzz29f4dGsND/zwhNZ7/+/PS/n2OdM5/rDEHr5TSTU0hbjXsZTgzRVbuf5iMzcbjnNkecQxR/fS\nu59x8twxjBveNyF+J85GbkPc0qC/v7KWv79iGtRnbzPGjOj7FxW1vbvThL7UoeD6FOWnLQsVFSUs\n/GAL/313I30KAizV5tktO+v4we8XJX3mRw90vVksXZ7/2oHOCEB5eTHvfVzJT+9/m0MnDuKGS2az\nPk7efr+vNe3FVhYLV2zja6cdzMD+RQlxvrd2J9t2N/D2iq0p061viVC913QC73xyBQ/fMJ/yskK+\ndvMrMeHe0ZUsXr2Dxat3cNGpk6mxnc1gKJIgj5ZgiOW6kumqorUuLVm9nRsfXMS4EX3ZW9/MTd84\nnAH9+9DcEkqYI1yxdic3PbKEQyYM5GeXzgHayqHH48loKfnVY8vYXLmX31x9JBNG9m+9/tkO06Fa\nomOXmiX7nntqm7jnibZNVkpKClp/x08RAeQnmedsTzvX1YjSTE8N4Pxa3qjC7AyVlckXZ9/yaOz8\nYFVVHeE4V/34Z2968G0mjOzHMRmcGgD2Jlly8uWfPM9Zx4zlEFWRcO8NO0+4Zv1OBjiUN5jRyebK\n2JGI0xnl6dfXUej3xmyp9tnmPbHhaxvJi9PF769uW8fpfNfGxsQR6RO21w6wfM0ONm3Zw7pNphJ+\n85bYhuo9vZ2po/slxBHfoMXz3OtrWbupmv9mmBtdva6SsvxED0sn19/3Vtr7URa9t4kpEwZRV9tI\nU0uIuvrk5qn1W9pGAHV1TVRW1ibdwg5g46bd3PxIEi/VbiZVXegMp1/3TOvvd1dtZ/v2mpiRH0Aw\nGKayspZ/vb0h5iiyW/70LtefPyMhzvVbamLknYz7nvwg5u8XF67nhENHJIT7vWM3rMrK2piO299e\nWM3sSYPoYxXH31/5mBcXf8bnDx/JF44aC8DC5aYsrrUjtqdeW8viD7exs7oxYbplhbUgLP1oR6us\nf/zgO3iAb5w+iRseWsxXT5nAQSP7sWdvM+OGlcU8v7nSjOqvu2MB15w1lSljywEI2XnHSFxncsvW\nPTEdZTCjUmdno7o6vcWroSGxrldW1vYYxSlKMz0LgVOBf9g5zaxsPbNxey33P7uKC+ePpzDfz7CK\nPvi8HbOUR3usbpRmsvV6AI+/ti6p0mzFziVOO3AA06wL+j1PZV7cXR93nNW9/4x95qkFn7T2zKP8\n+MG20U2mtXtOauqa+fYdbdu3xR+lFW/J2lXTyP3PfJgx3t+7CBPPnU98wI7dDdz09Vkx1yv3uNsF\n6Zd/XgrA1LHlvJ9m72CnM1T09b6Rwqz9rd++4SrtXPPLPy/JHKiTpNsdK/7szr0pjkDrKpatqYwp\nq4+9vIaPNu7mW2cezOOvruXFxWa99ScZFPbOuL2c9za0cPXvFrTWV2jzMN+y03R237IbjTz28prW\nXZwe+N4xKdui99bubFWa0cFpvGRvemQpP78k1nM+mRVrX0bmNNPzFNColHoL+C1wrVLqPKXUZZ2J\n9J6nVrJlZx2//styfvbHd3myHYfu/uavyzuTdIfYuqueN97fwh3/19aTzjT3FsVp+NkRN6carzDj\n+X4Ks2EqnNu3xfPG+1tiNnd4esF61mxyNyfqhvufWdVq9lr+8U427+z8fGA6hRlPLvffzSbrNqdX\nBl3F+q017Mww4skFdz25ImFd9SZrwXk+xVaCbr70Lx4xnRHn+aLvpXDcc9abYCiSdA7TJJw55U2V\nmeebOzL/7vSy7W5kpJkGrXUYuDzucsLstNb6mPbEG++UsnRNJWfNS1wT15zE1BZde5dL4ufzoP3L\nU3oC37lrYav5qiu8UFeu39WpA5Q7QyTibv2k0Mb37n27y9Nw67SUbZId4ebmsIErbkvtgNfRGhNs\n50jTk2Rdz82PLePZGYmm7u5AlGaO2VZVl2BKiR+BRfnB7xdxUhLnla4g6Vo+oV387vEPunwv11Ss\n21zdrpHp/kR3fZOtu+o75szUzvy2J/SGbR0f2TuzFXUeciPbRativWr/9+896+Sl9iLm2RwT76CS\niXSLzLPJff9MPXfndK77yYPvJPV4S0YkEmFdhrmY3kR3Nc7QPlPu/sY304yeupJkG264IVkp8mQK\n4JK1nZqSiLBtVz3L11S25ifZYQC9HRlp5pieOime3qzYVmU376zjgWfdOcdEF/Jng2wp31A4zDNv\nbmD7rtzOZ8mh293Hvjbbu2N3Q8KmEqn2+M01P7y/fX4GvRFRmkJGunifdFfEL2/pKO+s2t66G0mu\n2FpVl5M1j0Ln8QAfb9oT4/TWHfz8kex7FUcgZk2mcyMLV8/nqPfhPKGpJyLmWSEj8TpzH3XUBKCu\nIffHe23KksIXup5NlXU8+tKabj8GLn7JlJNsObElcxbqCaRbItQTEKXZS3ijmw5G3ufoAaNmoWfT\nXR6vHSZHOqYjyeyq6X3TEmKe7SU83JX7NPYiRdOLXkXYz2hsDlKQ17kmO5dTLYtXb0/rYLivIiNN\nISPx66bil8zsS/x3Wcc8GjvDiznygBZ6N012E4J0I77n3tqQenTX2RFpO593bqzQmxClKWSmFw3P\ncn3U1aIPt2XcAk0QOoNzqdOTb3yS8rSWVNtouqW9c6l7kxyM3hsQ86yQkV6kM3PKph17W491E4TO\ncu2db3L8IcMTRnwvLoo9FDzV8pRQONKpuux22VQ4EuHSW17dpx0G0yFKs4fwuOPEjp7Gpn3NMaKH\n4GbbMkFoD/9ZuomBfQszB0xBZ/TYRxvd7f+68pOqXqswQcyzPYZUmzP3BP72Ss9V6D0Z2ZpQ6Ao6\ns1RkqW7f2syO8OBzqQ/z7g2I0hSELuLOJ7NykpwgZI0tVV2/ZtjtCUj7KqI0BUEQ9hOaW8T60VlE\naQqCIOwnNDSJ0uwsojQFQRAEwSWiNAVBEATBJaI0BUEQBMElojQFQRAEwSWiNAVBEATBJaI0BUEQ\nBMElojQFQRAEwSWiNAVBEATBJaI0BUHILt4gnvyu365NELoDUZqCIGSV/ElvUzB1AfibYq57S3aR\nd+AyvGVdv2m4IHQVojQFQeg83iB5By7FW7ILb6EZZfpKq/AUVbcGyT9oMb5+O8hXS7srl4LQaeQ8\nTSHHRPBVbCK0pwJaCro7M4IrInjy64k0FZHsSHJf+Rbyxn5gfvdrG0XmjTPXGj+cAy2BmGc8ffbg\n8bcQrimHiAf/kPWEqsuJ1Jclz4I3CGFprnoLnqIaIi15+2QbIKVwnyJMJuOAp2AvkWAeBPPslQj+\nYWsJ7RpMpKEkcxIdaJy8/bYRaSgm0liceNPXgrd4D5FgHv5BGwjv7UfeqFWEG4poWnFUu9JJhyev\ngcABH9GyURFpLspavF2KJ4Sv/3bwRAjtHEoyhdQxoicAe1r/9hTVEmkoNvciviThPSZcn2r8FZsI\nbhlLpLkQT34dvvJtBIZ/TPOGg/AW1BOJeAhuOhBv30q8BXUERnycNjcFk94mVF0ed21R6++mVbMI\njFhDYAQ0rT4UT1EtAKHtowDwD/uYwLB1NK6cE6NUvaVV5E94l6ZVhxHe29/xHvadPGG8pbusYhaj\nWpfgCUPEQ7vKridMweS3AGhaM4PwnoEJQbxlla0WiSZ9COHqimzkNiuI0kyDUsoL3ANMBZqAr2ut\n1zrunwrcAASBP2itH8gUp7e0CnxBIvXFRJr6OO5EwBuyCstZ+S2BRgqnvwZA43tHgT9IweS3CO2p\nIFQ1mFDNALyFteRPWBLzWLBqMP7ybQSGraN53RRC1eV4As3kjX0fvCGaVszFP3wt4b1leAv3Ehi+\nlnBjEU0r5ppGp6iWcF2ZaXS8IQhHGx8PBBrxD95AYMgGABqWHUtg6Fr8gzcSqumPr3RXogAGbDVy\nKKwn2pj7KzYR3ltGYORqwnv70rJ5HPkHLcbjDQMQbiyiec0MIk2F+PpvIxI2jX7e2PcJ15UR3j0I\nX/+teItr8BTV0Kxnmjk1S/P6SYSqhkDYB/5mCOZDoAmCAXwDN0IwQLi+1Ih52Fp8/bcTac7Hk9dE\nw/Jj8JXtJG/MypjXCNcX07TyCLx9K8kfv4zG948kb+wHBLeNNCPpqqGEdg5PXQ4cjQJAU0se4epy\nvKW7Cdf2A1+QwNB1+Ad/SnD7AbR8OhHfgM3kjVlBJBjA428hEgFCflo2jyNUOby18So89CXz7XcM\nJ9xQTGDoJ3gCzYQb+rSaTsP1xbRsOhBf2U78gz5LyJ9/4KaEa3mj2g4Xjn5zt/jKqlLey5/4Ttvv\ng95t/d3iDROuLyEwbB0ABZPfJtxYhLegnnBTAd78Rvv84rRphxv60LR6Ft7iPYRr+5I/aREtGycQ\nrumPt6yK8G5no+0BbwhvyS4izQUQ8eAtqiG0a2hrCG/fHWbkXVdGuKmwdbTkyWvAP2wtLZ8e1Kak\n0ylrT7gtjL8ZggFa632gEUL+tB1Yb98d5v0cSseT14Anvx58QcJ1ffEW7MVTUAchv30H27b4WvD4\nW8yfgWYiddHOSBrlZxWkt2QXnkATod2DW8taeG8Z4YZiWjYqCOXhK99CuKEPEVuvwIOvfAu+8i20\nfKZao8wfv4yGJceDJ2LKb8SLb8Am8kavagujltK8fmLqfOUYTyQSyRxqP0Up9QXgNK31xUqp2cAP\ntNan23sBYDVwKFAHLAQ+r7Xeni7Os/9+hQh8PyNYNQR/+dbuzobQjYQbimxHsZ3PNRbiLWgAIFTT\nj9CuwfiHrMfjieDJa3O0ioS9rZ3M3so/zrk3W6aYTiE2i/TMBV4A0FovAmY67h0ErNVa79ZaNwNv\nAtmzNwq9BlGYQkcUJtCqMAF8pbvJG7Uab35jjMIEer3C7EmI0kxPKVDt+DuklPKnuFcLpPBiEARB\nEHoDojTTUwM4vWe8WutginslwJ5cZUwQBEHIPaI007MQOAXAzmmucNxbDRyolOqvlMrDmGbf7kgi\n4aYCQjX9Ut4P7RnQkWizTrihT+ZAQgyhmv40rjycJn0IkWCA0K5BNH44h0hzfvvi2Z3Ze9BNGCE9\nwe0jCNcneoFHwqmn04JVg2P+dtaTYOUwQrsriAQDhOtKCNeVxoQN1fSnZcsYk0YwQHBHrPNYy6Zx\nNL53NI0fzqFp9WE0rjic5rVTadk8Nm0eOko03mDVYCJBP80bJtKyZQzhutJWuUSC7v1HI8FA5kD7\nGOIIlAaH9+wUjFvZV4EZQLHW+n6H96wX4z17d6Y4T/3uP10KPIK3eA++/tto2TgB8OApqsHXfxuh\n3YOI1JVSeNiLBHcOpWX9JIh48RTVkq/epXnDJPwVm/D13RkTY3DnUFo+ORjw4KvYCHgIVQ01XnEh\nUxEKD3sRgIbFJ+HJr8c/6FNC1QMcLt/W+84TpvDQl2K8GJtWzSJwwEcQaGq9BtCw/JhWz99IyIfH\nF2rLiydsvAcDzRD24PGFCIxcZdYE+lrwV2wh0hKgZdOBhPYMxJvfQHhvXyOPgr14S6vw5DcQaSgm\ncMBHNK2eZfK8exCEfXiKaghVDcFbtNcsPYiTsaegnkhj2/rDwOgV+Cs2E24qIPiZIry3L96+O/AW\nV1vZRQiM/Aj/oI00vncUvkEbCQzZQLiulKbVs/D4mwmMXkmkqdB4CYbSNxrekl34h66lZcOkOG9q\nh6yd+FrwFNRRMGlRq1ext3iPw1M3TOFhxqOx6eNpRBr7kK/exZPXTPO6gwnv7Udg5CqCOw4wXpe+\nFpPHQCPe/HrwB8kfv8zEVF+Mt2hv2vxng5atowkMWZ9wvWHJ8RD2U3DIy3h8IcINfWj+ZAoeXwt5\nBy7H4wslPBOuL6Z5zQwKpr1h4t50IMEtY/Hk1ePtV0lo+wHmm4d8rtYIektM+YrxhPaErFes49t4\nwgTGfIC3cC9Nq2dl/O5ZIdCEx9eSsNQrMPJD/IM+o2XLGIKbxuMr34K3byUt66aaAP5m4wUf8djy\n36djS3K8QeOBG2giUtfXetf7SLU0rvCwFwDjZV8445XW600fzQRfEG9BPaHdAymY8mbrvUhzHo3v\nzQM8PHvb6T3CEUiUZo5xrzTdkKRR7VQ4uyTGEyJcnbh2Khm+QRvIG/kRYBQtgH+4JjDUNILNnx5E\naPtICg59AY/HKNZwQ7G7RsXXTOCAjwhuHWsqdi7wBvEP3kBwxwizNCUlbZ0Hb99KwtXl3bD4Ps13\n9TVDKM9d2HgCjcb9P5iPf/B6s3yhth/h2v4UTH/VrLkM+fEPNEuFvMXVmeNMlvtggOb1kwjvHtzW\noC4+yeTVF2wrI75m07jX9W172N8c0/A2fzqBSH0J4dr+gMds1RfxEK7pGVaanOIN4eu7w3Qce9L6\n1EAjHn8zkYZSWtcSe8IJ64Z9AzYRrisj0lQYU6d6itKUdZr7NG7LkPuyljgayxB+TwWMNJsKJCO0\nfSQATSvm4i2tah0luiKUR8v6Ke3KT6cJ+wluGecioH2HiJfw7kFdmqWMeUhGjMLMEDYexwgsuG10\nzK3GZcfZ6MKEqoYSru2Hp7AWX78dBIavjQnbvG4KvvKt+PpW0vTRzJg1xM2fTE6zjtUT26kK5RGp\ni3ufYNsTZEfVAAAgAElEQVTfwe0HtG6EEKUnLYbPOWEfoV1DujsXibQUEGktW9H6E7/RBmnXN/cE\nRGkKnSLS1IeGxSeSrFGOhNt6uZHGYkLJdgwS9k0iXjuqg0hDKcGGUvyDPsUTaGkNEqoaasz/luZP\nJ7RaJSJNhTHRNa+fZDYTaActW0cRGGKtAoKQI0RpClnAk/ZPYf+g8f1jwBukcMarSe+Hto+iqb4E\n34AtrQq39V5l+xVf8LMJBDePkz1phZwipU3oAiIx/wn7CWEfhH00rZoF/pbkQWrLCde2bwogfZrS\nhAm5RUqc0IXIkHN/JLw39fIpQdjX6UGuVYIgCILQsxGlKQiCIAguEaUpCIIgCC4RpSkIgiCk5Par\n53Z3FnoUojQFQRCElJQW5VGQl7gJwf6KKM0eQn5ACqUg7OscMCj7G3hMP3AA3zlnKg9dPy/rcUcp\nLky/reWd1xzZZWnva4jS7CEMKS/q7iwIXUR+no+B/QozBxT2eX5y0cyYv2/71hGdjvPseeOYPLoc\njyf5Eq4LTz6o02n8z7nT+MJRY1Le93nbVMUx04cx/cD9cE9fiyjNHkJRgVkyO26YnGOdC3ze3K0h\n/fFXZvI/507r8PN3X3tU2gZNiOW4Gd23d6lTuSTjR185hJ9efCg3XDwz6f2ff+2wdqWX5/eSQpe2\niyHlffj84aNchf3KiYqrvpjjPaF7EKI0ewijBptz9kYPKc0Qsudw7nEHdncWUnL7VemdFx74XteZ\nuuIZNqAPA8oKGTbAnNTS3m9cmO/PqZLf1zl//vgOP3vhickPHsgWY4eWMXJwCaMGlyY1iQ4ZUMTE\nUZk3hzh4jN1VKUvFIuAXVeAWkVQP4fS5o/jmGZP54tH7xoji1m8ezvxDe+5G2aV98rj6Sz2zN9y/\npH0HUAOEHUf4daVp7KxjxmYO1IsZPaQErx26HTSyfTsb9bPf9aTDDmi91t6jF31eb2v6ycgLmCZ7\n6IDcTOeceeTozIH2M0RpdjMXzB/PuceOI+D3MXPCQPK60SFo/Ii+mQNZ+pe270QKgQ6NCqaONSOK\nwf3bGsmuNI11Z/mLZ+6Urjveqrw0seMyekgJwyuKidhNk8cOc28R+O6507jlijkAlBXHH8uWPW6/\nai6/dVhRPF28VeWpR3ReaR5/SM8+6qu9iNLsZo6dMZz5jp5pd3LlFw7mhJkjKClyf+r8aUeMav3d\nrwMjqO7gkPHmrMVzj207N/OcY92coZkd0o09rjlrKodOaDsA/OAkSnN/Ia8LTYY+X2LcP7noUPwx\n1z1ceKJi3oxh3H7V3LTrFSeN6t86n9nOwWW7KMjzU9Ynj2njjLXhxMPSW3uuOavjHazrXM7Dn5ph\nLvTsY8fx/fNndDgfPQ1Rmj2QC+ePZ+6UIa1muOEVXX8OZV7AS3FhgC8ffyAnzHRvdnXOhQy1c3Zd\niRtnhVkT7aHQGRqvXHdW3IwJpowt54ozJidcH1xexNihpZx/Qsfn6zLx/fNntM679nrSlQ3HvXnT\nh3HhfEVpnzxKixJHkONH9GX2pNwfQq4O6Med1xzJGUdmdzqnrI95x9kTB3HQqP4ZQhsyOSL5fV7G\nj+jL3dce1dns9QjklJMeyLwZw5kH3PPUCiCzp+eQ8iK2VtVnjPey0yZy/zOrspHFnHP2vHH4fR5X\no9nLTp3Y7vhHDOyZB2RHv7zP6+VHX0nucRmlpChAbX3yI7mSMWVsOdV7m/l0ey1TxpYzfkTfds/B\ndSWDunB0XVwUYMeehrRh3HRyko2g2itDv89DMNR+ufcpcG8Rai9dYaYvzM+sbi6YPx6Px8OfX9RZ\nTz9byEizB3POsQcyaXR/Ls2gBGZYc2MmKspys1bQ4+l4wzugrIDfXjWXh66fx/3XHdN6fdzwMo6f\nOcKV6SvVerYoyaKYcEDujrNqT6PaHkl+bvbImL8nHJB5jjo6fxeVWCbZ5ZLZEwdx+emTuPjkCVmP\ne6YayBePHtMlzmLOb+b81KmWwhw5dWjM37ne6GRAWaJ/gptiMMVOHWTLwuTxmOmquQcPoTC/58yt\nxyNKswdTXlbAd8+ZlrFQVvTdtxfOD3G83/GHDKesTx4ejydmfqnLm/IOJDBuePvW1EaXGBQV+Lnl\n8jntTzAN3z1nGiccOiJmHuqY6cMyP2gb9WTK8o5vH8mXrDdtpnmrrsDr9XDYQYNaG+esxu2Bz80Z\nxchBJQn33HZUDlHJO6vOTlHEEZvHZWvb3lFeNjs67emkXX76JL5zduwcfGeIOjgF/F7uvvboLp2K\n6AyiNPdB4uvIEQcP5uKTJ2ReAO9JnNw/qZudkHxeD/f/4PguiTuSoglI1sQku3b2vDbnoMtPn5T2\nvhsu+dxEjpo6lLOOGceALHd0Jo3uj8fjwesw5R92UOa5tnSNZHFhgJNnHcAvL53F6UeO5rpzp7W7\no5AN+hbnd9lSmH4l+Vxz1pSknZhMuijV7RhDgkstdNmpE7n27KnuAscxf9bIzIHSkOw93ajhgjw/\nk8ek3qmovcTPGfcgo0cMojT3Qf73W0cweXTbJL3P6+WoqUMzer168CRM7kedGLKxUUHfeFf7SAdK\nfaqa0sUVKFnFzw+0VY94BXTRSSrj7k2F+b6Y3nJ5WQEXnzyBUutskWzZQ0K+MobIDinF7vEwpLwP\nXo8pO87lA+1dx9gZ2tswjxmaYbmII74pYwdktROTSk9OTONYM3vS4LYNC9pJtDxlhRzNac89uOuW\nE3U1ojT3Ma764sGUFedzTgeUXLJ254BBJTx4/TyOmdZmyktVbQ47KL0Z5pxjE/OUaT7WrbdmdD1a\npir9zSSepwC/+PqspMs2jp42lIEdaDCPnpbZ9HnBCYrj0qxRGzEw0TSYa3qQ309anLvkfP/8GXwn\nw6gsF52NlI5KcUK96ZLDOGve2NZlIrnETWcj6VrPdnZSolMPbjqCbumpZVOUZo45rgt30YkvY5nW\n9kVHpul2IHGSadPx4sJAwvxrJs/fbyQxe6YjkxNNdA/feIYO6MM0u4THuYnDRSdN4OYU84sHu5hL\nmzymbfQQP7czqxuWIqTiR185JMWd9rVM0TIwYmBxym+Ral/VznDAoBLuuuYonrn1NPP9OqkVs6FU\nU83zVjjqSQQYVlHMyZ00oXaU4RXFzJ40iCu/cHDM9VRHfXVUT91w0UwuPFFxyxWHdzCGfQdRmjnm\nmnM7t8i3PTuAfCnDPFAunDsy9RYzHUkUJcM+2K2kU9JfOGoMP7zgkLSjvygPXj+PASm8jdM5KHz+\n8LbG0W1nJBeMHVqWaD6nrZF0jki+deZkvnpKco/VUYNL+f75M7j+vOldkc20FBX4W/NZkJd++UKm\nxn+wi1OFMo3SUjnsOE35qTpx6ZiZwsGoo1x26qQED/uYOXrHa0bra3tL7oC+hcybPgyPx8Pv/+do\nLsyw/68bufTUZWCiNPdVOmC76BOnoFJtU5ZK7/iT7KKSECbu4c7Ot1z9pSnMmTSYA5J4OTo5fPJg\njp0xjAMdo8io6XeSNe35fV7GDS+LcZZJRTqFN2fS4JT3Zrlwvsk2zp1z0imTX18+J+EIuujc+HiH\ng88haiBHToldBuFk/Ii+FBUEutV8FkhRFiv6Ji6fOGteW+fxgvnj+e4502J8ArKN1+PhzmuO5Odf\nO6xDaymnj6/gd2l2H2oPyTpKAIPLM0yLdKK/F/D7MnY44ke6F52UuFH++BF9+clFMzN2/nONKM19\njXRlMa4RGzU4VtFE5+6+debBnDz7gJQN7LzpiSOxX3x9VtKGKr7hvPS0WHPrQSP7JeSjPUwbN4BL\nT52YcdQ2fkRfLpivYsIN7FfEb644nG+f1TGvxFSk6yW3R4+4XV+bjHu/ezTfOWcqt1w+h7scO62k\nOwQ54Pfxy0tnx3yPLx49luvPm87x7dgFKkp3TjkdMKiYY2ckziv/+vJY8+Dk0f1jTKOF+f5WT+Ou\npE9BgOGdGCmVFOXx+cNHUVacR3mSdZRuuOuao5K+5+xJg2Lm8XuCPSSVj8DoIaU5X7eaCVGa+wjf\n/tIUpo4td91Dvv3quTGbqh89rW3kcIiq4KxjUi+XSKYU3C5gTubYc8PFhzJr4qDWExqctLfhjW5C\n4Pb0hfKyAlcj5I5SFL/LSTteyDnS/8EFM2IOLI4uIxg3PPkGBfkBH5NHlzOgb2Hseta4RvLSUyem\n3SHJ7/OiDujnavSdQDcONT0eDxfMz3yMV2dymEwi2ThU2i1fOGoMv71yrqvyGy1LTqtDfl7y5+Id\nkpLt1NMTFGlPRbbRS4NSqhB4FBgI1AIXaa0rk4SrABYCU7TWjV2Rl6njBjC1Hd530TVPN319FsvW\nVPL5Od3jiBDlG6dNIhKJUNcYxOOBq25f0KF4Svvk8dD18/B4PDy1YH2Wc9l+vnzcgSxevaPT8RwY\npxyvPGsqn5s1gpIk+522h2Sm5Mlj+rNhW22nd0FKtul5TyFVo99ZZZDNQwmOmT6M597a0OGlJk7O\nnjeO0qI85h86gmvufBNw36dxOgxmaxvFqLfz51K0Oz1p56n20nNLfc/gCmCF1vpI4E/Aj+MDKKVO\nBF4CUk90dSPDBvTh1MNH9YhC6vF4KC4MxMzzxJt83eSyJ7xLlLLi/Jh5wiEDijhweBlf6eRhxh6P\np9MKMxWnzx3NDy84pNPnoc5z7DjUFefAdvvB2ymSP2ba0KxsHXfmkaO57VtHZGUpSnFhgC8dM9aV\nD0FUSabzhu/skWMD+xVx/3XH8MWjY+cjT55tNlOZ1IVzyl2NjDTTMxe4xf5+HvhJkjBh4Hhgaa4y\nlYqJtiC6OQkkE7/6xmy2VtXzxOvrKO6CjaFvvnwOlXsaWk1D0c3GO+Jt2JPweb384IJUyzt6Bj6v\nNys7+zjNep+bM4onXv8kIcyZR41hQFkBDzzb/oMCMnnIdggXumDs0FLWbalJuicrwFdOys5euB6P\nuwMI2svEUf1YtWF3SpN71Kmub3E+O3Y3JDgIZotkZuUvHT2WU2aP7NLN5ruafbuFyiJKqUuAa+Mu\nbweq7e9aIKGl0Vq/bJ93nVZ5WQFV1caKW1HRMScZX74pdAG/tzWOiooSnrrl1KzM4VVUlDAZOH52\n2yi1uDg/5j5Anz6J1+LjSRW/k1uvPopXl27i1KPHdcjsV1JS0GFZJiM+Luff8fei+c3P93c4D+2R\nXWfizCZlu9pOCXGm1a9v2yisT1Ee/fu1/7QSv8/rquycf9IEHnvhI8AsI4ne81vnkbyALyb8gP59\nMsrlxm8czpLV25l3yIiOzfV2A853uvnKIwmHIynrUTTsDy4+jKdfX8e581Xr0q9oXS8sCiTI6dov\nTyfg93VJuUoXZ0lxzzqnV5SmRWv9EPCQ85pS6kkg+jVLgD3ZSKtfcT5V1Y0cNLIflZW1HY7n+vOm\nM6h/UafiaA9765paf0fTrEtyzYmbvFVUlBAgwvxDhrFrV12H8lZb29hpOdz6zcP5n3veAtryPbyi\nmPw8b0zc8emEQmEAmpqCHc5D/HMVFSWdfp+uLheh5iBgjrZyprV7T9s3rKtrYnTFIMaP6Mv8Q0dw\n15MrXMU9clBx0vzHy+W4aUNblea1Z01tvRdsCQHQ3BKisrKWH39lJgtXbGX0wD6u5DJlVD+qqva6\nymt3096y4gx7+uEjadjbSMNe04kPh82cZkNDS0KcB9ttE7NdrgryfGnjrN3blPJedyBKMz0LgVOA\nxcDJQMe8V1LQ2ak5lcPjrAAOHl3O46+uSzm5n2u+dspB/OHfq7MWn9PbOMrPLzksa/En49JTJ2Z9\n7cb3vjw9J2bukYNLuPTzEzOaevMCvqTnTkaZNm4A763dGXOtIyO8/o4t3EYOLmHdlhoOsMs+xgwt\nzbwfbS/n7muPojkYdhU2l+PrX102O4epdR5xBErPvcAkpdSbwGXAjQBKqe8opU7raKSn2HMP5x/a\nvSeMtJfhA4u597tHJ0zudxepNmfoDDdfPoc7vn1ku56JNsbDK9rvHDJn0mDmTM6uD9mEkf0ybgaR\nLeZMHpz2aLpU/YFrzmo7x1I5zv2cN2MYk0b379AZmk7nlbPmjeOy0yZy+lx3S5P2Bwrz/ZRlcBS6\n4szJDCgr4IQu3O4znrIeZn7NhIw006C1rgfOSnL9f5NcG+U23mkHDuDB783bZ+ZLnPS0hcbZJt3m\n7afPHU1Tcyjh+vknjGfy6PKU5ysK6XEufRk9uJQLXay/zER+wMfsiT3Sob1HM2lU//1i/9jOICPN\nbmJfVJjJ6O6DCC47bSLlpQWd2l3HLafPHc3ZxyZuClGQ52fWxEFduonCvkR799zNdKSd0Ds5YFCx\nq28/Z9IgRnZiV7FsIyNNYZ9m9sTBMqLoYRTm+yntk0dNXTOHtLMz06l5/t7RD91v+OnFh7rqdBcV\nBPjpxYd2eX7cIkpTEISsc/tVcwmHIyktKs6NZ5y/e7v5X2jD4+nsFgrdg9iTBEHoEjoyBdEZM/u+\n2AAL+x6iNIUuoLtnOoWeTiTmd9tfvWWuX+i9iNIUso8n4YcgdDk9aU9iofciSlMQhJzjVG/RLdyc\np20IQk9FHIGErkOstEIKnEWjIM/Pb688gqIObuJ98+VzqNnbnJ2MCUIGRGkKXYBoSyEDcUWkM7vC\nDOxbmHZTCkHIJmKeFboQmWMSBKF3IUpTyDrBHWZP3eYNE7s5J4IgCNlFlKbQOSKJpthIQwkNi08k\nvFt26hFi+eYZk5k4qh/jR/TNHFgQeiAypyl0EWKaFRKZOWEgMycMpLklceN7QdgXkJGmIAhZ4UB7\nrmZpUfrjp0BcxYR9FxlpCoKQFa4/fwZNzSHy82T/WKH3IiNNQRCygtfjoTDfXT9cjPfCvoooTUEQ\nBEFwiShNQRAEQXCJKE0h65SXmt1dxg4t7eacCIIgZBdxBBKyjt9vHEHKywq6OSdCTyXg9zKsog+T\nR/fv7qwIQrsQpSkIQs7xeDzcdMms7s6GILQbMc8KnULW2wmCsD8hSlMQBEEQXCJKU8g6yu4rOmqw\nOAIJgtC7kDlNIeucd/yBTBs3gMljxMlDEITehShNIevkBXxMO3BAd2dDEAQh64h5VhAEQRBcIkpT\nEARBEFwi5tk0KKUKgUeBgUAtcJHWujIuzLXAufbPf2utb8xtLgVBEIRcISPN9FwBrNBaHwn8Cfix\n86ZSagxwPnA4MBuYr5SakvNcCoIgCDlBlGZ65gIv2N/PA8fH3f8MOElrHdJaR4AA0JjD/AmCIAg5\nRMyzFqXUJcC1cZe3A9X2dy1Q5ryptW4BdiqlPMBvgOVa6zWZ0qqoKOl8hnsIRUX5rb878169SSbZ\nQmSSHJFLIiKT3CFK06K1fgh4yHlNKfUkEC2NJcCe+OeUUgXAHzBK9Ztu0qqsrO1UXnsS9XVNrb87\n+l4VFSW9SibZQGSSHJFLIvuLTHpKx0CUZnoWAqcAi4GTgQXOm3aE+U/gFa31r3OfPUEQBCGXiNJM\nz73AI0qpN4Fm4DwApdR3gLWADzgayFdKnWyf+YHW+u3uyKwgCILQtYjSTIPWuh44K8n1/3X8KYdG\nCoIg7CeI96wgCIIguESUpiAIgiC4RJSmIAiCILhElKYgCIIguESUpiAIgiC4RJSm0Cki3Z0BQRCE\nHCJKUxAEQRBcIkpTEARBEFwiSlMQBEEQXCJKUxAEQRBcIkpTEARBEFwiSlMQBEEQXCJKUxAEQRBc\nIkpTEARBEFwiSlMQBEEQXCJKU+gUkYjsCSQIwv6DKE1BEARBcIkoTUEQBEFwiShNQRAEQXCJKE1B\nEARBcIkoTUEQBEFwiShNQRAEQXCJKE1BEARBcIkoTUEQBEFwiShNQRAEQXCJKE1BEARBcIkoTUEQ\nBEFwiShNQRAEQXCJKE1BEARBcIm/uzPQk1FKFQKPAgOBWuAirXVlXJhvARcDEeBWrfU/cp1PQRAE\nITfISDM9VwArtNZHAn8Cfuy8qZQaYMMcDhwH3KaU8uQ8l4IgCEJOEKWZnrnAC/b388Dxzpta653A\nNK11CzAYaNRaywGTgiAIvRQxz1qUUpcA18Zd3g5U29+1QFn8c1rroFLqSuBG4A43aVVUlHQipz2L\noqL81t+dea/eJJNsITJJjsglEZFJ7hCladFaPwQ85LymlHoSiJbGEmBPimfvUkrdDzyvlJqntX41\nXVqVlbVZyHHPoL6+qfV3R9+roqKkV8kkG4hMkiNySWR/kUlP6RiI0kzPQuAUYDFwMrDAeVMppYBf\nAV8EWoAmIJzjPAqCIAg5QpRmeu4FHlFKvQk0A+cBKKW+A6zVWj+jlHofeBvjPfu81vr1bsttNxCR\nGVxBEPYjRGmmQWtdD5yV5Pr/On7fiJnP3K8Rl2FBEPYHxHtWEARBEFwiSlMQBEEQXCJKUxAEQRBc\nIkpTEARBEFwiSlMQBEEQXCJKUxAEQRBcIkpTEARBEFwiSlMQBEEQXCJKU+gUsiGQIAj7E6I0hewg\nWwIJgrAfIEpTEARBEFwiSlMQBEEQXCJKUxAEQRBcIkpTEARBEFwiSlMQBEEQXCJKUxAEQRBcIkpT\nEARBEFwiSlMQBEEQXCJKU+gUeX5ThIry/d2cE0EQhK5HWjqhUxx3yHC2VtVx0qyR3Z0VQRCELkeU\nptApCvP9XHrqpO7OhiAIQk4Q86wgCIIguESUpiAIgiC4RJSmIAiCILhElKYgCIIguESUpiAIgiC4\nRJSmIAiCILhElKYgCIIguESUpiAIgiC4xBOJRLo7D4IgCIKwTyAjTUEQBEFwiShNQRAEQXCJKE1B\nEARBcIkoTUEQBEFwiShNQRAEQXCJKE1BEARBcEnG8zSVUuXA/9Naf0Mp9WXgGiAIrAC+aYPdA0wF\nmoCva63XOp7/LaC11vfZv68FzrW3/621vjFJmpcC37Dp/EJr/Zzj3pnAWVrr85I8Vwg8CgwEaoGL\ntNaVjvs/BKZorc9185xSajbwO5uPl6J5jcrEyuI14CAb5hnga8As4GmgEKgCToiTyR3AXKDOpvc6\n8CWgCMgDdjjTSyYT4CPgYeBQYCfwMfA28ElcuP8CfwGOxHSSlgFfBqYAtwMjgWbgPq31j21aPwU+\nD4wBNgJbHTK5wj63JE4mRwDPA5OA/wMm2vf/N+Z7Pw4cD/gw5eRorfUSpdQGYAJwi5VJGBhtrz0O\nHIIpp83ALuBK4BXgPuDNuHddDPwRmGPTWQl8ETiVuPJkv/krwFj7LhdhyvCdwHBgD/Cg4/0uxpT3\nA4FqYBXwQ+BWoD8wzn6DZxzPTAaes/ksBCbb9FYDi4ChwBH2uwftt7kY+I99fw/wAaZMFNtrPwbO\nAQZg2GzzeZNSyoMpE5fb8AuB44C7bPiDbB7DmHJ7QpxM+lmZFdtvdJTW+iOl1HXAz+xz72mtj7Rp\no5QahynrGlN/WqzsI0Cp/b0XW1YcMnnd5vMNYIYN8wwQsvmcbt9/K3BsVCZa60Zbf44DhmHaIa9N\newjQB6gHFmmtj3PI5B1M3XTWnz8Byr7rKlsGTiG2TC3A1J/DgHwrn9MxZeUem4cq4H6t9S+sTP5p\n8zPOvv8i3JWVZ4CjMfVrMKa8nG7z/n+YsuIFPrPfpspRfzyYNmwksfWnAhhhv0d8/blYa9265lAp\nNRB4AOhn8/0VrfW6ZO1xmjbzNdqYADystf6+rT9X2Hj/acvrEBtHns3bBVrrWkd+ojKZZeMuxpSb\nrwFrgHsxdagI2AZ8wykTrXWjjWcCpn07xv59JXA+pqwCvBxff7TWDaTAzUjzF8DdVki/AOZprY8A\nyjAN6xlAgdZ6DvB94DabsQql1PPAaQ4hjLGZPRyYDcxXSk1xJqaUGgxcjSkgJwK/Ukrl23u/A36V\nJt9XACtspf4TpoGJxnsy8Ll2PncfcB6mMZ+llJrulAlwFaYRHYxpUOdYmfwF01CWYSr9g3EyOQ/Y\nYtN7CrjOyiSEqfQx6SWTCaZi3Qu8BDyLUe6/SxLuSkyhusvmscW+3z2YijYdU1HOVEpNV0rNwFTc\nv1pZBKMyUUqNAG4GapLI5ALgDpufA+3/D2Iapdtsnp4DAphOwdP2OS/wz6hMbDzbbR5HYxTmL4G+\nGGWzxRbolcANce96q437QUy5XAr8NF4mtjy9aPP5iuOb/8bmaRrwKXC8lclYTBn5P/uOfwYes9/5\nLvsOV9tnWmWitV6J6XTMsXkfhqmUr9g0jgB+YOPZgOlE3WbzMACjRMuBPzhk8jmgADjYynIVcKRS\nar5tAP8C/N7KfzCmc/cYRun8Bfg58D+YDl+8TB4GPtZal2G+/19tXm7EdHxKgSlKqS8AKKUuBP4G\nHEBb/fEBNbaBKsM0Zq1lxSGTMZj6MxX4FqZRno9R2AMxZfo6+/0fjMrEUX92AO9h6mET8C6m8/gM\npqxMVEpdYWXyPKYcxNefZZg684yV489IrD/XYerM3ZgO6hDaykqx/Q4bgdlKqbk2nwdiFNbdWuv+\nmPLlpqzciimXKzCdob8CZwJfBWZiOpBlmHp7J7FcYZ9z1h9setNJrD9vAV+Ji+MW4DGt9VH2+Qlp\n2uOkbabW+hj77b8GbAJ+4ag/x2A6H3lKqQBwPfCIjWM58HVnZhwyecQqtD9Ymb5vZbJNaz1faz0X\n097eQAZsp/9wjB47CtP5Ojiu/nwvXRxplaZSqhQ4VGv9AaZgHq61rre3/UAjpkK8YF9yEebjgilQ\nP8M0MFE+A07SWodsBgM2DieHAQu11k1a62pgLWZUBOZDX5Emy615wVSU4+17jMNUyp+6fc6+e77W\nep3N64uO6+dheqqzgfOtTJ7HNFJeTOPyuH3u75hCC/AkRuFWAh/aa//AFPJCjHKrc6aXRiaHYRTa\nMEyBvh1TweLDnYzpyb1g8zjKxvt5wKe1Xof5livs9bmYBneuzbsfM4I7AdN47QBCKWTyc0ylXodR\nrNdbmVRjOgPrgBJMQ1Vi320gRhE7ZVIFfAHTODQAO5PIZBOQF/eux9jw52E6Z1sxPe1k5SmftkoW\nLZK2RooAABBvSURBVCsr7Xf4DKOYFtjrx2NGo1djev4LMR0AL2aklG/z3+jMo1Lqv/a9CzGjpWeB\n79r7YXv9REzv+X6MMp0JDMI0ctswZSYqk+Pt9/PZb/FV+11f1lq/ZMP9BzjKfq9dGIU9HNMR6oMZ\nYU4DqpPIZCZt9fVWzIgvKuvhmPLpp62HvtvGGy1fYEbKY2yZyAOqkpSVqfZ9vgO8Zq1Qz2PKxHRM\nh+E5jGL4DW3152+01Z+o5eZ5TCN4E0ahXaK1bsGUqWIbphHT1rTE1Z+rMB2y5zHWoWISy8p/bRwv\n2HffYb/DasyIdhOmrCwF5iqlot/uOkxH9PM2/kxlJdrJ7IvpPNRh6s/xmLpUirHelGDKyvs2X4Ps\nuznbsGhZ8WHqyLok9ecftFkKoxwBDFdK/QdTf14jdXuctK11cDtwvdZ6L2315xFMWV9ov9G1wKNK\nKS9mNLwnLg601vdgdM+/MW3jH+yt7ZhB16m2TN2JqVuZ+BZwdXQUavNxTlz9OdvmKSmZRpqzMWYX\ntNZhrfV2AKXUVZgC9jLmY1Y7ngkppfxa6/Va63eckWmtW7TWO5VSHqXUrcByrfWauDTj46vFNMRo\nrf+OMTOkwvlsLVBmh/R302ZecPWcvVaTJB+zgee01s02zAZ7/yJMhViCGTE648PK5Eit9UIbriEu\n3qsxppVH49+b5DLxYpTCr4BvY5T4dUnC9bXpVdu/S2y8DUCNHTXMwzTY0feudvxfi6l8IzGVelcG\nmWzDNL4POGRyF6aBmQusx5jlvEopvw1/I0YZnI3ptRZgGs7NmHL2HWv2uQLTMGLzlKeUisqoFmOq\n2YapZKcBP8KYrJOVp1qMSdB5bR1GOazGKM519voAjCL6GFPp7rDyL8YokmaMkrmR2O/2a8x32YZR\nXnc68lmHGW1Mw3QiLseMvkKYBuEee+9kjCIKYb5lg43zJIzJ7xrgGluf0FqHrIyH2jyMBHbb3v96\nTMfmOsz3jpdJgc0rmFF/dPpmlc3PHivLf9u0ntNa12E6N1EZf2rjmmblFp1iiCkrmDIxCGNOB1NW\nvBhlF7Ay+S9tig9MR+OXmLJysiPeAGZ6oxIz6n4NUye+YMMU23CTHc94tdYRK6+fYRT5ChLLis8+\nH8DUzevte7yLsYSsxZSVGZhOSR7GWrAKo5R+a+WatqzYEVO0/szB1J/o/ddsGpfQVn/G2DxuB/6F\nqcN3YOpPyD7nBwYppV6Lrz9a692YkXu0rGLlultrfTxm9Hw9qdvjZG0mANZ6WKq1jnY4ovXnEsx0\nyR1Kqb5WkUenUaJtUDLuxpT3B6IXtNZPYDpQUZn8l7ZOHsBLjvf+k+N6f631TpvPM+39RXH1Zwdt\nZSWBTEpzAOajYBPx2shPAL5oX7qGtlEDmMKYSjmhlCrAmItKsD0dpdSD9gUfTxJfCUl6IPa5cVHB\nKKUuiXs2+tx8zGjn75jez7FKqe/HRZXsuVT5cMqkBii1MjmJthGWLy6+SJxMmjAVyRnvHZhG+Sil\n1DzgUuDLaWQSwijof9q/P8YU3OGOwjLZxt1kw5TYuKLvNxLTOzsJM+pxvneN45k8TAW82sbZXyn1\nt3iZKKX6YuZrbsaYvD5nZaJsfm/HjCyXAoUOmczHdD7+jjEZDcZ0jg7CNMjYOHcDpztk0oiZI3LK\n8TCMmelEjMnnKmBYEpnUYBqx6LM1GIX4idZ6rJXnaTZsFabh2o0ZZa3GKIU9mMZ2AnCh1loTW14H\n2N9RmTyIaQB8mIYzjBlJXmpl8jna6uR84FWMgnrYPrMbU/ZK7NzPkxizVC1wgZULmM5Uuf1dZb8F\nNt+X2fj2ROsPRgEdZeVZYcMOBYJKqZFWDjO11gFM4/1PYokQW95bMA3cViuT6PVoWdmDUYrLgV/a\naZeTMIr6eUyH4lKbz8to6yjPt8p/g5VLNN4gRkHWa62fsmEagUmOstLkkEm0/kT5Gcb0nqqsgBkl\n/dDmuQZjVj8DU76nYpTITozSuw+jUFps+OlkLivE1Z8HMfVgD6b+hLXWZ9BWf5xTTdGyciWm/vjs\nc0GMCTNqMr3XyjjKdtrqD8SWlWcxnd9U7WCyNjPKBTgUnI33Na11rdZ6B6YcjofWgdREzHd2Kjen\nTKKdygftIAil1Bzgvw6ZPGz/tcrE8d5OM3StUqq/TTtaVn5Km48AxNafBDIpzR2Y3m2U32Ma+zMc\nZtqFmMlzlHGcWZEqMmuX/ifwvtb6G1aro7X+un3BszCmwCOVUgW2F3QQpieSgNZ6bVQwWuuHnHnB\nNAQLtNZPaq2nWuFcA7yitb45Lqpkz9UAzUqpsTbfJ2LMdU6ZLMT0wAswZq037HM1wDn2uXMwvU4n\nG2nryXwN03jXYnqhPkxjuhs4L41MlmAq1jU2zxsxjckUTAN0uo33RRvvKTbcZvseV9l8X4op1NH3\nW2h/v4VxGPJi5m3+oM3cw8eYBuHLSWTyR4xpdz6m91eIMUmdjlF+59h3m4wZeaaSSS2mkXoPUxn/\nZN8jXib9MKPlqEzewPToqzFK4AMrz6lxMllp33O2Te9k+x61QKOdg9mKcWqKyuQYjEPG6Rgz2RhM\ng/krzGhjd1w5wcrlc1YmTbSNgB+z+SmjzYQ+EtPQO+vPQsz8GJhKvMLKdKBS6mDMyH0kZjT9vJUL\nVi477O+3gFOUUhMxo7snMI36kRjT4umY7///MI3xxfa5/7F524VRMNH4ttr4nUTLF5hOWCmmDNSk\nqD+fs3l5jDYT9Z8xI/+vYerP2ZjvV0by+hOVy8mYucmRQINNz4fp6L3uKCtDMB2F1vqjlLrfzsue\nbGVdT2JZCWLK/4ta6+dpKyt7MSPCEzEWhMEY097xmPnMhRilOhljesxUVqCt/jRhOkR/s/dPx1jN\nxmLqz0hiLT4Q24aV2+dCQEuSbxClL2Z0HuVNRxxHYaZLUrXHCW2mI57jaDPdRvN2jI2jD6b+rFVK\n3WMHCGDqXphE/gjcpbX+vZXJPfb6lzHWhOjoMDqFmIm7gdtVm5+MD1MXnBZMZ/1JIJP37CKMiQll\nHEQuwQjnFaUUmB7AU8AJSqm3MA3jV9PEdwZmDiRfGcccgB9ord+OBtBab1PGO24BpsH+UdT+7IJ7\nMZPGb2IqcoKHbTufuxxTsX0Y7793bE/nSaXU5ZjG6lZM7/B8YLUy3r3nYRxdajANuHPe4vMYhXeS\nI70nbFw+jHflrdH0bD7+hhmJtsoE04D+EVNgGzENy/mYAuAMF52vuRLzvVdiCs4yjAfaIpvGwmh6\nSqkFGAU3FtOwXhYnkzcwlekljLnlX/b+v4H/xVSSGoy5aghm7nAsRmEEMT3wqOksOiezBNNYPWaf\nudG+d8S+x/cwSnMGbd6EmzCVM/quSzCN7732ubWYRngUceVJKXWvze8kTE/1PBvXLzCjgxCmoxCV\nyUOYHutoTENzvs27D9PYLrff4QHgi0qpCKaCl9nn/okZnYYw5WEbpgPzG/v+YYzZ9VobV8C+x9fs\nv1LMvOiFmLnA5VaOezBl4SY7OjoWM88dVTTfx3zv32E6SeOsXENJZPJV4D2lVLW9f7TWulYpdRum\nbAcx5uE5xFKPGdW9iVE62zCdnjBGaW/EfPcIxplmGPAQZiQzGDO6fdC+xzz7XqdilMVO+/4vAM8p\npU6x3/kMjCn9MkxZudnGvwxTzldjOoTY963GzAU668/DwFn2u02y32kisfXnRnv/i0qp8zD19WCb\nn9sw1pdm4Fda6w+BD5VSJ2LqzxhM4/tlMpeVP2OU1Fes7IbYdB63+RyLUQxhTPmLjjSj9ede+1x8\n/Qnb9MBRf+y32mPnHKN8FzOau8LK6zyt9e5k7bGtP6na2sFa66roH1rrFbb+LMToiJu01rtsvPcp\npW6w+YxaHm/B1O8jMSPse21UPwMWKKW+Yr/NXUqp9zCWiTqMfkqL1voO23a/rJSKmrHfxlgOUGYu\n01l/Esh4yolS6j7g91rr5WkD7kfkWiZKqdu11tfkIq2O0g0yeQWj1B7NGLgbyaVclFK3YzoyM7Rd\n/tAT6Yay8jSwpCfLJNfsK/Un19hOWdr642bJyQ0kelnt7+RaJrdlDtLt5Ewmyix/qsa4h/d0cllW\nbsP0+H+bo/Q6Si7LigcziunpMskZ+1j9yRm2rGSsP3KepiAIgiC4RLbREwRBEASXiNIUBEEQBJeI\n0hSE/9/e+YRYWYVx+BkGigZcFEEwgUVGb0xgVgstMsrMoMJFg4QWWOFiNgUtLJCgQQiKkJIgkMAm\nW0QRQiIWMVSLSBBBsJDejTEQE5G0MWozOS1+7+3euXNn/AbvjEK/Z3nuOec734XLe78/5/kZY0xD\nXDSNWUYiYiIkq17o8w9KILCca7g5JLHux1yLns8S5lnSmiJirLYKdLc/GxETl7oeY5py0ZQTY8yy\n8hBt1ZxZgKyUJGMuNy6axvSRem19H5JYTKMN7d9GxOvIlHId2rD/JLLvDAPHImIj2gz/NjLRnENR\nRz93zX8DEgOsRsKAPZn5ZUSMI8PRamTbOV79oC33bo0/gCw1F5BcZLJ7fImyF+KJkH/6KrRR/dPa\nFP5OneMs8FFmtsQoe5Ba7R+0j3ROikREjKJtKJuzI8qvq884QGaOl8XnVSTQmKLtEDZm2fHtWWP6\nyyhyjd6BbDO3oj+nt6OUoNuQqejp0jlOIx3ZeWTF2ZGZd6PC+/786XkXqSDXIkn5wSqEoIi+kSp4\nh4CXa66zHeP3o03t9yBD04GIWNVj/GIMIcvUo8D+UHzUGCrEa5H/dzQiHq/N4ltRrNVd9X38d5s1\nIraggrlloYLZSUQMI7fwA8hMtGrxEcb0FxdNY/rLg8DhElH/jlR9M0hRtquUdPcyN70DJLBeAxwp\nNdibtJMsOtlEXUFm5lmkFFxfn7WUf9cDw5k5We0THeM3A3vrGF8gBduazvEN+DAzZzJzGl3Rrq91\nTaRi//5COreHq/3jzPy7BP0Hqx0kyT4MHMpKUGrAfcD3mflbzWejjVlRXDSN6S+zzP1dzSCB9lfV\n/hnyNQ90jRtECSvrMnMdujK7n/l0/2YHaD9macXNzXbN35mwMwhs6jhOZ8jCgmn1XXTON4BcsQut\na7H1XkB+2d11BdmEXt+vMSuGi6Yx/WUS2BYRV0fEtUhCP0s7bPkMSgAZrP4zqIj8hCLXNlb78/TW\nnH1Niakj4hYUHHy8s0PJsqcioiX13tE1viXGHkES8CGWxvZQJu5NSMB+oubdGRGDETGEhPbfVPv2\niLgmlJ/6XLUD/JHKXHwP3XZuwnfAhoi4sZ6jPrXEtRtzSbhoGtNHMvNzlL35I8omPIPir+6MiNOo\niJxGaSmgQOZj6IWgbcC+6reTdnEci4i91f9FlAn7A0rS2ZWZv/ZYyjPAaxFxivbtV1Ak3IY6xico\n2/H8Ek/zTxQjdhS9rHQOvVz0C3rp6BRwpPIKj1a/kyjFY4r5BfINlJKy9WIHrtu4L6A/JyeYGxRv\nzLJj96wxVzj1jHJ3Zr5yuddizP8dbzkx5spnBGVirggR8RbwSI+PTmbmrmU87kvoCrub6cx8rEe7\nMSuOrzSNMcaYhviZpjHGGNMQF01jjDGmIS6axhhjTENcNI0xxpiGuGgaY4wxDXHRNMYYYxryL43d\nhELAATL4AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "demean_return_df[demean_return_df>1] = 0\n", "demean_return_df.plot()\n", "demean_return_df.rolling(40).mean().plot()" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "subset_kf_df.loc[idx[:,'000004.XSHE'],'close'].plot()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }