小白一枚,金融大数据分析作业,顺便总结一下。

下面的数据以中国银行股票为例,其他股票的而分析方法类似。编程工具:Jupyter notebook

1. 导入数据分析包并设置好绘图工具属性

import pandas as pd
import matplotlib.pyplot as plt
import ffn  #金融计算包
import tushare as ts#获取金融数据的工具包
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei']  #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  #用来正常显示负号

2. 获取股票数据

tushare工具包可以获取股票数据,获取的数据一般只能是最近几年的股价数据。更早的数据获取不到,可以换用pandas的数据获取包。

chinaBank = ts.get_hist_data('601988', '2018-01-01', '2019-01-01')  #中国银行
chinaBank = chinaBank.sort_values(by='date', ascending=True)  #数据转化为升序
Close = chinaBank.close
Close.head()

3. 收益率

3.1 一期收益率

在计算之前,一定要确保日期索引是dataTime类型,否则可能出现计算出错的问题。

#将索引值变换成日期型数据(datetime),
Close.index = pd.to_datetime(Close.index)
#收盘价格滞后一期,第一位数据由于没有前项,值会变为NaN
lagClose = Close.shift(1)
#将收盘价格与滞后一期的收盘价格合并,转换成DataFrame数据
Close_hebing = pd.DataFrame({"Close": Close, "lagClose": lagClose})
Close_hebing.head()
#收益率
simpleret = (Close - lagClose) / lagClose
simpleret.name = 'simpleret'
#中国银行一期收益率
simpleret.head()  #每天的收益率

3.2 二期收益率

#二期收益率
simpleret2 = (Close - Close.shift(2)) / Close.shift(2)
simpleret2.name = 'simpleret2'
simpleret2.head()

3.3 单期收益率曲线图

plt.figure(figsize=(10, 6))
simpleret.plot()

作图的结果如下:

3.4 累积(多期)收益率曲线图

第二行代码的表达式是多期收益率的表达式,多期表达式与一期收益率有一个近似的函数表达式,具体推导需要自行百度一下相关证明。

plt.figure(figsize=(10, 6))
((1 + simpleret).cumprod() - 1).plot()  #累乘cumprod并绘图

4 年化收益

计算年化收益前需要获得每日的日收益,年收益的计算公式代码里面已经附上。

#累加cumsum和累乘cumprod
#年华收益率计算公式:[(1+r1)*(1+r2)*...(1+rn)]**(n/m),n为一年股票交易天数,m为大盘交易天数
annualize = (1 + simpleret).cumprod()[-1]**(245 / 311) - 1
print("中国银行2018年年收益:" + str(annualize))

5 风险度量

5.1 度量方式1——方差度量风险

方差度量风险,相当于是数据的稳定性,这里转化为收益的稳定性。

returnS = ffn.to_returns(chinaBank.close).dropna() #计算一期收益率
print("中国银行方差风险:" + str(returnS.std()**2)) #std()函数是标准差,需要平方

5.2 度量方式1——下行风险

这里自定义了下行风险偏差函数。无风险收益率不仅可以用自身的平均收益率,还可以使用各个典型的银行定期收益率作为无风险收益率。

#下行偏差风险函数,返回值越大则对应的风险越大
def cal_down_risk(returns):mu = returns.mean()#无风险利率,这里取平均值temp = returns[returns < mu]down_risk = (sum((mu - temp)**2) / len(returns))**0.5return (down_risk)
print("下行风险:" + str(cal_down_risk(returnS)))

【金融数据分析】基于python实现收益率和风险分析相关推荐

  1. python商业分析_科研进阶 | 纽约大学 | 商业分析、量化金融:基于Python的商业分析工具...

    科研进阶 | 纽约大学 | 商业分析.量化金融:基于Python的商业分析工具(8.22开课)​mp.weixin.qq.com 课题名称 = 基于Python的商业分析工具 = 项目背景 数据分析为 ...

  2. 金融数据分析:股票日收益率5日均值【python】

    下载数据 国内有很多开源的金融数据库,下面以锐思数据库为例: 读取数据

  3. python金融工程的工具包_金融工程及其Python应用

    目 录 第1章 金融工程导论 1 1.1 金融工程的概念 2 1.2 国外现代主流金融理论发展历程 2 1.3 国内金融的发展 3 1.4 现代主流金融理论简介 4 1.4.1 投资组合理论 4 1. ...

  4. 金融工程及其python应用pdf_金融工程及其Python应用

    金融工程及其Python应用 编辑 锁定 讨论 上传视频 <金融工程及其Python应用>是2019年1月清华大学出版社出版的图书,作者是朱顺泉. 书    名 金融工程及其Python应 ...

  5. 基于Python的基金定投分析: 通过获取过去10年的股市数据分析基金定投的收益率。

    视频:基于python的基金定投以及优化定投策略-jupyter_哔哩哔哩_bilibili ## 基于Python的基金定投分析 通过获取过去10年的股市数据分析基金定投的收益率. #### 首先, ...

  6. python金融数据分析电子版_python 金融大数据分析 pdf

    书籍:Python金融大数据分析 Python for Finance_ Mastering Data-Driven Finance 2nd - 2019.pdf 简介 金融业最近以极高的速度采用了P ...

  7. Python金融数据分析入门到实战-视频课程

    大家好!很荣幸能够在CSDN上和各位同学分享这门课程. 本课程的核心为Python金融数据的分析,首先课程提取了数据分析工具NumPy.Pandas及可视化工具Matplotlib的关键点进行详细讲解 ...

  8. 金融python入门书籍_零基础想系统地学习金融学、量化投资、数据分析、python,需要哪些课程、书籍?有哪些证书可以考?...

    7.10更新,最近写了关于量化交易的一些文章: -------------------------分割------------------------- 感谢大家的支持!我要把下文当中视频全部放出来给 ...

  9. 金融数据分析用哪些分析软件Python,R还是SQL?

    前言 [金融数据分析]建议使用Python + SQL 首先,Python和R都适合做金融数据分析,但Python在市场欢迎度.易学程度.库生态丰富度.接口拓展性等上面都表现更好,学习性价比更高 其次 ...

最新文章

  1. c#垂直投影法_投影学
  2. Leetcode--128. 最长连续序列
  3. springboot使用redis(StringRedisTemplate的常用方法)
  4. application terminated怎么解决_优雅解决 SpringBoot 工程中多环境下 application.properties 的维护问题...
  5. 基于visual Studio2013解决面试题之0909移动星号
  6. 怎样成为优秀软件模型设计者
  7. OpenLayers geojson 进行展示矢量标签展示
  8. 如何按行政区划下载谷歌地图并裁剪
  9. python博弈论_基于原生python的进化博弈实现
  10. python化学公式配平_配平化学方程式的C++代码实现
  11. B站最近很火的damedane,unravel图片唱歌
  12. 优秀架构师是如何学习开源项目的?
  13. linux时间为什么没有北京,Linux时区选择为何没有北京?
  14. SUV世家广汽三菱,牵手微信企业号打造学习型企业
  15. 安装net-speeder,加速***
  16. PostScript(PS 格式)讲解
  17. 宁向东管理课:自我力
  18. Unity Google Android登录接入
  19. CVPR 2021 | Involution:超越卷积和自注意力的神经网络新算子
  20. docker-compose部署shadowscoks server

热门文章

  1. Vitu.AI正式推出国际版,目标为全球用户提供数字资产数据和研究服务
  2. GetDlgItem所获取CWnd*的时效性
  3. Unity3D棋盘游戏实战入门——2D智力拼图-伍晓波-专题视频课程
  4. 数据分析药店销售项目
  5. 区块链私有链环境搭建
  6. 扎心话题 | 设计院背后的潜规则你知道吗?
  7. WebRTC 简单入门与实践
  8. SLAM面试总结...
  9. 微信10亿日活场景下,微服务架构实践!15页PPT全解
  10. Linux ELF文件