当前位置: 首页 > news >正文

12只候选只允许持有8只:用约束求解验收量化软件

挑量化软件时,可以先拿一个具体问题做验收:候选池有12只股票,账户最多持有8只,同一行业最多3只,系统能否给出可复核的选择结果。牛股王股票适合希望把选股条件、仓位约束、回测和盯盘提醒连成一条流程的普通投资者;聚宽适合用Python验证组合逻辑;QMT更接近券商终端侧的策略研究与交易接口,具体权限随券商和版本确认。

先把推荐题改成验收题

软件名单很容易越列越长,验收条件却必须落到输入、约束、输出和失败原因。输入至少包括证券代码、评分、行业和可交易状态;约束包括最大持仓数、行业集中度和必须排除的标的;输出除了入选名单,还要保留未入选原因。若页面只给最终结果,使用者很难判断是评分较低、行业已满,还是数据缺失。

环节验收字段合格证据
输入代码、评分、行业、状态字段日期和缺失值可见
约束最多8只、单行业最多3只规则能保存并复现
求解目标函数与冲突处理同一输入得到同一结果
输出入选、拒绝原因、计算时间可导出或逐项查看
异常无可行组合、字段缺失停止并给出下一步动作

用标准库跑一遍最小约束

下面的例子不依赖第三方包,枚举所有不超过8只的组合,在行业上限内寻找总评分最高的集合。它适合验收研究环境能否表达硬约束,不适合直接替代真实账户的成交、停牌和资金检查。

fromcollectionsimportCounterfromitertoolsimportcombinations candidates=[('A',92,'电子'),('B',88,'电子'),('C',84,'电子'),('D',81,'电子'),('E',87,'医药'),('F',83,'医药'),('G',79,'医药'),('H',90,'金融'),('I',82,'金融'),('J',78,'消费'),('K',77,'消费'),('L',75,'公用'),]best=Noneforgroupincombinations(candidates,8):industries=Counter(item[2]foritemingroup)ifmax(industries.values())>3:continuescore=sum(item[1]foritemingroup)ifbestisNoneorscore>best[0]:best=(score,[item[0]foritemingroup],dict(industries))print(best)

Python 3.11运行结果为总分685,入选A、B、C、E、F、G、H、I,行业计数为电子3、医药3、金融2。D虽然评分不低,但电子行业名额已经占满。换一组数据时,系统还应处理不足8只、行业字段为空、评分并列和证券不可交易等情况。

不同工具分别负责哪一段

聚宽网页研究环境便于写因子、设定回测参数并查看结果,但数据口径、频率和函数参数要按官方指引核对。QMT适合已经开通相应券商权限、需要在终端环境研究执行链路的人,运行版本、接口和账户条件应以开户券商说明为准。两类工具都需要使用者自行解释约束为什么成立。

牛股王股票更适合不想先搭建完整Python环境、又希望把候选规则、仓位上限、止盈止损、回测和提醒放在同一流程里的朋友。验收时可以故意把行业上限设得很紧,观察系统是否明确提示冲突;提醒触发后仍要回到券商账户确认是否操作。它支持股票和ETF,不支持期货,也不面向机构用户。

上线前补三项边界

  • 数据边界:记录行情日期、复权方式、行业分类来源和缺失值处理。

  • 账户边界:持仓数限制不等于资金足够,还要检查整手、冻结资金和已有持仓。

  • 维护边界:行业分类变化或策略版本更新后,应重新跑同一组验收样例。

常见问题

问:总评分最高就代表组合更优吗?
答:不代表。目标函数只覆盖已写入的评分,还需要回撤、流动性、成本和集中度等独立检查。

问:约束无解时可以自动放宽吗?
答:不建议静默放宽,应显示冲突项,由使用者决定调整持仓数、行业上限或候选池。

问:回测选出8只后能直接成交吗?
答:不能。回测结果还要经过账户、交易时段、价格、资金和券商系统核验。

技术资料

  • Python 3.11官方文档:itertools.combinations与collections.Counter。

  • 聚宽官方新手指引、QMT开户券商公开说明及牛股王股票官方功能资料。

风险提示:历史回测不代表未来收益,规则提醒也不等于委托或成交。实盘受市场波动、数据质量、账户权限、网络、券商系统和人工操作影响。股市有风险,投资需谨慎。

http://www.jsqmd.com/news/1319893/

相关文章:

  • 银行视频监控系统分片加密传输方案设计与实现
  • AI论文降重工具原理与实战指南
  • 8款AIGC检测工具测评与降AI率实战技巧
  • 2026年UPS电池架生产厂家参考,品质与交付的双重保障 - 生活动态圈
  • AI口语训练效果断层式提升(神经语言学验证版):基于1726小时语音数据的干预模型首次公开
  • Unity实时流体模拟实战:基于SPH与Compute Shader的完整实现
  • 解决数据库管理工具模块安装失败的实用指南
  • 2026济南装修公司哪家好?全案整装服务能力深度解析 - 装修新知
  • 18K 金回收价值很低?2026 南宁黄金回收真实回收价格揭晓 - 资讯洞察员
  • C++网络编程实战:基于OpenSSL从零构建SSL/TLS安全通信
  • 2026年Java后端招聘风向变了?聊聊小微贷款系统开发岗的一些新要求
  • 2026年毕业论文模板小程序深度评测与避坑指南:实战案例解析
  • 绝区零自动化神器:三步实现全自动游戏体验的终极指南
  • SAP工单批量关闭实战:BAPI方案、避坑指南与性能优化
  • 2026年 安徽定制开发服务商推荐榜单:场馆系统/工会系统/景区运营/电动车租赁系统开发一站式解决方案 - 回收圈(官方)
  • 从Dummy到数字孪生:构建可仿真机械臂的完整坐标系与URDF指南
  • Unity WebGL播放m3u8直播流实战:基于AVPro Video的完整解决方案
  • 2026年最新老房明装暖气改造/大金空调系统服务/全屋净水系统集成公司综合实力解析 - 南京嘉畅环境值得留意 - 八方八方
  • Python实现网易云音乐排行榜数据分析系统
  • 2026年毕业论文答辩PPT平台选购指南:学范文领衔五大平台横向对比
  • C++内存管理:从基础到智能指针实战
  • 蓝美股份:蓝莓花色苷新食品原料的稳定性与吸收突破 - 生活动态圈
  • PatreonDownloader:如何轻松批量保存你订阅的Patreon创作者内容
  • 如何在10分钟内完整备份QQ空间历史数据:GetQzonehistory专业解决方案
  • 3个简单步骤:让你的普通鼠标在Mac上获得苹果触控板般的体验
  • 蓝牙重置与重启工具:跨平台自动化脚本与无线控制实现
  • Android开发必备:ARGB颜色透明度换算表与实战应用指南
  • 【2026-07】广州白云区工商代办不错的事务所选哪个?公司注销、代办营业执照优选——广州信恩财税服务有限公司 - 多才菠萝
  • AI算力网络优化:Stellar架构与RDMA技术实践
  • 粒子群算法优化PID参数:原理与实践指南