统计分为描述统计和推断统计,我们在这一章里,主要讲解描述性统计。我们用到的数据如下所示:

images/c13f004.png

上图中,gsyh代表工商银行收益率,pfyh代表浦发银行收益率,zglt代表中国联通收益率,我们仅以工商银行收益为例计算各个统计量。

1.频数分布

我们以2014年工商银行股票的收益率为例,来看频数分布。我们将收益率(下图中ysgh列)按0.025为一段,统计收益率落在该段内的天数,就可以得到频数分布,我们可以按照直方图来进行绘制。如下所示:

import numpy as np
import pandas as pd
import matplotlib.pyplot as pltdef startup():''' 创建时间序列示例 '''rs = pd.read_csv('../datas/retdata.csv')gsyh = rs.gsyhprint(type(gsyh))plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = Falseplt.title('工商银行收益率频数分布图')plt.xlabel('收益率')plt.ylabel('天数')plt.hist(gsyh)plt.show()if '__main__' == __name__:startup()
codes/c13c001.py

运行结果为:

images/c13f001.png

2.数据统计

2.1.数据位置

2.1.1.样本平均数

算数平均数可以用在各种数据分析中,定义为:

xˉ=x1+x2+...+xnn\bar{x}=\frac{x_1+x_2+...+x_n}{n} xˉ=nx1​+x2​+...+xn​​

几何平均数最常用于收益率计算,假设共有k个元素,定义为:

xˉ=[∏i=1kxi]1k\bar{x}=\bigg[ \prod_{i=1}^{k} x_i \bigg]^{\frac{1}{k}} xˉ=[i=1∏k​xi​]k1​

2.1.2.中位数

中位数定义为其至少大于等于50%的数据,同时小于等于50%的数据。

2.1.3.众数

一组数据中出现最多的数值。

2.1.4.百分位数

假设百分比为α\alphaα如25,则表示至少α\alphaα%的数小于该值,同时至少(100−α)(100-\alpha)(100−α)%的数大于该值。

下面我们还以工商银行收益率为例,求出这几个值:

import numpy as np
import pandas as pd
import matplotlib.pyplot as pltdef startup():''' 数据位置分析 '''rs = pd.read_csv('../datas/retdata.csv')gsyh = rs.gsyhprint('平均数:{0}'.format(gsyh.mean()))print('中位数:{0}'.format(gsyh.median()))gsyhMode = gsyh.mode()print('众数:{0}; {1}'.format(gsyhMode, type(gsyhMode)))print('百分位数:{0}'.format(gsyh.quantile(0.3)))if '__main__' == __name__:startup()
codes/c13c002.py

运行结果如下所示:

images/c13f002.png

2.2.数据离散度

数据离散度描述数据相对于中心位置的偏离程度,常用的指标有极差、平均绝对误差、方差和标准差。

2.2.1.极差

序列中最大值与最小值之差。

2.2.2.平均绝对误差

MAD=1n∑i=1n∣(xi−xˉ)∣MAD=\frac{1}{n}\sum_{i=1}^{n} \bigg \vert (x_i-\bar{x}) \bigg\vert MAD=n1​i=1∑n​∣∣∣∣​(xi​−xˉ)∣∣∣∣​

2.2.3.方差和标准差

σ2=1n−1∑i=1n(xi−xˉ)2\sigma ^{2} = \frac{1}{n-1} \sum_{i=1}^{n} (x_i-\bar{x})^{2} σ2=n−11​i=1∑n​(xi​−xˉ)2

σ=1n−1∑i=1n(xi−xˉ)2\sigma = \sqrt{\frac{1}{n-1} \sum_{i=1}^{n} (x_i-\bar{x})^{2} } σ=n−11​i=1∑n​(xi​−xˉ)2​

计算离散度程序如下所示:

import numpy as np
import pandas as pd
import matplotlib.pyplot as pltdef startup():''' 数据位置分析 '''rs = pd.read_csv('../datas/retdata.csv')gsyh = rs.gsyhprint('极差:{0}'.format(gsyh.max() - gsyh.min()))print('平均绝对误差:{0}'.format(gsyh.mad()))print('方差:{0}'.format(gsyh.var()))print('标准差:{0}'.format(gsyh.std()))if '__main__' == __name__:startup()
codes/c13c003.py

运行结果为:

images/c13f003.png

python量化交易笔记---13.描述性统计相关推荐

  1. 【Python量化交易笔记】股票数据获取 (一)

    获取股票数据主要是靠网页爬虫或者现成的库. 关于股票数据获取,python的接口有非常多,教程也有很多. 最后我选择了使用tushare和baostock.由于tushare升级之后有积分限制,很多数 ...

  2. 【Python量化交易】13行Python代码编写微信数字货币报价机器人

    import itchat import requests#获取价格 def get_price(symbol):request = requests.get("https://api.hb ...

  3. python统计套利_清华编程高手尹成带你基于算法实践python量化交易

    清华编程高手尹成带你基于算法实践python量化交易 量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种"大概率"事件以制定策 ...

  4. Python量化交易学习笔记(1)

    Python量化交易学习笔记(1) http://zwpython.com/ http://www.topquant.vip/?p=2275 [更多参见] <zwPython,目前最好的py开发 ...

  5. 学习《深入浅出python量化交易交易实战》第一章(笔记)

    1.学习<深入浅出python量化交易交易实战>第一章 记录学习过程中的代码和一些坑 1.1 基础(名词解释) 1.1.1 CAPM (Capital Asset Pricing Moda ...

  6. python量化交易教程-Python 量化交易教程.pdf

    目录 Python量化交易教程 第一部分新手入门 一量化投资视频学习课程 二Python手把手教学 量化分析师的Python日记 [第1天 :谁来给我讲讲Python ?] 量化分析师的Python日 ...

  7. 4、Python量化交易-双均线策略

    目录 一.数据准备 二.5日均线和30日均线 1 - 均线的概念 2 - 计算5日均线与30日均线 3 - 画出MA5和MA30 三.金叉和死叉 1 - 金叉和死叉概念 2 - 分析所有金叉日期和死叉 ...

  8. python 量化交易:MACD指标双金叉形态识别

    python 量化交易:MACD指标双金叉形态识别: df 是pandas的Dataframe,基础数据原来是 tushare 中的股票交易数据,MACD指标是用 talib 库计算得来: df = ...

  9. python一元线性回归算法_6一元线性回归_清华编程高手尹成带你基于算法实践python量化交易_其他视频-51CTO学院...

    清华编程高手尹成带你基于算法实践python量化交易 量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种"大概率"事件以制定策 ...

最新文章

  1. 儿童版「微信」要来了?
  2. NSDateFormatter and NSDateComponents
  3. 权重随机算法的java实现
  4. 好玩的WPF第四弹:用Viewport2DVisual3D实现3D旋转效果
  5. 从全职高手开始的系统_动画全职高手第二季热血回归,腾讯视频的国漫IP全链路开发之道...
  6. javascript 传多个参数的正则表达式(用来获取某个参数值)
  7. oracle动态语句打开游标,Oracle动态语句中返回游标
  8. 一步一步写算法(之排序二叉树的保存和加载)
  9. 800变频器故障代码_变频器通用故障码意义汇总讲解
  10. Proteus:51仿真入门
  11. position:relative/absolute无法冲破的等级
  12. 一个简单的python爬虫,以豆瓣妹子“http://www.dbmeizi.com/category/2?p= ”为例
  13. 私有化+国产化,这款安全可靠的知识管理系统超赞
  14. 广域网的应用场景是什么?
  15. win10天气是英文的
  16. 【UI】优秀的网站欣赏以及分析
  17. shell实现加密压缩文件自动解压
  18. 我手机中舍不得删除的43条搞笑短信
  19. laravel结合easyWeChat的使用
  20. 数学知识——欧拉函数

热门文章

  1. 教你彻底屏蔽百度的广告与智能推荐
  2. zlib解压 被压缩的PDF(关键字FlateDecode)
  3. 没有目标,永远也找不到人生方向
  4. [刷题]leetcode\189_轮转数组
  5. 运用CS-LBP提取裂纹的梯度特征
  6. VSCode+Marp:用Markdown做幻灯片-宋森安(基础篇)
  7. 安装sql错误:系统找不到指定路径
  8. java 随机生成不重复的数字_生成8位随机不重复的数字编号的方法
  9. 高职计算机应用专业的课程有哪些,高职计算机应用专业课程优化与整合
  10. 中兴失去的五年——未来该何去何从