幂律分布 计算机科学,Numpy 发现幂律分布
我们现在要假设自己在运作一只对冲基金。让我们沉浸到这个假设场景中,你现在是资本市场中的一名精英了。
幂律分布存在于众多领域之中,更多相关信息参见http://en.wikipedia.org/wiki/Power_law。帕累托法则(Pareto principle)就是幂律分布的一个实例,它描述了财富分布的不均匀性。该法则告诉我们,如果按照拥有财富的多少把人们划分成组,每组人数的差异是巨大的。简单地说就是,富人不会太多,亿万富豪更少。同样,社会精英也是少数人。
使用股票的收盘价计算收益率(log returns),假设其符合幂律分布。这当然是一个大的假设,但幂律分布似乎在众多领域中广泛存在。
考虑到每笔交易涉及的交易成本,我们并不想频繁进行交易。假设我们倾向于每个月进行一次买卖操作,交易时间选择在股价出现明显修正的时候,也就是说在股价大跌时。现在的问题就是,如果我们想每隔20天左右进行一笔交易,怎样确定一个适当的交易信号。
具体步骤
首先需要从雅虎财经频道获取过去一年的盘后数据,然后从中提取出收盘价数据。相关的步骤已在上一篇攻略中介绍了。
提取正的收益率数据。
现在要根据收盘价计算收益率,有关收益率的更多信息请参见http://en.wikipedia.org/wiki/Rate_of_return 。
首先需要计算收盘价的对数,然后使用NumPy的diff函数,对其结果进行一阶差分运算。之后从收益率数据中,选出其中的正值。为什么要把正值选出来?这个选择其实无关紧要,关键是我想研究这些正的收益率数据。
获得收益率的出现频率。
我们需要使用histogram函数,获得收益率的出现频率。该函数会进行分组计数,并返回一个包含各组计数值的数组。1为了能获得一个直观的线性关系,我们需要对这些频率值取对数。
语句freqs = 1.0/(counts+0.01)中,加0.01目的是为了避免可能的除零错误,因为counts中可能会存在取值为0的计数值。
利用频率值和收益率数据拟合直线。
使用ployfit函数拟合直线。
图示结果。
最后,使用Matplotlib绘制出结果数据和拟合后的直线。
我们得到了一幅漂亮的由拟合直线、收益率和频率值构成的图形。
本攻略的完整代码如下。
小结
histgram函数利用输入的数据集计算直方图,其返回值为直方图数据和各组的界限值。polyfit函数把输入数据拟合为指定阶数的多项式曲线,本例中我们选择的是线性拟合。我们“发现”了一个幂律分布——宣布此类结论需要慎重,但直线拟合的结果让人觉得很有希望。
幂律分布 计算机科学,Numpy 发现幂律分布相关推荐
- 幂律分布图matlab代码,关于幂律分布,你还应该知道如何用代码实现!| 集智百科...
今天我们继续学习幂律分布的基本概念--幂律概率分布,以及如何用代码实现幂律分布.内容来自集智百科,集智百科是复杂系统领域的百科全书,涵盖复杂系统领域的基本概念(持续完善中). 我们正在组织撰写翻译相应 ...
- 面试精讲之面试考点及大厂真题 - 分布式专栏 18 谈谈怎么理解幂等,接口如何保证幂等
18谈谈怎么理解幂等,接口如何保证幂等 时间像海绵里的水,只要你愿意挤,总还是有的. --鲁迅 引言 稳定性设计第一篇:这一小节开始讲设计系统稳定性保证的相关设计,谁都不想自己负责的系统三天两头就出故 ...
- 数理统计的统计量分布t分布_t分布:啤酒厂发现的关键统计概念
数理统计的统计量分布t分布 by Kirill Dubovikov 通过基里尔·杜博维科夫(Kirill Dubovikov) t分布:啤酒厂发现的关键统计概念 (The t-distribution ...
- 2的n次幂 2的1~200幂的结果
2的n次幂 2的幂表(n=1-30 1073741824) 2的幂表(n=31-200) 2的幂表(n=1-30 1073741824) 2^0=1 2^1=2 2^2=4 2^3=8 2^4=16 ...
- 蒙哥马利幂模算法(二分快速幂)
蒙哥马利幂模算法(二分快速幂) 用于加快幂次取模运算的速度. 形式为这种ab%c 可以等于 (ab1%c)*(ab2%c)%c,其中b=b1+b2:如果b1=b2就更简便一些,(ab/2%c)2%c, ...
- 狄利克雷分布公式_Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)...
Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程) Dirichlet Distribution(狄利克雷分布)与Dirichlet Pr ...
- 如何通俗理解 beta分布、汤普森采样和狄利克雷分布
如果想理解汤普森采样算法,就必须先熟悉了解贝塔分布. 一次伯努利实验(比如扔硬币,二元变量)叫做伯努利分布(Bernoulli distribution).多次伯努利实验叫做二项式分布(Binomia ...
- AI-蛋白质-结构预测-2020:AlphaFold【输入:氨基酸序列】【输出:结构的性质(氨基酸之间两两的距离分布,氨基酸链的夹角分布)】【根据预测的性质构建约束,从而求解出拓扑结构】
注意:这是关于AlphaFold的算法详细解析,而不是AlphaFold2的 注意:带斜体句子的是个人推测,不确定是否和论文对应. 作为一个计算机专业的算法从业人员,一直对AlphaFold[1]的算 ...
- R语定义函数对宽分布(wide distribution )、有偏分布(skew distribution)的数据进行对数变换(符号对数变换函数、signed log transformation)
R语言自定义函数对宽分布(wide distribution ).有偏分布(skew distribution)的数据进行对数变换(符号对数变换函数.signed log transformation ...
最新文章
- SpringBoot开发微信公众号
- rockmq运维指令_RocketMQ运维监控
- 为啥不能用uuid做MySQL的主键?
- javascript跳跃式前进(3) - 跳入JSON
- 中国人寿保险研发中心2021校招开始啦!
- Sybase中字符串替换函数 STR REPLACE
- 内存类型范围寄存器 (MTRR)
- 【计算几何】【分类讨论】Gym - 101243I - Land Division
- win11更新为何检测不到 Windows11更新检测不到的解决方法
- float相乘后的类型_4、Python语法入门之基本数据类型
- Log4J 日志的异步类解读(lAsyncAppender)
- md5解密 python_python写一个md5解密器示例
- 简单使用mybatis(idea中使用)
- Mybatis-学习笔记(8)常用的注解
- Nacos注册中心之服务实例心跳续约与实例过期下线源码解析
- 计算机编程ebcdic码,ASCII码和EBCDIC码
- 回溯算法原理及其应用场景
- 数据分析之利用EXCEL做数据分析
- 软件测试行业到底有没有前景和出路?(最全面)
- matlab适应度函数为什么有2个输出,基于遗传算法的LQR优化问题,适应度函数总是报错。...