读书笔记:基于遗传算法的量化投资策略的优化与决策

2024-06-21 00:18

本文主要是介绍读书笔记:基于遗传算法的量化投资策略的优化与决策,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

遗传算法是建立在达尔文生物进化论的自然选择和遗传学机理基础上的自适应搜索算法,最初由美国Michigan大学的J.Hollan教授于于1975年提出,遗传算法模拟了自然选择和和遗传中发生的复制、交叉和变异等现象,即从任意初始种群出发,通过随机选择、交叉和变异操作,产生一群更适应环境的个体,是群体进化到搜索空间中越来越好的区域,这样一代代地不断繁衍进化,最后收敛到一群最适应环境的个体,进而得到问题的最优解。


遗传算法提供了一种求解分线性、多模型、多目标等复杂系统优化问题的通用框架,它具有并行搜索,群体寻优的特点,是解决大规模优化问题的有力工具。


算法部分:

三个规定:1)开仓+平仓策略;2)开仓和平仓至少一个;3)不允许加仓。


遗传变异过程为:

1)配对

2)遗传

3)变异:参数巨变,策略互换,策略突变


适应度函数

夏普业绩指数法,特雷诺业绩指数法,詹森业绩指数法


种群添加、繁衍和进化


实证分析

采用单参数的趋势追踪策略(Trend Following)和多参数的均值回复策略(Mean Reversion)


实证的其他条件

1)不持仓过夜

2)期货成交价格,买时以卖盘一档成交,卖时以买盘一档作为成交价

3)考虑交易费用


验证策略的延续性或稳定性,统计前五个交易日业绩排名于前5%的交易策略接下来交易排名情况。

前期表现好的会延续原来的表现,时间越近延续性越强。这种动态选用最优策略方法最终获利为266.09万元,最大下跌幅度16.37%。


金融实证研究经常面临“数据挖掘”的质疑,即针对样本数据进行了过度优化,导致其结果过分依赖于样本数据而不具有通用性。


本文最优策略的选择权仅与适应度函数的上一评价周期的样本相关,并不对该评价周期进行优化,实际上只需该数值处在一个合理的范围即可。


待改进之处:

1)适应度函数仅针对交易员上一时间周期的业绩,而没有考虑其累计业绩。

2)统一适应度尺度下,如果某种策略长期表现不好可能会灭绝,使剩余种群面对复杂市场余地受限。

3)产生新种群的策略组合方法可以进一步优化。

这篇关于读书笔记:基于遗传算法的量化投资策略的优化与决策的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079672

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

持久层 技术选型如何决策?JPA,Hibernate,ibatis(mybatis)

转自:http://t.51jdy.cn/thread-259-1-1.html 持久层 是一个项目 后台 最重要的部分。他直接 决定了 数据读写的性能,业务编写的复杂度,数据结构(对象结构)等问题。 因此 架构师在考虑 使用那个持久层框架的时候 要考虑清楚。 选择的 标准: 1,项目的场景。 2,团队的技能掌握情况。 3,开发周期(开发效率)。 传统的 业务系统,通常业

服务器雪崩的应对策略之----SQL优化

SQL语句的优化是数据库性能优化的重要方面,特别是在处理大规模数据或高频访问时。作为一个C++程序员,理解SQL优化不仅有助于编写高效的数据库操作代码,还能增强对系统性能瓶颈的整体把握。以下是详细的SQL语句优化技巧和策略: SQL优化 1. 选择合适的数据类型2. 使用索引3. 优化查询4. 范式化和反范式化5. 查询重写6. 使用缓存7. 优化数据库设计8. 分析和监控9. 调整配置1、

Java中如何优化数据库查询性能?

Java中如何优化数据库查询性能? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨在Java中如何优化数据库查询性能,这是提升应用程序响应速度和用户体验的关键技术。 优化数据库查询性能的重要性 在现代应用开发中,数据库查询是最常见的操作之一。随着数据量的增加和业务复杂度的提升,数据库查询的性能优化显得尤为重

设置Nginx缓存策略

详细信息 Nginx服务器的缓存策略设置方法有两种:add_header或者expires。 1. add_header 1)语法:add_header name value。 2)默认值:none。 3)使用范围:http、server、location。 配置示例如下: add_header cache-control "max-age=86400";#设置缓存时间为1天。add

打包体积分析和优化

webpack分析工具:webpack-bundle-analyzer 1. 通过<script src="./vue.js"></script>方式引入vue、vuex、vue-router等包(CDN) // webpack.config.jsif(process.env.NODE_ENV==='production') {module.exports = {devtool: 'none

高性能MYsql读书笔记-加快alter table操作的速度

alte tabe 会导致事务中断。 方法1  使用 alter column 代替 modify column  方法2  不推荐。。 ALTER TABLE      [  ALTER COLUMN    / MODIFY COLUMN  /  CHANGE COLUMN  ] ALTER TABLE sakila.film MODIFY COLUMN rental

Clickhouse 的性能优化实践总结

文章目录 前言性能优化的原则数据结构优化内存优化磁盘优化网络优化CPU优化查询优化数据迁移优化 前言 ClickHouse是一个性能很强的OLAP数据库,性能强是建立在专业运维之上的,需要专业运维人员依据不同的业务需求对ClickHouse进行有针对性的优化。同一批数据,在不同的业务下,查询性能可能出现两极分化。 性能优化的原则 在进行ClickHouse性能优化时,有几条

群体优化算法---电磁共振优化算法(EROA)介绍包含示例滤波器设计

介绍 电磁共振优化算法(Electromagnetic Resonance Optimization Algorithm, EROA)是一种新型的元启发式优化算法,其灵感来源于电磁共振现象。电磁共振是一种物理现象,当一个系统在特定频率下响应最大时,这个频率被称为共振频率。在优化算法中,共振频率可以用来引导搜索过程,提高优化效率 EROA 算法的基本原理 种群初始化: 在搜索空间内随机生成一定

怎么优化ArcEngine组件开发mfc程序界面?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 问题描述   这种VS2015 + ArcEngine10.2开发的mfc小程序怎么优化界面,使系统看上去更美观 如上问题有来自我自身项目开发,有的收集网站