量化交易平台Quantopian讲座(6)—均值与方差

对于一个数据集,通常会从数据的中心和分散程度两方面去进行衡量,最为常用的两个指标为均值(mean)与方差(variace),均值是用来衡量数据的中心,而方差则展示了数据的分散程度。
首先我们先来介绍下均值,均值又分为三种

算术平均值(Arithmetic mean)

算术平均是日常中使用最为频繁的一种均值,它的数学定义式如下:

算术平均值

** 注:其中Xi表示集合中各观测值 **
使用NumPy提供的mean()方法,我们可以很轻松的获取算术平均值。
示例代码

而在现实生活中,比如要计算一个投资组合持仓的平均收益,各只股票的持仓数量与价格都不近相同,这时候就需要加权算数平均了。
加权算术平均

注: wi表示权重数组,所有权重相加等于1

几何平均值

算术平均使用加法来做平均,而几何平均则使用乘法来做平均,其定义式如下:


几何平均

**注:如果所有的观测值Xi均大于等于0,还可以通过取对数,使得公式转化为加法的形式


对几何平均公式取对数

**
使用SciPy(另一个Python常用的科学计算库,NumPy属于其一部分)的gmean()函数可以计算几何平均值。
示例代码

**注:如果数据集中有负数,该如何计算几何平均值,这个问题在计算资产投资回报的时候很容易解决,因为收益率最低值为-1(-100%),所以我们可以在所有值之上加1再计算算术平均值,此时公式可以写成:


计算收益率的算数平均

**
示例代码

调和平均值

调和平均数一般使用较少,其定义式为:


调和平均数

这个式子可能不太好理解,我们可以做一个倒数操作,可以看到调和平均的倒数是所有观测值倒数的算术平均,例如,一个组合采用平均投资金额的策略,即每个股票分配相同的金额,股票价格高,则购买数量少,反之亦然。调和平均代表购买每只股票的平均成本。


调和平均数倒数

使用SciPy的hmean()函数可以计算调和平均值
示例代码

衡量数据的中心的方式除了使用均值外,常见的还有中位数(median)与众数(mode)

  • 中位数表示将数据集排序后处于中间位置的数值,如果数据集中元素为奇数个,则为(n+1)/2位置元素,如果数据集元素为偶数个,则为n/2和(n+2)/2两个元素的平均值。
  • 众数则表示结合中出现次数最多的元素

以前这几种方式都可以看作为点估计(以一个点表示整个数据集的特性)的一种,在使用的时候一定要确定没有遗漏其他的重要信息,一般情况下均值不会单独使用,会辅以数据分散情况的指标。还有一点需要特别注意,尽量不要假设数据的分布,因为如果假设的分布与真实不符,那么即使你使用了正确的度量方法,也会得到一个令人啼笑皆非的结果。

接下来的部分,为大家介绍度量数据分散程度的几种方式。而这部分在金融中尤为重要,因为衡量风险的一个主要途径就是看历史的收益的分散情况,如果收益数据围绕在均值附近很集中的位置,那么可以认为风险很小,相反,如果收益很分散,则风险就很高。
首先,我们先准备一下数据,使用NumPy产生包含20个随机整数的一个数组


数据准备示例代码

跨度(Range)

跨度为数据集中最大值与最小值之差,集合中异常值会对其造成很大影响,使用np.ptp()方法可以获取该值。


获取跨度值示例代码

平均绝对偏差(MAD/Mean Absolute Deviation)

平均绝对偏差表示所有元素与算数平均的绝对距离的算术平均值,定义式如下:

平均绝对偏差

注:n表示元素个数, μ表示算数平均值,特别注意是要取绝对值
循环求和再除以元素个数,很容易就能得到MAD值:
计算MAD

方差与标准差(Variance & standard deviation)

方差表示所有元素与算数平均的平方差的算术平均值,定义式如下:

方差

注:与平均绝对偏差相比,方差因为其可微分的特性使用得更为广泛
对方差开方后,就可以得到标准差。
NumPy提供了np.var()与np.std()方法计算方差与标准差。
计算方差与标准差

提到标准差,我们在这里引入切比雪夫不等式,它可以帮我们理解标准差的作用。切比雪夫不等式是指,样本落在算数平均左右k(k>1)个标准差内的概率,至少是1-1/k^2,这个范围与真实的概率可能相差较多,但因为其对于数据与分布没有任何要求,应用非常广泛。

半方差与半离差(Semivariance & semideviation)

方差与标准差虽然展示了数据的波动性,但是却没有区分波动的方向,特别是在金融中计量资产收益率的时候,我们往往更关注与低于预期值的部分,这就是半方差与半离差存在的意义。
半方差定义式如下:

半方差

注:公式中(n<)表示比算数平均值小的元素个数,求和部分也有此过滤条件
半离差则为半方差的平分根。
NumPy中没有自带的函数,但根据定义也很容易实现
计算半方差代码

如果将公式中的算数平均换做一个最低目标值,就可以得到目标半方差与目标半离差
目标半方差

到这里,本篇文章也接近尾声,但是最后要说的事情非常重要!目前我们所计算的这些均值与方差,都只是针对样本数据的,但它们是否能正确的反应总体的分布却不一定,技术上和细节处之后都还需要大量的工作来保证最后结果的有效性。之后的文章会包含此部分内容。
感谢阅读,欢迎订阅!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容