我有这个生成合成外观(股票)数据的类,它工作正常。但是,我想对其进行修改,以便 NewPrice 为说n-bars生成平滑的趋势数据。
我知道如果我降低波动性,我会得到更平稳的价格。但是,不确定如何保证数据进入向上/向下交替的持续趋势。一个正弦波外观,但具有股票价格,即没有负价格。
价格 = 趋势 + 先前价格 + 随机组件我在下面的实现中缺少趋势组件。
有什么建议么?
class SyntheticData
{
public static double previous = 1.0;
public static double NewPrice(double volatility, double rnd)
{
var change_percent = 2 * volatility * rnd;
if (change_percent > volatility)
change_percent -= (2 * volatility);
var change_amount = previous * change_percent;
var new_price = previous + change_amount;
previous = new_price;
return new_price;
}
}
Trade.previous = 100.0;
Price = Trade.NewPrice(.03, rnd.NextDouble()),