<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>因子挖掘 on Even - A super concise theme for Hugo</title><link>https://lppgo.github.io/tags/%E5%9B%A0%E5%AD%90%E6%8C%96%E6%8E%98/</link><description>Recent content in 因子挖掘 on Even - A super concise theme for Hugo</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 07 Nov 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://lppgo.github.io/tags/%E5%9B%A0%E5%AD%90%E6%8C%96%E6%8E%98/index.xml" rel="self" type="application/rss+xml"/><item><title>Factor Factory：从因子挖掘到可执行信号的研究流水线</title><link>https://lppgo.github.io/post/quant/004-factor-factory/</link><pubDate>Sat, 07 Nov 2026 00:00:00 +0000</pubDate><guid>https://lppgo.github.io/post/quant/004-factor-factory/</guid><description>&lt;style>
.post:has(.factor-guide-marker) { --ff-ink: #243b45; --ff-accent: #126b66; --ff-line: #dce7e5; --ff-soft: #f3f8f7; }
.post:has(.factor-guide-marker) .post-header .post-title { font-size: clamp(26px, 4vw, 36px); line-height: 1.5; text-wrap: balance; }
.post-content:has(.factor-guide-marker) { font-size: 16px; line-height: 1.95; overflow-wrap: break-word; }
.post-content:has(.factor-guide-marker) > h1 { margin: 3.2em 0 1.1em; padding: .65em 0 .65em .8em; border-left: 4px solid var(--ff-accent); border-bottom: 1px solid var(--ff-line); font-size: 1.5em; line-height: 1.55; color: var(--ff-ink); }
.post-content:has(.factor-guide-marker) > h2 { margin-top: 2em; font-size: 1.18em; line-height: 1.6; color: var(--ff-accent); }
.post-content:has(.factor-guide-marker) p { margin: 1em 0; }
.post-content:has(.factor-guide-marker) li { margin-bottom: .65em; }
.post-content:has(.factor-guide-marker) blockquote { margin: 1.6em 0; padding: .75em 1.2em; border-left: 3px solid var(--ff-accent); background: var(--ff-soft); color: #40575d; }
.post-content:has(.factor-guide-marker) table { display: block; max-width: 100%; overflow-x: auto; font-size: .88em; line-height: 1.7; border-collapse: collapse; margin: 1.5em 0 2em; }
.post-content:has(.factor-guide-marker) th { background: #e8f1ef; color: var(--ff-ink); text-align: left; white-space: nowrap; }
.post-content:has(.factor-guide-marker) td, .post-content:has(.factor-guide-marker) th { padding: .8em 1em; border: 1px solid var(--ff-line); min-width: 6em; }
.post-content:has(.factor-guide-marker) tr:nth-child(even) { background: #f8faf9; }
.post-content:has(.factor-guide-marker) pre { max-width: 100%; overflow-x: auto; padding: 1.1em; border: 1px solid var(--ff-line); border-radius: 6px; font-size: .84em; line-height: 1.7; }
.post-content:has(.factor-guide-marker) .highlight { margin: 1.5em 0; max-width: 100%; overflow-x: auto; }
.post-content:has(.factor-guide-marker) .highlight table { display: table; margin: 0; font-size: inherit; }
.post-content:has(.factor-guide-marker) .highlight td { padding: 0; border: 0; min-width: 0; }
.post-content:has(.factor-guide-marker) .highlight pre { margin: 0; border: 0; border-radius: 0; }
.factor-guide-marker { border-top: 3px solid #126b66; border-bottom: 1px solid #dce7e5; padding: 1.3em 0 1.4em; margin: .6em 0 1.8em; }
.factor-guide-marker .ff-kicker { color: #126b66; font: 600 12px/1.6 monospace; letter-spacing: .14em; }
.factor-guide-marker .ff-lead { font-size: 1.25em; font-weight: 600; line-height: 1.7; color: #243b45; margin: .6em 0; }
.factor-guide-marker .ff-meta { color: #63777c; font-size: .85em; }
.ff-nav { display: flex; flex-wrap: wrap; gap: .5em 1.2em; padding: .8em 0; border-bottom: 1px solid #dce7e5; font-size: .9em; }
.ff-nav a { color: #126b66; text-decoration: none; padding: .3em 0; }
.ff-nav a:hover, .ff-nav a:focus-visible { text-decoration: underline; }
.ff-route { display: flex; flex-wrap: wrap; align-items: center; gap: .5em; padding: 1.2em; background: #f3f8f7; border: 1px solid #dce7e5; border-radius: 6px; margin: 1.4em 0; font-size: .86em; line-height: 1.8; }
.ff-route strong { color: #126b66; }
.ff-anchor { scroll-margin-top: 24px; }
@media (max-width: 600px) {
 .post-content:has(.factor-guide-marker) { font-size: 15px; line-height: 1.9; }
 .post-content:has(.factor-guide-marker) > h1 { font-size: 1.3em; margin-top: 2.5em; }
 .post-content:has(.factor-guide-marker) table { font-size: .83em; }
 .factor-guide-marker .ff-lead { font-size: 1.13em; }
 .ff-nav { gap: .3em 1em; }
}
@media print { .ff-nav { display: none; } }
&lt;/style>
&lt;div class="factor-guide-marker">
&lt;div class="ff-kicker">QUANT RESEARCH / FIELD NOTES 004&lt;/div>
&lt;div class="ff-lead">从一个股票评分，到一条经得起验证的研究流水线。&lt;/div>
&lt;div class="ff-meta">研究协议 · 时点数据 · 因子评价 · 样本外验证 · 执行反馈&lt;br>含完整 Python 标准库示例；合成数据仅用于机制教学。&lt;/div>
&lt;/div>
&lt;nav class="ff-nav" aria-label="本文阅读导航">
&lt;a href="#ff-foundation">01 研究与数据&lt;/a>
&lt;a href="#ff-evaluation">02 挖掘与评价&lt;/a>
&lt;a href="#ff-experiment">03 可运行实验&lt;/a>
&lt;a href="#ff-execution">04 执行与自测&lt;/a>
&lt;/nav>
&lt;blockquote>
&lt;p>本文面向量化研究与 OMS/EMS、FIX 接入研发人员，按“直觉 → 公式 → 代码 → 实证边界 → 陷阱”整理因子挖掘流程。核心不是寻找历史表现最好的公式，而是寻找在未参与筛选的数据上仍有增量预测力、且执行后可能保留经济价值的信号。&lt;/p></description></item></channel></rss>