【问题标题】:python monte carlo against dataframepython monte carlo 针对数据框
【发布时间】:2015-01-27 05:52:34
【问题描述】:

这里的菜鸟问题:将一维数组多次通过方程以创建一系列结果的最佳方法是什么?

如果我有以下代码:

montecarlo=randn(1000,1)
tommorows_value=todays_5_day_MA*stdev*montecarlo

如何通过这个等式中的蒙特卡洛输出来生成 1000 个明天价值的可能结果?我会开发一个 for 循环吗? todays_value 和 todays_5_day_MA 是 pd.Series 类型。

谢谢

【问题讨论】:

    标签: python loops series


    【解决方案1】:

    如果我理解正确,您似乎正试图从均值 todays_5_day 和标准差 stddev 的正态分布中抽取 1000 个样本。

    你所拥有的几乎是正确的,但你想添加平均值而不是乘以它。

    import numpy as np
    tomorrows_value = stddev * np.random.randn(1000,1) + todays_5_day
    

    请参阅documentation 中的Notes 部分。

    【讨论】:

    • 假设我有以下等式: x=a+b*c a 和 b 是单个值。我想运行一个 monte carlo np.random.randn(1000,1) 作为 c 值来确定 x 的所有可能结果。我的最终目标是将时间序列数据绘制为折线图,然后绘制所有可能的“x”值。 x 值是明天的预测,因此将是 1 个日期时间的 1000 个唯一值。
    • 我创建了以下函数: def montecarlo(a, b): randnumgen=np.random.randn(1000,1) for i in randnumgen: factor=a*i for n in factor: rt =(b+n) 返回 rt 但结果不是我需要的,因为它返回单个值而不是 1000 种可能性。此外,如何仅根据最新日期时间索引 1000 个值,以便我可以绘制时间序列?
    猜你喜欢
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多