• 回答数

    3

  • 浏览数

    240

8668神淡淡
首页 > 英语培训 > 权重函数英文

3个回答 默认排序
  • 默认排序
  • 按时间排序

hailanlan75

已采纳

1、权重函数weight:用于为组合中的股票随机分配权重2、投资组合函数portfolio:计算不同权重组合下的期望收益率、方差以及Sharpe比率# 1、定义随机权重函数 def weight(n): w=np.random.random(n) return w/sum(w)weight(5)下面,求Sharpe Ratio最大时的资产比例。首先,我们选取股票组合。#取上证50年化收益排名前五的证券作为投资组合 stock=w.wset("sectorconstituent", "date=2017-01-01; sectorId=1000000087000000").Data[1]startdate='2020-03-01'enddate='2020-11-15' #定义收益率计算函数def ret(stock): error_code,data=w.wsd(stock, "close",startdate, enddate, "",usedf=True) return np.log(data/data.shift(1)) #采用对数收益率计算方法ret(stock).head()# 对上证50所有股票的年化收益率进行排名r=ret(stock).mean()*252 #求年化收益率 r=pd.DataFrame(r,columns=['returns']) r=r.sort_index(axis = 0,ascending = False,by = 'returns') r.head(10)#取出收益率最高的前5名股票建立投资组合 p_stock=list(r[0:5].index.values)p_stock # 绘制股票收盘价走势图 error_code,data=w.wsd(p_stock, "close",startdate, enddate, "",usedf=True) (data/data.ix[0]-1).plot(figsize=(14,7.5)) plt.grid()# 3、optimize是寻找最小值,这里我们求夏普负值的最小值即为夏普最大值 def min_sharpe(w): return -portfolio(returns,w)[2]cons = ({'type':'eq','fun':lambda w:np.sum(w)-1}) res = minimize(min_sharpe,weight(5),bounds=((0,1),(0,1),(0,1),(0,1),(0,1)),constraints = cons) res #最优组合权重,取小数点后三位 weight=res['x'].round(3)weightarray([0.193, 0.803, 0.004, 0. , 0. ])#sharpe 最大时的组合收益、方差以及sharpe p_opt=portfolio(returns,res['x']) p_opt输出结果为:(0.6678337301412707, 0.28040534834834024, 2.2789641278432953)print("可以看出Sharpe最大时的组合最优解是:")print("组合收益:",'%.2f%%' % (p_opt[0] * 100))print("组合标准差(波动率):",'%.2f%%' % (p_opt[1] * 100) )print("组合sharpe:",'%.2f' % (p_opt[2] ) )输出结果为:可以看出Sharpe最大时的组合最优解是;组合收益:66.78%组合标准差(波动率):28.04%组合sharpe: 2.28# 星号构成的曲线是有效前沿(目标收益率下最优的投资组合) plt.figure(figsize = (14,8)) #圆圈:蒙特卡洛随机产生的组合分布 plt.scatter(p_std, p_mean, c=p_sharpe, marker = 'o') #最小方差组合 plt.scatter(t_std,t_returns, c = (np.array(t_returns)-r_f)/t_std,marker = '*') #有效前沿 plt.plot(e_std,e_returns,'r.',markersize=5) #画出Sharpe最大时的点 plt.plot(portfolio(returns,res['x'])[1],portfolio(returns,res['x'])[0],'r*',markersize=20) plt.grid(True) plt.xlabel('std') plt.ylabel('mean') plt.colorbar(label = 'Sharpe') plt.title('Mean and Std of Returns')

权重函数英文

337 评论(13)

爱中爱帼

其实这段英文写的就很形象,我先翻译一下吧。权重函数是在加和、平均、整合或其他运算中为了突出某个元素比其它元素“重”而引入的数学概念。经常用于数理统计和分析以及与测量休戚相关的学科中。权重函数可以是离散的(非线性),也可以是线性的。举个例子来说吧,假定在六方会谈中,中国、美国和朝鲜的影响最大,日本、俄罗斯和韩国次之,那么就是说在这个问题上,“权”并不是平均分配给六方的,而是中、美、朝占大部分,即中、美、朝的权重大,而后三者的影响力占小部分,所以他们的权重小,所以当讨论问题的时候,权重方的问题优先考虑,同样在数理问题中,权重代表重要层次的差别,不知道这样说清不清楚。

127 评论(11)

小蝎子七七

权重函数就好像大家投票表决,公平的时候是一票顶一票,谁投的票都一样。可是有时候,不是一票顶一票,比如老板想让他投的票分量比别人重(比如一票顶2票),就需要用上权重函数。权重函数给于老板那一票特别重的权重(分量)。计算学生成绩的“加权平均”也是这个道理。

343 评论(14)

相关问答