def test_measures2(): pd.set_option('display.max_columns', 30) pd.set_option('display.max_rows', 100) univ_ib_gd = cr_cret.retrieve(univ_ib_eqidx_ext + 'ExchOpen') _prc_names = ['CLS', 'A2D', 'A3D', 'A4D', 'A2W', 'A3W', 'A4W', 'A2M', 'A3M', 'A4M'] _trn_names = ['LVL', 'CH0', 'CH1', 'CH2'] _fil_names = ['LRB', 'QRB', 'QRG'] _hoz_names = [] for j in range(5, 305, 5): if j < 10: _hoz_names.append('00'+str(j)) elif j < 100: _hoz_names.append('0'+str(j)) else: _hoz_names.append(str(j)) univ_ib_cl = cr_cret.retrieve(univ_ib_eqidx_ext + 'Close') tick_cols = univ_ib_cl.tick_cols() for n in tick_cols: z = list(np.where(univ_ib_gd[n].values.astype('int') == 1)[0]) univ_ib_cl_ = filt.ret(univ_ib_cl[n].values[z]) univ_ib_cl[n] = np.nan univ_ib_cl[z, n] = univ_ib_cl_ univ_ib_cl[n] = filt.fill1(univ_ib_cl[n].values, 0) # tick_cols_ = tick_cols[0:1] tick_cols = ['SP500', 'SP400Mid', 'Nikkei225', 'R2000', 'FTSE100', 'DAX', 'SMI', 'CAC40', 'AEX', 'MIBFTSE', 'IBEX35', 'OMXS30'] siz_ = [5330, 7115, 6757, 7349, 5324, 6785, 6794, 6199, 7232, 7936, 7180, 7295] # siz = [2784, 999, 1357, 765, 2790, 1329, 1320, 1915, 882, 178, 934, 819] tick_cols = tick_cols[1:] siz_ = siz_[1:] for k in _trn_names: dummy_cols = [] for i in _prc_names: for j in _fil_names: dummy_cols.append(i+'_'+j) x_ = np.random.random(len(_hoz_names))*np.nan y_ = np.random.random(len(_hoz_names))*np.nan dummy_df = DataFrame({dummy_cols[0]: x_, dummy_cols[1]: y_}) for i in range(2, 30): dummy_df[dummy_cols[i]] = x_ _col = 0 for i in _prc_names: # j = _fil_names[0] for j in _fil_names: # k = _trn_names[0] for mi, m in enumerate(_hoz_names): # m = _hoz_names[0] fn = univ_ib_eqidx_ext+i+'_'+j+'_'+k+'_'+m univ_ib_sig = cr_sig_mr_sg.retrieve(fn) ret_, sig_ = np.empty(0), np.empty(0) for ni, n in enumerate(tick_cols): # ni = 0 # n = tick_cols[ni] z = list(np.where(univ_ib_gd[n].values.astype('int') == 1)[0]) z = [z_ for z_ in z if z_ > siz_[ni]] # 5 is just a buffer sig__ = univ_ib_sig[n].values[z] ret__ = univ_ib_cl[n].values[z] sig__ = filt.lag(sig__, 2) ret_ = np.hstack((ret_, ret__[2:])) sig_ = np.hstack((sig_, sig__[2:])) gidx = np.where(~np.isnan(ret_) & ~np.isnan(sig_))[0] dummy_df[mi, dummy_cols[_col]] = 100*spearmanr(ret_[gidx], sig_[gidx]).correlation _col += 1 dummy_df.show_all()