Python:使用趋势生成随机时间序列数据(例如,周期性,指数衰减等)

mua*_*aiz 6 python random numpy time-series pandas

我试图生成一些随机时间序列,其中包括周期性(例如销售),指数级下降(例如,Facebook喜欢帖子),指数级增长(例如比特币价格),通常增加(股票代码)等等.我可以产生一般性增长/减少时间序列如下

import numpy as np
import pandas as pd
from numpy import sqrt
import matplotlib.pyplot as plt

vol = .030
lag = 300
df = pd.DataFrame(np.random.randn(100000) * sqrt(vol) * sqrt(1 / 252.)).cumsum()
plt.plot(df[0].tolist())
plt.show()
Run Code Online (Sandbox Code Playgroud)

但我不知道如何产生周期性趋势或指数增加或减少趋势.有没有办法做到这一点 ?

小智 10

您可能想要评估 TimeSynth

"TimeSynth是一个开源库,用于生成*模型测试的合成时间序列*.该库可以生成规则和不规则的时间序列.该架构允许用户匹配不同的*信号*与不同的架构,允许大量的信号下面列出了可用的*信号*和*噪声*类型."