20250802自动化超参训练

很久没更,因为折腾。新机训练一直会显卡掉线(视频输出没有了),发现是GPU训练时所有资源都给了运算,因为装机时没考虑到这点,主板没有集成显卡、CPU没有显卡,没有退路,还好电脑公司老板时弟兄,把CPU给换成带显卡的,这样最经济也很有效,更换CPU后一直正常了。

现在功夫全在模型上,选定XGBoost,LSTM,GRU,CNN大模型上,并且设计好了多模型加权趋势预测和交易出发,就缺训练出好的模型了。

在模型训练上,因为超参多,范围广,还针对不同时间周期都有特定要求,所以设计了自动化训练探索和自动精调模式,暂时测试是10个周期,以后稳定后,可能就让他去整天训练吧。

20250721准备增加点算力

组件型号关键参数
CPUIntel i5-12400F6核12线程/4.4GHz
GPU技嘉 RTX 3060 EAGLE OC 12G12GB 双风扇 CUDA核心
主板华硕主板TUF GAMING B660M-PLUS WIFI D4支持DDR4/双M.2接口
内存金士顿内存32G/3200 DDR4 野兽骇客神条3200MHz/CL16
存储(SSD)长江致态固态硬盘Ti600 M.2 PCIE4.0 500G
存储(HD)WD台机 WD20EARZ 2TB 5400转 代理(垂直盘)
电源航嘉电源 WD650Evo 炫金战神 黑色650W/80Plus金牌
散热器利民散热器TL-AX120 R-SE ARGB 1700版
机箱爱国者(aigo)机箱YOGO K1钛灰色
风扇利民风扇TL-C12C-S幻彩 工包
总计

总价6K+,对于运算K线数据+Ta-lib,应该足够。明天到货

20250716完成XGBoost、LSTM、GRU三种模型

大模型的引入,势必造成当前算力的考验,尤其LSTM当前开发电脑对于几年的短周期K线数据,在种群和迭代较多情况下,几乎宕机,虽然已经使用多核心(当前电脑也就4核,无GPU显卡加持)。

看来要下本钱,至少搞个4060之类的卡

20250714数据模型选择和实施

几天时间一直在甄选模型和如何部署,会涉及到原来模块的废弃。

1.模型互补性 (Model Diversity):选择的三个模型各自擅长捕捉不同类型的数据模式,形成了完美的互补。

•XGBoost:作为一种梯度提升决策树模型,它非常擅长处理结构化数据。你可以为它构建大量的传统技术指标(如MA, RSI, MACD, 布林带等)、价格形态特征、订单流数据等。它能高效地挖掘这些特征之间复杂的非线性关系。
•LSTM (长短期记忆网络):作为一种循环神经网络(RNN),它天生就是为时间序列数据而生。它能有效捕捉数据中的长期依赖关系和时序动态,例如趋势的惯性、动量的持续性等。它直接处理原始的价格序列(如OHLCV)时效果很好。
•CNN (卷积神经网络):虽然常用于图像识别,但一维CNN在时间序列分析中也非常强大。它可以被看作一个高效的模式识别器,能够自动学习和提取价格序列中的局部、平移不变的模式(比如特定的K线组合、W底、M顶的雏形等),而不需要你手动去定义这些模式。

2.鲁棒性增强 (Increased Robustness):金融市场是高噪声、非平稳的。单一模型可能会在某个市场阶段表现优异,但在另一个阶段失效。通过加权融合三个模型的预测,可以有效平滑掉单个模型的极端错误,使得最终的交易信号更加稳健,降低策略的过拟合风险。

实施步骤:

第一阶段:独立建模

•为每个模型(XGBoost, LSTM, CNN)分别搭建完整的“数据处理 -> 训练 -> 验证”流水线“。
•目标是让每一个模型都能独立产生有一定预测能力的结果(即使能力不强)。如果某个模型连最基本的预测能力都没有,它对最终的集成可能只会带来负面影响。

第二阶段:模型集成
•获取三个模型在验证集上的预测结果。
•研究如何组合它们。从简单的静态加权开始,如果效果不错,再尝试实现更复杂的元模型(Stacking)。

第三阶段:策略转换与回测
•将集成后的预测概率(或类别)转换成明确的交易信号(开仓、平仓、仓位大小)。
•在回测框架中对完整的策略进行历史回测,并使用从未在训练和验证中出现过的样本外数据(Out-of-Sample Data)进行最终测试。

4.第四阶段:模拟与实盘
•在最终测试中表现良好的策略,先进行一段时间的模拟盘交易,观察其在真实市场环境下的表现,最后再考虑投入实盘。

这几天已经完成:

1、针对品种+周期的敏感特征探索

2、针对敏感特征进行参数优化

3、模型(XGBoost)的超参调优(加载敏感指标+优化参数等特征)

4、训练模型,固化训练成果

5、进行回测

该过程已经对硬件运算条件提出了要求。。。

20250705准备放弃指标甄选,使用大数据模型

经过几次更换思路对指标和参数的优化,发觉还不如直接放弃,转用大数据模型来代替预测和交易触发。

1、不同产品,不同周期对不同指标敏感度都不一样,优化会涉及到参数和买卖触发点,虽然用贝叶斯优化来探索,但是也还是费时费力的。复合指标更是要针对性特别处理,很是麻烦。

2、通过机器学习模型(如随机森林、神经网络、LSTM等)能够捕捉价格波动中的非线性关系,相比传统指标更灵活。而且我曾经也有一版LSTM预测和触发交易的程序,通过测试,还是有点效果。

3、纯技术层面,可以用高频交易数据和机器学习模型预测短期价格波动,替代RSI或移动平均线。更深入一点,通过分析宏观经济数据和公司基本面,构建投资组合优化模型,替代传统的基本面分析。

准备重新开发预测、触发点的模块,使用XGBoost+LSTM+随机森林,对于模型训练会比较麻烦,并不是普通用户直接可以在自己电脑操作,但是到时可以提供针对某个品种的训练好的模型。

先做了再说。。。

20250626折腾两天pandas-ta

pandas-ta 是一个直接构建于 Pandas DataFrame 之上的技术分析库,这使得它非常易于与 Pandas 工作流集成,使用简单直观的接口来计算各种技术指标,可以直接添加结果到现有的 DataFrame 中,便于数据处理和可视化。本来是打算用于贝叶斯优化中用于计算和返回方便,但是发现当前官方提供的版本0.3.14b0好像很多方便的功能已经不提供了,检索开发者的github,发现“Pandas TA has moved!The current version is 0.4.25b with a pip release available after July 1st, 2025. Future releases after July 1st, 2025 will be subject to paid releases for businesses and organizations and subscription-based options for others.” 已经关闭原项目,并准备在25年7月提供订阅(付费)。

看来,还是用TA-Lib吧,虽然会麻烦点,但是运行效率是杠杠的。

20250624交易明细和贝叶斯优化初步

完成交易主、明细表结构,同步MT5交易信息等

因为穷尽式探索优化参数虽然全面覆盖,但是效率极低,准备引入贝叶斯优化算法,探索更优的参数模式。

贝叶斯优化(Bayesian Optimization)是一种用于全局优化问题的有效方法,特别适用于黑箱函数优化、昂贵的函数评估以及高维空间中的搜索。它在机器学习模型调参中非常流行,例如寻找神经网络的最佳超参数。利用Hyperopt算法、Optuna超参、Scikit-learn机器学习实现贝叶斯优化。

今天搭了个雏形,以前已经实现过,现在整合复用下。