0%

VaR模型 - 用方差-协方差计算VaR

前言

本福特定律,也称为本福特法则,说明一堆从实际生活得出的数据中,以1为首位数字的数的出现概率约为总数的三成,接近直觉得出之期望值1/9的3倍。推广来说,越大的数,以它为首几位的数出现的概率就越低。它可用于检查各种数据是否有造假。[百度百科]

python验证本福特定律

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import matplotlib.pyplot as plt
import math

def firstDigital(x):
while x >= 10:
x //= 10
return x

if __name__ == "__main__":
n = 1
frequency = [0] * 9 #记录第一位数字中1-9数字出现次数
for i in range(1,10000):
n *= i
m = firstDigital(n) - 1
frequency[m] += 1
print(frequency)
plt.plot(frequency,"r-",linewidth=2)
plt.plot(frequency, "go", markersize=8)
plt.grid(True)
plt.show()

1-9中的分布

[2956, 1788, 1276, 963, 794, 715, 571, 510, 426]

效果图

顺便用用matplotlib.pyplot这个库,下面以1-1000的阶乘数据为例,暴力求证一下:

https://blog.csdn.net/qq_33189961/article/details/98338103

步骤