操作手册
新手快速上手
第一次使用?按下面 3 步即可完成一次完整的选股:
- 选市场 — 页面顶部点选「美股 / 港股 / 日股」标签
- 选因子 + 点筛选 — 新手推荐选 风险调整动量,Top N 填 30,直接点「筛选」
- 看结果 — 表格按因子得分排序,点击任意行可展开个股详情(走势图、财务指标)
想要更精确的结果?展开「高级过滤」,参考下方推荐值设置负面筛选条件。
1. 工具概述
Biz QuantScreen 是本地量化因子选股工具。它读取本地历史价格数据,用学术验证的因子策略对全市场股票打分排名,帮你快速缩小候选范围。
核心概念(通俗解释)
- 因子 — 可以理解为「选股指标」。例如「动量因子」就是选过去涨得好的股票,学术研究表明这类股票往往会继续涨
- 负面筛选 — 先把明显不好的股票排除掉(成交太少买不到的、波动太大风险太高的、短期暴涨可能要回调的)
- 复合评分 — 不只看一个指标,把动量、质量、价值等多个维度加权求和,避免单一指标选出偏科生
2. 因子策略详解
2.1 价格因子 即时计算
只需本地价格数据,无需联网,通常 1-5 秒出结果。
动量 ÷ 波动率。涨得多且涨得稳的排前面,相当于夏普比率思路。
原理:不只看涨了多少,还看涨得稳不稳。同样涨 50%,平稳上涨的比大起大落的排名更高。这是最均衡的单因子策略。
推荐搭配:成交额过滤 + 波动率上限 0.8 + 近1月涨幅上限 0.3
过去一年涨了多少(跳过最近1个月,避免短期噪音)。
原理:学术上「动量效应」是最稳健的异象之一——过去一年表现强的股票,未来3-12个月大概率继续强。跳过最近1个月是为了规避短期反转效应。
推荐搭配:成交额过滤 + 近1月涨幅上限 0.3(关键!否则容易选到暴涨垃圾股)
和 12-1 动量类似,但只看半年。对中期趋势变化更敏感,换手更快。
适合中期波段操作。与 12-1 动量搭配使用效果更好(动量质量复合已自动包含两者)。
推荐搭配:成交额过滤 + 近1月涨幅上限 0.3
过去一年价格波动最小的股票,按波动率从低到高排列。
原理:「低波动异象」——学术研究发现低波动股票长期收益反而不低于高波动股票,但回撤(最大亏损幅度)小得多。适合追求稳健、讨厌坐过山车的投资者。熊市表现尤其好。
推荐搭配:成交额过滤 + 最低股价过滤(排除仙股)。不需要设近1月涨幅上限(低波动股本身不太会暴涨)
选最近一个月跌幅最大的股票,赌它们反弹。按跌幅从大到小排列。
原理:短期超跌反弹。但风险很高——跌得多的可能是基本面出了问题,继续跌。必须搭配 F-Score 和 Z-Score 过滤,排除掉真正有问题的公司。
推荐搭配:成交额过滤 + F-Score ≥ 5 + Z-Score 危险区排除(缺一不可,否则容易踩雷)
当前价格离过去一年最高价有多近(0~1之间,越接近1越强)。
原理:接近历史新高的股票处于强势区间,突破新高后往往有进一步上涨空间。适合追踪趋势突破的投资者。
推荐搭配:成交额过滤 + 波动率上限 0.8 + 近1月涨幅上限 0.3
近5天平均成交量是60天平均的几倍。放量通常预示着市场关注度突然增加。
原理:成交量异常放大可能意味着主力资金介入、重大消息刺激或趋势启动。但也可能是出货信号,需结合价格方向判断。适合短线关注,不建议作为唯一选股依据。
推荐搭配:成交额过滤 + 波动率上限 0.8。结合其他因子(如动量为正)交叉验证效果更好
2.2 基本面因子 需调用 API
需要联网调用 yfinance 获取财务数据,首次约 1-2 分钟。结果更全面但速度较慢。
四合一:40%长期动量 + 20%中期动量 + 20%质量 + 20%价值/低波。
原理:不依赖单一维度。动量确保趋势向好,质量确保公司经营健康,价值确保估值合理,低波确保风险可控。是本工具最全面的策略。
推荐搭配:近1月涨幅上限 0.3 + Z-Score 危险区排除 + 成交额过滤。详见下方 4.1 手把手教程
9 项财务体检打分:盈利能力(ROA、现金流)+ 杠杆安全(负债率、流动性)+ 经营效率(利润率、周转率)。
0-9分。8-9分=财务非常健康,5-7分=正常,0-3分=有财务隐患。适合作为「安全网」——从别的因子选出的股票里,再用 F-Score 排除财务差的。
推荐搭配:成交额过滤 + Z-Score 危险区排除。也适合做其他策略的「叠加过滤器」(设 F-Score ≥ 4)
预测公司未来2年破产概率的经典模型。>2.99=安全,1.81~2.99=灰色区,<1.81=危险。
主要用途不是选股,而是排雷。建议作为其他策略的辅助过滤器(勾选「排除 Z-Score 危险区」)而不是单独使用。
推荐搭配:通常不单独用,配合其他因子 + 勾选 Z-Score 危险区排除
Joel Greenblatt 的「神奇公式」:同时找 ROIC(资本回报率)高且估值低的公司。
原理:ROIC 高意味着公司赚钱能力强,估值低意味着市场价格便宜。两者兼具 = 好公司 + 好价格。适合中长期价值投资。
推荐搭配:F-Score ≥ 4 + Z-Score 危险区排除 + 成交额过滤
综合三个估值指标:1/PE(市盈率倒数)+ 1/PB(市净率倒数)+ 股息率。三者越高越便宜。
原理:单看 PE 可能有偏差(周期股 PE 低不一定便宜),综合三个维度更稳健。适合巴菲特式的「用好价格买好公司」。
推荐搭配:F-Score ≥ 5(确保便宜不是因为公司差)+ Z-Score 危险区排除
综合 ROE(净资产收益率)+ ROA(总资产收益率)+ 利润率。找经营质量最好的公司。
原理:高 ROE + 高 ROA = 公司用股东的钱和借来的钱都能高效赚钱。高利润率 = 产品或服务有竞争力。适合长期持有高质量白马股。
推荐搭配:Z-Score 危险区排除 + 成交额过滤。可加波动率上限 0.8 进一步过滤
2.3 动量质量复合 — 算法说明
运算步骤
- 先用「风险调整动量」预选出约 150 只候选股(动量+稳定性初筛)
- 对这 150 只调用 yfinance 获取财务数据,算出质量分和价值分
- 在候选池内对每个维度做 0~1 的百分位排名
- 加权求和:
0.40×动量12M + 0.20×动量6M + 0.20×质量 + 0.20×(价值+低波)/2
建议搭配「排除近1月涨幅 > 0.3」,可以有效过滤掉短期暴涨的过热股票。
3. 负面筛选参数 — 推荐设置
负面筛选 = 先排除不要的,再从剩下的里面选好的。所有参数填 0 表示不启用该过滤。
| 参数 | 是什么 | 为什么要设 | 推荐值 |
| 最低股价 |
排除股价低于此值的股票 |
低价股(仙股)波动大、流动性差,容易踩雷 |
美股:5
港股:1
日股:100
填 0 = 不限制
|
| 最低日均成交额 |
排除 20 日平均成交额低于此值的股票 |
成交额太低 = 买卖困难,价差大,实际操作成本高 |
美股:5000000(500万美元)
港股:3000000(300万港币)
日股:100000000(1亿日元)
这是最重要的过滤器之一,强烈建议设置
|
| 最高年化波动率 |
排除年化波动率超过此值的股票 |
波动率太高 = 风险太大,持有体验差 |
建议:0.8(80%年化波动)
正常股票在 0.2~0.5,超过 0.8 的通常是投机性很强的标的
|
| 最少交易天数 |
排除上市不足此天数的股票 |
新上市股票数据不足,因子计算不准确 |
建议:252(1年)
保持默认即可。252 个交易日 ≈ 1 个自然年
|
| 排除 F-Score 低于 |
排除财务健康评分低于此值的股票 |
财务差的公司即使趋势好也可能暴雷 |
建议:4
F-Score 满分 9,4 分以下基本面较差。仅对基本面因子生效
|
| 排除 Z-Score 危险区 |
排除 Altman Z-Score < 1.81 的公司 |
Z-Score 低于 1.81 意味着有较高的破产风险 |
建议:排除
仅对基本面因子生效。使用价格因子时此项不起作用
|
| 排除近1月涨幅超过 |
排除最近 21 个交易日涨幅超过此比例的股票 |
短期暴涨的股票往往面临回调风险,动量因子容易选到这类「过热股」 |
建议:0.3(即 30%)
这是动量策略的关键保护参数。设为 0.3 表示排除近1月涨超 30% 的股票
|
4. 推荐使用组合
以下是经过验证的策略组合,可以直接使用。推荐程度用星级表示。
找过去涨得好且涨得稳的股票,同时排除短期过热和财务差的公司。新手最推荐。
| 因子 | 风险调整动量 |
| Top N | 30 |
| 最低日均成交额 | 按市场设置(见上方推荐) |
| 最高波动率 | 0.8 |
| 近1月涨幅上限 | 0.3 |
| F-Score 下限 | 4(可选) |
最全面的策略,价格趋势+财务质量+估值三重保障。需要等待 API,但结果最可靠。
| 因子 | 动量质量复合 |
| Top N | 30 |
| 最低日均成交额 | 按市场设置 |
| 近1月涨幅上限 | 0.3 |
| Z-Score 危险区 | 排除 |
找被市场低估且财务健康的公司。适合耐心持有、等待价值回归的投资者。
| 因子 | 价值复合因子 |
| Top N | 30 |
| F-Score 下限 | 5 |
| Z-Score 危险区 | 排除 |
选波动最低的股票,适合熊市或不确定性高的阶段。长期收益率不低,但回撤小得多。
| 因子 | 低波动 |
| Top N | 30 |
| 最低日均成交额 | 按市场设置 |
| 最低股价 | 按市场设置 |
选近期跌幅最大的股票赌反弹。风险高,建议搭配 F-Score 过滤避开基本面有问题的票。
| 因子 | 反转因子 |
| Top N | 20 |
| 最低日均成交额 | 按市场设置 |
| F-Score 下限 | 5 |
| Z-Score 危险区 | 排除 |
捕捉近期成交量异常放大的股票,可能是主力资金介入信号。适合短线关注。
| 因子 | 放量突破 |
| Top N | 20 |
| 最低日均成交额 | 按市场设置 |
| 最高波动率 | 0.8 |
4.1 手把手教程:动量质量复合策略
以下以最推荐的「动量质量复合」为例,按步骤教你怎么设置。三个市场的具体填值都列出来了。
Step 1:选市场
页面顶部有「美股 / 港股 / 日股」标签,点击你想筛选的市场。
Step 2:选因子
「因子策略」下拉框 → 拉到下面的「基本面因子」分组 → 选择 「动量质量复合」。
Step 3:设置 Top N
填 30(默认值,不用改)。表示最终展示排名前 30 的股票。
Step 4:展开高级过滤
点击「高级过滤 & 负面筛选」展开面板,按下表填入各参数:
| 参数 | 日股 (TSE) | 美股 (USA) | 港股 (HKEX) |
| 最低股价 | 100 | 5 | 1 |
| 最低日均成交额 | 100000000 (1亿日元) | 5000000 (500万美元) | 3000000 (300万港币) |
| 最高年化波动率 | 0.8 (三个市场通用) |
| 最少交易天数 | 252 (默认值,不用改) |
| 排除 F-Score 低于 | 4 (排除财务较差的公司) |
| 排除 Z-Score 危险区 | 排除 (下拉选「排除」,过滤破产风险) |
| 排除近1月涨幅超过 | 0.3 (排除近1月涨超 30% 的过热股,关键参数) |
Step 5:点击「筛选」
因为是基本面因子,系统会调用 yfinance API 获取财务数据,请等待 1-2 分钟,进度条走完后结果会自动展示在下方表格中。
Step 6:查看结果
结果表按复合得分从高到低排列。点击任意行可展开个股详情(走势图、财务指标)。如需保存,点右上角「下载 CSV」。
4.2 手把手教程:风险调整动量(快速版)
如果不想等 API,用这个策略 秒出结果:
| 参数 | 日股 | 美股 | 港股 |
| 因子策略 | 风险调整动量(价格因子分组内) |
| Top N | 30 |
| 最低股价 | 100 | 5 | 1 |
| 最低日均成交额 | 100000000 | 5000000 | 3000000 |
| 最高年化波动率 | 0.8 |
| 排除近1月涨幅超过 | 0.3 |
这个组合只用价格数据,不需要联网,点筛选后 1-5 秒出结果。日常快速扫描首选。
5. Dashboard 持仓管理
使用步骤
- 注册 & 登录 — 点击右上角「注册」,等管理员审核通过后即可使用全部功能
- 添加自选股 — 在筛选结果表格中,点击每行左侧的「+」按钮,输入买入价和数量
- 查看 Dashboard — 顶部导航点「Dashboard」,查看:
- 总投入金额 vs 当前市值
- 总盈亏(金额和百分比)
- 持仓分布饼图
- 个股盈亏柱状图
- 刷新价格 — 点击「刷新价格」按钮获取最新行情
6. 结果字段说明
价格因子结果列
| 列名 | 含义 | 怎么看 |
| 代码 | 股票代码 | 点击可展开详情 |
| 公司名 | 公司名称 | 首次加载可能需几秒获取 |
| 最新价 | 最近收盘价 | — |
| 因子值 | 当前所选因子的计算结果 | 排序依据,越靠前越好 |
| 日涨幅 | 最近 1 个交易日涨跌幅 | 正数=涨,负数=跌 |
| 月涨幅 | 最近 21 个交易日涨跌幅 | 反映近一个月趋势 |
| 季涨幅 | 最近 63 个交易日涨跌幅 | 反映近一个季度趋势 |
| 52周高/低 | 过去一年的最高价和最低价 | 判断当前价格在什么位置 |
| 波动率 | 252日年化波动率 | 0.3=低,0.5=中,>0.8=高 |
| mom_12_1 | 12-1 动量原始值 | 过去12月(跳过近1月)的涨幅 |
| mom_6_1 | 6-1 动量原始值 | 过去6月(跳过近1月)的涨幅 |
基本面因子额外列
| 列名 | 含义 | 怎么看 |
| F-Score | Piotroski 财务健康评分 | 0-9 分,≥7 优秀,≤3 较差 |
| Z-Score | Altman 破产预测分数 | >2.99 安全,<1.81 危险 |
| P/E | 市盈率 | 越低越便宜,负数=亏损 |
| P/B | 市净率 | <1 可能被低估 |
| ROE | 净资产收益率 | >15% 优秀 |
| 股息率 | 年化股息率 | >3% 算高股息 |
7. 常见问题
Q: 动量因子选出了短期暴涨的垃圾股怎么办?
A: 这是动量策略的常见问题。解决方法:启用「排除近1月涨幅超过」,设为 0.3(30%),可以有效过滤掉短期暴涨的过热股。也可以直接用「动量质量复合」因子,它自带基本面过滤。
Q: 「动量质量复合」和「风险调整动量」怎么选?
A: 风险调整动量只看价格数据,速度快(秒出结果),适合快速筛选。动量质量复合额外引入了财务质量和价值因子,需要调 API(约1-2分钟),但结果更全面可靠。
建议:日常快速扫描用前者,认真选股时用后者。
Q: 基本面因子为什么这么慢?
A: 因为需要逐个调用 yfinance API 获取每家公司的财务报表。约 150 只候选股需要 1-2 分钟,请耐心等待进度条。
Q: 不同市场的成交额单位是什么?
A: 美股=美元,港股=港币,日股=日元。例如美股填 5000000 表示日均成交额不低于 500 万美元。
Q: CSV 下载包含哪些数据?
A: 包含表格中所有列,含 mom_12_1 和 mom_6_1 动量原始值。文件编码为 UTF-8 BOM,Excel 可直接打开。
Q: 因子值的数字怎么理解?
A: 因子值本身的绝对大小不重要,重要的是排名。排在前面的就是当前策略下最优的候选。不同因子的数值范围不同,不要跨因子比较数字大小。
8. 买入评分 (Buy Score)
评分说明
买入评分(0-100)是系统对每只筛选结果的综合推荐度评估,分数越高表示综合指标越优秀。
| 分数区间 | 含义 | 显示颜色 |
| 80-100 | 强烈推荐 — 多维度指标均优秀 | 绿色 |
| 50-79 | 值得关注 — 部分指标良好 | 黄色 |
| 0-49 | 谨慎考虑 — 需结合其他信息判断 | 红色 |
评分成分
- 动量得分 — 基于 12-1 和 6-1 动量排名
- 基本面得分(仅基本面因子)— F-Score、Z-Score、ROE 等财务指标
- 风险调整 — 波动率越低,加分越高
买入评分仅作为参考,不构成投资建议。请结合个股详情页的完整信息做出决策。
9. 卖出信号 (Sell Signal)
功能入口
在 Dashboard 持仓列表中可以看到每只股票的卖出信号评分(0-100),0 表示安全持有,100 表示强烈建议卖出。
四维度评估
| 维度 | 权重 | 说明 |
| 动量衰减 | 30% | 12个月动量转负或大幅下降时触发 |
| 回撤止损 | 25% | 从持仓最高价回撤幅度越大,信号越强 |
| 基本面恶化 | 25% | F-Score 降至3以下,或Z-Score进入危险区 |
| 集中度风险 | 20% | 单只持仓占比超过30%时触发警告 |
卖出信号基于量化模型自动计算。信号值 ≥70 时建议认真考虑减仓,40-69 保持关注,<40 可安心持有。
10. 会员等级 & 筛选次数
系统采用 1-5 星会员等级制度,不同等级对应不同的每日筛选次数上限。
| 等级 | 默认每日筛选次数 |
| ★ Tier 1(新用户) | 5 次 |
| ★★ Tier 2 | 20 次 |
| ★★★ Tier 3 | 50 次 |
| ★★★★ Tier 4 | 200 次 |
| ★★★★★ Tier 5 | 不限 |
管理员可在「设置」页面自定义各等级的筛选次数上限。每日零点重置计数。
页面顶部用户名旁的星标显示您的当前等级。如需升级请联系管理员。
功能说明
社区功能允许用户公开分享自己的持仓信息,包括持仓明细和购买证明。
发布流程
- 在筛选结果中点击 + 将股票添加到自选股,输入买入价和数量
- 进入 Dashboard → 找到目标持仓 → 点击「发布到社区」
- 上传购买证明截图(jpg/png/webp,≤5MB)
- 发布成功后其他用户可在「社区」页面看到您的持仓
社区页面内容
- 热门持仓排名 — 按持有人数和总持有量排序的热门股票
- 用户持仓 — 各用户的公开持仓详情,含买入价、数量、购买证明
购买证明用于建立社区信任。仅上传了证明的持仓会在社区页面展示。
12. 股票搜索与对比
搜索功能
在筛选页面顶部的搜索框中输入股票代码(支持部分匹配),系统会实时显示匹配结果。搜索不消耗筛选次数。
- 搜索结果显示代码、公司名、最新价、行业
- 点击搜索结果可直接打开个股详情页
- 搜索范围为当前选中市场的所有股票
对比功能
在搜索结果中点击 + 按钮将股票添加到对比列表(最多10只),然后点击「开始对比」。
- 对比表格展示:当前价、P/E、P/B、ROE、股息率、F-Score、Z-Score、市值、ROIC等12项指标
- 每次对比消耗 1 次筛选额度(因为需要调用 API 获取财务数据)
- 对比完成后可继续添加/移除股票重新对比
搜索功能仅在登录后可见。对比适合在筛选缩小范围后,对少量候选股做深入对比分析。
13. 走势图 & 实时盯盘
导航栏 "走势图"(路径 /chart):moomoo App 风格的 K 线工具,支持 9 档时间粒度、9 种指标、缩放拖拽、十字光标、实时更新。
- 时间粒度:1 分 / 3 分 / 5 分 / 15 分 / 30 分 / 60 分 / 日 / 周 / 月。每切一档就重新拉一段历史。
- 主图指标:MA / EMA / BOLL / SAR / BBI(多选叠加,默认 MA)。
- 副图指标:成交量 / MACD / KDJ / RSI(多选叠加,默认成交量)。
- 实时刷新:右上角开关。开启时每 2.5 秒拉一次最新 1-2 根 K 线,调用
chart.updateData() 只增量更新最后那根(不整图重绘)。切到别的浏览器 tab 自动暂停(省 API 配额)。
- 数据源:US/HK 走 moomoo(实时),JP 走 Yahoo Finance(约 15 分钟延迟)。状态栏右侧的徽章会清楚标示。
右上角 "应用策略 →" 按钮会带着当前 ticker / market / ktype 跳到 §14 回测页,自动预填配置。
14. 策略回测
导航栏 "回测"(路径 /backtest)。4 种策略来源:
- 内置模板:MA 金叉 / RSI 超卖 / BOLL 突破(详见 14.1)
- 自定义代码:写一个
def on_bar(bar, ctx): return Action.BUY/SELL/CLOSE/HOLD(详见 14.5)
- 已保存策略:之前命名保存的,一键复用
- 网格搜索:参数笛卡尔积自动跑一遍,找出最优组合(详见 14.6)
14.1 内置策略模板详解
① MA Cross — 双均线金叉死叉
逻辑:当快线(默认 5)从下方穿越慢线(默认 20)→ 买入;快线从上方穿越慢线 → 卖出。
背后假设:价格趋势有惯性,"短期均线翻越长期均线"是趋势启动/反转的信号。
能赚钱的市场:单边趋势行情(牛市初段、熊市初段)。不能赚钱的市场:横盘震荡(连续假突破,俗称"打脸"),损耗手续费 + 反复止损。
参数选择:
ma_fast 快线:典型 5 / 10 / 13。越小越敏感,假信号越多。
ma_slow 慢线:典型 20 / 50 / 100。越大越迟钝,趋势确认晚但更稳。
- 常见组合:5/20(短线)、20/50(中线)、50/200(长线,也叫"死亡交叉"判据)。
典型陷阱:在大牛股(如 AAPL 长期上涨)上 MA 金叉策略往往跑输 buy & hold —— 因为每次回调它会"卖出止损",错过后面的反弹。这是趋势策略的固有代价。
② RSI Oversold — 相对强弱指标的超卖反弹
逻辑:RSI(14) < 30(超卖区)→ 买入;RSI > 70(超买区)→ 卖出。
背后假设:价格短期偏离均值后会"回归均值",超卖意味着便宜。
能赚钱的市场:横盘震荡 / 慢牛回调。不能赚钱的市场:单边大跌(一只股从 100 跌到 30,RSI 全程超卖也救不回来)。
参数选择:
rsi_period:默认 14(行业标准)。改 7 更激进,改 21 更保守。
oversold:默认 30。改 20 信号更稀少但更靠谱;改 40 信号多但假信号多。
overbought:默认 70。同理。
典型陷阱:单纯 RSI 超卖买入是抄底策略,遇到 2008、2020 这种暴跌会接连吃止损。建议配合"趋势过滤":只有当 MA50 仍然向上时才接 RSI 超卖信号。
③ Bollinger Breakout — 布林带突破
逻辑:价格突破上轨(mid + 2σ)→ 买入;跌破下轨(mid - 2σ)→ 卖出。
背后假设:突破 ±2σ 是"非随机的强势事件",趋势启动概率大。
能赚钱的市场:低波动期之后的爆发性突破(盘整后的暴涨)。不能赚钱的市场:宽幅震荡市(频繁假突破)。
参数选择:
boll_period:默认 20。改 10 反应快,假突破多;改 50 反应慢,错过早期。
std_mult:默认 2.0(包含约 95% 数据的统计意义)。改 1.5 更激进,2.5 更保守。
典型陷阱:单纯 BOLL 突破极易在震荡市连吃止损。建议配合"成交量过滤"——突破当日成交量必须 ≥ 60 日均量 × 1.5 才确认。
14.2 风险管理(高级配置)
所有模板和自定义策略都会自动应用以下 4 道风控(在折叠的 "⚙ 高级配置" 区块设置):
| 字段 | 含义 | 推荐值 |
| 止损 % stop_loss_pct | 低于入场价 N% 时强制平仓 | 3-5%(短线);8-10%(中线) |
| 止盈 % take_profit_pct | 高于入场价 N% 时强制平仓 | 不必配,趋势策略让 trailing stop 跑利润;震荡策略可配 3-5% |
| 移动止损 % trailing_stop_pct | 从持仓期间最高价回撤 N% 时平仓 | 5-8%(让利润奔跑的核心机制) |
| 最大持仓根数 max_holding_bars | 持仓超过 N 根 K 线强制平仓(避免被动套牢) | 日线 30-60;分钟级看策略时间尺度 |
实战建议:止损必配(哪怕 -10% 也比无止损好),移动止损强烈推荐(最大化盈利策略),止盈选配(容易"过早平仓错过大行情"),max_holding 防御性配置。
14.3 仓位模式(4 种)
| 模式 | 逻辑 | 适用场景 |
| 全仓买入 all_in | 每次买入用掉全部可用现金 | 仅回测验证用,实盘绝对不要(一笔大亏直接报销) |
| 固定金额 fixed_dollar | 每单固定 N 美元(默认 10000) | 新手最佳。简单、可控、便于跨股票比较 |
| 固定比例 fixed_pct | 每单占当前净值 N%(默认 100%) | 赚钱后越买越多(复利),亏钱后越买越少(防爆仓) |
| 固定风险 fixed_risk ⭐ | 每单亏损不超过净值 N%(默认 1%)。配合止损反推 qty | 专业级风控。需配止损 ≥ 1%。100 次连错只亏 ~63% 净值(数学上抗得住) |
选择建议:第一次回测用 fixed_dollar 1万(看清楚交易笔数 + 单笔盈亏)→ 验证策略后切 fixed_risk 1%(实盘前必做)。all_in 只用来"测试上限收益",不可作为运行模式。
14.4 13 张统计卡含义详解
| 指标 | 定义 | 判读阈值 |
| 总收益 | 期末净值 / 初始资金 - 1 | 越高越好,但要看 Buy & Hold 对比 |
| Buy & Hold | 同期单纯持有标的的收益(含手续费) | 策略要跑赢这个才有意义 |
| Alpha | 总收益 - Buy & Hold(超额收益) | 正数才说明策略本身赚钱。负 alpha = 不如躺平 |
| 年化 | 按交易日历换算到 1 年 | 跑赢同期 SPY 才算合格 |
| 期末净值 | 最后一根 K 收盘时的总资产 | 看绝对值 |
| 最大回撤 | 历史峰值到后续谷底的最大跌幅 | < 15% 可接受 / 15-30% 心理压力大 / > 30% 多数人会割肉 |
| 夏普 Sharpe | 年化收益 / 收益波动率 | > 1 良好 / > 2 优秀 / < 0.5 平庸 |
| Sortino | 用下行波动率替代总波动率(只惩罚亏损) | 比 Sharpe 更适合非对称收益策略。> 1.5 健康 |
| Calmar | 年化收益 / 最大回撤 | 量化最爱的指标。> 1 = 一年赚的>最大跌幅,> 3 顶级 |
| 胜率 | 盈利交易 / 总交易 | 趋势策略 40-50% 也能赚钱(靠盈亏比);震荡策略需 > 55% |
| 盈/总 | 盈利笔数 / 总笔数 | 看绝对数量,< 5 笔不够样本 |
| 盈亏比 Profit Factor | 总盈利 / 总亏损 | > 1.5 健康,> 2 优秀 |
| 出场原因 | S=信号/SL=止损/TP=止盈/TR=移动止损/TO=超时 | 看止损 vs 信号比例。SL/S 高 → 止损过严或策略不准 |
看回测结果的优先级:① Alpha 是否正(首要) → ② 最大回撤(你心理能否承受) → ③ Calmar 综合性价比 → ④ 盈亏比 + 胜率组合 → ⑤ 总收益。千万不要只看总收益。
14.5 自定义代码策略
切换到 "代码" 模式,写一个 on_bar 函数:
def on_bar(bar, ctx):
closes = [b.close for b in ctx.bars]
if len(closes) < 50:
return Action.HOLD
# 趋势过滤:只在长期上涨时考虑买入
ma50 = sma(closes, 50)
if closes[-1] < ma50:
return Action.HOLD
# 入场:RSI 超卖
r = rsi(closes, 14)
if r < 30 and ctx.position.is_flat:
return Action.BUY
# 出场:RSI 超买
if r > 70 and not ctx.position.is_flat:
return Action.CLOSE
return Action.HOLD
可用对象:
bar.open / high / low / close / volume / time:当前 K 线
ctx.bars:从开始到现在所有 K 线(list of Bar)
ctx.position.qty / avg_price / is_flat:当前持仓
ctx.cash / equity:现金 + 总净值
ctx.params:策略参数 dict(如果有)
可用函数(无需 import):sma(values, period)、ema(values, period)、rsi(values, period)、bollinger(values, period, std_mult)、macd(values, fast, slow, signal)、atr(highs, lows, closes, period)、donchian(highs, lows, period)、math 模块。
沙箱限制:import / open / eval / exec / globals / __* 等危险操作全部禁止。沙箱用 AST 在编译期检查,违规 → 加载失败有具体报错。
14.6 Walk-Forward 样本外测试
勾选 "样本外测试" 复选框,设置训练集比例(默认 70%)。回测自动把数据拆两段:
- 训练集(前 70%):用来"假装"调参的样本
- 测试集(后 30%):模拟"未来未见数据",独立跑一遍
怎么读结果:
- 训练 +20% / 测试 +18% → ✅ 健康,策略对参数不敏感
- 训练 +30% / 测试 -5% → ⚠️ 过度拟合警告(系统自动标红)。参数是"喂出来"的,未来不可信
- 训练 -5% / 测试 +10% → 巧合,再换样本试试,可能就是噪声
真量化的金科玉律:永远不在你想"上实盘"的那段数据上调参。先 walk-forward 至少跑 3 个不同时段都正收益,再考虑实盘。
14.7 网格搜索(参数寻优)
选 "网格搜索" 模式 → 模板下选一个 → 每个参数填一组值(逗号分隔,如 3,5,8,13) → 运行。
系统自动跑笛卡尔积(如 4×4=16 组合),按你选的指标(Sharpe / 总收益 / Calmar / Sortino)排序,显示 top-10。点结果行的 "应用此组参数" 自动填回模板回测一次细看。
- 组合上限 200:超过自动拒绝(防 CPU 烧坏)
- 排序指标推荐 Calmar 而非 Sharpe(量化更看重"回撤调整后收益")
陷阱:网格搜索本质是"在历史上挑最好的参数",几乎肯定会过拟合。每次找到 top-10 后必须 walk-forward 验证——top-1 在测试集还能正收益的,才算真的有效。
14.8 图表与交易明细
主图(K 线):绿色 BUY / 红色 SELL 标签是策略实际触发点。下方净值曲线:含两条线 —— 你的策略(实线)+ Buy & Hold 基准(灰色虚线)。两线交叉处是 alpha 由正转负的瞬间。
底部交易明细表:每笔的入场/出场时间、价格、数量、绝对盈亏 + 收益率%。
避免过度拟合的 4 个铁律:①参数在 3-5 只不同股票上跑都正才信;②walk-forward 测试集也要正;③不要每次只调"一个最优参数",要看 top-10 整体表现是否稳定;④参数越少越好(2 个参数比 5 个参数靠谱十倍)。
15. 手动交易
📌 开发中(Phase 2)。功能完成后这里会补全:moomoo 账号下单 UI(限价/市价/止损)、订单簿、成交记录、风控(每单上限、日内亏损上限、Kill Switch)。
当前安全地基已就绪(trade_safety.py + trade_provider.py),所有真实下单都会经过 check_order_allowed() 安全门,并强制写入 order_audit 审计表。
16. 策略自动执行
📌 开发中(Phase 3)。功能完成后这里会补全:从 §14 保存的策略一键启用为实盘自动执行(含心跳、订阅 K 线推送、按规则下单、止损、Kill Switch 联动)。
启用前会强制提示:真金白银,需输入 moomoo 交易密码 + 二次确认。
17. OpenD 连接管理
moomoo OpenD 是本地网关程序,运行在你电脑上,负责:
- 连接 moomoo 服务器(行情 / 交易)
- 暴露本地 TCP 接口(默认
127.0.0.1:11111)给 Python SDK
QuantScreen 不直接连 moomoo 云端,而是通过 OpenD。所以"美港股实时行情、交易"等功能要先把 OpenD 跑起来 + 登录。
登录流程(管理员页面 /admin/opend)
- 输入 moomoo 账号(邮箱 / 手机带国家代码 / 用户 ID)+ 密码
- 点 "启动 OpenD 并登录",后端写入临时配置文件并启动 OpenD 进程
- 如需图形验证码 → 后端读取 OpenD 生成的 PNG 显示在网页 → 你输入 → 提交
- 如需短信验证码 → moomoo 向绑定手机发短信 → 你输入 → 提交
- 状态变绿 "✓ 已登录",美港股 API 可用
关于密码安全
- 密码到达后端后立刻调
moomoo.unlock_trade(),50 毫秒内从 Python 内存丢弃
- 不写日志、不存 DB、不在 API 响应里返回
- 会话 TTL 2 小时,闲置自动重锁;浏览器关闭也会重锁
- FutuOpenD.xml 配置文件登录成功后会被立即清空
<login_pwd> 字段
常见错误
| 提示 | 原因 | 解决 |
| 账号或密码错误 | moomoo 服务端拒绝 | 核对账号 + 密码(去 moomoo App 试一下) |
| 需要图形验证码 | moomoo 风控触发 | 看图填,区分大小写 |
| 需要短信验证码 | 新设备 / 长时间未登录 | 看手机短信填 6 位数字 |
| OpenD 未运行 | 进程被杀 / 配置错误 | 重新点"启动 OpenD" |
| JP 股票"Unknown stock" | moomoo OpenAPI 不支持日股现货 | 系统已自动 fallback 到 yfinance(可正常使用,但延迟 ~15 分钟) |
18. 量化思路(推荐版)
这一章不是"中立陈述",是我的具体建议。你可以反对,但起码有个起点。
18.1 趋势跟随 vs 均值回归 — 不要押单一学派
两种策略在不同市况下分别赚钱:
- 趋势跟随:MA 金叉、52 周新高、突破 20 日箱体。牛市大赚,熊市无股可选,持仓周期几天到几周。
- 均值回归:RSI 超卖回弹、布林下轨买入。震荡市赚钱,趋势市持续踩坑,持仓几小时到几天。
建议分桶:
- 资金 70% 给趋势跟随(用 §2 的动量质量复合 / 风险调整动量做候选池)
- 30% 给均值回归(用 §14 的 RSI 超卖 / BOLL 突破回测验证后跑)
- 市场宽度开关:当 SPY 跌破 200 日均线时,趋势桶自动减仓 50%(避免熊市强行做多)
18.2 过夜持仓 vs 日内平仓 — 选过夜
除非你做的是真正的日内高频(需要 Tick 数据 + 低延迟基础设施),否则建议过夜持仓。理由:
- 频繁进出 = 手续费 + 滑点叠加,每笔 0.05% × 100 笔 = 5% 直接吃掉收益
- 美股短期持有(< 1 年)按 ordinary income 计税,长期 (> 1 年) 走 long-term capital gains,税率差别巨大
- 大多数因子策略和技术指标的有效时间尺度本身就是几天到几周(你按分钟交易反而是噪音)
- QuantScreen 回测默认包含 5 bps/侧手续费,更换粒度时记得调整(高频换手的策略要把手续费拉到 10-15 bps 才接近真实)
18.3 横截面因子 vs 时间序列触发 — 缺哪一块
QuantScreen 现有 7 个价格因子 + 6 个基本面因子,覆盖了 5 个维度(动量、反转、低波、新高、放量、风险调整、价值、质量),都属于横截面打分——告诉你"长期值得关注哪些股",但不告诉你"此刻何时入场"。
缺的是时间序列触发型扫描,下面列举三个值得加的(已规划,等手动交易和自动策略落地后实现):
- 突破扫描:收盘价 = 最近 20 日最高 + 当日成交量 ≥ 60 日均量 × 1.5 + MACD DIF 上穿 DEA
- 回调买入扫描:收盘 > MA20(仍在趋势中)+ RSI(14) < 40(短期超卖)
- 板块轮动:算 11 个 SPDR 板块的 20 日收益率,取领涨前 3 个,板块内按风险调整动量取前 10
实操建议:先用 §2 的因子筛选拉出"长期关注名单"(约 20-30 只),再用 §13 走势图检查每只的具体形态,确认买点(MA 金叉 / 突破 / 回调),最后用 §14 回测同一组参数在这些股票上的表现,全部正收益的策略再上实盘。
操作マニュアル
初心者クイックスタート
初めて使う方は、以下の3ステップで完了します:
- 市場を選択 — ページ上部で「米国株 / 香港株 / 日本株」タブをクリック
- ファクターを選んでスクリーニング — 初心者には リスク調整モメンタム がおすすめ、Top N は 30 で「スクリーニング」をクリック
- 結果を確認 — テーブルはファクタースコア順。行をクリックで個別銘柄の詳細(チャート・財務指標)を表示
より精度を上げるには「詳細フィルター」を展開し、以下の推奨値を参考にネガティブスクリーニングを設定してください。
1. ツール概要
Biz QuantScreen はローカルの量的ファクター銘柄選定ツールです。ローカルのヒストリカル価格データを基に、学術的に検証されたファクター戦略で全銘柄をスコアリング・ランキングし、候補銘柄を効率よく絞り込みます。
コアコンセプト(わかりやすく)
- ファクター — 「銘柄選定指標」のことです。例えば「モメンタムファクター」は過去に上昇した銘柄を選びます。学術研究でこのような銘柄は上昇を続ける傾向があることが示されています
- ネガティブスクリーニング — 明らかに悪い銘柄を先に除外します(出来高が少なく売買困難、ボラティリティが高くリスクが大きい、短期急騰で調整リスクがあるなど)
- 複合スコアリング — 一つの指標だけでなく、モメンタム・クオリティ・バリューなど複数次元の加重和で、偏りのない選定を行います
2. ファクター戦略詳細
2.1 価格ファクター 即時計算
ローカル価格データのみ使用。ネットワーク不要、通常1-5秒で結果表示。
モメンタム ÷ ボラティリティ。上昇幅が大きく安定している銘柄が上位。シャープレシオの考え方。
原理:上昇幅だけでなく安定性も評価。同じ50%上昇でも、安定的に上昇した銘柄が乱高下した銘柄より高順位。最もバランスの良い単一ファクター戦略。
推奨フィルタ:売買代金フィルタ + ボラティリティ上限 0.8 + 直近1ヶ月騰落率上限 0.3
過去1年間の騰落率(直近1ヶ月を除く、短期ノイズ回避)。
原理:学術的に「モメンタム効果」は最も堅牢なアノマリー — 過去1年間好調な銘柄は今後3-12ヶ月も好調が続く傾向。直近1ヶ月を除くのは短期リバーサル効果を回避するため。
推奨フィルタ:売買代金フィルタ + 直近1ヶ月騰落率上限 0.3(重要!設定しないと急騰の低品質銘柄が選ばれやすい)
12-1モメンタムと同様だが半年間のみ。中期トレンドの変化により敏感。
中期スイングトレード向け。12-1モメンタムとの併用で効果が高まります(モメンタム品質複合は両方を自動的に含みます)。
推奨フィルタ:売買代金フィルタ + 直近1ヶ月騰落率上限 0.3
過去1年間の価格変動が最も小さい銘柄。ボラティリティの低い順に並びます。
原理:「低ボラティリティアノマリー」— 学術研究で低ボラ銘柄は長期リターンが高ボラ銘柄に劣らず、ドローダウン(最大損失幅)が大幅に小さいことが判明。安定志向でジェットコースターを避けたい投資家に最適。弱気相場で特に好成績。
推奨フィルタ:売買代金フィルタ + 最低株価フィルタ(ペニーストック除外)。直近1ヶ月騰落率上限は不要(低ボラ銘柄は急騰しにくい)
直近1ヶ月の下落幅が最大の銘柄を選び反発を狙う。下落幅の大きい順に並びます。
原理:短期の売られ過ぎからの反発。ただしリスクが非常に高い — 大きく下落した銘柄はファンダメンタルズに問題がある可能性。F-Score と Z-Score フィルタの併用が必須。
推奨フィルタ:売買代金フィルタ + F-Score ≥ 5 + Z-Score危険ゾーン除外(いずれも必須。設定しないと地雷を踏みやすい)
現在値が過去1年の高値にどれだけ近いか(0~1、1に近いほど強い)。
原理:高値圏にある銘柄は強いトレンドの中にあり、新高値ブレイクアウト後はさらなる上昇が期待できる。トレンドブレイクアウトを追跡する投資家向け。
推奨フィルタ:売買代金フィルタ + ボラティリティ上限 0.8 + 直近1ヶ月騰落率上限 0.3
直近5日平均出来高が60日平均の何倍か。出来高急増は市場の注目度が急上昇したシグナル。
原理:出来高の異常増加は大口資金の参入、重大ニュース、またはトレンド開始の可能性。ただし売り抜けシグナルの場合もあり、価格の方向と合わせて判断が必要。短期注目向け、単独の選定基準にはしないこと推奨。
推奨フィルタ:売買代金フィルタ + ボラティリティ上限 0.8。他ファクター(例:モメンタムが正)とのクロス検証で効果向上
2.2 ファンダメンタルファクター API取得必要
yfinance で財務データを取得するため、初回は約1-2分かかります。より包括的な結果が得られます。
4要素統合:40%長期モメンタム + 20%中期モメンタム + 20%クオリティ + 20%バリュー/低ボラ。
原理:単一次元に依存しない。モメンタムでトレンドの良さを確保、クオリティで経営健全性を確保、バリューで割安さを確保、低ボラでリスクを制御。本ツール最も包括的な戦略。
推奨フィルタ:直近1ヶ月騰落率上限 0.3 + Z-Score危険ゾーン除外 + 売買代金フィルタ。詳細は下記 4.1 ステップバイステップガイド参照
9項目の財務チェック:収益力(ROA・キャッシュフロー)+ レバレッジ安全性(負債率・流動性)+ 経営効率(利益率・回転率)。
0-9点。8-9点=財務非常に健全、5-7点=正常、0-3点=財務懸念。「安全網」としての使用に最適 — 他ファクターで選んだ銘柄からF-Scoreで財務不良を除外。
推奨フィルタ:売買代金フィルタ + Z-Score危険ゾーン除外。他戦略の「重ねフィルタ」としても有効(F-Score ≥ 4 設定)
今後2年の倒産確率を予測する古典的モデル。>2.99=安全、1.81~2.99=グレー、<1.81=危険。
主な用途は銘柄選定ではなくリスク排除。他戦略の補助フィルタ(「Z-Score危険ゾーン除外」にチェック)として使うのが推奨。単独使用は非推奨。
推奨フィルタ:通常単独使用しない。他ファクターと併用 + Z-Score危険ゾーン除外にチェック
Joel Greenblattの「魔法の公式」:ROIC(投下資本利益率)が高く、かつバリュエーションが低い企業を同時に発見。
原理:ROICが高い=稼ぐ力が強い、バリュエーションが低い=株価が割安。両方を兼ね備える=良い企業+良い価格。中長期バリュー投資向け。
推奨フィルタ:F-Score ≥ 4 + Z-Score危険ゾーン除外 + 売買代金フィルタ
3つのバリュエーション指標を総合:1/PER + 1/PBR + 配当利回り。いずれも高いほど割安。
原理:PERだけ見ると偏りがある(景気循環株のPERが低くても割安とは限らない)。3次元を総合することでより安定的。バフェット式の「良い企業を良い価格で買う」スタイルに適合。
推奨フィルタ:F-Score ≥ 5(安いのは企業が悪いからではないことを確認)+ Z-Score危険ゾーン除外
ROE(自己資本利益率)+ ROA(総資産利益率)+ 利益率を総合。経営品質が最も高い企業を探索。
原理:高ROE + 高ROA = 株主資本も借入資本も効率的に利益を生む。高利益率 = 製品やサービスに競争力がある。長期保有の高品質銘柄選定に最適。
推奨フィルタ:Z-Score危険ゾーン除外 + 売買代金フィルタ。ボラティリティ上限 0.8 追加も有効
2.3 モメンタム品質複合 — アルゴリズム説明
計算ステップ
- まず「リスク調整モメンタム」で約150銘柄を事前選定(モメンタム+安定性の初期フィルタ)
- この150銘柄に対しyfinanceで財務データを取得、クオリティスコアとバリュースコアを算出
- 候補プール内で各次元の0~1パーセンタイルランクを計算
- 加重和:
0.40×モメンタム12M + 0.20×モメンタム6M + 0.20×クオリティ + 0.20×(バリュー+低ボラ)/2
「直近1ヶ月騰落率上限 > 0.3」との併用で、短期急騰の過熱銘柄を効果的に除外できます。
3. ネガティブスクリーニングパラメータ — 推奨設定
ネガティブスクリーニング = 不要な銘柄を先に除外し、残りから良い銘柄を選びます。すべてのパラメータで0 = フィルタ無効。
| パラメータ | 何をするか | なぜ必要か | 推奨値 |
| 最低株価 |
この価格以下の銘柄を除外 |
低位株(ペニーストック)はボラティリティが高く流動性が低い |
米国株:5
香港株:1
日本株:100
0 = 制限なし
|
| 最低日平均売買代金 |
20日平均売買代金がこの値以下の銘柄を除外 |
売買代金が低い = 売買困難、スプレッドが大きく実取引コストが高い |
米国株:5000000(500万ドル)
香港株:3000000(300万香港ドル)
日本株:100000000(1億円)
最も重要なフィルタの一つ。設定を強く推奨
|
| 最大年率ボラティリティ |
年率ボラティリティがこの値を超える銘柄を除外 |
ボラティリティが高すぎる = リスクが大きい |
推奨:0.8(80%年率ボラティリティ)
通常の銘柄は0.2~0.5。0.8超えは投機性が高い
|
| 最低取引日数 |
上場からこの日数未満の銘柄を除外 |
新規上場はデータ不足でファクター計算が不正確 |
推奨:252(1年)
デフォルトのまま。252取引日 ≈ 1年
|
| F-Score下限で除外 |
財務健全性スコアがこの値以下を除外 |
財務が悪い企業はトレンドが良くても暴落リスクあり |
推奨:4
F-Score満点9。4以下は基本面に懸念。ファンダメンタルファクター使用時のみ有効
|
| Z-Score危険ゾーン除外 |
Altman Z-Score < 1.81 の企業を除外 |
Z-Score 1.81未満は倒産リスクが比較的高い |
推奨:除外する
ファンダメンタルファクター使用時のみ有効
|
| 直近1ヶ月騰落率上限で除外 |
直近21取引日の騰落率がこの比率を超える銘柄を除外 |
短期急騰銘柄は調整リスクが高い。モメンタムファクターはこのような「過熱銘柄」を選びやすい |
推奨:0.3(即ち30%)
モメンタム戦略の重要な防御パラメータ。0.3 = 直近1ヶ月30%超の急騰銘柄を除外
|
4. 推奨利用パターン
検証済みの戦略パターンです。そのまま利用できます。おすすめ度を星で表示。
過去に安定して上昇した銘柄を選定、短期過熱と財務不良を除外。初心者に最もおすすめ。
| ファクター | リスク調整モメンタム |
| Top N | 30 |
| 最低日平均売買代金 | 市場別推奨値(上記参照) |
| 最大ボラティリティ | 0.8 |
| 直近1ヶ月上限 | 0.3 |
| F-Score下限 | 4(任意) |
最も包括的な戦略。価格トレンド+財務品質+バリュエーションの三重保証。API待ち時間あり、しかし結果は最も信頼性が高い。
| ファクター | モメンタム品質複合 |
| Top N | 30 |
| 最低日平均売買代金 | 市場別推奨値 |
| 直近1ヶ月上限 | 0.3 |
| Z-Score危険ゾーン | 除外する |
市場に割安放置されている財務健全企業を探索。忍耐強く保有しバリュー回帰を待つ投資家向け。
| ファクター | バリュー複合 |
| Top N | 30 |
| F-Score下限 | 5 |
| Z-Score危険ゾーン | 除外する |
最もボラティリティが低い銘柄を選定。弱気相場や不確実性が高い局面に適合。長期リターンは悪くなく、ドローダウンは大幅に小さい。
| ファクター | 低ボラティリティ |
| Top N | 30 |
| 最低日平均売買代金 | 市場別推奨値 |
| 最低株価 | 市場別推奨値 |
直近で最も下落した銘柄を選び反発を狙う。リスクが高いためF-Scoreフィルタで基本面に問題がある銘柄を除外推奨。
| ファクター | リバーサル |
| Top N | 20 |
| 最低日平均売買代金 | 市場別推奨値 |
| F-Score下限 | 5 |
| Z-Score危険ゾーン | 除外する |
直近で出来高が異常に増加した銘柄を検出。大口資金の介入シグナルの可能性。短期注目向け。
| ファクター | 出来高ブレイクアウト |
| Top N | 20 |
| 最低日平均売買代金 | 市場別推奨値 |
| 最大ボラティリティ | 0.8 |
4.1 ステップバイステップ:モメンタム品質複合戦略
最もおすすめの「モメンタム品質複合」を例に、設定手順を説明します。3市場の具体的な入力値をすべて記載。
Step 1:市場を選択
ページ上部の「米国株 / 香港株 / 日本株」タブから、スクリーニングしたい市場をクリック。
Step 2:ファクターを選択
「ファクター戦略」ドロップダウン → 下の「ファンダメンタルファクター」グループまで スクロール → 「モメンタム品質複合」を選択。
Step 3:Top N を設定
30 のまま(デフォルト値、変更不要)。最終的に上位30銘柄を表示。
Step 4:詳細フィルターを展開
「詳細フィルター & ネガティブスクリーニング」をクリックしてパネルを展開、以下の表に従い各パラメータを入力:
| パラメータ | 日本株 (TSE) | 米国株 (USA) | 香港株 (HKEX) |
| 最低株価 | 100 | 5 | 1 |
| 最低日平均売買代金 | 100000000 (1億円) | 5000000 (500万ドル) | 3000000 (300万香港ドル) |
| 最大年率ボラティリティ | 0.8 (3市場共通) |
| 最低取引日数 | 252 (デフォルト値、変更不要) |
| F-Score下限で除外 | 4 (財務が比較的悪い企業を除外) |
| Z-Score危険ゾーン除外 | 除外する (ドロップダウンで「除外する」を選択、倒産リスクを排除) |
| 直近1ヶ月騰落率上限 | 0.3 (直近1ヶ月30%超の急騰銘柄を除外、重要パラメータ) |
Step 5:「スクリーニング」をクリック
ファンダメンタルファクターのため、yfinance API で財務データを取得します。1-2分お待ちください。プログレスバー完了後、結果が下のテーブルに自動表示されます。
Step 6:結果を確認
結果テーブルは複合スコアの高い順に並びます。行をクリックで個別銘柄の詳細(チャート・財務指標)を表示。保存するには右上の「CSV ダウンロード」をクリック。
4.2 ステップバイステップ:リスク調整モメンタム(高速版)
API待ち時間なしで即座に結果を得たい場合はこちら:
| パラメータ | 日本株 | 米国株 | 香港株 |
| ファクター戦略 | リスク調整モメンタム(価格ファクターグループ内) |
| Top N | 30 |
| 最低株価 | 100 | 5 | 1 |
| 最低日平均売買代金 | 100000000 | 5000000 | 3000000 |
| 最大年率ボラティリティ | 0.8 |
| 直近1ヶ月騰落率上限 | 0.3 |
この組み合わせは価格データのみ使用、ネットワーク不要。スクリーニング後1-5秒で結果表示。日常のクイックスキャンに最適。
5. ダッシュボード・ポジション管理
利用手順
- 登録 & ログイン — 右上の「新規登録」をクリック。管理者の承認後、全機能を利用可能
- ウォッチリストに追加 — スクリーニング結果テーブルの各行左側「+」ボタンをクリック、取得価格と数量を入力
- ダッシュボード確認 — 上部ナビの「ダッシュボード」をクリック:
- 総投資額 vs 現在の時価
- 総損益(金額と比率)
- ポジション配分の円グラフ
- 個別銘柄損益の棒グラフ
- 価格更新 — 「価格更新」ボタンで最新相場を取得
6. 結果フィールド説明
価格ファクター結果列
| 列名 | 意味 | 見方 |
| コード | 銘柄コード | クリックで詳細表示 |
| 企業名 | 企業名称 | 初回読み込みに数秒かかる場合あり |
| 現在値 | 直近終値 | — |
| ファクター値 | 選択ファクターの計算結果 | ソート基準、上位ほど良い |
| 日次騰落 | 直近1取引日の騰落率 | 正=上昇、負=下落 |
| 月次騰落 | 直近21取引日の騰落率 | 直近1ヶ月のトレンド |
| 四半期騰落 | 直近63取引日の騰落率 | 直近3ヶ月のトレンド |
| 52週高値/安値 | 過去1年の最高値と最安値 | 現在の位置を判断 |
| ボラティリティ | 252日年率換算ボラティリティ | 0.3=低、0.5=中、>0.8=高 |
| mom_12_1 | 12-1モメンタム原値 | 過去12ヶ月(直近1ヶ月除く)の騰落率 |
| mom_6_1 | 6-1モメンタム原値 | 過去6ヶ月(直近1ヶ月除く)の騰落率 |
ファンダメンタルファクター追加列
| 列名 | 意味 | 見方 |
| F-Score | Piotroski 財務健全性スコア | 0-9点、≥7 優良、≤3 懸念 |
| Z-Score | Altman 倒産予測スコア | >2.99 安全、<1.81 危険 |
| P/E | PER(株価収益率) | 低いほど割安、負=赤字 |
| P/B | PBR(株価純資産倍率) | <1 は割安の可能性 |
| ROE | 自己資本利益率 | >15% は優良 |
| 配当利回り | 年率配当利回り | >3% は高配当 |
7. よくある質問
Q: モメンタムファクターで短期急騰の低品質銘柄が選ばれた場合は?
A: モメンタム戦略でよくある問題です。解決策:「直近1ヶ月騰落率上限で除外」を有効にし、0.3(30%)に設定。短期急騰の過熱銘柄を効果的に除外できます。または「モメンタム品質複合」ファクターを直接利用すれば、ファンダメンタルフィルタが内蔵されています。
Q: 「モメンタム品質複合」と「リスク調整モメンタム」の使い分けは?
A: リスク調整モメンタムは価格データのみで高速(秒単位)、クイックスクリーニング向け。モメンタム品質複合は財務クオリティとバリューも導入、API取得に約1-2分かかりますが、より包括的で信頼性の高い結果。
おすすめ:日常の素早い確認には前者、本格的な銘柄選定には後者。
Q: ファンダメンタルファクターが遅いのはなぜ?
A: yfinance API で企業ごとに財務データを個別取得するため。約150銘柄で1-2分かかります。プログレスバーの完了までお待ちください。
Q: 各市場の売買代金の通貨単位は?
A: 米国株=米ドル、香港株=香港ドル、日本株=日本円。例えば米国株で5000000と入力すると、日平均売買代金500万ドル以上の銘柄のみ表示。
Q: CSVダウンロードにはどのデータが含まれますか?
A: テーブルの全列(mom_12_1、mom_6_1 のモメンタム原値含む)。ファイルはUTF-8 BOMエンコードで、Excelで直接開けます。
Q: ファクター値の数字はどう読みますか?
A: ファクター値の絶対値自体は重要ではなく、重要なのは順位です。上位にある銘柄が現在の戦略で最も優れた候補です。異なるファクター間で数値を比較しないでください。
8. 買いスコア (Buy Score)
スコア説明
買いスコア(0-100)はスクリーニング結果の各銘柄に対する総合推奨度評価です。スコアが高いほど総合指標が優秀であることを示します。
| スコア範囲 | 意味 | 表示色 |
| 80-100 | 強く推奨 — 多次元の指標がすべて優秀 | 緑 |
| 50-79 | 注目に値する — 一部の指標が良好 | 黄 |
| 0-49 | 慎重に検討 — 他の情報と合わせて判断が必要 | 赤 |
スコア構成
- モメンタムスコア — 12-1 と 6-1 モメンタムランキングに基づく
- ファンダメンタルスコア(ファンダメンタルファクターのみ)— F-Score、Z-Score、ROE 等の財務指標
- リスク調整 — ボラティリティが低いほど加点
買いスコアは参考情報であり、投資助言ではありません。個別銘柄詳細ページの完全な情報と合わせてご判断ください。
9. 売りシグナル (Sell Signal)
機能の場所
ダッシュボードのポジション一覧で、各銘柄の売りシグナルスコア(0-100)を確認できます。0は安全保有、100は強い売却推奨を意味します。
4次元評価
| 次元 | ウェイト | 説明 |
| モメンタム衰退 | 30% | 12ヶ月モメンタムが負転または大幅低下時にトリガー |
| ドローダウン | 25% | 保有期間中の最高値からの下落幅が大きいほどシグナルが強い |
| ファンダメンタル悪化 | 25% | F-Scoreが3以下に低下、またはZ-Scoreが危険ゾーンに入った場合 |
| 集中リスク | 20% | 単一ポジションの比率が30%を超えた場合に警告 |
売りシグナルは定量モデルで自動計算されます。シグナル値 ≥70 はポジション縮小を真剣に検討、40-69 は注視継続、<40 は安心保有。
10. 会員ランク & スクリーニング回数
システムは1-5星の会員ランク制度を採用し、ランクごとに1日あたりのスクリーニング回数上限が異なります。
| ランク | デフォルト1日スクリーニング回数 |
| ★ Tier 1(新規ユーザー) | 5 回 |
| ★★ Tier 2 | 20 回 |
| ★★★ Tier 3 | 50 回 |
| ★★★★ Tier 4 | 200 回 |
| ★★★★★ Tier 5 | 無制限 |
管理者は「設定」ページで各ランクのスクリーニング回数上限をカスタマイズできます。カウントは毎日0時にリセットされます。
ページ上部のユーザー名横の星マークが現在のランクを示します。ランクアップが必要な場合は管理者にお問い合わせください。
機能説明
コミュニティ機能では、ユーザーが自分のポジション情報(保有銘柄の詳細と購入証明)を公開共有できます。
公開手順
- スクリーニング結果で + をクリックしてウォッチリストに追加、買値と数量を入力
- ダッシュボード → 対象ポジション → 「コミュニティに公開」をクリック
- 購入証明のスクリーンショットをアップロード(jpg/png/webp、≤5MB)
- 公開成功後、他のユーザーが「コミュニティ」ページであなたのポジションを閲覧可能
コミュニティページの内容
- 人気銘柄ランキング — 保有者数と総保有量で並べ替えた人気銘柄
- ユーザーポートフォリオ — 各ユーザーの公開ポジション詳細(買値、数量、購入証明含む)
購入証明はコミュニティの信頼構築のためです。証明がアップロードされたポジションのみがコミュニティページに表示されます。
12. 銘柄検索と比較
検索機能
スクリーニングページ上部の検索ボックスに銘柄コード(部分一致対応)を入力すると、リアルタイムで一致する結果が表示されます。検索はスクリーニング回数を消費しません。
- 検索結果にはコード、企業名、現在値、セクターが表示されます
- 検索結果をクリックで個別銘柄の詳細ページを直接表示
- 検索範囲は現在選択中の市場の全銘柄
比較機能
検索結果の + ボタンで銘柄を比較リストに追加(最大10銘柄)、「比較開始」をクリックします。
- 比較テーブルに表示:現在値、P/E、P/B、ROE、配当利回り、F-Score、Z-Score、時価総額、ROIC等12項目の指標
- 比較1回につきスクリーニング回数を1回消費(財務データのAPI取得が必要なため)
- 比較完了後も銘柄の追加/削除で再比較が可能
検索機能はログイン後のみ表示されます。比較はスクリーニングで候補を絞った後、少数の候補銘柄を詳しく比較分析するのに最適です。
13. チャート & ライブ監視
ナビゲーションの 「チャート」(パス /chart):moomoo App 風のローソク足ツール。9 段階の時間粒度、9 種類の指標、ズーム/パン、十字カーソル、ライブ更新に対応。
- 時間粒度:1分 / 3分 / 5分 / 15分 / 30分 / 60分 / 日 / 週 / 月。粒度を切り替えるたびに履歴を再取得。
- メイン指標:MA / EMA / BOLL / SAR / BBI(複数選択可、デフォルトは MA)。
- サブ指標:出来高 / MACD / KDJ / RSI(複数選択可、デフォルトは出来高)。
- ライブ更新:右上のスイッチ。ONで2.5秒ごとに最新1-2本のK線を取得し、
chart.updateData() で最後の1本だけ増分更新(全体再描画なし)。タブを切り替えると自動停止(API クォータ節約)。
- データソース:US/HK は moomoo(リアルタイム)、JP は Yahoo Finance(約15分遅延)。ステータスバー右側のバッジで明示。
右上の 「戦略を適用 →」 ボタンは現在の ticker / market / ktype を持って §14 のバックテストページへ遷移し、設定を自動入力します。
14. 戦略バックテスト
ナビゲーションの 「バックテスト」(パス /backtest)。4 種類の戦略ソース:
- テンプレート:MA ゴールデンクロス / RSI 売られすぎ / BOLL ブレイクアウト(14.1 で詳述)
- カスタムコード:
def on_bar(bar, ctx): return Action.BUY/SELL/CLOSE/HOLD(14.5 で詳述)
- 保存済み戦略:以前保存した戦略をワンクリックで再利用
- グリッドサーチ:パラメータ直積で自動実行、最適組み合わせを発見(14.6)
14.1 内蔵戦略テンプレート詳解
① MA Cross — 二本移動平均のゴールデン/デッドクロス
ロジック:短期線(既定 5)が長期線(既定 20)を下から上に抜ける → 買い;上から下に抜ける → 売り。
仮定:価格トレンドには慣性がある。短期 MA の長期 MA 抜けは"トレンド開始/転換"のシグナル。
機能する相場:一方向トレンド(強気初期、弱気初期)。機能しない相場:もみ合い(連続ダマシで手数料 + ストップロス浪費)。
パラメータ選択:
ma_fast:典型 5 / 10 / 13。小さいほど敏感、ダマシ多い。
ma_slow:典型 20 / 50 / 100。大きいほど鈍感、確認遅いが安定。
- 定番組み合わせ:5/20(短期)、20/50(中期)、50/200(長期、デスクロス判定で有名)。
典型的な落とし穴:AAPL のような長期上昇銘柄では MA クロスはしばしば buy & hold に劣る — 押し目で「損切り売却」を繰り返し、その後の反発を逃すため。これはトレンド戦略の本質的コスト。
② RSI Oversold — RSI による売られすぎ反発
ロジック:RSI(14) < 30(売られすぎ)→ 買い;RSI > 70(買われすぎ)→ 売り。
仮定:価格は短期的に平均から乖離した後、平均回帰する。売られすぎ = 割安。
機能する相場:もみ合い / ゆっくりとした強気相場の押し目。機能しない相場:一方的暴落(100→30 では RSI ずっと売られすぎでも救えない)。
パラメータ選択:
rsi_period:既定 14(業界標準)。7 で過激、21 で保守。
oversold:既定 30。20 でシグナル少数精鋭、40 で多数だがダマシ多い。
overbought:既定 70。同上。
落とし穴:RSI 単独の押し目買いはナイフを掴む戦略。2008、2020 のような暴落では損切り連発。トレンドフィルターと組み合わせ推奨:MA50 が上向きの時だけ RSI シグナルを採用。
③ Bollinger Breakout — ボリンジャーバンドのブレイクアウト
ロジック:価格が上限(mid + 2σ)を突破 → 買い;下限(mid - 2σ)を割る → 売り。
仮定:±2σ 突破は「非ランダムな強い動き」、トレンド開始の確率が高い。
機能する相場:低ボラ期間後の爆発的ブレイク(保ち合い後の急騰)。機能しない相場:ワイドレンジ相場(連続ダマシ)。
パラメータ選択:
boll_period:既定 20。10 で反応速いがダマシ多、50 で反応遅く初動を逃す。
std_mult:既定 2.0(統計的に約 95% カバー)。1.5 で過激、2.5 で保守。
落とし穴:BOLL 突破単独はレンジ相場で連続ストップロスになりやすい。出来高フィルター推奨:突破当日の出来高が 60 日平均 × 1.5 以上で確認。
14.2 リスク管理(詳細設定)
すべてのテンプレート + カスタム戦略に自動適用される 4 つのリスク管理(「⚙ 詳細設定」で設定):
| 項目 | 意味 | 推奨値 |
| 損切り % | 建値から N% 下落で強制クローズ | 3-5%(短期);8-10%(中期) |
| 利確 % | 建値から N% 上昇で強制クローズ | 不要(トレンド戦略は trailing stop に任せる);レンジ戦略のみ 3-5% |
| トレーリングストップ % | 保有中の最高値から N% 下落で決済 | 5-8%(利益を伸ばす中核機能) |
| 最大保有本数 | N 本を超えたら強制クローズ(塩漬け回避) | 日足 30-60;分単位は戦略時間軸次第 |
実戦アドバイス:損切りは必須(-10% でも無し>有り)、トレーリングストップ強推(最大利益化)、利確はオプション(早期決済リスク)、最大保有は防御的に。
14.3 ポジションモード(4 種)
| モード | ロジック | 適用シーン |
| 全額投入 all_in | 毎回利用可能現金を全投入 | バックテスト確認用のみ。実弾運用厳禁(一発大損で全滅) |
| 固定金額 fixed_dollar | 毎回 N ドル固定(既定 10000) | 初心者最適。シンプル、コントロール可、銘柄横断比較容易 |
| 固定比率 fixed_pct | 毎回現純資産の N%(既定 100%) | 勝てば増買(複利)、負ければ減買(爆発防止) |
| 固定リスク fixed_risk ⭐ | 毎回損失上限が純資産 N%(既定 1%)。損切りから qty 逆算 | プロ級リスク管理。損切り ≥ 1% 必須。100 連敗でも約 63% しか減らない(数学的に耐える) |
選択推奨:初回バックテストは fixed_dollar 1万(取引数 + 1取引損益が見やすい)→ 戦略確認後 fixed_risk 1% に切替(実弾前必須)。all_in は「上限利益測定」用で運用モードにはしない。
14.4 13 統計カードの詳解
| 指標 | 定義 | 判断閾値 |
| 総リターン | 期末純資産 / 初期資金 - 1 | 高いほど良いが Buy & Hold と比較必須 |
| Buy & Hold | 同期間の単純保有リターン(手数料込み) | これを上回らないと戦略の意味なし |
| Alpha | 総リターン - Buy & Hold(超過収益) | 正で初めて戦略自体が儲けている。負 alpha = 何もしない方が良い |
| 年率 | 取引日ベースで年率換算 | 同期間の SPY を上回らないと意味なし |
| 期末純資産 | 最終足クローズ時の総資産 | 絶対値で見る |
| 最大DD | 過去ピークから谷底までの最大下落率 | < 15% 許容 / 15-30% 心理厳しい / > 30% 大半は損切りで止まる |
| シャープ | 年率 / リターン標準偏差 | > 1 良好 / > 2 優秀 / < 0.5 平凡 |
| Sortino | 下方ボラティリティのみで割る(損失だけ罰) | 非対称収益戦略により適切。> 1.5 健全 |
| Calmar | 年率 / 最大DD | クオンツが最も愛する指標。> 1 で年利 > 最大下落、> 3 でトップ級 |
| 勝率 | 勝ちトレード / 総トレード | トレンド戦略 40-50% でも勝てる(PF が補う);レンジ戦略 > 55% 必須 |
| 勝/全 | 勝ち数 / 総数 | 絶対数で見る、< 5 取引はサンプル不足 |
| プロフィットファクター | 総勝ち / 総負け | > 1.5 健全、> 2 優秀 |
| 出場理由 | S=シグナル/SL=損切/TP=利確/TR=トレーリング/TO=タイムアウト | SL/S 比率高 → 損切り厳すぎ or 戦略が当たらない |
結果を見る優先順位:① Alpha が正か(最重要)→ ② 最大DD(心理的耐性)→ ③ Calmar 総合コスパ → ④ PF + 勝率組み合わせ → ⑤ 総リターン。総リターンだけ見るのは厳禁。
14.5 カスタムコード戦略
「コード」モードに切り替え、on_bar 関数を書く:
def on_bar(bar, ctx):
closes = [b.close for b in ctx.bars]
if len(closes) < 50:
return Action.HOLD
# トレンドフィルター:長期上昇時のみ買い検討
ma50 = sma(closes, 50)
if closes[-1] < ma50:
return Action.HOLD
# エントリー:RSI 売られすぎ
r = rsi(closes, 14)
if r < 30 and ctx.position.is_flat:
return Action.BUY
# エグジット:RSI 買われすぎ
if r > 70 and not ctx.position.is_flat:
return Action.CLOSE
return Action.HOLD
利用可能オブジェクト:
bar.open / high / low / close / volume / time:現在のローソク足
ctx.bars:開始から現在までの全ローソク足(list of Bar)
ctx.position.qty / avg_price / is_flat:現在ポジション
ctx.cash / equity:現金 + 総純資産
ctx.params:戦略パラメータ dict(あれば)
利用可能関数(import 不要):sma(values, period)、ema(values, period)、rsi(values, period)、bollinger(values, period, std_mult)、macd(values, fast, slow, signal)、atr(highs, lows, closes, period)、donchian(highs, lows, period)、math モジュール。
サンドボックス制限:import / open / eval / exec / globals / __* 等危険操作は全て禁止。AST でコンパイル時チェック、違反時 → 詳細エラーで読み込み失敗。
14.6 Walk-Forward サンプル外テスト
「サンプル外テスト」チェックボックス ON、訓練比率設定(既定 70%)。バックテストが自動でデータを 2 分割:
- 訓練セット(前 70%):パラメータを「あたかも調整した」サンプル
- テストセット(後 30%):「未来の未知データ」を模擬し、独立実行
結果の読み方:
- 訓練 +20% / テスト +18% → ✅ 健全、パラメータがロバスト
- 訓練 +30% / テスト -5% → ⚠️ 過剰最適化警告(自動で赤表示)。パラメータが「フィッティング」され未来は信頼不可
- 訓練 -5% / テスト +10% → 偶然、別期間で再試、ノイズの可能性大
真のクオンツの黄金律:実弾運用予定の期間でパラメータ調整は絶対禁止。最低 3 つの異なる時期で walk-forward すべて正なら、初めて実弾検討。
14.7 グリッドサーチ(パラメータ最適化)
「グリッドサーチ」モード選択 → テンプレート選択 → 各パラメータに値リスト入力(カンマ区切り、例 3,5,8,13) → 実行。
システムが直積(例 4×4=16 組み合わせ)を自動実行、選択指標(Sharpe / 総リターン / Calmar / Sortino)でソート、Top-10 表示。結果行の 「このパラメータを適用」ボタンでテンプレートに戻し詳細確認。
- 組み合わせ上限 200:超過時自動拒否(CPU 焼き防止)
- ソート指標は Calmar 推奨(Sharpe より「DD 調整後リターン」を重視)
落とし穴:グリッドサーチは本質的に「過去で最良パラメータを選ぶ」、ほぼ確実に過剰最適化。top-10 取得後は walk-forward で必須検証 — テストセットでも正リターンの top-1 だけが本物。
14.8 チャートとトレード明細
メインチャート(K 線):緑 BUY / 赤 SELL ラベルが戦略の実トリガー。下の純資産曲線:戦略(実線)+ Buy & Hold ベンチマーク(グレー破線)の 2 本。交差点は alpha が正→負に転じた瞬間。
下部トレード明細表:各トレードのエントリー/エグジット時刻、価格、数量、絶対損益 + リターン%。
過剰最適化を避ける鉄則 4 ヶ条:①パラメータが 3-5 銘柄で全部正なら信頼;②walk-forward テストセットも正必須;③毎回「最適 1 組」だけ見ず、top-10 全体の安定性確認;④パラメータは少ないほど良い(2 個 vs 5 個では信頼度 10 倍差)。
15. 手動取引
📌 開発中(Phase 2)。完成後ここに記載予定:moomoo 注文 UI(指値/成行/ストップ)、注文板、約定履歴、リスク管理(注文上限、日次損失上限、Kill Switch)。
セーフティ基盤は既に完成(trade_safety.py + trade_provider.py)。すべての実注文は check_order_allowed() ゲートを通過し、order_audit 監査テーブルへ強制記録されます。
16. 戦略自動実行
📌 開発中(Phase 3)。完成後ここに記載予定:§14 で保存した戦略をワンクリックで実弾自動実行(ハートビート、K線購読、ルールベース注文、損切り、Kill Switch 連動)。
有効化前に強制プロンプト:実弾運用です。moomoo 取引パスワード入力 + 二段階確認が必要。
17. OpenD 接続管理
moomoo OpenD はローカルで動くゲートウェイプログラム:
- moomoo サーバへ接続(相場 / 取引)
- Python SDK 用にローカル TCP インターフェース(デフォルト
127.0.0.1:11111)を提供
QuantScreen は moomoo クラウドへ直接接続せず OpenD 経由。よって米/香港株のリアルタイム相場・取引機能は事前に OpenD 起動 + ログインが必須。
ログインフロー(管理ページ /admin/opend)
- moomoo アカウント(メール / 国番号付き電話 / ユーザID)+ パスワードを入力
- 「OpenD 起動 & ログイン」 をクリック。バックエンドが一時設定ファイルを書き OpenD プロセスを起動
- 画像認証コードが必要 → バックエンドが OpenD 生成 PNG を読み込みウェブに表示 → 入力 → 送信
- SMS 認証コードが必要 → moomoo が登録携帯にSMSを送信 → 入力 → 送信
- ステータスが緑色の 「✓ ログイン済」 に変われば、米/香港株 API が利用可能
パスワードのセキュリティ
- パスワードはバックエンド到達後すぐ
moomoo.unlock_trade() を呼び、50ms 以内に Python メモリから削除
- ログ・DB・API レスポンスのいずれにも保存しない
- セッション TTL は 2 時間。アイドル時に自動再ロック。ブラウザを閉じても再ロック
- FutuOpenD.xml 設定ファイル中の
<login_pwd> はログイン成功後すぐクリア
よくあるエラー
| メッセージ | 原因 | 対処 |
| アカウントまたはパスワードが違います | moomoo サーバ拒否 | moomoo アプリで一度確認 |
| 画像認証コードが必要 | moomoo リスク管理発動 | 画像通りに入力(大文字/小文字区別) |
| SMS 認証コードが必要 | 新デバイス / 長期間未ログイン | 携帯に届いた6桁を入力 |
| OpenD が起動していません | プロセス停止 / 設定エラー | 「OpenD 起動」を再クリック |
| JP 銘柄「Unknown stock」 | moomoo OpenAPI が日本株現物を非対応 | システムが yfinance に自動 fallback(利用可能、ただし約15分遅延) |
18. クオンツ思考(推奨版)
これは中立的な解説ではなく、具体的な提案です。反対していただいても構いませんが、出発点として。
18.1 トレンドフォロー vs 平均回帰 — どちらか一方に賭けない
2つの戦略は異なる相場でそれぞれ機能:
- トレンドフォロー:MA ゴールデンクロス、52週高値、20日レンジブレイク。強気相場で大きく勝ち、弱気相場では選べる銘柄なし。保有期間:数日~数週間。
- 平均回帰:RSI 売られすぎリバウンド、ボリンジャー下抜け買い。レンジ相場で勝ち、トレンド相場では損切り連発。保有期間:数時間~数日。
提案:バケット分け:
- 資金の70%をトレンドフォローへ(§2 のモメンタム品質複合 / リスク調整モメンタムで候補抽出)
- 30%を平均回帰へ(§14 の RSI 売られすぎ / BOLL ブレイクアウトを回帰検証してから運用)
- マーケットブレッドス・スイッチ:SPY が200日線割れ時、トレンドバケットを自動半分減らす(弱気相場で無理にロングしない)
18.2 オーバーナイト vs デイトレ — オーバーナイトを選ぶ
真のデイトレード(Tick データ + 低レイテンシインフラ必須)でない限り、オーバーナイト保有を推奨。理由:
- 頻繁な売買 = 手数料 + スリッページの累積。1回0.05% × 100回 = 5%の収益が消失
- 米株の短期保有(< 1年)は ordinary income 課税、長期(> 1年)は long-term capital gains で税率が大幅に異なる
- 多くのファクター戦略・テクニカル指標の有効時間軸は数日~数週間(分単位売買はノイズ)
- QuantScreen バックテストはデフォルト 5 bps/片道の手数料込み。粒度変更時は調整(高頻度回転戦略は10-15 bpsで実環境に近づく)
18.3 横断面ファクター vs 時系列トリガー — 何が足りないか
QuantScreen は 7つの価格ファクター + 6つのファンダメンタルファクター を備え、5次元(モメンタム、リバーサル、低ボラ、新高値、出来高、リスク調整、バリュー、クオリティ)をカバー。これらは横断面スコアリングで「長期注目すべき銘柄」を教えてくれるが、「いつ入るか」は教えない。
足りないのは時系列トリガー型スキャン。手動取引・自動戦略の実装後に追加予定の3つ:
- ブレイクアウトスキャン:終値 = 直近20日高値 + 当日出来高 ≥ 60日平均 × 1.5 + MACD DIF が DEA を上抜き
- 押し目買いスキャン:終値 > MA20(トレンド継続中)+ RSI(14) < 40(短期売られすぎ)
- セクターローテーション:11個のSPDRセクターの20日リターンランキング、上位3セクター内で risk_adjusted_momentum 上位10銘柄
実践提案:まず §2 のファクタースクリーニングで「長期ウォッチリスト」(20-30銘柄)を抽出 → §13 チャートで各銘柄の具体的な形状を確認、エントリーポイント特定(MA ゴールデンクロス / ブレイクアウト / 押し目)→ §14 で同パラメータをこれら銘柄でバックテスト、すべて黒字の戦略のみ実弾投入。