模拟随机回报的快速方法是什么?我知道numpy.random
。但是,这并没有指导我如何建立资产回报模型。
我试过了:
import numpy as np
r = np.random.rand(100)
但这并不准确。其他人如何处理此事?
答案 0 :(得分:5)
我建议采用以下两种方法之一:
if (!hasAttributes) // simplified
{
context.ReportDiagnostic(...);
}
假设回报通常分配,平均值等于0.1%,标准偏差约为1%。这看起来像:
One:
import numpy as np
np.random.seed(314)
r = np.random.randn(100) / 100 + 0.001
将随机数生成器设置在特定点,这样如果我们都使用相同的种子,我们应该会看到相同的结果。
seed(314)
来自正态分布。
我还建议使用randn
。它是一个实现类似于pandas
DataFrame
对象的库
R
然后您可以绘制累积回报,如下所示:
import pandas as pd
df = pd.DataFrame(r)
<强> df.add(1).cumprod().plot()
强>
第二种方法是假设返回是正常分布的日志。这意味着log(r)是正常的。在这种情况下,我们提取正态分布的随机数,然后使用这些值作为 Two:
的指数。它看起来像这样:
e
如果您绘制它,它看起来像这样:
r = np.exp(np.random.randn(100) / 100 + 0.001) - 1