如何使用Python3.x进行简单的投资组合优化计算?
我认为下面的代码非常接近,但我得到了以下错误:ValueError:无法设置没有定义索引的帧和无法转换为序列的值 这是我的代码示例如何使用Python3.x进行简单的投资组合优化计算?,python,python-3.x,Python,Python 3.x,我认为下面的代码非常接近,但我得到了以下错误:ValueError:无法设置没有定义索引的帧和无法转换为序列的值 这是我的代码示例 import numpy as np import pandas as pd pd.core.common.is_list_like = pd.api.types.is_list_like import pandas_datareader as web import quandl quandl.ApiConfig.api_key = 'api_key_here'
import numpy as np
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader as web
import quandl
quandl.ApiConfig.api_key = 'api_key_here'
# get the table for daily stock prices and,
# filter the table for selected tickers, columns within a time range
# set paginate to True because Quandl limits tables API to 10,000 rows per call
symbols = ['AAPL', 'MSFT', 'WMT']
noa = len(symbols)
data = pd.DataFrame()
for sym in symbols:
data[sym] = quandl.get_table('WIKI/PRICES', ticker = ['AAPL', 'MSFT', 'WMT'],
qopts = { 'columns': ['ticker', 'date', 'adj_close'] },
date = { 'gte': '2015-12-31', 'lte': '2016-12-31' },
paginate=True)
data.columns = symbols
(data / data.ix[0] * 100).plot(figsize=(8, 5))
rets = np.log(data / data.shift(1))
rets.mean() * 252
rets.cov() * 252
weights = np.random.random(noa)
weights /= np.sum(weights)
print(weights)
我过去常常从雅虎金融公司(Yahoo finance)获取数据,一切正常。现在,在一年多没有接触到这一点之后,我正在玩代码,并试图从非雅虎来源输入历史日终价格,然后进行投资组合优化计算。有什么想法吗?一如往常,谢谢。旁白:
.ix
访问权现在已贬值。使用.loc
或.iloc
代替。谢谢,我刚刚做了更新。我还没到那个地步。问题发生在循环中。循环似乎有一些问题。