- 博客(55)
- 收藏
- 关注
原创 【量化回测】使用joblib进行并行大数据处理容易被忽略的内存泄漏问题发现与解决
本文记录了一次量化回测中内存泄漏问题的排查与解决过程。在多进程并行处理1500万行股票数据时,发现任务完成后子进程未释放内存,导致系统内存占用持续偏高。经过分析,发现根本原因是跨进程传递了不可序列化的pl.LazyFrame对象。最终采用两种解决方案:1)子进程只写文件,不传复杂对象;2)改用标准库ProcessPoolExecutor。优化后实现了内存稳定释放,系统可支持大规模数据的高效处理。
2025-11-20 16:03:41
860
原创 【微盘指数合成实战】:增量更新与分块处理
本文针对微盘指数合成中的性能瓶颈问题,提出了增量更新和分块处理的优化方案。增量更新通过检查本地已有数据截止日期,仅处理新增数据,并基于前一日收盘价继续计算,避免重复运算。分块处理将大数据拆分为小段逐段计算,动态调整块大小,确保各块计算结果连续一致。文中还提供了进程间共享只读数据、避免假并行等实用技巧,强调工程实现对量化策略稳定运行的重要性。这些方法能有效解决内存溢出、重复计算等问题,提升生产环境下的运行效率。
2025-11-13 15:24:03
806
原创 【Git Merge branch】Git 合并提交(Merge Commit)的成因与清理:从本地修复到安全重写历史
本文分析了Git提交历史中出现冗余"Merge branch"的原因,并提供了三种场景的解决方案。当多人协作开发时,git pull默认的merge操作会导致不必要的合并提交。
2025-11-12 11:44:05
1228
原创 【微盘指数合成】:从成分股到指数K线数据构建
本文介绍了如何构建微盘指数的方法,包括日线和分钟级别两种合成方式。指数计算采用等权平均法,通过成分股涨跌幅的连乘得出指数价格。日线指数从1000点基准开始,通过每日平均涨跌幅累计生成;分钟指数则基于股票日内累计收益计算,并与日线指数保持一致性。文章提供了完整的Python实现代码,并详细解释了算法步骤。
2025-09-23 14:04:28
1429
原创 选择 ProcessPoolExecutor 还是 joblib?—— 量化研究中的并行计算性能实测与选型指南
本文对比了Python中两种并行计算方案joblib和ProcessPoolExecutor在量化研究中的性能表现。测试显示,在处理分钟级股票数据时,ProcessPoolExecutor通过预热机制实现了5倍速度提升和100%的CPU利用率,远优于joblib的54%利用率。分析表明,joblib因调度开销较大而效率较低,而ProcessPoolExecutor更贴近底层、任务分发更直接。建议量化研究中根据任务类型选择:I/O密集型数据处理用ProcessPoolExecutor,科学计算和模型训练则更适
2025-09-19 10:06:56
780
原创 【Numba】正确使用numba,让你的python代码原地起飞!
摘要: Python在计算密集型任务中性能较差,Numba提供了简洁高效的JIT编译解决方案。只需添加装饰器即可将Python代码编译为机器码,实现接近C语言的性能。文章介绍了Numba的安装、基础语法(@jit/@njit装饰器)、编译选项(缓存、并行计算等)以及支持的数据类型。测试显示Numba版本比纯Python快数十倍,且无需修改现有代码,是提升Python数值计算性能的理想工具。
2025-07-15 19:55:51
2159
原创 【Python】邮箱登录验证码功能实现
使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录使用python实现邮箱登录
2024-12-29 16:15:08
2490
原创 【超级详细】Vue3项目上传文件到七牛云的详细笔记
如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云如何在Vue3项目中实现文件上传至七牛云
2024-12-29 15:51:59
1816
原创 【超级详细】七牛云配置阿里云域名详细过程记录
详细记录自己在七牛云存储空间绑定一个自定义阿里云域名的过程。详细记录自己在七牛云存储空间绑定一个自定义阿里云域名的过程。详细记录自己在七牛云存储空间绑定一个自定义阿里云域名的过程。详细记录自己在七牛云存储空间绑定一个自定义阿里云域名的过程。详细记录自己在七牛云存储空间绑定一个自定义阿里云域名的过程。详细记录自己在七牛云存储空间绑定一个自定义阿里云域名的过程。详细记录自己在七牛云存储空间绑定一个自定义阿里云域名的过程。详细记录自己在七牛云存储空间绑定一个自定义阿里云域名的过程。
2024-12-28 10:31:13
3169
原创 【软件工程】《软件工程》期末复习提纲
《软件工程》期末复习提纲《软件工程》期末复习提纲《软件工程》期末复习提纲《软件工程》期末复习提纲《软件工程》期末复习提纲《软件工程》期末复习提纲《软件工程》期末复习提纲
2024-01-15 15:35:17
2118
原创 【Oracle】期末复习题
【Oralce】期末复习试题,这回不看是真不行了!!!【Oralce】期末复习试题,这回不看是真不行了!!!【Oralce】期末复习试题,这回不看是真不行了!!!【Oralce】期末复习试题,这回不看是真不行了!!!
2024-01-15 15:08:30
3890
原创 【JavaWeb】Web程序设计期末复习总结
Web程序设计期末总结Web程序设计期末总结Web程序设计期末总结Web程序设计期末总结Web程序设计期末总结Web程序设计期末总结Web程序设计期末总结
2024-01-14 15:09:57
2277
原创 【计算机组成原理】期末复习试卷
【计算机组成原理】期末复习题【计算机组成原理】期末复习题【计算机组成原理】期末复习题【计算机组成原理】期末复习题【计算机组成原理】期末复习题【计算机组成原理】期末复习题
2024-01-14 09:55:38
20887
9
原创 【Win11】电脑正常联网浏览器却打不开???
解决方法也很简单首先Win+I打开电脑设置,点开网络和Internet,选择代理选项。然后把自动代理和手动代理全关了。完美解决,继续我的快乐学习。
2024-01-13 12:34:06
1639
原创 【数字与模拟电路】期末复习题
数字与模拟电路期末复习题数字与模拟电路期末复习题数字与模拟电路期末复习题数字与模拟电路期末复习题数字与模拟电路期末复习题数字与模拟电路期末复习题数字与模拟电路期末复习题
2024-01-12 11:44:57
3903
2
原创 【操作系统】《计算机操作系统》(第四版)复习题
《计算机操作系统》(第四版)复习题《计算机操作系统》(第四版)复习题《计算机操作系统》(第四版)复习题《计算机操作系统》(第四版)复习题《计算机操作系统》(第四版)复习题
2024-01-11 10:28:37
4289
原创 【Android开发】移动程序设计期末复习练习题(二)
安卓期末复习题库安卓期末复习题库安卓期末复习题库安卓期末复习题库安卓期末复习题库安卓期末复习题库安卓期末复习题库安卓期末复习题库安卓期末复习题库安卓期末复习题库
2024-01-11 10:15:02
4663
原创 【Android开发】移动程序设计复习大纲
移动程序设计复习大纲移动程序设计复习大纲移动程序设计复习大纲移动程序设计复习大纲移动程序设计复习大纲移动程序设计复习大纲移动程序设计复习大纲移动程序设计复习大纲
2024-01-11 09:58:02
1984
原创 【Python】数据可视化--基于TMDB_5000_Movie数据集
由于原数据集包含的数据信息较多,因此我们可以在每次需要分析的时候提取部分字段进行分析,比如关键字、电影类型、上映时间、生产厂家、预算、收入等等。观察过滤完的数据集和我们不难发现存在部分字段缺失值,字段类型数据形式不是我们想要的结果,因此我们对数据集进行进一步处理。注:下面代码需要上面的预处理结果。运行结果:(时间轮番图)
2024-01-10 20:42:32
2057
原创 【Android开发】不同Activity之间的数据回传实例(二)星座测算游戏
在MainActivity 中实现“星座测算”按钮的点击事件,当点击按钮时程序跳转到星座测算界面StartActivity,同时,将用户姓名和日历上选中的日期发送到星座测算界面。在StatrActivity 中,接收第一页传递过来的值并且显示到对应的文本控件里面,然后根据日期计算出对应的星座,再根据不同的星座显示对应的星座图片和星座介绍文字。
2024-01-09 21:44:49
1617
6
原创 【Android开发】不同Activity之间的数据回传实例(一)摘桃子游戏
通过Activity 之间的数据回传机制实现一个摘桃子游戏,Android Studio3.2.0,Android SDK9.0 版本(API 28)
2024-01-09 21:20:45
3062
1
原创 【算法分析与设计】期末总结
算法分析与设计:归并排序、快速排序、矩阵连乘、0-1背包、电路布线、活动安排、最小生成树、批作业调度、最大团、转载问题。
2024-01-08 21:00:11
1593
原创 【数据结构】Java实现哈夫曼编码
哈夫曼编码的特点是高频字符使用短编码,低频字符使用长编码,这种编码方式避免了解码时的歧义。哈夫曼树是一种特殊的二叉树,它的每个叶子节点都对应着一个字符,并且树的形状是根据字符出现的频率来构建的。这样,出现频率高的字符可以用较短的编码表示,而出现频率低的字符可以用较长的编码表示。这是因为出现频率高的字符使用了较短的编码,而出现频率低的字符使用了较长的编码,从而整体上减小了编码后的文件大小。哈夫曼编码的特点是没有编码是其他编码的前缀,这样可以避免在解码时出现歧义。利用哈夫曼编码可以实现文件的压缩和解压缩。
2023-12-06 10:21:40
923
原创 【DEBUG】SpringBoot2+Mybatis启动时报错:java.lang.IllegalStateException: Failed to execute CommandLineRunner
SpringBoot2+Mybatis启动时报错:java.lang.IllegalStateException: Failed to execute CommandLineRunner
2023-10-20 10:42:22
1662
原创 【任务调度】cron语法详解
Cron表达式是一个强大的工具,当我们需要定时执行任务时,可以使用cron表达式来指定任务的执行时间。Cron表达式是一个字符串,表示一组时间,它由6或7个字段组成,主要用于设置定时任务的执行频率。
2023-10-12 20:04:23
875
原创 解决SpringBoot项目中Date数据类型显示问题
在SpringMVC开发中,我们经常遇到的情况。其中一个常见的例子是,后端传递一个Date类型的数据给前端,在前端展示的时候需要以特定的格式显示,但默认情况下,SpringMVC并没有提供对Date类型的默认格式化。那么,如何解决这个问题呢?下面将介绍一种解决思路,通过配置HttpMessageConverter来实现对数据时间格式的统一。
2023-10-07 10:56:09
585
1
原创 【数据结构】用java实现队列
队列(Queue)是一种基于元素的集合,特点是只允许在列表的一端(称为队尾rear)进行插入,而在列表的另一端(称为队头front)进行删除。因为队列遵循先进先出(FIFO,First In First Out)的原则,所以也被称为先进先出的线性表。
2023-08-28 17:46:46
571
1
原创 【数据结构】用java实现栈
栈(Stack)是一种基本的数据结构,它遵循“后进先出”(Last In First Out,LIFO)的原则。在栈中,最后插入的元素首先被弹出。
2023-08-28 17:09:23
704
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅