| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 用最基础的nodejs代码和Ajax获取量化交易数据并利用Echartes完成数据可视化分析 -> 正文阅读 |
|
[游戏开发]用最基础的nodejs代码和Ajax获取量化交易数据并利用Echartes完成数据可视化分析 |
首先我们先捋一下实现过程: 1 首先要获取到量化交易的数据 ? ? 我们在聚宽这个平台可以看到它为几乎所有主流的语言都提供了API接口,其中就有我们前端开发常用到的nodejs接口。 对于nodejs接口,还是比较友好的。虽然这个request依赖包已经停止更新,但是不耽误使用,没有依赖的下载一下就ok了,这里就不做赘述了。利用这个api我们只需要注册一个账号就可以获取到每天一百万条的免费数据,对于我们做基础分析或者前端技术练习都足够了。 ? ?看到这里同学们可能会在想,请求到数据怎么储存和处理的问题了,在这之前我看到过前辈有用docker作为容器来处理,这里对于新手不是很友好,如果只用nodejs和ajax能不能实现同样的效果呢?我的思路是:用nodejs的http,fs,url三个框架在本地搭建服务器,将获取到的数据存储到本地的文档中(这里就不必用数据库了,我直接用text来存)。这样我们就可以用最简洁的代码实现所有功能。八十行代码就可以完全实现上述功能。
?这里要注意,我保存数据的txt文件路径是在上层的,大家注意根据自己实际情况进行更改。因为聚宽提供的数据是字符串,我们要根据要求把数据处理成所需要的字符串,这里是比较麻烦的,但是总体来讲不难而且有趣。最后将数据导入到需要的echarts图标就行了。我用的是K线图。 2 图表的选择 这是我最后实现的效果: ? ?根据自己的需求和偏好,我们可以在echarts官网上去去选,很多绚丽的图标,但是想找到一个特别符合的也并不容易,需要综合不同风格和功能的图标,这就要看自己的想法了。这里就是跟大家分享一下我的思路,没有进行太深入的研究。 ? ? ? ? 具体可以去官网查看 具体的用法也可以看官方的文档。 我们真正要做的是获取数据并进行抽离,把我们要的设想算法转换成可视化的图行,比如常用的macd指标,顶底背离等。这涉及到一些逻辑算法,这里也先不探讨,留以后有时间再说。 ? ?回过头来看我们获取到初始数据: ? ?我们看到这个字符串是很规整的,这样就好办多了。因为echarts图标需要的都是些数组数据。 ?并且有金融尝试的同学一定知道,k线图无非就是要开盘价 收盘价 最高和最低四个价格,那么我们获取的数据这些都是有的,只要按照所需顺序进行剪接就行了。这方面的工作我就直接在html的js代码中完成了。 ? ? 我们在nodejs和html的js代码中都是用了定时器,因为都是在学习js初期的小作品所以没有考虑到效能和异步请求,大佬这里可以忽略。 ? ?我觉得有趣的地方是在剪切字符串并重新组合的过程,最后把想要的数据实时更新到页面实现自己的小算法的时候确实比较兴奋。我们可以对几个成功率极高的算法进行糅合过滤,最后给量化套利提供足够优质的策略参考。
具体实现过程并不复杂,甚至因为当时刚学基础方法显得笨拙,但是思路还是值得参考,对于量化也是具有不少实际意义的。希望大家也能从中汲取所需,上述代码用到的jQuery的ajax。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/15 20:45:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |