← 职业与实习
从练习到作品集:可复现的研究交付
先用合成数据练工作流程,再扩展到授权明确的真实数据。模板可直接下载,无账户或付费依赖。
项目 A:一个信号为什么看起来有效?
下载包提供带注解的标准库 Python 脚本、测试、实验记录和报告模板。合成价格只用于学习时点、成本和评估,不代表任何证券或真实行情。
策略故意简单:根据更早一期的涨跌决定持有或空仓,留出一整期执行延迟。比较0、5、20基点交易成本与买入持有基准。1基点=0.01%。
- 输入:固定随机种子生成的合成价格,带明确的序号与字段说明。
- 产物:daily.csv、metrics.csv、manifest.json;含数据哈希、代码哈希、Python版本、成本和种子。
- 提供5个测试:初始本金回撤、信号时点、未来数据不影响过去、成本敏感性、非法输入。
- 限制:简化收盘价执行与分数仓位,未模拟真实A股撮合、整手、涨跌停、停牌或费用明细;不是可以直接上线的交易系统。
六个任务:从跑通到能够讲清楚
- 任务1:跑测试、跑脚本。逐行解释 daily.csv 前6行,手算收益和仓位。验收:手算与代码一致。
- 任务2:把相邻两行价格改为相同值。先预测信号与净收益,再运行验证。验收:写出变化原因。
- 任务3:修改数据末尾,只比较修改前的历史结果。验收:过去结果不变,能解释无前视。
- 任务4:比较0、5、20基点费用。验收:写明这里的换手是仓位绝对变化,不能与别的报告不加区分地比较。
- 任务5:分别报告时间前半段与后半段。验收:说明这是描述性稳定性检查;如果据此选参数,需另留未查看测试段。
- 任务6:补全报告模板,录制或口述5分钟讲解。验收:假设、数据、方法、基准、失败和下一步齐全。
项目 B:加入真实数据,形成自己的研究证据
完成项目A后再选择一个很小的课题,例如日频特征的预测关系。先只选一种资产范围和一个预测窗口。下载合规可用数据,保留快照和字段文档;不要将无权公开的数据放进公开仓库。
- 基础版:单标的或少量标的,完成数据清洗、时点对齐、基线和成本对照;明确这不足以证明横截面选股能力。
- 研究扩展:使用历史股票池做横截面排序,定义公告时点、收益标签、行业/市值暴露和分层结果。
- 工程扩展:同一数据重复入库不产生重复行;加入日志、失败重试和质量报警。
- 交付检查:报告中同时给出样本范围、比较基准、所有尝试、样本外结果、局限和可重跑步骤。
从研究到仿真:了解上线前还缺什么
- 评审:另一个人能复现并检查数据时点、成本与风险;模型有明确版本。
- 仿真:接收行情事件,生成目标仓位,转换成委托;核对委托、成交和持仓的一致性。
- 异常演练:行情断流、重复成交消息、拒单、部分成交、服务重启和未知委托状态。
- 监控:数据是否新鲜、任务是否完成、持仓是否超限、成交与预期差多少、谁处理报警。
- 实盘部署属于团队审批、资金和权限管理流程;此学习项目只做到离线研究与仿真设计。
让项目写进简历,而不是只放一个链接
用实际完成的工作填写:“围绕____假设,处理____范围数据,加入____质量检查,采用____时序验证,与____基线比较;发现____,通过____测试排查问题,提供可复现实验与报告。”
不要把模板自带功能写成自己独立研发,也不要把合成数据的收益写成实盘收益。面试官追问时,能指出你改了哪个文件、为什么改,以及结果如何影响判断。