返回顶部
首页 > 资讯 > 后端开发 > Python >python金融风险管理回报率实例分析
  • 430
分享到

python金融风险管理回报率实例分析

2024-04-02 19:04:59 430人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“python金融风险管理回报率实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python金融风险管理回报率实例分析”吧!波动率在

这篇文章主要讲解了“python金融风险管理回报率实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python金融风险管理回报率实例分析”吧!

波动率

在金融工程中,要把问题放到风险收益两个坐标轴组成的坐标系中进行考虑。

python金融风险管理回报率实例分析

波动率作为衡量金融资产价格波动程度的一个指标,反映出了资产收益的不确定性以及风险水平。

回报率

  • 投资回报率

回报率较为宽泛,比如财报中常见的投资回报率(Retrun On Investment ROI)就是其中一种,而投资回报率顾名思义就是投资的增量,也就是净回报(net return): $$Return =  \frac{Value_f - Value_i}{Value_i}$$

$Return$ 为投资回报率, $Value_f$ 为期末资产额,$Value_i$ 为期初投资额

  • 损益

只考虑工作日情形,$t$ 时刻股价为 $S_t$, $t-i$ 时刻股价为 $S_{t-i}$,当已知$t$时刻与$t-1$时刻股价,就可以计算出损益(Profit and Loss, PnL, P&L): $$PnL_t = S_t - S_{t-1}$$ 显然,当 $PnL_t > 0$,投资者会在 $t$ 时刻买入,$t-i$ 时刻卖出

  • 简单回报率 在不考虑分红的情况下

    • 单日简单回报率有: $$r_t =  \frac{S_t - S_{t-1}}{S_{t-1}}$$

    • 多日简单回报率有: $$r_t =  \frac{S_t - S_{t-k}}{S_{t-k}}$$ $k$ 为5时表示周简单回报率,$k$ 为10 时为双周简单回报率, $k$ 为20时表示月简单回报率

  • 对数回报率

$$r_t = ln \frac{S_t}{S_{t-1}} = lnS_t-lnS_{t-1}$$ 对数回报率实质上是连续回报率,它在数学建模中更为常见,因为更加稳定

  • 实例

import numpy as np
import pandas_datareader

# 获取亚马逊2021年12月21日至2021年12月28日的股票价格数据
ticker = 'AMZN'
stock = pandas_datareader.data.DataReader(ticker, data_source="yahoo", start="12-21-2021", end="12-28-2021")["Adj Close"]
print(stock)

# 计算ROI
returns_daily = (stock / stock.shift(1)) - 1
print(returns_daily)

# 计算日简单回报率
returns_daily = stock.pct_change()
print(returns_daily)

# 计算对数回报率
log_return_daily = np.log(stock / stock.shift(1))
print(log_return_daily)
  • 累计回报率

为了计算投资总回报,经常要使用到累计回报率(cumulative return) ,python中可以利用cumprod函数实现

python金融风险管理回报率实例分析

可以看到,2020年收到新冠疫情影响,股价受挫严重

import pandas_datareader 
import matplotlib.pyplot as plt

# sp500 price
sp500 = pandas_datareader.data.DataReader(['sp500'], data_source='fred', start='09-11-2012', end='09-11-2022')
# plot sp500 price
plt.plot(sp500['sp500'], color='dodgerblue')
plt.title('S&P 500 price')
plt.xlabel('Date')
plt.ylabel('Price')
plt.GCa().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().yaxis.set_ticks_position('left')
plt.gca().xaxis.set_ticks_position('bottom')
  • 分红收益率 当考虑到分红的时候,有股票回报率为: $$y_t = \frac{S_t-S_{t-1}+D_t}{S_{t-1}}$$ 其中 D 为分红收益率,而在回报率已知,可以计算出投资损益为: $$Q_t = A_t\frac{S_t-S_{t-1}}{S_{t-1}}$$

感谢各位的阅读,以上就是“python金融风险管理回报率实例分析”的内容了,经过本文的学习后,相信大家对python金融风险管理回报率实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: python金融风险管理回报率实例分析

本文链接: https://lsjlt.com/news/98961.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python金融风险管理回报率实例分析
    这篇文章主要讲解了“python金融风险管理回报率实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python金融风险管理回报率实例分析”吧!波动率在...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作