算法那么多,AI量化交易策略如何选择最佳算法?
常见算法优劣比较
算法没有最好,只有更好。 这个问题的答案取决于许多因素,例如股票市场的条件,数据集的质量和特征工程的有效等。接下来,我们来看看这些算法的优势和劣势:
神经网络:适用于复杂的非线性问题,可以有效地捕捉市场的非线性特征和复杂关系。
决策树:适用于数据量较小、特征维度较少的情况,可以很好地解释模型的决策过程。
随机森林:适用于处理高维度、复杂数据集,具有很好的鲁棒性和准确性。
支持向量机:适用于数据量较小、特征维度较高的情况,可以有效地处理非线性和线性可分问题。
正常情况下,在处理少量的股票量价数据的时候,stockranker排序算法就已经有很好的表现,初步制定策略的时候不妨先考虑从stockranker下手(BigQuant量化交易平台可支持stockranker策略)。
如何选择算法
然而,一般来说,深度学习算法比机器学习算法可能会获得更好的收益和效果。 原因如下:
深度学习算法对于非线性模型的拟合效果更好。在选股策略中,非线性模型更符合实际情况。
深度学习算法可以处理更复杂的数据结构。 对于股票数据,深度学习算法可以更好地挖掘和处理时间序列数据,自然语言处理和图像数据等多种数据结构。
深度学习算法可以进行端到端学习。深度学习算法可以直接从原始数据中进行学习,而不需要进行手动特征工程,这样可以更好地挖掘数据的潜在信息。
但是,在实际场景中,对于某些较为单一的选股条件,或者特征因子,没有经过大量细节优化修正的神经网络模型,效果有可能不及预期。(回测乃至实盘的绩效甚至不如普通的机器学习模型,模型对收益率的可解释性不强,难以验证)
我们来看看一些主流的机器学习算法 对相同的特征因子训练后的收益表现图:
训练集:14-2018年-01-14
测试集: 18-2019-01-10
日频调仓:每天1只股票半仓轮动

StockRanker VS DNN
我们可以看到下面的stockranker回测图,stockranker算法 的回测净值收益达到 1.3 高于 svm算法净值 1.2 。
与此同时,我们同样可以看出在相同的因子和训练数据中,未经过深度调整的DNN神经网络模型表现不佳,回测收益为负数。
StockRanker表现(文末获取源码)

DNN表现
从对比结果上来看:理论上深度学习算法的上限很高,同时下限也很低。如果从稳定性和实用性来讲,我们较多会选用stockranker这样的算法来制作选股策略。
综上所述,深度学习算法可能会获得更好的收益和效果。但是,需要注意的是,深度学习算法的学习过程通常需要较长时间,并且需要更多的计算资源。因此,在实际应用中,需要评估复杂性和可行性,并根据具体情况选择适当的算法。
From:如何给策略选择最佳的算法 - AI量化知识库 ,原地址可以领取源码。
算法那么多,AI量化交易策略如何选择最佳算法?的更多相关文章
- 3. 量化交易策略 - https://github.com/3123958139/blog-3123958139/README.md
3. 量化交易策略 * 输入数据 - 只取最原始可靠的,如 * date * open * high * low * close * volume * 输出数据 - 根据数理统计取权重,把 o, h, ...
- 金融量化分析【day112】:量化交易策略基本框架
摘要 策略编写的基本框架及其实现 回测的含义及其实现 初步学习解决代码错误 周期循环的开始时间 自测与自学 通过前文对量化交易有了一个基本认识之后,我们开始学习做量化交易.毕竟就像学游泳,有些东西讲是 ...
- 股票数据获取到了,导入MT4中,是否可以做出很好的量化交易策略呢?
寻找了很久,看到有tushare这个python的类库,但研究了几个小时都没有研究明白,anaconda安装和pycharm的使用都不是特别顺手,最后也是失败告终.还有就是我的低配的平板suerfac ...
- QuantStart量化交易文集
Over the last seven years more than 200 quantitative finance articles have been written by members o ...
- 量化投资学习笔记01——初识Pyalgotrade量化交易回测框架
年初学习量化投资,一开始想自己从头写,还是受了C/C++的影响.结果困在了计算回测数据那里,结果老也不对,就暂时放下了.最近试了一下python的各个量化投资框架,发现一个能用的——pyalgotra ...
- python做量化交易干货分享
http://www.newsmth.NET/nForum/#!article/Python/128763 最近程序化交易很热,量化也是我很感兴趣的一块. 国内量化交易的平台有几家,我个人比较喜欢用的 ...
- Python量化交易
资料整理: 1.python量化的一个github 代码 2.原理 + python基础 讲解 3.目前发现不错的两个量化交易 学习平台: 聚宽和优矿在量化交易都是在15年线上布局的,聚宽是15年的新 ...
- 深入浅出 1 - AI量化策略快速理解
我们在用AI来编写量化策略过程中,主要用到了机器学习,先来从一张图直观理解什么是机器学习:人类对新问题做出有效决策依靠的是过去积累的许多经验,并对经验进行利用,而对机器来说,“经验”以“数据”方式 ...
- 量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python)(转)
量化交易中VWAP/TWAP算法的基本原理和简单源码实现(C++和python) 原文地址:http://blog.csdn.net/u012234115/article/details/728300 ...
- Python进阶量化交易场外篇4——寻找最优化策略参数
新年伊始,很荣幸笔者的<教你用 Python 进阶量化交易>专栏在慕课专栏板块上线了,欢迎大家订阅!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外会陆续推出一些手记来辅助同学们学习 ...
随机推荐
- Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.so
在安装Docker以后,执行命令出现错误. Got permission denied while trying to connect to the Docker daemon socket at u ...
- Python socket实现简单聊天,同步输入和接收消息
查的资料很多都是必须等待接收数据后才能再次输入.做了修改,使用多线程的形式,实现一边输入,一边接收 服务端代码 import socket import threading import sys im ...
- Matlab 设计仿真CIC滤波器
2023.09.26 使用CIC滤波器用于降采样.同样的,CIC滤波器也适用于升采样. 参考连接: [1] Matlab中CIC滤波器的应用_dsp.cicdecimator_张海军2013的博客-C ...
- replace批量替换、表删除数据查询用法
一. select * from baec_file where bacti='1'order by baec01; select baec02,REPLACE(baec02,'白班','A班') f ...
- [NISACTF 2022]level-up
[NISACTF 2022]level-up 查看源码,根据这个提示就可以反应出是需要去访问robots.txt这个文件 访问level_2_1s_h3re.php进入第二关 需要post进去arra ...
- Redis主从复制部署小结
Redis主从 搭建主从架构 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离. 主从数据同步原理 全量同步 主从第一次建立连接时,会执行全量同 ...
- Redis 6 学习笔记 2 —— 简单了解订阅和发布(Pub/Sub),JDK17环境下用Jedis 4.3.1连接Redis并模拟验证码发送
REDIS pubsub -- Redis中国用户组(CRUG) 什么是发布和订阅 Redis发布订阅是一种通信模式:发送者(Pub)发送消息,订阅者(Sub)接收消息.Redis客户端可以订阅任意数 ...
- 2.MongoDB Sharding Cluster分片集群
分片集群-规划 10个实例:38017-38026 (1)configserver:38018-38020 3台构成的复制集(1主两从,不支持arbiter)38018-38020(复制集名字conf ...
- VRRP相关简述
VRRP 诞生原因 单网关,出问题时,旗下所有主机无法通信. 多网关,容易产生网关冲突. 而,VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关 ...
- 队列(c++源码)
queue.h #ifndef QUEUE_H_ #define QUEUE_H_ #include<iostream> template<class T> struct No ...