首页 > 解决方案 > 基于用户条件的股票筛选器

问题描述

我有 1 分钟的股票快照数据,比如苹果、谷歌、Netflix 等股票。

1分钟的快照数据是,

  1. 股票名称, 12:00:00, 打开, 高, 低, 关闭, 音量
  2. 股票名称, 12:01:00, 打开, 高, 低, 关闭, 卷
  3. 股票名称, 12:02:00, 打开, 高, 低, 关闭, 卷
  4. 股票名称, 12:03:00, 打开, 高, 低, 关闭, 卷
  5. 股票名称, 12:04:00, 开盘, 高, 低, 收盘, 成交量等等...

数据存储在 RDBMS 中,首选后端是 NodeJs (javascript)。

我想制作架构/网站,用户可以在其中设置一些条件并按下搜索按钮,我们的程序应该显示所有满足给定条件的股票。

假设条件可以是这样,显示所有成交量大于最近 20 个数据的平均成交量的股票(这里 20 是可变的,也可以是 5,也可以是 50)并显示所有股票相对强弱指标在60以上。

(相对强度指标是股票市场中的指标,仅给出 0 到 100 的结果,称为 RSI,它适用于参数,例如如果用户选择 RSI(14),则 RSI 的计算应考虑最后 14 个数据)

方法,

  1. 我们应该计算最后/前 20 个数据的平均数量
  2. 取最后一个数据的体积
  3. 检查平均体积是否<最后一个数据的体积
  4. 我们应该检查 RSI(14) 的值并检查它是否高于 60
  5. 如果第 3 步和第 4 步满足,则选择该股票

所以上面只是2个条件,有很多条件,它们都只是计算,可以包括复杂的计算和所有预定义的计算。

我的疑问是,我们有超过 500 只股票数据,如果用户想要在上述条件下运行,那么尽快获得结果的最佳方法是什么?

我不知道从哪里开始,如果我获取所有记录并计数计算并检查每只股票,那么我认为这不是一件好事,因为它也会占用大量时间和 cpu 资源。

谁能告诉我如何以有效的方式开发上述东西?

标签: node.jsrdbms

解决方案


推荐阅读