コード例 #1
0
def get_data_label_pair(f, model_config, meta, predict_day, isShift=True):

    single_stock = tv_gen._selectData2array_specialDate_v2(
        f, corrDate[s][:model_config['corrDate']], model_config['corrDate'],
        21, s)

    labels = []
    data_feature = []
    for i in range(model_config['corrDate']):
        single_stock_tmp, meta_v = f_extr.create_velocity(
            single_stock[i], meta)
        single_stock_tmp, meta_ud = f_extr.create_ud_cont_2cls(
            single_stock_tmp, meta_v)
        features_tmp, label_tmp = dp.get_data_from_normal(
            single_stock_tmp, meta_ud, predict_day, model_config['features'],
            isShift)
        label_tmp = reduce_label(label_tmp)
        labels += list(label_tmp)

        feature_concat = []

        for i in range(model_config['days']):
            for k in features_tmp[i]:
                feature_concat.append(features_tmp[i][k])

        data_feature.append(np.concatenate(feature_concat, axis=1))

    data = np.vstack(data_feature)
    label = np.array(labels)

    return data, label
コード例 #2
0
mConfig = open(
    '/home/dashmoment/workspace/etf_prediction/trainer/config/20180526/best_config_xgb_dow_all.pkl',
    'rb')
#mConfig =  open('/home/ubuntu/shared/workspace/etf_prediction/trainer/config/best_config_xgb_dow_all.pkl', 'rb')
best_config = pickle.load(mConfig)

predict_ud = {}

for s in stock_list:
    predict_ud[s] = []
    for predict_day in predict_days:

        model_config = best_config[s][predict_day]

        single_stock = tv_gen._selectData2array(f, [s], model_config['period'])
        single_stock, meta_v = f_extr.create_velocity(single_stock, meta)
        train_data, train_label = get_data_label_pair(single_stock,
                                                      model_config, meta_v)

        single_stock_test = tv_gen._selectData2array(f, [s],
                                                     ['20180401', '20180620'])
        single_stock_test, meta_v = f_extr.create_velocity(
            single_stock_test, meta)
        test_data, test_label = get_data_label_pair(single_stock_test,
                                                    model_config, meta_v,
                                                    False)

        model = model_dict('xgb', model_config).get

        model.fit(train_data, train_label)