Esempio n. 1
0
    def init(self, context):
        # super(GrahamDefender, self).init(context)

        # context.pool = list(stock_pool_dao.get_list()['code'].values)
        context.pool = list(stock_pool_dao.get_list()['code'].values)

        self.context = context
Esempio n. 2
0
def predict_k_data():
    df = stock_pool_dao.get_list()
    df_index = index_k_data_dao.get_rel_price()

    for code in df['code'].values:
        try:

            logger.debug('begin predict, code:%s' % code)
            data, features = k_data_dao.get_k_predict_data_with_features(
                code, df_index)

            lr = LogisticRegressionClassifier()
            svc = SupportVectorClassifier()
            rf = RandomForestClassifierModel()
            xgb = XGBoostClassier()
            #ann = SequantialNeuralClassifier()

            lr_pred = lr.predict(code, data[features])
            svc_pred = svc.predict(code, data[features])
            rf_pred = rf.predict(code, data[features])
            xgb_pred = xgb.predict(code, data[features])
            #ann_pred = ann.predict(code, data[features])

            k_data_predict_log_dao.insert(code,
                                          logistic_regression=lr_pred,
                                          support_vector_classifier=svc_pred,
                                          random_forest_classifier=rf_pred,
                                          xgb_classifier=xgb_pred,
                                          sequantial_neural=0)
            logger.debug('predict end, code:%s' % code)

        except Exception as e:
            logger.error("predict k data error, code:%s, error:%s" %
                         (code, repr(e)))
Esempio n. 3
0
def training_k_data(start, end):
    df = stock_pool_dao.get_list()
    codes = df['code'].values[start:end]
    for code in codes:
        try:
            logger.debug('begin training mode, code:%s' % code)
            data, features = k_data_dao.get_k_data_with_features(
                code, '2015-01-01',
                datetime.now().strftime("%Y-%m-%d"))

            pca = PCAModel('k_data')
            lr = LogisticRegressionClassifier()
            svc = SupportVectorClassifier()
            rf = RandomForestClassifierModel()
            xgb = XGBoostClassier()
            #ann = SequantialNeuralClassifier()

            pca.training_model(code, data, features)
            lr.training_model(code, data, features)
            svc.training_model(code, data, features)
            rf.training_model(code, data, features)
            xgb.training_model(code, data, features)
            #ann.training_model(code, data, features)

            logger.debug('training mode end, code:%s' % code)
        except Exception as e:
            logger.error("training k data error, code:%s, error:%s" %
                         (code, repr(e)))
Esempio n. 4
0
def code_muning():
    code_list = stock_pool_dao.get_list().values.tolist()
    # code_list = ['a', 'b', 'c', 'd', 'e']
    lenth = len(code_list) - 1
    pair_sets = []

    for i in range(0, lenth, 1):
        for j in range(lenth, 0, -1):
            if i == j or j < i:
                continue
            code1 = code_list[i][0]
            code2 = code_list[j][0]
            pair_sets.append((code1, code2))

    # print(pair_sets)
    # print(len(pair_sets))
    return pair_sets
Esempio n. 5
0
def cal_stock_pool():
    df_poll = stock_pool_dao.get_list()
    code_list = list(df_poll['code'].values)
    w_data_list = k_data_weekly_dao.get_multiple_k_data(code_list,
                                                        start='2013-01-01',
                                                        end=get_current_date())
    k_data_list = k_data_dao.get_multiple_k_data(code_list=code_list,
                                                 start=get_next_date(-720),
                                                 end=get_current_date())

    # k_data_list = k_data_list.set_index('code', inplace=True)

    # k_data_list = k_data_dao.get_market_snapshot(code_list=code_list, futu_quote_ctx=futu_quote_ctx)
    matched = []
    for code in code_list:
        rs = cal_single_stock(code, k_data_list, w_data_list)
        if rs is True:
            matched.append(code)

    print("matched:%s" % matched)
Esempio n. 6
0
    def test_get_list(self):
        df = stock_pool_dao.get_list()

        print(df)
Esempio n. 7
0
    ma10 = data['ma10'].values[-1]
    ma5 = data['ma5'].values[-1]
    if price < ma5:
        return None, None, None

    if price < 4:
        return None, None, None

    label, k, d = cal_signal(data)

    return label, k, d


if __name__ == '__main__':

    df_pool = stock_pool_dao.get_list()

    data = pd.DataFrame(columns=[
        'code', 'date', 'name', 'bk_code', 'bk_name', 'k', 'd', 'label'
    ])

    list = []
    for index, row in df_pool.iterrows():
        code = row['code']
        logger.debug("execute code:%s" % code)
        try:
            label, k, d = cal_single_stock(code)

            if label is None:
                continue
Esempio n. 8
0
    def init(self, context):
        super(KDJStrategy, self).init(context)

        context.pool = stock_pool_dao.get_list()['code'].values
        self.context = context