node.js - 基于用户条件的股票筛选器
问题描述
我有 1 分钟的股票快照数据,比如苹果、谷歌、Netflix 等股票。
1分钟的快照数据是,
- 股票名称, 12:00:00, 打开, 高, 低, 关闭, 音量
- 股票名称, 12:01:00, 打开, 高, 低, 关闭, 卷
- 股票名称, 12:02:00, 打开, 高, 低, 关闭, 卷
- 股票名称, 12:03:00, 打开, 高, 低, 关闭, 卷
- 股票名称, 12:04:00, 开盘, 高, 低, 收盘, 成交量等等...
数据存储在 RDBMS 中,首选后端是 NodeJs (javascript)。
我想制作架构/网站,用户可以在其中设置一些条件并按下搜索按钮,我们的程序应该显示所有满足给定条件的股票。
假设条件可以是这样,显示所有成交量大于最近 20 个数据的平均成交量的股票(这里 20 是可变的,也可以是 5,也可以是 50)并显示所有股票相对强弱指标在60以上。
(相对强度指标是股票市场中的指标,仅给出 0 到 100 的结果,称为 RSI,它适用于参数,例如如果用户选择 RSI(14),则 RSI 的计算应考虑最后 14 个数据)
方法,
- 我们应该计算最后/前 20 个数据的平均数量
- 取最后一个数据的体积
- 检查平均体积是否<最后一个数据的体积
- 我们应该检查 RSI(14) 的值并检查它是否高于 60
- 如果第 3 步和第 4 步满足,则选择该股票
所以上面只是2个条件,有很多条件,它们都只是计算,可以包括复杂的计算和所有预定义的计算。
我的疑问是,我们有超过 500 只股票数据,如果用户想要在上述条件下运行,那么尽快获得结果的最佳方法是什么?
我不知道从哪里开始,如果我获取所有记录并计数计算并检查每只股票,那么我认为这不是一件好事,因为它也会占用大量时间和 cpu 资源。
谁能告诉我如何以有效的方式开发上述东西?
解决方案
推荐阅读
- django - 渲染器返回 unicode,并且没有指定字符集值
- javascript - http响应后需要运行变量
- c++ - Sprite Texture没有从图像C ++中分割碎片
- java - 为什么 isPrime 使用 i*i < n 为除 2^31- 1 之外的每个 int 返回正确答案
- javascript - 如何在 amCharts 中显示饼图
- python - 带有 gunicorn 的日志记录模块
- bash - Bash 命令仅从该行返回搜索模式
- python - 有没有其他方法可以在列下方拆分?
- php - 为什么当我添加多项选择答案时这会给我一个通知和警告我该怎么办?
- openstack - OpenStack Keystone - Web 应用程序