策略原型
沪深300上涨时,多数个股仍在亏钱
仅供教育研究,不构成投资建议、招揽,或任何买卖建议。
正文为已缓存的英文翻译;代码与图表保持原文。
预览 · 本文 25%
沪深300上涨时,多数个股仍在亏钱
本文是教育性研究,不构成投资建议。这是一个研究原型,不是实盘业绩记录,也不是交易推荐。
多数想尝试系统化研究的人,第一个问题都是:这个想法能赚钱吗? 更诚实的问法是:在纸面上,扣费之后,相比单纯持有指数,它表现如何,过程中又有多难受。
沪深300是市值加权。少数大盘成长股就能把指数拉起来,而普通个股原地踏步。我们围绕这个矛盾构建了一个防御型A股组合:偏好安静的标的,偏向便宜,并在上涨面窄、组合已在亏钱时降低敞口。
窗口:2016年10月10日至2026年8月21日,扣除佣金、印花税和0.1%滑点。下一格是回答这个问题的快照。
# Stored snapshot from the research run — not a live track record, not the engine.
print("CSI 300 +40% 3.6% ann Sharpe 0.20 max DD -46%")
print("This book +117% 8.5% ann Sharpe 0.64 max DD -26%")
print("Same start capital. Semi-annual rebalance. Not a live track record.")
CSI 300 +40% 3.6% ann Sharpe 0.20 max DD -46% This book +117% 8.5% ann Sharpe 0.64 max DD -26% Same start capital. Semi-annual rebalance. Not a live track record.
赚钱了吗?
在这段纸面记录上:赚了,而且更安静——其中有一段它故意显得迟钝。
- 十年间原型累计约**+117%,沪深300为+40%。最大回撤几乎减半(−26%** 对 −46%)。
- 它不是一条直线。2018年组合亏得更少。2021–23年指数下跌时它赚钱。2019–20年,成长股窄幅上涨,便宜、安静的标的被落在后面。这种滞后是设计的一部分,不是意外的bug。
- 这个失败在纸面上暴露后,我们加了两道刹车:六个月风格止损,以及宽度加回撤止损。道理就像下注前先看天气。
如果你已经以研究为生,本文剩下的部分是一套可复用的循环——写下想法、计入成本、记录它失败的年份、加一道刹车——让下一个原型不再是又一个一次性脚本。
从这里开始:一个安全的小循环
学习这类工作不需要交易台、博士学位或实时行情。你需要的是一个可以反复执行、又不会伤到自己的循环。
准备四件事:
- 一句话。 写代码之前先写下想法。我们的是:超配安静、便宜的A股;当指数上涨面窄且组合已经亏钱时减仓。
- 带日期的数据。 稳定股票池的日价格,加上使用公告日期的盈利数据。日期错了,回测再漂亮也是假的。
- 模型里计入成本。 佣金、印花税、滑点——与收益同单位。调仓要慢(我们用1月和7月),否则换手会吃掉想法。
- 留出一段不调参的样本。 如果后面几年比前面几年好,把它当作警示灯,而不是奖杯。
在循环变得无聊之前,一直停留在纸面。真金白银是后面的工具,不是入场券。
够用的工具。 Python和一个notebook就能跑出第一个原型。有经验的研究者通常需要的不是更花哨的振荡指标,而是一个把数据、代码、图表和简短文字日志放在一起的项目,这样每个新想法不必在聊天窗口和空白文件之间复制粘贴。
本文剩下的部分把这套循环应用到这本A股组合上。
继续读:配方、刹车、它失败的年份
你现在有了循环。免费订阅,看它如何应用到这个组合:
- 用大白话讲清三个任务,然后是无需量化背景也能读懂的短代码
- 刹车如何在失败模式已经出现在纸面上时才触发
- 2019–20年,沪深300说了真话,组合却没听
- 我们仍然不信任什么——这样你就不会照抄一个奖杯式的夏普
免费订阅阅读——不收费,仅研究。
免费 · 不收费
订阅后阅读全文
留下邮箱即可解锁剩余内容。完全免费,永不收费。