当构成投资组合的股票数据具有不同时期时,如何优化投资组合?

时间:2018-10-11 09:06:03

标签: python r optimization portfolio

我有彼此不同时期的每日收盘价数据。每个数据的持续时间总计为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值是否会影响收益计算或优化结果?

第二季度

在上述情况下,最后一次库存数据已更改,以便检查可能的投资组合案例的数量。 随着我的进步,我得到了与初始优化结果相同的优化结果,并且我想知道为什么得到这些结果。

第三季度

如何用不同时期的数据在R中进行投资组合优化?

0 个答案:

没有答案