为什么我们用「份额制」而不是「真实资产额度」做持仓管理
给 AI 投研智能体的持仓记账,我们选择虚拟份额 + 无量纲净值(nav_0=1),而不是给每个策略设一笔真实初始资金、再折算出真实股数与现金。这不是"还没做真的",而是一个有意的抽象边界:真实成交价在原理上不可精确知,折真股数就得先编一个成交假设;份额制把这个编造环节整个绕开,同时天然给出一条可比的、隔离了外部资金进出的策略净值曲线,且不需要一次跨全体用户沙箱的资金迁移。这套记账法正是公募基金几十年来的单位净值记账法。
核心判断
给一个 AI 投研智能体(自动做研究、出调仓判断的 Agent)记录持仓,摆在面前有两条路:
- 份额制(share-based,现方案):每次调仓把目标净权重按当时组合总市值折算成虚拟份额,之后按
Σ 份额 × 收盘价逐日盯市(mark-to-market,按市价重估持仓);初始净值nav_0 = 1(净值起点,无量纲,只用于折份额)。 - 真实额度制(real-capital):给每个策略先设一笔真实初始资金(如 100 万元),每次调仓折算成真实股数,维护真实现金余额与成本价。
我们选份额制。这不是"真的还没做",而是一个有意画的抽象边界。 理由可以浓缩成一句话:
真实成交价在原理上不可精确知,折真股数就得先编一个成交假设;那个"精确"是假的,却要付出真实的迁移代价。份额制把这个编造环节整个绕开,同时天然给出一条隔离了外部资金进出的、可比的策略净值曲线。
而且这套记账法并不是我们发明的怪招——它正是公募基金几十年来的单位净值记账法。 下面把这个决定拆开讲,每一步都挂上业界与监管的权威出处。
一、份额制不是"简化版",而是资产管理行业的标准记账法
先破除一个直觉误区:份额制听起来像是"真实额度制的偷懒近似"。恰恰相反,用份额 + 单位净值来记一只组合的价值,是全球公募基金的标准做法,写进了监管规则。
美国证券交易委员会(U.S. SEC,美国证券交易委员会)对净资产值(Net Asset Value,NAV,基金净资产值)的官方定义是:NAV = 总资产 − 总负债,而每一份的净值 = NAV ÷ 在外发行份额数;投资者申购、赎回的价格就是这个每份净值。SEC 同时要求共同基金每个交易日至少计算一次 NAV,因为基金资产每天都在变(依据《1940 年投资公司法》第 2(a)(41) 条及 Rule 2a-4、22c-1)。(SEC Investor.gov)
把这套逻辑和我们的 reconstructLedger(份额账本重建,纯计算派生净值的核心)对照:
| 公募基金(单位净值记账) | Bastix 持仓账本(份额制) |
|---|---|
| 每份净值 = (总资产 − 总负债)÷ 在外份额数 | nav = cash + Σ 份额ᵢ × 收盘价ᵢ,起点 nav_0 = 1 |
| 申购赎回按当日每份净值成交 | 调仓按当日收盘价折/赎份额 |
| 每交易日至少估一次值(盯市) | 逐交易日按收盘价盯市,派生净值曲线 |
| 份额是真实的、净值有货币单位 | 份额是虚拟的、净值无量纲(只表达涨跌倍数) |
唯一的实质差别:基金的份额和净值对应真金白银,我们的是无量纲的研究口径。但记账的数学骨架——"持有固定份额、按市价逐日重估、净值反映每份价值的涨跌"——完全一致。 换句话说,份额制不是我们绕开真实记账的捷径,而是我们采用了资产管理行业最成熟、最经得起审计的那套记账法,只是把货币单位这一层拿掉。
⚠️ 术语澄清(本仓库"账本"是过载词):本文说的是
portfolio-ledger(持仓账本,记录策略持仓演变),不是market_data_source_coverage(行情数据源覆盖账本,记录某数据集某交易日是否完整)。
二、为什么不折真股数:决策价、纸面组合与"实施缺口"
真实额度制的死结,藏在"把目标权重折成真股数"这一步里。要算出"买 700 股",你必须先钉一个真实成交价:哪个时点成交、成交在什么价位、拆单造成多少滑点。而这恰恰是决策者事前不可精确知的东西。
这不是我们的一家之言,而是市场微观结构领域四十年前就定型的经典框架。哈佛商学院的 André Perold 在 1988 年提出实施缺口(implementation shortfall,实施缺口 / 执行成本):把一个"纸面组合(paper portfolio,假想组合)"——在决策价(decision price,亦称到达价 arrival price,即决定交易那一刻的市场价)瞬间成交、无摩擦——和真实成交的组合作差,这个差额就是把一个投资决策落地为真实成交所付出的全部代价,涵盖佣金、市场冲击、延迟成本,以及那些根本没能成交的部分的机会成本。(Quantitative Brokers;CFA Institute)
Perold 框架里有一个对我们这个决定至关重要的细节:从执行方的角度,真正的"决策时点"往往是不可观测的——所以实务上只能退而用"到达价"来近似,因为没人能精确知道投资决策究竟是在哪一毫秒做出的。(Quantitative Brokers)
把这条道理映射到 AI 投研智能体身上:
- 策略 Agent 属于决策层(相当于投资经理 PM 那一层),它的产出是母单(parent order,目标净权重指令,如"把某标的建到 8% 仓位"),不是成交。
- 真实成交属于执行层——一台在市场微观结构里择时、拆量、追踪基准的高速机器。
- 一个日线节奏的大语言模型既不在执行层、也模拟不准执行层。
于是,让 Agent 吐一个"买 700 股 @12.31",这个数字看着很具体,但底下的成交假设(成交时机、成交价、拆单滑点)是虚构的。你把超额收益(alpha)算到了小数点后两位,地基却是编的——这种伪精确,比诚实地承认"我只到母单粒度"误差更大、更误导。
份额制怎么处理这一步?调仓日用当日收盘价折份额,但它只把这个价当作"折算基准",从不声称这是真成交价。 净值只表达"相对起点涨跌了多少倍",不假装知道任何一笔真金白银的成交。承认这条边界是诚实;跨过去装精确,是自欺。
三、真实成交为什么"不可精确知":市场冲击与执行基准
有人会问:就算 Agent 不出成交价,我给它配一个简单的成交假设(比如"按当日收盘价成交")不就行了,为什么非说"不可精确知"?
因为大额订单的成交价,本质上取决于你怎么把它打进市场,而这件事有它自己的物理规律。
机构真实下单从不是"一把成交"。可用流动性远小于机构想交易的规模,所以交易员把大额母单拆成一连串小的子单顺序执行,这一串子单叫元订单(meta-order,母单拆分后的成交序列)。执行算法用 VWAP(Volume-Weighted Average Price,成交量加权平均价) 或 TWAP(Time-Weighted Average Price,时间加权平均价) 这类日内执行基准去调度:VWAP 按历史成交量分布铺单,TWAP 按时间均匀铺单。(CFA Institute)
而这个过程会移动价格本身。市场微观结构里最稳健的实证规律之一是市场冲击的平方根律(square-root law of market impact):一个规模为 Q 的元订单,其平均价格冲击近似正比于 √(Q / V)(V 为日成交量)。东京证券交易所全样本(2012–2019 年全部股票的完整订单生命周期)的研究以极高精度支持了这条律的"严格普适性",并指出它可以稳健地用于估计机构投资者的交易成本。(arXiv, Sato & Kanazawa)
平方根律有两个推论直接击穿"简单成交假设":
- 成交价随下单量非线性变化:买入相当于日成交量 1% 的股票,价格典型移动约为当日价格波幅的 10%。你想建的仓位越大,你自己把价格推得越高——真实成交均价系统性地劣于你看到的那个"当前价"。线性模型会显著低估大额元订单的成本。(arXiv)
- 冲击几乎与执行节奏无关、却与总量强相关:也就是说真实成交成本主要由"你要交易多少"决定,而这恰恰是事前建模也建不准的那部分——它依赖真实的盘口深度、当日流动性、其他参与者的行为。
结论:"按收盘价成交"不是一个偏保守的近似,而是一个系统性偏乐观的虚构——它假装你能在不惊动市场的情况下,以看板上的价格拿到任意规模的仓位。份额制不做这个假装:它用收盘价折份额只是为了记账基准,并不把它当成"你真能成交到的价",因此也不会把这份虚构的精度带进净值曲线。
四、份额法的正面价值:一条隔离了外部资金进出的、可比的策略净值曲线
绕开真实成交是"避害",份额法还有"趋利"的一面:它天然产出一条口径干净、可比的策略净值曲线。
关键在于:我们的份额账本里没有外部资金的进进出出。 它从 nav_0 = 1 起步,是一个封闭的虚拟组合;调仓只是在已有市值内部重新分配权重(份额法语义:只对当日下单的标的按最新净值重折份额,未提及的标的份额不动、继续随涨跌漂移),不涉及"用户又投了 50 万""用户赎回了 20 万"这类外部现金流。
这正好命中投资绩效衡量里的一个核心区分。全球投资绩效标准(GIPS,Global Investment Performance Standards,CFA Institute 制定的绩效披露标准)要求用时间加权收益(time-weighted return,TWR)来评价管理人,因为 TWR 剔除了现金流的影响——而现金流的时机通常是客户驱动的,不该算到管理人头上。因此时间加权收益最能反映"管理人按既定策略管理资产的能力"。(CFA Institute) 而时间加权与资金加权收益只在存在外部现金流时才分叉;当账本内没有外部资金进出,这条净值曲线的口径是无歧义的,它干净地表达了策略本身的复利表现。(GIPS Calculation Methodology)
换句话说:
- 份额账本内部,大仓位天然对净值影响更大——position 层面的资金加权是免费得到的,无需额外加权。
- 份额账本整体隔离了"客户何时投入/赎回"的时机噪声——这正是 GIPS 要求 TWR 去隔离的东西,让不同策略、不同时间段的表现可比。
而这些,真实额度制并不会做得更好:超额收益 alpha 是一个比率,净值的无量纲涨跌已经完整表达它;乘上一个真实本金金额只是把同一条曲线换算成货币,不增加任何信息,反而引入"那笔本金从哪来、准不准、何时进出"的新噪声。
复盘措辞因此必须带粒度声明:说"这一轮 alpha 约为 +3%(日线、母单级、执行摩擦不计)",而不是"+3.14%"。承认粒度,而不是伪造精度。
五、迁移代价:份额法零迁移,真实额度要动全体用户沙箱
最后一条是纯工程的现实账。
我们的持仓事实存在 positions_history(持仓历史表,sandbox-local 的 portfolio.db)里,只有 4 列、append-only(只追加):operated_at(调仓时点)、symbol(标的)、absolute_position(目标权重比例 ∈[-1,1],负为做空)、reason(调仓理由)。一行 = 一次"把某标的目标权重设成 X",不是余额、不是成交。份额法读的就是这张已有的表,股数 / 现金 / 净值全靠 reconstructLedger 纯计算派生,不落任何真股数、真现金、成本价。
改真实额度制要给每个沙箱补:初始资金、真股数、真现金余额、成本价、逐笔配对(FIFO 批次)等一整套列,并回填全部历史——这是一次跨全体用户沙箱的数据迁移。而它换来的"精确"还是假的(成交价不可知,见第二、三节)。
为一个假精确付真实迁移代价,不值得。 份额制保留,别推倒。
六、边界:份额法不做什么,以及何时才该做真实撮合
把适用边界讲清楚,免得份额制被当成万能:
它擅长:复盘"这一轮持有跑赢大盘没有(alpha)"、给用户看净值曲线与风险指标(最大回撤、夏普、波动率等)。这些只需要相对涨跌,份额法足够且更诚实。
它不做、也不该做:真实成交回放、逐笔盈亏对账、精确的 T+1 可卖释放与涨跌停/停牌撮合。以 A 股为例,上交所实行 T+1 交收(当日买入的股票次日才能卖出)、主板 10% 日涨跌幅限制,且超出价格限制的申报会被交易所直接拒绝。(Shanghai Stock Exchange) 要精确复刻这些真实撮合约束,是执行层 / 量化 fitness(适应度打分)层的工程,不是研究口径记账该背的包袱。
唯一值得推倒重来做真实撮合的场景:当产品目标是补全整个缺失的"量化回测 / fitness 评估层"时——那是一个产品战略决定,不该由"想把复盘做好"这一个需求来触发。复盘用份额法 + 确定性费用(佣金、印花税,费率明确、不依赖成交细节)+ 诚实误差带即可。
注:需要区分两件事。我们已有的可交易性闸门(tradability gate,
observe/partial/closed三态)是在set_target(设目标权重)写入层拦截 A 股涨跌停/停牌等不可交易的目标——它拦的是"这个目标权重在当日根本下不进去",属于决策层的合规校验,不等于模拟真实成交。份额法记账 + 闸门拦不可交易目标,二者不冲突,仍在"诚实的母单粒度"之内:既不假装知道真成交,也不放行明显下不进去的目标。
常见问题
份额制和公募基金的"单位净值"是一回事吗?
记账思路一致。基金的每份净值 = (总资产 − 总负债)÷ 在外份额数,投资者按每份净值申赎,SEC 要求每交易日至少算一次。(SEC) 我们用同样的份额 + 盯市逻辑,只是初始净值取无量纲的 nav_0 = 1、份额是虚拟的,衡量"策略这份初始资金涨跌了多少倍",而非"账户里有多少钱"。
为什么不给每个策略设真实初始资金、折算真股数? 因为折真股数必须先钉一个真实成交价,而真实成交由执行算法在市场微观结构里完成、事前不可精确知(Perold 实施缺口:纸面组合按决策价、真实组合按实际成交价,差额即执行成本)。(Quantitative Brokers) 折真股数=先编一个成交假设,那个精确是假的,还要付跨全体沙箱的迁移代价。
份额法算出来的收益会不会因为没有真实成交而失真? 它诚实地只主张策略的相对涨跌(净值曲线),不假装知道任何一笔真金白银的成交。因账本内无外部资金进出,这条曲线隔离了客户投入/赎回的时机影响,正是 GIPS 要求用时间加权收益去衡量策略能力的口径。(CFA Institute) 它不失真,只是把粒度说清楚:净值反映决策质量,不反映执行摩擦。
延伸阅读
- 为什么策略 Agent 只出母单、不出具体股数/成交:本文第二节"决策层 vs 执行层"边界的同源论证。
- AI 投研智能体的红线:研究口径持仓与真实交易账户为何必须隔离,以及这条隔离在监管上的意义。
参考来源
- Overview of the Global Investment Performance StandardsCFA Institute · 支撑:GIPS 要求用时间加权收益剔除客户驱动的现金流时机,以公平衡量管理人按既定策略管理资产的能力 · 访问日期:2026-08-19
- GIPS Guidance Statement on Calculation MethodologyGIPS Standards / CFA Institute · 支撑:时间加权收益的分期几何链接计算方法,以及收益计算须纳入现金及等价物收益 · 访问日期:2026-08-19
- Net Asset ValueU.S. Securities and Exchange Commission (Investor.gov) · 支撑:净资产值=总资产减总负债,每份净值=NAV÷在外份额数;共同基金须每交易日至少计算一次 NAV · 访问日期:2026-08-19
- A Brief History Of Implementation ShortfallQuantitative Brokers · 支撑:Perold 1988 实施缺口框架——纸面组合按决策价、真实组合按实际成交价,差额即执行成本,且决策时点常不可观测 · 访问日期:2026-08-19
- Trade Strategy and ExecutionCFA Institute · 支撑:VWAP/TWAP 属日内执行基准,把大额母单拆成子单分批执行;实施缺口是包含未成交机会成本的综合成本度量 · 访问日期:2026-08-19
- Strict universality of the square-root law in price impact across stocks: a complete survey of the Tokyo stock exchangearXiv (Sato & Kanazawa) · 支撑:市场冲击平方根律——大额母单的平均价格冲击近似正比于(成交量/日成交量)的平方根,跨全市场实证成立,可用于估计机构交易成本 · 访问日期:2026-08-19
- Trading MechanismShanghai Stock Exchange · 支撑:A 股实行 T+1 交收、主板 10% 日涨跌幅限制;超出价格限制的申报会被交易所拒绝 · 访问日期:2026-08-19
可信范式:从「黑箱预测」到「可溯源推理」
可信不是模型不犯错,而是系统能证明每个关键结论依据什么、什么不能看、什么不能做、什么尚未被证明,并让研究员随时回到原始证据。Bastix 是只做研究、不下单、不连券商、不承诺收益的投研智能体,如实披露知识库召回片段在生成回答时可能发送给配置的外部模型。
成交额(Amount,成交金额):以钱计量的资金参与度、与成交量的区别
成交额(Amount)是一个周期内所有成交按“成交量×成交价”累加得到的金额,单位是钱(元)。它衡量的是真实流入市场的资金规模,不受股价高低造成的“手数虚高/虚低”影响,比成交量更适合横向比较不同价位股票的资金参与度。本文讲清成交额的定义、算法与算例、怎么读、常见误用,以及在大斑(Bastix)多智能体投研系统里技术分析 Agent 如何把它当作一条量价证据、而非买卖指令。大斑只做研究、不下单、不连接券商、不承诺收益。