我试图将股票回报的平均值与基准进行比较,到目前为止,我的代码如下所示:
index = ['^GSPC']
tickers = ['CAT','AAPL']
stocks = tickers + index
start = dt.datetime(2017,1,1)
end = dt.datetime(2017,6,30)
def excess_movement_plot(stocks):
f = web.get_data_yahoo(tickers,start,end)
cleanData = f.loc['Adj Close']
dataFrame = pd.DataFrame(cleanData)
stock_return = dataFrame.pct_change()
return plt.plot(stock_return[stocks])
到目前为止,图表显示了三行,但我希望它只显示2 - 代码的平均值(AAPL和CAT)和S&P(^ GSPC)
我试过这两个但收效甚微。
stock_return[['AAPL', 'CAT']].mean(axis=0)
stock_return.merge('AAPL', 'CAT')
我认为你应该使用axis=1
,而不是0
。
df['Average'] = df[['B', 'C']].mean(axis=1)
df.head()
A B C Average
0 0.622956 -1.268788 0.160945 -0.553922
1 0.934346 -0.218623 -1.431491 -0.825057
2 0.311257 1.804876 1.791297 1.798086
3 1.264148 0.811027 0.229493 0.520260
4 -0.468134 -2.323339 0.151989 -1.085675