我正在使用TA-lib来计算各种技术指标。我拥有的数据集是1分钟间隔的股票价格数据。最简单的方法是将390 (一个交易日中的390分钟)乘以天数,例如计算5SMA,SMA(inputs,timeperiod=5*390)
有没有用于此目的的库或更好的解决方案?
发布于 2021-05-31 06:41:16
这真的取决于你在寻找什么。如果您正在寻找日均价格,您必须将报价历史记录从分钟转换为每日大小的条形图,然后以这种新格式运行。TA-Lib是一个较旧的基于数组的库,因此在将数据放入数组之前,您必须在数据仍具有日期/时间上下文的情况下执行此工作。
这里有一个how to "quantize" quote history in C#的例子。
history
.OrderBy(x => x.Date)
.GroupBy(x => x.Date.RoundDown(newBarSize))
.Select(x => new Quote
{
Date = x.Key,
Open = x.First().Open,
High = x.Max(t => t.High),
Low = x.Min(t => t.Low),
Close = x.Last().Close,
Volume = x.Sum(t => t.Volume)
});例如,这也可以在开源Skender.Stock.Indicators库中使用,并且可以简单地用作history.Aggregate(PeriodSize.Day)。
如果你正在寻找一个更现代的技术指标库,这个库可以替代TA-Lib。例如,它有一个Indicator.GetSma(history,5)方法among others。
https://stackoverflow.com/questions/54859247
复制相似问题