我们现在要假设自己在运作一只对冲基金。让我们沉浸到这个假设场景中,你现在是资本市场中的一名精英了。

幂律分布存在于众多领域之中,更多相关信息参见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 发现幂律分布相关推荐

  1. 幂律分布图matlab代码,关于幂律分布,你还应该知道如何用代码实现!| 集智百科...

    今天我们继续学习幂律分布的基本概念--幂律概率分布,以及如何用代码实现幂律分布.内容来自集智百科,集智百科是复杂系统领域的百科全书,涵盖复杂系统领域的基本概念(持续完善中). 我们正在组织撰写翻译相应 ...

  2. 面试精讲之面试考点及大厂真题 - 分布式专栏 18 谈谈怎么理解幂等,接口如何保证幂等

    18谈谈怎么理解幂等,接口如何保证幂等 时间像海绵里的水,只要你愿意挤,总还是有的. --鲁迅 引言 稳定性设计第一篇:这一小节开始讲设计系统稳定性保证的相关设计,谁都不想自己负责的系统三天两头就出故 ...

  3. 数理统计的统计量分布t分布_t分布:啤酒厂发现的关键统计概念

    数理统计的统计量分布t分布 by Kirill Dubovikov 通过基里尔·杜博维科夫(Kirill Dubovikov) t分布:啤酒厂发现的关键统计概念 (The t-distribution ...

  4. 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 ...

  5. 蒙哥马利幂模算法(二分快速幂)

    蒙哥马利幂模算法(二分快速幂) 用于加快幂次取模运算的速度. 形式为这种ab%c 可以等于 (ab1%c)*(ab2%c)%c,其中b=b1+b2:如果b1=b2就更简便一些,(ab/2%c)2%c, ...

  6. 狄利克雷分布公式_Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)...

    Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程) Dirichlet Distribution(狄利克雷分布)与Dirichlet Pr ...

  7. 如何通俗理解 beta分布、汤普森采样和狄利克雷分布

    如果想理解汤普森采样算法,就必须先熟悉了解贝塔分布. 一次伯努利实验(比如扔硬币,二元变量)叫做伯努利分布(Bernoulli distribution).多次伯努利实验叫做二项式分布(Binomia ...

  8. AI-蛋白质-结构预测-2020:AlphaFold【输入:氨基酸序列】【输出:结构的性质(氨基酸之间两两的距离分布,氨基酸链的夹角分布)】【根据预测的性质构建约束,从而求解出拓扑结构】

    注意:这是关于AlphaFold的算法详细解析,而不是AlphaFold2的 注意:带斜体句子的是个人推测,不确定是否和论文对应. 作为一个计算机专业的算法从业人员,一直对AlphaFold[1]的算 ...

  9. R语定义函数对宽分布(wide distribution )、有偏分布(skew distribution)的数据进行对数变换(符号对数变换函数、signed log transformation)

    R语言自定义函数对宽分布(wide distribution ).有偏分布(skew distribution)的数据进行对数变换(符号对数变换函数.signed log transformation ...

最新文章

  1. SpringBoot开发微信公众号
  2. rockmq运维指令_RocketMQ运维监控
  3. 为啥不能用uuid做MySQL的主键?
  4. javascript跳跃式前进(3) - 跳入JSON
  5. 中国人寿保险研发中心2021校招开始啦!
  6. Sybase中字符串替换函数 STR REPLACE
  7. 内存类型范围寄存器 (MTRR)
  8. 【计算几何】【分类讨论】Gym - 101243I - Land Division
  9. win11更新为何检测不到 Windows11更新检测不到的解决方法
  10. float相乘后的类型_4、Python语法入门之基本数据类型
  11. Log4J 日志的异步类解读(lAsyncAppender)
  12. md5解密 python_python写一个md5解密器示例
  13. 简单使用mybatis(idea中使用)
  14. Mybatis-学习笔记(8)常用的注解
  15. Nacos注册中心之服务实例心跳续约与实例过期下线源码解析
  16. 计算机编程ebcdic码,ASCII码和EBCDIC码
  17. 回溯算法原理及其应用场景
  18. 数据分析之利用EXCEL做数据分析
  19. 软件测试行业到底有没有前景和出路?(最全面)
  20. matlab适应度函数为什么有2个输出,基于遗传算法的LQR优化问题,适应度函数总是报错。...

热门文章

  1. 第一周校内OI模拟赛总结(day1day2)
  2. Charles华为手机保姆级安装过程
  3. 视频里的音乐怎么提取成mp3
  4. 《C primer plus》——文件输入/输出
  5. AutoSAR开发的三种方法:自上而下式、自下而上式、混合式
  6. tensorflow+k-means聚类 简单实现猫狗图像分类
  7. linux 命令行 迅雷替代,Mac/Linux下迅雷替代方案
  8. win10计算机管理的作用,原来Windows 10还有这么多隐藏的功能
  9. 如何写好一个标题?十分钟教你写出优质标题
  10. @MapKey的使用