导入工具:

import pandas as pd
import time
import scipy.stats as scs
import numpy as np
%matplotlib inplace

数据来源tushare

import tushare as ts

ts.pro_bar获取上证综指、上证50、浦发银行、中国建筑的从2010年至今的日线数据:

api=ts.pro_api()
df_SH01=ts.pro_bar(pro_api=api,ts_code='000001.SH',start_date='20100101',end_date=time.strftime('%Y%m%d',time.localtime()),asset='I',freq='D')
df_SH50=ts.pro_bar(pro_api=api,ts_code='000016.SH',start_date='20100101',end_date=time.strftime('%Y%m%d',time.localtime()),asset='I',freq='D')
df_SPDB=ts.pro_bar(pro_api=api,ts_code='600000.SH',start_date='20100101',end_date=time.strftime('%Y%m%d',time.localtime()),asset='E',freq='D')
df_CSCEC=ts.pro_bar(pro_api=api,ts_code='601668',start_date='20100101',end_date=time.strftime('%Y%m%d',time.localtime()),asset='E',freq='D')

看一下获取数据的格式:

df_SH01.head()


我们取其中交易日和收盘价数据:

data1=df_SH01[['trade_date','close']]
data2=df_SH50[['trade_date','close']]
data3=df_SPDB[['trade_date','close']]
data4=df_CSCEC[['trade_date','close']]

以交易日为键值合并DataFrame,重命名列名:

df_gen=data1.merge(data2,on='trade_date',how='outer').merge(data3,on='trade_date',how='outer').merge(data4,on='trade_date',how='outer')
df_gen.columns=['trade_date','SH_01','SH50','SPDB','CSCEC']

把交易日设置为索引值并重新排序:

pd.to_datetime(df_gen['trade_date'],format='%Y%m%d')
df_gen.set_index('trade_date',inplace=True)
df_gen.sort_index(ascending=True,inplace=True)

把2010年第一个交易日设置为基准值100,至今的走势:

(df_gen/df_gen.iloc[0]*100).plot(figsize=(16,6))  #pandas.plot


计算对数收益率并绘制柱状图:

log_returns=np.log(df_gen/df_gen.shift(1))
log_returns.hist(bins=50,figsize=(9,6))


用scipy对指数和个股的对数收益率进行正态性检验:

stopool=['SH_01','SH50','SPDB','CSCEC']
for sto in stopool:print('\nResult for %s'%sto)print(30*'-')print('size     %.4f'%(scs.describe(log_returns[sto].dropna())[0]))print('skew     %.4f'%(scs.skew(log_returns[sto].dropna())))print('skew p   %.4f'%(scs.skewtest(log_returns[sto].dropna())[1]))print('kurt     %.4f'%(scs.kurtosis(log_returns[sto].dropna())))print('kurt p   %.4f'%(scs.kurtosistest(log_returns[sto].dropna())[1]))print('norm p   %.4f'%(scs.normaltest(log_returns[sto].dropna())[1]))


可见,现实数据中指数和个股对数收益率并不符合正态分布。

指数和个股的对数收益率正态性检验相关推荐

  1. R语言上证指数及上市个股的对数收益率分布特征

    R软件版本:[32-bit] E:\R-3.5.1 ## 1) 读取Excel数据 library(RODBC) SSEC_Data <- odbcConnectExcel('stock ind ...

  2. python 对数收益率_用python进行风险调整后的收益

    python 对数收益率 (Real-world Analysis of US Equity data between 1926 to 2018) (1926年至2018年间美国股票数据的真实世界分析 ...

  3. 年龄和收入对数的线性回归_金融计算收益率的时候为什么大部分用对数收益率 (Log Return) 而不是用算数收益率?...

    下面回答的都挺好,核心就是对于单一投资品的收益率,对数收益率时序可加:对于不同投资品的截面收益率,应该用百分比收益率,因为它在截面上有可加性:另外对数收益率对建模有帮助. 如果我们考察单一投资品在总共 ...

  4. 百分比收益率和对数收益率

    股市中常用的收益率是百分比收益率,而对数收益率在金融理论中用的较多. 百分比收益率定义:Rb=(s2−s1)/s1=s2/s1−1R_b=(s_2-s_1)/s_1=s_2/s_1-1Rb​=(s2​ ...

  5. 如何计算对数收益率和净值化转换

    请直接参照函数: def valuetounitcumulatedvalue(data):class result(object):def __init__(self):passresult.logr ...

  6. python金融分析-计算对数收益率及其波动率并画图

    计算对数收益率及其波动率并画图 # -*- coding: utf-8 -*- """ Created on Wed Aug 03 10:32:08 2016@autho ...

  7. 【量化金融】收益率、对数收益率、年华收益、波动率、夏普比率、索提诺比率、阿尔法和贝塔、最大回撤

    [量化金融]收益率.对数收益率.年华收益.波动率.夏普比率.索提诺比率.阿尔法和贝塔.最大回撤 1 收益率 在学术界,建模一般不直接使用资产价格,而是使用资产收益率(Returns).因为收益率比价格 ...

  8. R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析

    最近我们被客户要求撰写关于股票市场指数的研究报告,包括一些图形和统计输出.  相关视频:时间序列分析:ARIMA GARCH模型分析股票价格数据 时间序列分析模型 ARIMA-ARCH GARCH模型 ...

  9. python计算对数收益率_为VNPY的K线序列管理工具ArrayManager增加对数收益率队列

    在做策略建模的时候,经常需要把K线转换为可以正态分布数据,这样可以使用那些很牛吼吼的数学模型进行挖掘. 实现很简单 c = ln(t1/t0) 如果我们考察单一投资品在总共 T 期内的表现,那应该用对 ...

最新文章

  1. python入门(12)dict
  2. 文本向量表示及TFIDF词汇权值
  3. Linux Qt使用POSIX多线程条件变量、互斥锁(量)
  4. 通过扫码自定义链接安装iOS app,版本更新总结。
  5. 哈希存储 java_Java容器系列之HashMap的存储
  6. 嫌学校 App 太“烂”,极客父母做了开源版本,却遭官方报警?
  7. hadoop安装小记
  8. ueditor编辑器图片自定义存放目录及路径修改
  9. Asp.net MVC - 使用PRG模式(附源码)
  10. c4d导出html,C4D动力学如何导出fbx或者其他格式?
  11. 无心剑中译约翰·拉伯克《书海乐无穷》
  12. NAT下网络流量监控解决方案
  13. pyqt5,波形进度条
  14. 8051单片机(STC89C52)定时器实现10ms精准定时
  15. python 廖雪峰_实战 - 廖雪峰的官方网站
  16. MP3格式转WAV格式
  17. nginx启动成功,但是访问不了页面解决办法
  18. branch and bound(分支定界)算法求解TSP旅行商问题
  19. java中定义类的关键字是_java中定义类的关键字是什么?
  20. 1.2 反函数的图形

热门文章

  1. 有符号二进制数的减法
  2. 关于雪崩击穿温度系数
  3. rtl8723bu linux wifi驱动移植教程
  4. 什么是云平台,云平台的分类和优势有哪些?
  5. 【转】SpringMVC的工作原理图
  6. 如何在autocad中制作幻灯片文件(.sld)
  7. 云服务器无法远程连接常见原因如下:
  8. 计算机组成原理(8)CPU——基本结构
  9. java线程状态和状态切换
  10. Hibernate中的sessionFactory是做什么用的?