诺德股份(600110)· 锂电铜箔龙头
核心信息:主营锂电铜箔,处动力电池与储能产业链上游;固态电池、复合铜箔技术路线是中长期最大变量,下游需求随新能源车与储能回暖,铜价波动影响成本端。 我的观点:长期逻辑在固态电池量产带来的铜箔用量预期提升,但短期受行业产能过剩、加工费下行压制,波动大。当前仓位 31.87%,回本附近靠低位建仓加长持,需警惕集中度风险。 情景推演:若固态电池量产超预期弹性大;若加工费继续内卷,估值承压。
数据来源:券商账户实盘记录(2026.01 – 2026.07)。 胜率 96.23%,累计清仓收益 +121.45 万。
持仓收益 — · 实时估算 · 继峰已于 2026.07.12 清仓
💡 悬停或点击任意持仓,查看真实日K走势、目标价位与实时盈亏(开盘自动刷新)。
※ 建仓时间:继峰/诺德为实际建仓日,格力 2025.04.20、隆基 2025.04.22 为实际建仓日;继峰已于 2026.07.12 清仓(卖出价 11.87),其余持仓目前持有中。以券商实际成交记录为准。
历史 53 笔清仓 · 总收益 +121.45万 · 胜率 96.23% · 数据来源:券商已清仓查询
针对当前重仓股的最新核心信息与个人研判。个人观点,不构成投资建议。
核心信息:主营锂电铜箔,处动力电池与储能产业链上游;固态电池、复合铜箔技术路线是中长期最大变量,下游需求随新能源车与储能回暖,铜价波动影响成本端。 我的观点:长期逻辑在固态电池量产带来的铜箔用量预期提升,但短期受行业产能过剩、加工费下行压制,波动大。当前仓位 31.87%,回本附近靠低位建仓加长持,需警惕集中度风险。 情景推演:若固态电池量产超预期弹性大;若加工费继续内卷,估值承压。
核心信息:收购格拉默后全球化布局,客户覆盖大众、宝马、奔驰及理想、蔚来等;核心变量是乘用车座椅国产化替代、单车价值量提升与格拉默整合盈利修复。2026.07.11 公司公告预计半年度归母净利润约 1.72 亿元、同比预增约 85%。 我的观点:第一大重仓(53.6%),逻辑是汽车内饰国产替代加格拉默整合拐点,作为组合压舱石长期持有,当前小幅盈利。风险在单一客户依赖与海外整合不及预期。 情景推演:若整车销量回暖加整合兑现,盈利弹性可观;若海外需求走弱需警惕。
宏观结构、行业轮动与交易框架的个人研判。以下均为个人观点,不构成投资建议。
用"流动性—盈利—风险偏好"三因子看市场:当前流动性环境温和偏宽,盈利处于温和修复中段,风险偏好对外部利率与地缘事件敏感。基准情景是震荡中重心缓慢上移;若海外利率超预期下行,成长风格弹性更大。以上为个人框架,非方向承诺。
上半年红利资产提供了确定性溢价,但拥挤度已偏高。下半年更关注盈利兑现度高的景气成长(AI硬件、出海链、部分顺周期)与红利之间的再平衡。轮动不是非此即彼,而是仓位比例的动态调整。
趋势交易的本质是"顺势 + 过滤"。我用 20/60 日均线多空排列过滤方向,用 ATR 衡量波动以定仓位——波动放大时降仓而非加仓。结构比点位重要,破了结构再谈止损。
美债实际利率是全球风险资产定价的锚。若通胀粘性弱化、降息预期抬升,港股与成长股估值弹性更明显;反之,高估值板块先承压。关注点应在"路径与节奏",而非单一数据点。
把"凭感觉"变成"可复现、可验证、可改进"的系统。股票与期货两条线,分开记录进度。
基于 A 股历史数据的选股与回测框架正在搭建:因子筛选、信号合成、仓位管理已初步跑通,目前用历史行情做样本外 / Walk-forward 验证,尚未接入实盘。
用 VeighNa(vnpy)+ CTP 接入广发期货仿真环境,把"玉米双均线趋势跟踪"策略跑通:图形界面实时看盘 + 无界面自动交易,玉米 / 橡胶 / 白糖 / PTA 多品种各自独立实例。
我一直想有一套属于自己的、能自动买卖的期货量化系统——不是买别人的软件,而是从框架、策略、接入到界面全部自己掌握。
这篇文章记录我用一个周末把"玉米双均线趋势跟踪策略"跑通在广发期货 CTP 仿真环境上的全过程。重点不是炫技,而是把过程中最折磨人的 CTP 握手失败(错误码 4040 / 4097) 从现象到根因彻底讲清楚——这部分在网上的资料非常零散,踩过的坑希望你能直接跳过。
所有代码、配置、界面都已实际跑通,截图里的黑窗口日志都是真实输出。
| 层 | 选型 | 说明 |
|---|---|---|
| 量化框架 | VeighNa(vnpy)4.4.0 | 开源、社区大、CTA 模块成熟 |
| CTP 接口 | vnpy_ctp 6.7.11.4(自带 6.7.11 API) | 接上期所 CTP 协议 |
| 券商环境 | 广发期货仿真 CTP2358 | 仿真账号免门槛,先验证再上实盘 |
| 策略 | 玉米双均线趋势跟踪 v1.0(增强版) | 金叉多 / 死叉空 + ATR 止损 + 移动止盈 |
| 运行 | 虚拟环境 + 一键 .bat 启动器 | 双击即跑,不用敲命令 |
| 品种 | 玉米 / 橡胶 / 白糖 / PTA(多实例) | 一个品种一份策略实例 |
为什么选 vnpy:CTA 模块原生支持策略的"初始化 / 启动 / 停止",有图形界面可以看盘,也有无界面模式适合常驻运行。对新手最友好。
为什么先跑仿真:仿真环境和实盘用的是同一套 CTP 协议、同一套看穿式认证流程,但不需要真金白银。先把连接和策略在仿真里验证稳了,再填实盘配置(BrokerID 换成 9000、换生产授权码)即可。
策略本身不难,核心是趋势跟踪 + 风控,而不是预测涨跌:
双均线是"右侧"策略,震荡市会反复被打脸,所以加了均线排列过滤 + ATR 止损来控回撤。v1.0 阶段目标就是"能稳定自动跑、不爆仓",不是追求高收益。
启动图形界面(python run_vnpy.py --gui)后,窗口标题显示为"果壳 1.0 玉米交易系统":左侧有交易/委托/持仓面板,右侧和底部是行情、活动、成交、日志区。底部的"日志"区域会实时打印 CTP 连接状态,不用依赖被列宽截断的界面提示。
如果想完全自动、不需要看盘,直接双击 启动玉米自动策略.bat(无界面模式),会在黑窗口里看到每个品种的连接、订阅和交易信号日志。
这是整篇最值得看的部分。
双击启动器,黑窗口卡在:
行情接口:4040 CTP:API Front shake hand err: decode err
交易服务器:4097 连接断开
连锁反应:收不到合约列表 → 订阅 c2609 失败 → 策略初始化失败。
4040 / 4097 的本质是"握手认证失败"——CTP 前置在建立连接时校验你的身份信息(账号、密码、AppID、授权码、运行模式)没通过,直接断开。它发生在"下单"之前,所以和策略逻辑毫无关系。
我前后折腾了很久,最后定位到三个叠加因素,缺一不可:
production_mode 字段 ⭐(最大的坑)我们最初在配置里写:
GF_SIM = {
"production_mode": True, # 以为这个控制实盘/仿真
...
}
翻 vnpy_ctp 源码才发现,网关 connect() 实际只读一个叫 柜台环境 的键:
# vnpy_ctp/gateway/ctp_gateway.py
envrionment = setting.get("柜台环境", "实盘")
production_mode = envrionment == "实盘" # 只有"实盘"才是 True
我们的配置里压根没有 柜台环境 这个键,于是 vnpy 默认当成 "实盘" —— 也就是一直用生产模式去连仿真前置。之前我反复改 production_mode 那几次,对 vnpy 来说完全是无效操作,这也是"怎么改都不行"的真正原因。
production_mode = false(测评模式)广发下载的 CTP API 包里有一份官方《接入仿真环境须知》,白纸黑字:
交易 TraderAPI 和行情 MdAPI,有一个 bool 类型的默认参数
blsProductionMode,表示 api 是否使用生产模式,true 为生产模式(默认值),false 为测评模式。即,接入评测(仿真)环境时,需留意配置blsProductionMode为 false。
也就是说,连仿真必须显式传 false。我们之前一直按"实盘 / true"连,握手必然失败。
✅ 正确写法:
GF_SIM = {
"柜台环境": "评测", # 关键!让 vnpy 传 production_mode=false
...
}
vnpy_ctp 自带的底层 DLL 是 6.7.11,而广发仿真要求 V6.7.13。客户经理让从官网"软件下载"页下 CTP 仿真评测 API 包,里面 Win_Linux_v6.7.13_20260225_trader.zip 解压出 64 位 thosttraderapi_se.dll / thostmduserapi_se.dll,直接覆盖进:
vnpy_env/Lib/site-packages/vnpy_ctp/api/
覆盖前记得备份旧 DLL(建个 _backup_6.7.11/ 目录),万一要回滚。Python 是 64 位,所以一定要用包里的 64 位 se 版本。
三个坑全填上之后,黑窗口出现如下日志:
行情服务器连接成功
交易服务器连接成功
行情服务器登录成功
交易服务器登录成功
交易服务器授权验证成功
4040 / 4097 彻底消失。复盘一下:握手失败基本只有两条路——要么"模式/认证"配错,要么"版本"不对。按上面三点逐一核对,基本都能过。
4040 修好之后又报了一轮"找不到合约"。排查一圈,发现我前面把配置改在了根目录 ctp_config.py,但 run_vnpy.py 实际 from config.ctp_config import ... 读的是 config/ctp_config.py。
教训:Python 的导入路径和文件实际位置必须一致。改完配置一定用一行
python -c "from config.ctp_config import get_ctp_config; ..."验证"真正被加载的那个文件"内容对不对,而不是只看自己改的那个。
量化不可能只做玉米。加上橡胶、白糖、PTA 时,架构上做了个清晰的决定:
vnpy 的 CTA 策略,每个实例绑定一个合约(vt_symbol)。多品种 = 每个品种起一份策略实例。 它们各自管自己的仓位、止损、信号,互不干扰。
实现上只是在入口维护一张表:
STRATEGY_SYMBOLS = {
"玉米": "c2609.DCE", # 大商所,乘数 10
"橡胶": "ru2609.SHF", # 上期所,乘数 10
"白糖": "SR2609.CZCE", # 郑商所,乘数 10
"PTA": "TA2609.CZCE", # 郑商所,乘数 5
}
然后遍历这张表,逐个 add_strategy → init → start。同时给策略加了个 multiplier 参数(玉米/橡胶/白糖 10 吨每手,PTA 5 吨每手),仓位计算才不会算错手数。
换月也很简单:把 c2609 改成 c2611 之类即可,仿真里哪个合约有行情就用哪个。
给想自己搭的朋友一份速查:
柜台环境 是否为 "评测"(仿真),再查 DLL 版本是否和券商要求一致。production_mode:它读的是 柜台环境 这个键,"实盘"= 生产模式。import struct; print(struct.calcsize('P')*8) 看位数。这套系统现在能:双击启动器 → 自动连广发仿真 → 4 个品种各自跑双均线策略 → 自动买卖 + 止损止盈,图形界面也能实时看盘。
下一步计划:
量化最有意思的地方,不是某次赚了多少,而是把"凭感觉"变成"可复现、可验证、可改进"的系统。这套骨架搭好之后,换策略、加品种、上实盘都是增量工作。
如果你也在用 vnpy 接券商仿真,希望这篇能帮你省下那几天和那几次"为什么就是不行"的崩溃。
# config/ctp_config.py(已脱敏)
GF_SIM = {
"用户名": "6000****", # 广发下发的仿真资金账号(已打码)
"密码": "********", # 首次登录改过的密码
"经纪商代码": "2358", # 广发仿真 BrokerID
"交易服务器": "183.62.252.251:42405",
"行情服务器": "183.62.252.251:42413",
"产品名称": "client_999071860_1.0", # 报备的 AppID
"授权编码": "********", # 广发下发的看穿式授权码(勿外泄)
"柜台环境": "评测", # 仿真必须为"评测"
}
⚠️ 授权码、密码、账号属于敏感信息,切勿发到公网。文中的图片和代码示例里的
****都是发布前必须打码的位置。AppID 和前置地址一般可公开,但建议也视券商要求处理。
本文为个人搭建经验记录,不构成任何投资建议。期货交易有杠杆风险,仿真验证充分后再考虑实盘。
六条我反复验证、愿意用本金担保的原则。每条都可以展开成一篇文章。
趋势是你的朋友。在明确的趋势里做右侧,比在震荡里猜拐点,胜率高得多。
单笔风险不超过总资金的 1%–2%。活得久比赚得快重要,复利的前提是不出局。
进场前就定好退出价。止损保护的是下一次机会,而不是这一笔的面子。
连续盈利后膨胀、连续亏损后报复,是最贵的两个坑。盘前计划,盘中执行,盘后复盘。
每天写交易日志:为什么买、对错在哪、下次怎么改。认知复利来自记录,不是来自看盘。
错过不是亏损。把精力集中在自己有优势的品种和形态上,其余时间空仓也是策略。
果壳,普通股民 + 期货交易者。2016 年入市,没有金融科班背景,全靠在市场里交学费换经验。 开这个站,是想把那些年走过的弯路、验证过的打法,系统地记下来,也分享给同样在市场里摸索的人。