1

我正在尝试优化 python 中的投资组合。使用pandas我已从 Yahoo! 拉取收盘价!财务并计算我每项资产的标准差。我还创建了一本字典,其中包含我持有的每种资产的数量。

# create a dataframe housing the above
X = DataFrame({'GOOGLE':GOOG, 'APPLE':AAPL, 'CAT':CAT, 'SPDR GOLD':GOLD,
 'OIL':OIL, 'Natural Gas':GAS, 'Dollar Index':USD, 'GoldmanSachs': GS, 'Dominion': DOM})

# define weights of each asset held
weights = {'GOOGLE':.2,
'APPLE':.1, 
'CAT':.1, 
'SPDR GOLD':.05,
'OIL':.1, 
'Natural Gas':.1, 
'Dollar Index':.05,   
'Dominion':.1,
'GoldmanSachs':.2}

将每种资产的权重乘以它们的收盘价和标准差,并将结果列表相加,我创建了我的目标和约束。

    for keys in weights:
        buyin.append(X[keys][0]* weights[keys])
        STD.append([std[keys] * weights[keys]]) #std is a pandas dataframe of std dev
        current.append(X[keys][m-1]* weights[keys])

    STD = sum(STD)
    profit = sum(current) - sum(buyin)

我想要做的是优化每项资产的权重,以便在最大允许标准偏差的情况下使利润最大化。

有什么建议么?

4

0 回答 0