Как исправить ошибку типа: неподдерживаемые типы операндов для *: ‘method’ и ‘float’

#python

#python

Вопрос:

Я продолжаю получать эту ошибку при попытке запустить этот код. Я не студент CS и не имею опыта в программировании, но мой профессор решил, что было бы неплохо предоставить нам проект, который требует высокого уровня знаний в области программирования. Я понятия не имею, что я могу сделать, чтобы это исправить.

 TypeError                                 Traceback (most recent call last)
<ipython-input-11-851da82dbe8c> in <module>()
     18   weights /= np.sum(weights)
     19   portfolio_return = np.sum(mean_returns * weights) * 252
---> 20   portfolio_std_dev = np.sqrt(np.dot(weights.T,np.dot(cov_matrix, weights))) * np.sqrt(252)
     21   results[0,i] = portfolio_return
     22   results[1,i] = portfolio_std_dev

TypeError: unsupported operand type(s) for *: 'method' and 'float'
 

Редактировать: вот более полный код:

 import pandas_datareader.data as web 
import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt 

stocks = ['AMZN','V','K','GOOG','MSFT','JPM','GS','C','AMD','LOW','VZ','GE',
         'FB','AXP','AAPL','TSLA','PSX','NFLX','DG','BABA']
num_stocks = len(stocks)
data = web.DataReader(stocks,data_source='yahoo',start='01/01/2010')['Adj Close']
data = data.pct_change()
mean_returns = data.mean()
cov_matrix = data.cov
num_portfolios = 25000
results = np.zeros((3 num_stocks,num_portfolios))

for i in range(num_portfolios):
  weights = np.array(np.random.random(num_stocks))
  weights /= np.sum(weights)
  portfolio_return = np.sum(mean_returns * weights) * 252
  portfolio_std_dev = np.sqrt(np.dot(weights.T,np.dot(cov_matrix, weights))) * np.sqrt(252)
  results[0,i] = portfolio_return
  results[1,i] = portfolio_std_dev
  results[2,i] = results[0,i] / results[1,i]
  results[3:,i] = weights     
 

Комментарии:

1. Можете ли вы опубликовать весь фрагмент кода целиком? Трудно точно сказать, что происходит не так

2. У меня такое чувство, что вы, возможно, случайно присвоили одной из функций псевдоним с именем переменной

3. я предполагаю, что эта cov_matrix — это какая-то функция.

4. Я добавил полный код для большего контекста