如何用numpy模拟随机回报

时间:2016-05-03 08:57:03

标签: numpy random dataframe quantitative-finance

模拟随机回报的快速方法是什么?我知道numpy.random。但是,这并没有指导我如何建立资产回报模型。

我试过了:

import numpy as np

r = np.random.rand(100)

但这并不准确。其他人如何处理此事?

1 个答案:

答案 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)

enter image description here

<强> df.add(1).cumprod().plot()
第二种方法是假设返回是正常分布的日志。这意味着log(r)是正常的。在这种情况下,我们提取正态分布的随机数,然后使用这些值作为 Two: 的指数。它看起来像这样:

e

如果您绘制它,它看起来像这样:

r = np.exp(np.random.randn(100) / 100 + 0.001) - 1

enter image description here