Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python3.x进行简单的投资组合优化计算?_Python_Python 3.x - Fatal编程技术网

如何使用Python3.x进行简单的投资组合优化计算?

如何使用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'

我认为下面的代码非常接近,但我得到了以下错误: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)

我过去常常从雅虎金融公司(Yahoo finance)获取数据,一切正常。现在,在一年多没有接触到这一点之后,我正在玩代码,并试图从非雅虎来源输入历史日终价格,然后进行投资组合优化计算。有什么想法吗?一如往常,谢谢。

旁白:
.ix
访问权现在已贬值。使用
.loc
.iloc
代替。谢谢,我刚刚做了更新。我还没到那个地步。问题发生在循环中。循环似乎有一些问题。