候选股票池 —
| # | 代码 | 名称 | 收盘 | 涨幅 | 当日涨幅 | 评分 | 量比 | 平台 | 振幅 | 突破 | 换手 | 均线 | 持仓 |
|---|
走势最强候选榜
—
以信号日收盘价为基准,列出窗口内走势最强的候选。同一只票可能被多次选中,
榜单只保留窗口内首次入选那一次作为跟踪起点(跟踪期最长、最完整),并给出累计入选次数。
注意:「已跟踪」为信号日之后已走完的交易日数,天数不同时涨幅不能直接横向比较—— 刚入选 1~2 天的票只反映了很短一段行情;「超额 = 至今涨幅 − 同期沪深300」。
注意:「已跟踪」为信号日之后已走完的交易日数,天数不同时涨幅不能直接横向比较—— 刚入选 1~2 天的票只反映了很短一段行情;「超额 = 至今涨幅 − 同期沪深300」。
每日候选的后续涨跌幅
候选平均
沪深300
逐日跟踪明细
—
以信号日收盘价为基准跟踪每只候选之后的涨跌幅:「次日 / 5日 / 10日 / 20日」为信号日之后
第 N 个交易日的收盘涨跌幅,「至今」为窗口内最后一个交易日的涨跌幅;
超额 = 候选平均 − 同期沪深300。
注意:越靠下(越近)的交易日,可跟踪的天数越少,最近 1~3 天的样本只有一两天,不具统计意义; 表格按日期倒序排列,请以窗口合计与较早日期的数据为准。
注意:越靠下(越近)的交易日,可跟踪的天数越少,最近 1~3 天的样本只有一两天,不具统计意义; 表格按日期倒序排列,请以窗口合计与较早日期的数据为准。
当日候选明细
点击上表任意一行,查看该日逐只候选的跟踪表现我的自选
—
—
顺序:列表顺序就是优先级,「⤒ 置顶 / ⤓ 置底 / ↑ ↓ / 直接拖拽行」改的是同一个顺序,
刷新后保持(只有一个顺序字段,不存在「置顶标记」与「拖拽位置」打架的情况)。
加入以来 = 现价 ÷ 加入价 − 1;加入价 = 点击加自选当刻的最新价 (盘中即实时价),加入后定格不变,便于回看「加进来之后赚没赚」。
现价 / 当日跟随盘中最新价(带「盘中」角标),5/20/60 日为本地前复权日线口径; 「候选」列显示该股在选股结果里的痕迹(今日候选 / 近 30 日入选次数)。 自选股只影响展示,不参与选股、回测与百万盘撮合。
加入以来 = 现价 ÷ 加入价 − 1;加入价 = 点击加自选当刻的最新价 (盘中即实时价),加入后定格不变,便于回看「加进来之后赚没赚」。
现价 / 当日跟随盘中最新价(带「盘中」角标),5/20/60 日为本地前复权日线口径; 「候选」列显示该股在选股结果里的痕迹(今日候选 / 近 30 日入选次数)。 自选股只影响展示,不参与选股、回测与百万盘撮合。
账户总览
资金 + 交易统计(一次买入→清仓 = 一笔)同一只票清仓后再次入选记作独立两笔;分批止盈的多笔卖出
合并为同一笔(加权均价);未清仓持仓不计入。逐笔排行见下方「收益排名」。
离场分析
按离场规则统计次数与累计盈亏当前持仓
离场规则由策略自动触发成交记录
滚动到底部自动加载更多(默认 40 条)收益排名
点行看K线。价格为成交均价(不含费用);收益 = 卖出收入(已扣费)− 买入成本(含费)。
次日挂单
收盘后生成,次日开盘成交平均涨幅(自然段)
横轴=持有天数(买入日=第1天);不考虑卖出:已卖出的继续按市价计入,每天统计全部交易
平均涨幅 = 全部交易(无视卖出)「自买入累计涨幅」的均值(不除以天数)。样本口径与「收益效率(自然段)」一致。样本 < 3 笔的日期断线。
平均涨幅(持仓段)
横轴=持有天数(买入日=第1天);只统计该日仍未卖出的交易,样本随卖出逐日递减
平均涨幅 = 该日仍持有的每笔交易「自买入累计涨幅」的均值(不除以天数)。样本口径与「收益效率(持仓段)」一致。样本 < 3 笔的日期断线。
收益效率(自然段)
横轴=持有天数(买入日=第1天);不考虑卖出:已卖出的继续按市价计入,每天统计全部交易
口径同上,唯一区别是样本不随卖出衰减 —— 每笔交易按买入后 60 天的市场价计算(不管实际是否已卖出),相当于「买入后拿着不动」。与左图对照可看离场动作拿走了什么。
收益效率(持仓段)
横轴=持有天数(买入日=第1天);只统计该日仍未卖出的交易,样本随卖出逐日递减
日均收益率 = 该日仍持有的每笔交易「累计收益 ÷ 持有天数」的均值;边际效率 N = 近 N 日(含当日)日均涨幅,持有日不足 N 时取已有天数。样本 < 3 笔的日期断线。
账户总览
信号全收口径 · 一次买入→清仓 = 一轮无仓位与资金上限、每笔等额买入,因此没有资产与净值曲线 ——
总资产 / 累计收益以「—」占位,改看「累计已实现」。这里看到的是「这套策略的信号本身值多少钱」。逐笔明细见下方「成交记录」。
离场分析
离场规则与百万盘同一套当前持仓
离场规则与百万盘同一套,自动触发成交记录
滚动到底部自动加载更多(默认 40 条)次日挂单
收盘后生成,次日开盘成交(信号全收,不设配额)平均涨幅(自然段)
横轴=持有天数(买入日=第1天);不考虑卖出:已卖出的继续按市价计入,每天统计全部交易
平均涨幅 = 全部交易(无视卖出)「自买入累计涨幅」的均值(不除以天数)。样本口径与「收益效率(自然段)」一致。样本 < 3 笔的日期断线。
平均涨幅(持仓段)
横轴=持有天数(买入日=第1天);只统计该日仍未卖出的交易,样本随卖出逐日递减
平均涨幅 = 该日仍持有的每笔交易「自买入累计涨幅」的均值(不除以天数)。样本口径与「收益效率(持仓段)」一致。样本 < 3 笔的日期断线。
收益效率(自然段)
横轴=持有天数(买入日=第1天);不考虑卖出:已卖出的继续按市价计入,每天统计全部交易
口径同上,唯一区别是样本不随卖出衰减 —— 每笔交易按买入后 60 天的市场价计算(不管实际是否已卖出),相当于「买入后拿着不动」。与左图对照可看离场动作拿走了什么。
收益效率(持仓段)
横轴=持有天数(买入日=第1天);只统计该日仍未卖出的交易,样本随卖出逐日递减
日均收益率 = 该日仍持有的每笔交易「累计收益 ÷ 持有天数」的均值;边际效率 N = 近 N 日(含当日)日均涨幅,持有日不足 N 时取已有天数。样本 < 3 笔的日期断线。
下单面板
按最新价成交(盘中为实时价)提示:模拟盘与百万盘使用同一初始资金 100 万,便于对比;成交价取最新价(盘中为实时价)。
一键跟单
—与「今日候选 → 全部」同一份合并池:各启用策略各取当日评分前
5 名、同一只票合一、按最高分排序,取前 5 只作跟单推荐
(—),不跟随顶部选中的策略。
点「买入」按最新价成交,记在当前选中的模拟盘里,默认买 10 万,可用资金不足 10 万时全额买入。
账户总览
资金 + 交易统计(一次买入→清仓 = 一笔)同一只票清仓后再次买入记作独立两笔;未清仓持仓不计入。逐笔排行见下方「收益排名」。
离场分析
按日K评分统计持仓柱子 = 当前持仓按日K评分分档各几只:强势持有(≥ +2)/持有/观望·减仓/卖出提示(≤ −3);
评分只看K线本身,与成本、持有天数无关(那是下方「离场规则提醒」的事)。
我的持仓
点「卖出」按最新价成交离场规则提醒
—我的成交记录
滚动到底部自动加载更多(默认 40 条)收益排名
点行看K线。价格为成交均价(不含费用);收益 = 卖出收入(已扣费)− 买入成本(含费)。
收益曲线对比
点击图例可隐藏 / 显示对应曲线平均涨幅对比
各策略 · 平均涨幅(自然段)横轴=持有天数(买入日=第1天);每条曲线 = 该策略全部轮次「自买入累计涨幅」的均值(不除以天数);无视卖出:已卖出的继续按市价计入,样本不随卖出衰减
口径与「AI盘」页的平均涨幅(自然段)卡完全一致,仅启用策略参与对比,截到 60 个持有日;样本 < 3 笔的日期断线。点击图例可隐藏 / 显示对应策略。
绩效指标对比
数据更新与回测
—
每日更新:增量同步全市场行情 → 校准当日K线 → 逐策略重扫候选池 → 逐策略推进自动盘。
随时可点,不受下方「自动刷新」间隔的限制;服务关过几天再开时点它,会把缺的交易日一起补回来
(19 日盘中的半根K线修成收盘价、20 日整根补齐)。
重跑回测:只重跑按钮上所选策略的百万盘(约 3 年),清空它的持仓与成交后重新模拟, 其它策略与模拟盘不受影响。本页不显示策略切换条,要先在「今日候选 / AI盘」页选好策略再过来。
一键初始化:全量重拉约 5500 只股票的日线 → 逐策略重扫候选池 → 逐策略重跑回测,耗时较长; 首次部署或重建历史数据时用。
三者都会写入当日K线,建议在收盘后(15:05 之后)执行。
重跑回测:只重跑按钮上所选策略的百万盘(约 3 年),清空它的持仓与成交后重新模拟, 其它策略与模拟盘不受影响。本页不显示策略切换条,要先在「今日候选 / AI盘」页选好策略再过来。
一键初始化:全量重拉约 5500 只股票的日线 → 逐策略重扫候选池 → 逐策略重跑回测,耗时较长; 首次部署或重建历史数据时用。
三者都会写入当日K线,建议在收盘后(15:05 之后)执行。
飞书推送
—
开盘日 14:30 之后,每次自动刷新完成时把「今日候选 · 全部前 N 合并」
(各策略各取前 5 名、同票合并成一行)发到飞书固定账号。手动点刷新不推 —— 人就在页面上。
收盘后 15:10 的「每日更新」默认也不推,想收「收盘口径最终版」就把
接哪条通道、发给谁属于密钥级配置,只写在
发不到人(报
FEISHU_ON_DAILY 打开。
接哪条通道、发给谁属于密钥级配置,只写在
config.local.py:应用机器人填
FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_RECEIVE_ID(收件人用
FEISHU_RECEIVE_ID_TYPE 说明是 email / open_id / chat_id),或群机器人只填
FEISHU_WEBHOOK。改完 systemctl restart simstock,
再点上面的测试发送确认能收到。
发不到人(报
Access denied ... scopes is required)时:按 user_id/email
发需要通讯录权限。最省事的是把机器人拉进一个群,跑
python -m backend.feishu --chats 拿到 chat_id,改成
FEISHU_RECEIVE_ID_TYPE = "chat_id" —— 群消息不碰通讯录权限。
性能统计
—
统计本进程启动以来的接口响应与数据库查询耗时(按平均耗时排序,各显示前十)。
接口按路由模板聚合(如 /api/kline/{code});查询语句把字面量归一成 ? 后聚合(同一张表不会裂成几千条)。
DB 耗时用相邻语句间隔归因,超过 2 秒的间隔视为夹杂了 Python 处理(行情同步等)直接丢弃,
统计口径 = SQL 本身的执行时间。