Beispiel #1
0
def get_today_more_data_for_MLP(code):
    '''
    :param code:股票代码
    :return: 今日预测的X
    '''
    import numpy as np
    stock_data_path = "./data/stock_data/"
    open_price, oneDayLine, volume, ma5, vma5, turnover, dates = load_fq_open_close_volume_ma5_vma5_turnover_from_tushare(
        stock_data_path + str(code) + '_fq.csv')


    if (str(code)[0] == '6'):
        # 上证指数
        open_index, close_index, volume_index, ma5_index, vma5_index, dates_index = load_index_open_close_volume_ma5_vma5_from_tushare(
            stock_data_path + '../sh.csv')
    else:
        # 深证指数
        open_index, close_index, volume_index, ma5_index, vma5_index, dates_index = load_index_open_close_volume_ma5_vma5_from_tushare(
            stock_data_path + '../sz.csv')
    daynum = 5
    X_clf = []
    ef = Extract_Features()


    for i in range(daynum, len(dates)):
        #以大盘为标准
        p = dates_index.index(dates[i])
        # 组装数据
        X_delta = [(oneDayLine[k] - oneDayLine[k - 1]) / oneDayLine[k - 1] for k in range(i - daynum, i)] + \
                  [(volume[k] - volume[k - 1]) / volume[k - 1] for k in range(i - daynum, i)] + \
                  [turnover[k] for k in range(i - daynum, i)] + \
                  [(ma5[i] - ma5[i - 1]) / ma5[i - 1]] + \
                  [(vma5[i] - vma5[i - 1]) / vma5[i - 1]] + \
                  [(open_index[p] - open_index[p - 1]) / open_index[p - 1]] + \
                  [(close_index[p] - close_index[p - 1]) / close_index[p - 1]] + \
                  [(volume_index[p] - volume_index[p - 1]) / volume_index[p - 1]] + \
                  [(ma5_index[p] - ma5_index[p - 1]) / ma5_index[p - 1]] + \
                  [(vma5_index[p] - vma5_index[p - 1]) / vma5_index[p - 1]] + \
                  covert_bin(ef.parse_weekday(dates[i]), 3) \
                  # + [(ef.MoneySupply(dates[i]) - ef.MoneySupply(dates[i - 22])) / ef.MoneySupply(dates[i - 22])]
        # covert_bin(ef.lunar_month(dates[i]), 5) + \
        if i == 5:
            X_delta[0] = X_delta[5] = 0.0  # 调整第一个百分比
        X_clf.append(X_delta)
    X_clf = preprocessing.MinMaxScaler().fit_transform(X_clf)
    # return np.array(X_clf)
    return X_clf[-1]