晚饭后,我先洗碗,接着下楼丢垃圾。顺便去篮球场看孩子打球,还当了回球童帮他捡球。9:30 篮球场要关门,我便和孩子一起回来,之后带他去 71 店买了些喝的。孩子先回家,我则在楼下散步。今晚饺子好像吃多了,肚子有点胀,打算缓一缓,一会儿跑跑步。
散步时我想到,进入 AI 时代,因资金不足,我无法开通量化交易,也不能调用
东方财富系统的 API,只能通过模拟点击和输入间接操作。好在核心逻辑已基本打通,各功能点的驱动也大致想明白。说到驱动,2006 年我买过一本叫《测试驱动》的书,这在当时是新颖的软件开发方式。其核心是先写测试代码,再写业务逻辑代码,能让人集中解决关键问题。我私下尝试过,但在公司项目中因职位低难以推行。
这种测试驱动开发优点有二:一是目标明确,能让人专注核心功能;二是代码能得到充分测试,倾向于黑盒及黑白盒之间的测试。不过,它也有缺点,测试代码量大,业务逻辑一变,测试代码和业务逻辑代码都得改,维护成本高。但好处是代码质量高,只是方法太过重量级。如今 AI 能帮忙生成方法级测试,无需手动编写代码,不过我认为人工讲解和代码审查仍是最佳测试方式,特别是核心业务逻辑。
功能测试和验收测试覆盖范围有限,仅靠页面点击顶多覆盖 15% - 20%的路径,很多异常和不常见操作难以测试。人工讲解类似团队或半团队方式,《从小工到专家的软件开发》书中提到,开发人员可对着显示器上的可达鸭自言自语,讲述逻辑,过程中会发现问题或想出更好方案。团队形式的代码审查,即把核心业务模块代码分给成员,他们标注疑惑、建议之处,作者再梳理讲解,能高效交流,但也可能引发无谓争论,比如花括号位置。以前因显示器小,很多人希望花括号放在行末,如今显示器变大且提倡抽象复杂逻辑,左花括号单独起行与右花括号呼应更整齐。Python 靠缩进避免此类问题,虽代码繁杂时可能有问题,但在高分辨率大显示器下看起来清爽。
现在开发方式与过去大不相同,有 AI 辅助。遗憾的是不能直接用 SDK 里的 API 操作账户交易,但借助 AI 写 Python 代码能理清流程。开发系统是为弥补执行力不足,执行时要谨慎,毕竟人性有弱点,软件程序执行率能接近 100%。带孩子一起操作,若能在执行力上做表率,他也会跟上,长期稳定赚钱相对容易,还可拓展到期货。期货有些品种阶段性处于低位,可适当开仓赚小钱,股票和期货合理分配资金赚生活费有信心。
用 AI 写代码,绕开 API 调用,通过模拟点击和输入操作交易软件提交买卖单,像是用高科技做原始动作,绕开人为限制。虽东方财富提供丰富量化 API 功能,但因条件不足无法开通,只能走间接路线。目前核心业务逻辑已清晰,接下来像搭积木一样完善边角功能,实现加强版网格功能,我觉得这比银河网格单效果更好。理论上可监控集合竞价部分,后续还能拓展,支持买单和卖单使用不同数量、差价,实现成交驱动时动态调整。但做成产品要开发界面让用户设置参数,会很复杂,比如设置停止网格单条件、单向网格(只买不卖或只卖不买)等。做大型网格操作时,若股价高位抵抗性下跌,可多卖、设大差价、少接回,但监控多支自选股时没必要,高位卖出后介入中低价位股票即可。现在还可选择切换到期货市场,这对资金管理要求更高,做好资金管理比单纯预测分析个股利润效果更好,是更高维度的挑战。