Ошибка checkData(R)

Ребята, подскажите пожалуйста в чем ошибка. Данные конверитируются в txt и уже txt формат обрабатывается R в коде.

Данные которые обрабатываются в txt прикрепляю изображением введите сюда описание изображения

Ошибка в строке

opt_maxret <- optimize.portfolio(R=returns, portfolio=portf_maxret,
                                 optimize_method="ROI", trace=TRUE)

Error in checkData(R) : The data cannot be converted into a time series. If you are trying to pass in names from a data object with one column, you should use the form 'data[rows, columns, drop = FALSE]'. Rownames should have standard date formats, such as '1985-03-15'.

data1$X = ymd(data1$X)

    returns <- data1[, 2:9]
    colnames(returns) <- c("AT", "AmExpress", "Colgate", "CocaCola", "Ford", "Goodyear", "IBM", "McDonalds")
    print(head(returns, 5))
    
    funds <- colnames(returns)
    
    # Create portfolio object
    portf_maxret <- portfolio.spec(assets=funds)
    # Add constraints to the portfolio object
    portf_maxret <- add.constraint(portfolio=portf_maxret, type="full_investment")
    # Add objective to the portfolio object
    portf_maxret <- add.objective(portfolio=portf_maxret, type="return", name="mean")
    
    print(portf_maxret)
    
    summary(portf_maxret)
    
    # Run the optimization
    opt_maxret <- optimize.portfolio(R=returns, portfolio=portf_maxret,
    optimize_method="ROI", trace=TRUE)
    print(opt_maxret)
    summary(opt_maxret)
    plot(opt_maxret, chart.assets=TRUE, xlim=c(0.02, 0.18))

Ответы (0 шт):