示例#1
0
    df_start_date = temp_raw_df.Date[0]
    lastRow = temp_raw_df.shape[0]
    df_end_date = temp_raw_df.Date[lastRow-1]
    
    feat_df = dSet.set_date_range(temp_raw_df, df_start_date, df_end_date)
    # Resolve any NA's for now
    feat_df.fillna(method='ffill', inplace=True)
    
    #set beLong level
    beLongThreshold = 0.000
    feat_df = ct.setTarget(temp_raw_df, "Long", beLongThreshold)

    # Adding features with new day
    input_dict = sysUtil.get_dict(system_directory, 'input_dict')
    feat_df = featureGen.generate_features(feat_df, input_dict)
    feat_df = transf.normalizer(feat_df, 'Volume', 50)
    
    col_vals = [k for k,v in feature_dict.items() if v == 'Drop']
    to_drop = ['Open','High','Low', 'gainAhead', 'Close', 'Volume', 'AdjClose', 'beLong']
    for x in to_drop:
        col_vals.append(x)
    model_data = dSet.drop_columns(feat_df, col_vals)
    
    # Retrieve model
    best_model_name = "SVM"
    best_model_segment = "segment-0"
    #best_model_name = system_dict["best_model"]
    file_title = "fit-model-" + best_model_name + "-IS-" + system_name + "-" + best_model_segment +".sav"
    file_name = os.path.join(system_directory, file_title)
    model = pickle.load(open(file_name, 'rb'))
    
示例#2
0
            'transform': ['Normalized', 50]
        },
        'f5': {
            'fname': 'UltimateOscillator',
            'params': [10, 20, 30],
            'transform': ['Normalized', 50]
        },
        'f6': {
            'fname': 'ROC',
            'params': [30],
            'transform': ['Normalized', 50]
        }
    }
    dataSet = featureGen.generate_features(dataSet, input_dict)

    dataSet = transf.normalizer(dataSet, 'Volume', 50)

    # save Dataset of analysis
    print("====Saving dataSet====\n")
    modelname = 'RF'
    file_title = issue + "_insample_feature_dataSet_" + modelname + ".pkl"
    file_name = os.path.join(
        r'C:\Users\kruegkj\Documents\GitHub\QuantTradingSys\Code\models\model_data',
        file_title)
    dataSet.to_pickle(file_name)

    # set date splits
    isOosDates = timeUtil.is_oos_data_split(issue, pivotDate, is_oos_ratio,
                                            oos_months, segments)
    dataLoadStartDate = isOosDates[0]
    is_start_date = isOosDates[1]