承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 画有效边界

python 画有效边界

管理员 2023-06-24 07:48:20 软件开发 11 ℃ 0 评论 2119字 收藏

python 画有效边界

Python是一种功能强大的编程语言,可以处理各种任务。其中之一就是绘制有效边界。有效边界指的是在给定的资源束缚下,可以实现最大化收益或最小化风险的点集,被称为投资组合。本文将介绍怎样使用Python绘制有效边界。

# 导入所需的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv('data.csv')
# 计算股票收益率的均值和协方差
returns = data.pct_change().mean()
covariance = data.pct_change().cov()
# 定义一个函数,用于计算投资组合收益率和风险
def portfolio_return(weights, returns):
return np.sum(weights * returns)
def portfolio_risk(weights, covariance):
return np.sqrt(np.dot(weights.T, np.dot(covariance, weights)))
# 生成随机权重,并计算对应的收益率和风险
def random_weights(n):
weights = np.random.rand(n)
weights /= np.sum(weights)
return weights
def get_portfolio(weights, returns, covariance):
portfolio_return = portfolio_return(weights, returns)
portfolio_risk = portfolio_risk(weights, covariance)
return [portfolio_return, portfolio_risk]
# 绘制有效边界图形
def get_efficient_frontier(returns, covariance, points):
portfolios = []
for i in range(points):
weights = random_weights(len(returns))
portfolios.append(get_portfolio(weights, returns, covariance))
portfolios = np.array(portfolios)
plt.scatter(portfolios[:,1], portfolios[:,0], marker='o', s=10, alpha=0.3)
plt.xlabel('Risk')
plt.ylabel('Return')
plt.show()
get_efficient_frontier(returns, covariance, 5000)

在以上代码中,我们使用了numpy、pandas和matplotlib等库。其中,data.csv包括了我们所需的数据。通过pandas库中的pct_change()方法计算股票的收益率均值和协方差。然后,我们定义了计算投资组合收益率和风险的两个函数。随机生成权重,并通过get_portfolio()函数计算相应的投资组合收益率和风险。最后,我们绘制了有效边界图形,并使用5000个点进行摹拟,展现了区别收益率和风险的投资组合。

文章来源:丸子建站

文章标题:python 画有效边界

https://www.wanzijz.com/view/58698.html

TAG: css 边界python

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信