## Delete stock tickers without beta value ## We need to make sure all stocks exist on the whole testing period tickers = StockBeta[np.isnan(StockBeta.cqaBeta) == False][['ticker']] avaTickers = pd.merge(tickers, StockPrices[StockPrices.date == START][['ticker']], on='ticker') avaTickers = pd.merge(avaTickers, StockPrices[StockPrices.date == END][['ticker']], on='ticker') ##tickers = tickers[:50] ##tickers = ['A'] ################################################################## ## Run this part if you already have the return file, otherwise calculate it Coef = ReadData.ReadCoef(START_TRAIN, END_TRAIN, DISK) ################################################################## Coef = pd.merge(Coef, avaTickers, on='ticker') print "Now we have all the regression coefficients..." #### test optimization, using only 5 stocks ##avaTickers = avaTickers.head(5) mCqaBeta = pd.merge(StockBeta, avaTickers).cqaBeta.astype(np.float64).as_matrix() np.savetxt(r'%s:\Dropbox\CQA 2014\Data\cqaBeta.csv' % DISK, mCqaBeta, delimiter=",") NUM_STOCKS = avaTickers.shape[0] mCoef = Coef[['Mkt-RF', 'SMB', 'HML', 'UMD']].astype(np.float64).as_matrix() alphas = Coef[['alphaFF', 'alphaCAPM',