首页 / 技术博文

技术博文

记录学习与开发过程中真实踩过的坑。每篇都来自实际项目,不是二手转述。

AI 行业日报

每天由站内 AI 自动化任务抓取行业动态并生成;只展示标题、来源与原文链接,不展示摘要或正文、不转载全文。内容由 AI 自动生成,仅供研究参考,不构成投资建议。本栏目独立于下方技术博文。

正在加载每日日报…

共 9 篇

把量化工具搬上腾讯云:一次完整的上云实录

本地跑得好好的服务,怎么才能稳定地挂在公网上。整个过程踩了几个坑:服务起来后终端一关就断、防火墙开了一层还有一层、域名解析生效但访问被重置。

  • 用 systemd 常驻,而不是 nohup 或后台 job,崩溃自动拉起、开机自启
  • 防火墙有两层:云厂商控制台安全组 + 服务器系统 ufw,缺一不通
  • 反向代理交给 Caddy,自动 ACME 签发并续期 HTTPS 证书

纯前端应用的缓存治理:指纹版本号 + Service Worker

最难受的开发体验是"代码改了、用户看到的还是旧的"。浏览器缓存、CDN 缓存、Service Worker 三层叠加,任何一层没处理对都会造成版本不一致。

  • HTML 一律 no-cache,静态资源带内容指纹并长缓存
  • SW 对静态资源用网络优先,断网才回退缓存,避免"永远旧版本"
  • 新版本唤醒后不自动接管,由页面提示用户刷新,防止状态错乱

量化数据层设计:交易日历、复权与增量落库

量化系统的绝大多数"诡异的回测结果",根子都在数据层。把数据层做扎实,后面策略部分才有讨论的意义。

  • 所有时间轴统一用交易日历,不用自然日,避免停牌与节假日错位
  • 一只股票的复权因子必须在整个序列内一致,混用前复权会造出假信号
  • 按 (代码, 交易日) 主键幂等写入,重复拉取不会产生重复行

Tushare 限速与重试:把接口配额用稳

免费数据接口的调用次数是硬约束。不限速会被服务端拒绝,重试太激进又会把配额烧光,最后整个系统进入长时间不可用。

  • 在客户端做令牌桶,把 QPS 压到配额的一半,留出重试余量
  • 只对超时与 5xx 重试,对"权限不足"这类业务错误立即失败
  • 指数退避 + 抖动,避免多任务在同一时刻集体重试

ECharts 多副图联动:主图与指标区自适应布局

K线图要同时显示价格、成交量、MACD、KDJ,还要支持用户随时开关某一个。难点不在画图,而在开关之后各 grid 的高度重排与坐标轴联动。

  • 用一个数组描述"当前启用的面板",据此计算每个 grid 的 top/height
  • 用 axisPointer.link 让所有面板的十字光标同步
  • 容器尺寸变化必须显式 resize(),否则重排后画布错位

回测里的三个偏差:幸存者、前视、过拟合

回测收益漂亮不代表策略有效。多数情况下,问题出在数据的选取方式和信号的计算时点上,而不是策略逻辑本身。

  • 股票池必须用"当时可交易的股票",否则退市股被剔除会虚增收益
  • 信号只能用 T 日收盘后可得的信息,T+1 开盘才能成交
  • 参数越多、调优轮次越多,样本外衰减越严重,必须留出验证集

FastAPI 静态托管与子路径挂载的坑

想在一个服务里同时放门户页和应用页,最直接的做法是两个 StaticFiles 分别挂在 / 和 /quant。但顺序写反就直接 404 或登录接口失效。

  • 挂载按注册顺序匹配,子路径必须注册在根路径之前
  • 挂载在 / 会吞掉所有未匹配路径,REST 路由要放在挂载之前
  • 前端资源改成绝对路径时,要同步调整 manifest 的 scope 与 start_url

境内域名 ICP 备案实操记录

域名解析正常、证书正常、服务器本机自测 200,但外部访问被直接重置连接。这类"什么都对却打不开"的情况,多半是未备案被网关拦截。

  • 个人备案的网站名称不能带金融、投资、证券等经营性字眼
  • 备案期间用 IP 直连兜底,不要指望域名能一直用
  • 提交后注意接云厂商的核实电话,漏接会被退回重新排队

PWA 落地:manifest scope 与"添加到主屏幕"

把网页做成能装到手机桌面的应用,门槛只有几个字段。但 scope 写错会导致应用从桌面启动后跳出独立窗口,直接进浏览器标签页。

  • scope 必须覆盖 start_url,子路径部署时两者都要带前缀
  • Service Worker 的注册路径决定其作用域上限,不能越级
  • "添加到主屏幕"需要 HTTPS 或 localhost,纯 HTTP 不会出现入口
看看行业动态 →