SKILL.md
3.6 KB查看源码小鲸基金择时#
给场外基金(支付宝 / 天天基金能买的那种)做择时和建仓计划,输出每天可执行的具体指令,不是模糊的"建议关注"。
它输出什么#
| 动作 | 基金 | 代码 | 金额 | 为什么 |
| 买入 | 华泰柏瑞中证红利低波ETF联接A | 007466 | 500 元 | 底仓没建满(0/2000),本周第 1 笔 |
| 卖出 | 易方达创业板ETF联接A | 110026 | 1000 元 | 跌破 60 日线(-3.2%),先退一半 |
没有触发条件时直接说「今天不用动」。
策略:核心 + 卫星#
核心仓 40% —— 不看信号,按周建满,跌了也照买。
- 红利类指数基金 20%(慢牛,长期抗跌,选成立久、回撤小的)
- 短债基金 20%(压舱石,年化 2~3%,回撤通常小于 1%)
卫星仓 60% —— 只做趋势,站上 60 日均线才进场。
- 高弹性指数(中证 1000、创业板、科创 50 等),单只上限 20%
- 进场:刚站上 60 日线(1~3 天内)先买一半,站稳第 4 天补满
- 退出:跌破先退一半,连续 4 天在下方全部清掉
为什么是 60 日线:宽基指数用「收盘价是否在 60 日均线上方」这一条规则,历史上能显著削掉回撤(创业板五年:持有 -56.6% 回撤 → 择时 -25.7%;沪深300:-38.5% → -13.1%)。
为什么红利不做择时:慢牛品种被均线反复甩下车,长持反而更好(红利五年持有 +8.8%/年,做择时变成 -4.0%/年)。
依赖#
- Python 3.8+,
requests、numpy - 数据源:东方财富公开净值接口(无需 API key)
用法#
# 查任意基金的净值历史和 60 日线状态
python scripts/nav.py 007466 110026
# 生成今天的指令(读 holdings.json 当台账)
python scripts/plan.py
holdings.json 是持仓台账,每次成交后改它:
{"cash": 5000.0, "capital": 10000.0,
"positions": {"红利": {"value": 1000}, "创业板": {"value": 2000}}}
换基金、改比例,改 scripts/plan.py 顶部的 CORE / SAT 两个列表即可,weight 加起来等于 1。
挑基金的几条硬标准#
- 成立满 3 年,否则 60 日线没有参考意义
- 同类里选年化高、回撤小的(
nav.py会直接打印这两个数) - 同一指数有多只时,比较它们的近 3 年收益和最大回撤,别只看名字
- 打算拿半年以上选 A 类(一次性申购费打折后约 0.12%);几个月就换的选 C 类
场外基金的三个坑#
- 15:00 是分界线:之前提交按当天净值,之后算下一个交易日。
- 持有不满 7 天赎回费 1.5%,所以别做日内级别的调整,最少按周看。
- 净值 T+1 才更新,今天的信号用的是昨天的净值,这是场外基金的固有延迟,不是 bug。
参数怎么调#
- 想更稳:把核心仓提到 60
70%,卫星压到 3040% - 想更猛:卫星提到 80%,但要知道回撤也会同比例放大(创业板历史最大回撤 -55%)
- 嫌动手太频繁:把确认天数从 3 天改成 5 天
免责#
这套规则基于历史数据的统计规律,不保证未来收益。任何择时策略都会在震荡市里被反复打脸。用它管纪律可以,指望它发财不行。
更新记录#
- 0.1.0:首个版本,核心仓分批建仓 + 卫星仓 60 日线择时
- 0.1.1:补上更新记录一节,说明版本改动
文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。

