我认为下面的代码非常接近,但我收到以下错误: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'
# 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)
我曾经从雅虎财经中提取数据,一切正常。现在,在一年多没有接触到这个之后,我正在玩代码,并尝试以非雅虎来源提供历史日终价格,然后进行我的投资组合优化计算。有什么想法吗?一如既往,谢谢。