随机漫步理论_随机漫步理论与巴菲特
随机 理论 巴菲特 漫步
2023-06-13 09:12:59 时间
大家好,又见面了,我是你们的朋友全栈君。
理论部分:
代码部分:
import random
import matplotlib.pyplot as plt
import numpy as np
position = 0
walk = [position]
steps = 1000
for i in range(steps):
step = 1 if random.randint(0, 1) else -1
position += step
walk.append(position)
#plt.plot(walk[:1000])
nsteps = 1000
draws = np.random.randint(0, 2, size=nsteps)
steps = np.where(draws > 0, 1, -1)
walk = steps.cumsum() # 一维向量就可以这样来
#plt.plot(walk[:1000])
print( "min:" + str(walk.min()) )
print( "max:" + str(walk.max()) )
# 需要多久才能距离初始0点至少10步远(任一方向均可)
print((np.abs(walk) >= 10).argmax())
nwalks = 5000
nsteps = 1000
#模拟多个随机漫步过程(比如5000个)
draws = np.random.randint(-1, 1, size=(nwalks, nsteps)) # 0 or 1
print(draws)
steps = np.where(draws >= 0, 1, -1)
print(steps)
walks = steps.cumsum(1)
print(walks)
print("max: " + str(walks.max()) )
print("min: " + str(walks.min()))
# 用any方法来对此进行检查 因为不是5000个过程都到达了30的距离
hits30 = (np.abs(walks) >= 30).any(1)
print("sum: " + str(hits30.sum()) ) # Number that hit 30 or -30
plt.plot(walks[0])
plt.plot(walks[1])
plt.plot(walks[2])
plt.plot(walks[3])
plt.plot(walks[4])
plt.plot(walks[5])
plt.plot(walks[6])
plt.plot(walks[7])
plt.plot(walks[8])
https://www.jianshu.com/p/numpy_test
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167028.html原文链接:https://javaforall.cn
相关文章
- 随机森林
- python随机种子seed的作用(强化学习常用到)
- R语言CART决策树、随机森林、chaid树预测母婴电商平台用户寿命、流失可视化
- 数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病|附代码数据
- 随机抽取的sql语句 每班任意抽取3名学生
- iOS 验证码随机出现的六位数详解手机开发
- java获取随机时间的代码详解编程语言
- MySQL妙用:抽取随机记录(mysql随机记录)
- VMware vSphere 4/5/5.5 设置虚拟机随机 自动启动
- 使用MSSQL随机获取记录的技巧(mssql 随机获取记录)
- mysql中rand用法详解快速随机生成数字日期字符串(mysql中rand用法)
- 用Redis快速获取随机数(redis随机取数)
- mysql优化取随机数据慢的方法
- java随机字符补充版
- 四种数据库随机获取10条数据的方法
- c语言生成随机uuid编码示例
- JS在指定数组中随机取出N个不重复的数据