Exemplo n.º 1
0
def _process_rec_02(rec_02, rec_01):
    if len(rec_02) > 0:
        _symbol, _csi_com_num, _cont, _open1, _open2, _high, _low, _close, _prev_close = [], [], [], [], [], [], [], [], []
        _vol, _oi = [], []
        for i in rec_02:
            _i_val = i.split(sep=',')
            _symbol.append(_i_val[0])
            _csi_com_num.append(int(_i_val[1]))
            _cont.append(int('20' + _i_val[2] if int(_i_val[2][0:2]) < 40 else '19' + _i_val[2]))
            _open1.append(float(_i_val[3]) if _i_val[3] != '' else float('nan'))
            _open2.append(float(_i_val[4]) if _i_val[4] != '' else float('nan'))
            _high.append(float(_i_val[5]) if _i_val[5] != '' else float('nan'))
            _low.append(float(_i_val[6]) if _i_val[6] != '' else float('nan'))
            _close.append(float(_i_val[7]) if _i_val[7] != '' else float('nan'))
            _prev_close.append(float(_i_val[8]) if _i_val[8] != '' else float('nan'))
            _vol.append(int(_i_val[9]) if _i_val[9] != '' else float('nan'))
            _oi.append(int(_i_val[10]) if _i_val[10] != '' else float('nan'))
        _rec_02 = cruf.DataFrame(odict([('SymbolCommercial', _symbol), ('CommercialCsiNumber', _csi_com_num),
                                            ('Contract', _cont), ('Open', _open1), ('High', _high),
                                            ('Low', _low), ('Close', _close), ('PreviousClose', _prev_close),
                                            ('Volume', _vol), ('OpenInterest', _oi)]))
        _rec_02 = cruf.DataFrame.merge(_rec_02, rec_01[['SymbolCommercial', 'AggVolume', 'AggOpenInterest']],
                                       on='SymbolCommercial')
        _rec_02 = _rec_02.subset(cruf.notnull(_rec_02['CommercialCsiNumber']))
        _rec_02['Contract'] = [int(el) for el in _rec_02['Contract', list]]
        return _rec_02
    else:
        return None
Exemplo n.º 2
0
def _generate_adv(_d_comb):
    comb_data_adv = _d_comb.retrieve('Turnover')
    # get ADV
    tick_cols = comb_data_adv.tick_cols()
    for i in tick_cols:
        comb_data_adv[i] = crtf.med(comb_data_adv[i].values, 200)
        # comb_data_adv[i] = crtf.ema(comb_data_adv[i].values, 200)
    _d_comb.store('Adv', comb_data_adv)
    # get Univ
    comb_data_univ = comb_data_adv.copy()
    f = lambda z: int(cruf.notnull(z) & (z >= 30.0))
    for i in tick_cols:
        comb_data_univ[i] = comb_data_univ.apply(i, func=f)
    _d_comb.store('Univ', comb_data_univ)