Пример #1
0
        print("Positive and negative movement in test data outcome.")
        print(y_test.value_counts())

        dp.apply_logistic_regressor(X_train, y_train, X_test, y_test)
        dp.apply_svc(X_train, y_train, X_test, y_test)
        dp.apply_knn(X_train, y_train, X_test, y_test)
        dp.apply_random_forest(X_train, y_train, X_test, y_test)

        parameters = {'kernel': ('linear', 'rbf'), 'C': [1, 10, 100, 1000]}
        bp=dp.select_best_param_svc(X_train, y_train, parameters)
        dp.apply_svc(X_train, y_train, X_test, y_test, kernel='rbf', C=1)
        dp.apply_svc(X_train, y_train, X_test, y_test, kernel='linear', C=1)


        symbol = 'CNX-NIFTY'
        bars = d.fetch_data_from_yahoo('^NSEI', start_test, end_date)

        X_train, y_train, X_test, y_test = dp.partition_data(merged_data, len(bars))

        predict_svc = dp.get_svc_prediction(X_train, y_train, X_test, kernel=bp['kernel'], C=bp['C'])
        signals_svc = pd.DataFrame(index=bars.index)
        signals_svc['signal'] = 0.0
        signals_svc['signal'] = predict_svc
        signals_svc['positions'] = signals_svc['signal'].diff()
        portfolio_svc = MarketIntradayPortfolio(symbol, bars, signals_svc)
        returns_svc = portfolio_svc.backtest_portfolio()


        predict_rf = dp.get_randomforest_prediction(X_train, y_train, X_test, 50)
        signals_rf = pd.DataFrame(index=bars.index)
        signals_rf['signal'] = 0.0