stock - 如何用 1 分钟的股价数据计算技术指标?
问题描述
我正在使用 TA-lib 来计算各种技术指标。我拥有的数据集是 1 分钟间隔的股票价格数据。最简单的方法是将 390(一个交易日的 390 分钟)乘以天数,例如计算 5SMA, SMA(inputs, timeperiod=5*390)
是否有任何用于此目的的库或任何更好的解决方案?
解决方案
这真的取决于你在寻找什么。如果您正在寻求平均每日价格,您必须将您的报价历史从分钟转换为每日大小的条形图,然后以这种新格式运行它。TA-Lib 是一个较旧的基于数组的库,因此在将数据放入数组之前,您必须在数据仍然具有日期/时间上下文的情况下完成这项工作。
这是一个如何在 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)
方法等等。
推荐阅读
- ios - IOS 应用程序未在 IOS 14 上请求许可
- jsf - Omnifaces 4.0-M10 无法在 Jakarta-ee 9 上初始化
- arduino - 为什么 esp8266 客户端没有连接到服务器?
- mysql - 子查询中的 MySQL 排序依据
- react-native - react-native-map-clustering 的性能问题
- javascript - dotenv:在 nestjs 项目中找不到命令
- svelte - 测试纤细的动态组件
- pyspark - 如何在pyspark UDF中返回熊猫数据框
- javascript - 反应 QRScan 组件
- python - urllib.error.HTTPError:HTTP 错误 403:使用 urllib.requests 禁止