Как оптимизировать портфель, когда данные о запасах, составляющие портфель, имеют разные периоды? - PullRequest
0 голосов
/ 11 октября 2018

У меня есть ежедневные данные о ценах закрытия с разными периодами друг от друга.Продолжительность каждых данных составляет всего 5 лет, но значения NAN генерируются в одних данных различной длины (периодов), как показано в следующем примере.пример:

enter image description here

Я использовал эти данные для оптимизации портфеля в Python со следующим кодом:

#return calculations  
rets = np.log(data/data.shift(1))

#constraints and bounds 
cons = ({'type':'eq','fun':lambda x: np.sum(x)-1})
bnds = tuple((0,1) for x in range(num))

def statistics(weights):
    weights = np.array(weights)
    pret = np.sum(rets.mean()*weights)*252
    pvol = np.sqrt(np.dot(weights.T,np.dot(rets.cov()*252,weights)))
    return np.array([pret,pvol,pret/pvol])

def min_func_sharpe(weights):
    return -statistics(weights)[2]

opts = sco.minimize(min_func_sharpe,num*[1./num,],method='SLSQP',bounds=bnds,constraints=cons)

opts['x']

#result
array([0.21735331, 0.33533359, 0.06560927, 0.38170383, 0.        ])

#expected_return,expected_volarity,shape_ratio
statistics(opts['x']) 

В этомСитуация У меня есть несколько вопросов.

Q1

Влияют ли значения NAN в данных, которые составляют портфель, на расчеты возврата или результаты оптимизации?

Q2

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

Q3

Как вы можете сделать портфельоптимизация в R с данными разного периода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...