numpy np.dot - 未应用于输入

x4shl7ld  于 2023-01-20  发布在  其他
关注(0)|答案(1)|浏览(97)

尝试使用np.dot函数将年回报乘以投资组合中的权重,以返回投资组合绩效

import numpy as np
import pandas as pd
from pandas_datareader import data as pdr
import matplotlib.pyplot as plt
import yfinance as yf
yf.pdr_override()
y_symbols = ['PG','MSFT', 'F', 'GE']
from datetime import datetime
startdate = datetime(1995,1,3)
enddate = datetime(2017,3,24)
data = pdr.get_data_yahoo(y_symbols, start =startdate, end =enddate)['Adj Close']

returns = (data/data.shift(1)) - 1

annual_returns = returns.mean() * 252
annual_returns
F       0.118506
GE      0.127551
MSFT    0.197452
PG      0.129486
dtype: float64

weights = np.array([0.4, 0.4, 0.15, 0.05])

np.dot = (annual_returns, weights)

(F       0.118506
 GE      0.127551
 MSFT    0.197452
 PG      0.129486
 dtype: float64,
 array([0.4, 0.4, 0.15, 0.05])

期望看到每只股票 * 权重的平均年回报率
你知道为什么这里没有一个平均值吗?

huus2vyu

huus2vyu1#

将www.example.com的值设置np.dot为元组,应该通过调用np.dot(annual_returns,weights)来进行函数调用

相关问题