达瓦斯 box 理论 — 完整实施规范

基于尼古拉斯·达瓦斯 (Nicolas Darvas),我如何在股票市场赚了200万 (1960年,收藏版)


目录

  1. 概述
  2. Box 构建规则
  3. 股票选择(筛选)
  4. 买入规则
  5. 止损规则
  6. 追踪止损和退出规则
  7. 持仓确定和金字塔
  8. 市场背景过滤器
  9. 行为/纪律规则
  10. 数据要求
  11. 完整交易生命周期示例
  12. 来自读者问答的边缘情况和澄清
  13. 达瓦斯识别的常见错误
  14. 实施伪代码

1. 概述

达瓦斯 box 理论是一种技术-基本面动量策略,它:

核心哲学:"我根据它们的技术行为买入股票,但 only when 基本面确认盈利 power 正在改善。"

该系统专为趋势市场动量股票设计。 按照达瓦斯自己的估计,90%+的上市股票在任何给定时间都不符合条件。


2. Box 构建规则

2.1 什么是 Box?

box 是一个价格区间(交易区间),由上轨(天花板)和下轨(地板)定义, 股票价格在其中振荡。Box 在上升趋势期间像金字塔一样层层叠加。

           ┌─────────────┐
           │  Box 3       │  70-80
           │  (newest)    │
           └──────┬───────┘
           ┌──────┴───────┐
           │  Box 2       │  55-65
           │              │
           └──────┬───────┘
           ┌──────┴───────┐
           │  Box 1       │  45-50
           │  (oldest)    │
           └──────────────┘

2.2 建立上轨

  1. 股票上涨并达到新的高价(称之为H)。
  2. 当股票连续3天未能达到或超过H时,上轨得到确认。
  3. H现在是当前 box 的既定上轨。

"上轨是上涨期间达到的最高价格,provided that 股票连续3天未能触及或超过该价格。"

2.3 建立下轨

  1. 下轨只能在上轨 firmly 确认后才能建立。
  2. 上轨设定后,股票将下跌至某个低价(称之为L)。
  3. 当下轨被确认当股票连续3天未能达到或跌破L
  4. L现在是当前 box 的既定下轨。

"只有当上轨 firmly 建立后,下轨才能建立。方法完全相反。"

2.4 关键 Box 构建规则

规则 详情
先上轨 必须在建立下轨之前
3天确认 价格必须连续3天未能触及/超过该水平
不同步 上轨和下轨不能在完全相同的逻辑步骤中建立(尽管理论上可能在同一天内——罕见)
新 box 下轨 ≠ 旧 box 上轨 新 box 的下轨不需要等于旧 box 的上轨。它由股票的实际价格行为决定
Box 宽度因股票而异 一些股票有窄 box(~10%),其他有宽 box(15-20%)。这是个别股票的特征
Box 不是画在整数上 达瓦斯在示例中使用整数是为了清晰,但真实的 box 在市场建立的价格
Box 中的时间无关 股票可以在 box 中停留数周。只要保持在 box 内,持续时间不重要

2.5 Box 宽度

Box 宽度是股票特有的,由观察股票典型振荡范围的经验决定:


3. 股票选择(筛选)

达瓦斯使用两过滤器方法:先技术筛选,然后基本面确认。

3.1 技术筛选(主要)

扫描表现出以下特征的股票:

  1. 新的历史高点 — 达瓦斯严格遵循历史高原则。股票必须 at or near 其历史高点。
  2. 异常成交量激增 — 成交量显著高于股票的历史平均水平 (例如,一只在正常交易日交易4,000-5,000股的股票突然交易20,000-25,000股)。
  3. 价格与成交量一起上涨 — 两者必须同时发生。没有成交量的价格涨幅,或没有价格涨幅的成交量,均不足。
  4. 相对于市场的相对强度 — 股票应该跑赢大盘, especially 在市场疲软或熊市期间(这些是要关注的股票——它们"不想跟随市场下跌")。

"成交量是相对的。一只在正常交易日交易4,000-5,000股的股票突然膨胀到20,000-25,000股是显著的——它清楚地表明股票行为发生了变化。"

3.2 基本面过滤器(确认)

只有在确认后才买入:

  1. 成长行业 — 公司属于具有强劲未来增长前景的行业 (在达瓦斯的时代:电子、导弹、火箭燃料)。 把它看作是市场的"时尚"—— capture 投资者对未来想象的行业。
  2. 盈利上升 — 公司的盈利 power 应该处于上升轨道,或预期显著改善。
  3. 行业领导地位 — 最好是其集团中的最强股票(板块领导者)。

"逐渐改善的盈利最终会转化为股票价格上涨……我寻找处于扩张行业的公司,这些公司将革新未来。"

3.3 什么不用于选择


4. 买入规则

4.1 买入触发器

在当前 box 的上轨上方放置买入止损单 — 在 breakout 发生之前。

当股票价格升至触及买入止损价格时,订单自动执行。

当前 Box:[45 - 50]

买入止损单:50 1/8 (刚好高于上轨)
→ 如果价格达到50 1/8,买入订单自动执行
→ 同时设置止损在49 7/8(刚好低于上轨)

4.2 关键买入规则

规则 详情
在 breakout 时买入 在价格突破 box 上轨时买入,不是 inside the box
不等待3天 breakout 3天规则仅用于建立 box 轨,不是触发买入订单。"我总是在 breakout 的时刻买入。"
使用止损限价买入单 预先设置买入订单以使执行自动
同时止损 每个买入订单必须 accompanied by 止损卖出订单。
"我从不忘记捡起我的 burglar 武器——止损单。
这就像无论房子多坚固都记得消防安全一样。"
先 pilot 买入 对于新持仓,从小的探索性购买开始以"感受"股票。
只有在股票确认预期行为后才加仓

4.3 当历史高点接近 Box 上轨时买入

如果股票的历史高点刚好高于当前 box 的上轨:


5. 止损规则

5.1 初始止损放置

止损放置在两个位置之一:

  1. 在 breakout 入场时:设置止损刚好低于 breakout 点(刚突破的 box 的上轨)。
  2. 对于现有持仓:设置止损刚好低于当前 box 的下轨

"我永远不在 box 内部放置止损。我总是将它放在两个位置之一: (1) 主要向上突破后刚好低于 breakout 点,或 (2) 刚好低于 box 的下轨。"

5.2 止损规则

规则 详情
始终立即设置 "买入订单执行的时刻,必须立即放置止损卖出订单。"
永远不在 box 内部 放置在 box 范围内的止损将因正常振荡而被触发
自动执行 必须自动化(直到取消订单)。无需手动干预
接受小亏损 "如果我在25买入,它跌到24,为什么不卖?"
小频繁亏损是做生意的成本
双重功能 止损有两个目的:(1) 快速退出坏交易,
(2) 通过释放资本 enable 进入好交易

5.3 止损确定

达瓦斯没有使用固定百分比。止损距离由以下决定:


6. 追踪止损和退出规则

6.1 追踪止损机制

当股票上涨进入新的 box 时,止损被向上逐步移动

  1. 当股票突破到新的更高 box 时,保持止损在其当前水平 直到新 box 的上轨 AND 下轨都 firmly 建立。
  2. 一旦新 box fully 建立(两个轨都确认), 将止损 raise 到刚好低于新 box 下轨的位置
  3. 对每个新 box 重复。
Box 1: [45-50]  → 止损在44 7/8
股票突破至 Box 2: [52-58]
  → 当 Box 2 形成时:保持止损在44 7/8
  → 一旦 Box 2 上轨 AND 下轨确认:将止损 raise 至51 7/8
股票突破至 Box 3: [60-68]
  → 当 Box 3 形成时:保持止损在51 7/8
  → 一旦 Box 3 确认:将止损 raise 至59 7/8

6.2 卖出信号

没有盈利目标。 达瓦斯从未试图预测股票会涨多高。

"没有理由卖出一只上涨的股票。"

卖出触发器:

  1. 止损 hit — 自动止损单执行。这是主要退出机制。
  2. Box 金字塔反转 — 当 box 停止向上堆叠而开始向下突破时, 追踪止损将自然触发退出。
  3. 行为恶化 — 股票的价格行为改变 character: breakouts 变得 weak and unconvincing,pullbacks 比正常更深。 当达瓦斯感觉到这时,他会 aggressive 地收紧止损(缩小安全边际)。
  4. 趋势丧失 — 如果股票不再 acting "right" (例如,未能形成新的更高 box),准备退出即使止损未 hit。

6.3 止损后重新入场

如果被止损 out 但股票快速恢复并恢复其上升趋势:

" brief decline 如此短,随后的上升如此 determined,我决定重新入场。"

如果股票向下突破至更低的 box:


7. 持仓确定和金字塔

7.1 初始持仓(Pilot 买入)

小的探索性持仓开始测试股票:

7.2 金字塔(加仓到赢家)

only 当股票确认时才加仓:

  1. 保持在初始买入点之上
  2. 突破到更高 box
  3. 成交量保持强劲

每次额外买入也必须有它自己的止损。

达瓦斯的典型金字塔模式:

买入1:   200股 @ 27.50  (pilot)
买入2:   400股 @ 35.00  (确认——新 box 突破)
买入3:   400股 @ 38.63  (惊恐后持续 strength)
总计:1,000股,平均成本 ~34.50

7.3 持仓确定原则

原则 详情
永远不要冒险超过你能承受的损失 在J&L Steel损失$9K后,达瓦斯发誓永远不投入超过其舞蹈职业生涯的初始 stake
在信念高时使用保证金 达瓦斯在确认的赢家上使用50%保证金(有效2倍杠杆)
集中,不要多元化 在其巅峰时期,达瓦斯一次只持有2-3只股票 with heavy 持仓
保持储备 在第一次大成功后($325K来自Bruce),他将一半利润从市场抽出
佣金很重要 更喜欢高价股票——在$100股票上$10K仓位的佣金远低于$10股票

7.4 多个候选人的资本配置

同时评估多只股票时:

  1. 在所有候选人中买入小的 pilot 持仓(例如,各500股)
  2. 设置10%止损作为机械过滤器
  3. 较弱的股票将自然止损 out
  4. 将剩余资本集中到 surviving 股票

达瓦斯用他的最终交易做到这一点:买入4只股票,2只在数天内止损 out, 集中到剩余2只(Fairchild Camera和Zenith Radio)。


8. 市场背景过滤器

8.1 使用道琼斯工业平均指数

"我逐渐意识到道琼斯公司不是一个算命机构。 我不能在指数和个股之间强加严格机械的模式。"

8.2 熊市行为

"我决定不交易——我的态度如此坚定,以至于经纪人写信问我为什么。 我开玩笑地回复:'当前市场是一个鸟市场。我没有理由在鸟市场里。'"

8.3 从熊市到牛市的转换

"如果某些股票在下跌期间能够抵抗 general market trend,那么当市场转向时,这些将是首先上涨的。"

8.4 新周期 = 新领导者


9. 行为/纪律规则

这些可以说是最重要的规则。达瓦斯几乎因违反它们而失去一切。

9.1 信息隔离

规则 理由
永远不要访问经纪人办公室 噪音、谣言和情绪气氛破坏独立判断
永远不要让经纪人给你打电话 他们会分享意见、预测和恐慌——都腐蚀你的分析
永远不要阅读金融评论 "专家"的意见是矛盾和误导的
只看:价格、成交量和指数 这三个数据点是你需要的全部
仅通过书面订单沟通 达瓦斯使用电报。现代等价物:预先放置限价/止损单,没有给经纪人打电话

"我的耳朵是我的敌人……当我在国外时,我可以冷静、客观地分析市场,没有情绪。 在纽约,被解释、谣言、恐慌和矛盾的信息包围,我的情绪与股票纠缠在一起。"

9.2 情绪纪律

规则 详情
没有偏爱 不要爱上股票。达瓦斯因情感依恋在 Lorillard 上反复亏损
没有自我 50%的时间错误是正常的——系统的优势来自快速止损和让赢家奔跑
没有报复交易 亏损后,不要急于"弥补"——等待正确的设置
没有过度自信 在第一次赚$500K后,达瓦斯变得鲁莽,放弃了他的系统,在数周内损失$100K
没有预测 "我只相信分析,不相信预测。"
你无法知道有多高或多远——只对正在发生的事情做出反应
耐心 持有现金且无持仓是一个 valid 状态。"我没有股票——但我无能为力。"

9.3 第二次危机教训

达瓦斯在赚取$500K后返回纽约,开始访问经纪人办公室,然后:

治疗方法:他逃到巴黎,禁止所有经纪人电话,并恢复仅限电报操作—— 甚至在返回纽约后。他的酒店房间成为孤立的"command center", 他在市场收盘后收到电报并为第二天下单。


10. 数据要求

10.1 每只股票所需的最小数据

字段 频率 目的
每日高点 每日 Box 轨构建
每日低点 每日 Box 轨构建
每日收盘 每日 当前价格参考
每日成交量 每日 成交量确认
历史绝对高点 静态(更新) 突破参考
价格区间(52周高/低) 每周 筛选翻倍股票

10.2 市场级数据

字段 频率 目的
道琼斯指数/大盘指数收盘 每日 市场背景(牛市/熊市评估)

10.3 基本面数据

字段 频率 目的
行业分类 静态 成长行业过滤器
盈利趋势(EPS历史) 季度 盈利上升确认
收入趋势 季度 增长确认

10.4 扫描频率


11. 完整交易生命周期示例

基于达瓦斯的 Lorillard 交易(1957-1958):

第1阶段:发现

市场状况:熊市(1957)
观察:Lorillard的股票突出——在其他一切都在下跌时上涨
成交量:从~10,000/周激增至126,700/周
价格:从17上涨至24-27区间
基本面检查:生产Kent和Old Gold香烟。
  过滤嘴香烟狂热席卷美国 → 成长行业 ✓
  盈利上升 → ✓
决策:添加到观察清单。请求每日报价。

第2阶段:Box 形成

股票在24-27 box中振荡。
上轨:27(连续3天未达到27后确认)
下轨:24(在上轨设定后,连续3天未达到24)
Box 建立:[24 - 27]

第3阶段:入场

触发:价格似乎正在推向27
行动:放置买入止损 @ 27.50,止损 @ 26.00
执行:@ 27.50买入200股

第4阶段:止损和重新入场

11月26日:价格跌至26.00 → 止损触发 → 在26.00卖出
同日收盘:26.75(立即恢复)
同周:价格行为确认 strength
重新入场:在28.75买入200股,止损 @ 26.00

第5阶段:金字塔

12月:价格突破30,建立新 box [30-35]
1月:价格突破35 → 新 box 正在形成
行动:以35.00和36.50额外买入400股
总计:1,000股

2月17日:突然下跌至36.75(香烟癌症恐慌谣言)
行动:收紧止损至36.00
结果:止损 NOT 触发。价格反弹。
行动:在38.625额外买入400股
总计:1,000股

第6阶段:追踪止损管理

3月第3周:价格处于50-55 box。成交量:316,600股(巨大)。
止损 raise 至49.00

4月第2周:突破至55.25,回落至50-55 box。
止损保持在49.00

第7阶段:退出

5月:达瓦斯注意到Lorillard的 breakouts 越来越弱,
  pullbacks 越来越深。
  同时,Bruce (E.L.) 看起来更强劲。
决策:卖出 Lorillard 以释放 Bruce 的资本。
卖出:1,000股 @ 平均57.375
总利润:$21,052.95

12. 来自读者问答的边缘情况和澄清

这些是达瓦斯在书中问答部分的直接回答:

12.1 Box 确认

问:3天规则适用于买入吗? 答:不。3天规则仅用于建立 box 轨。买入订单在 breakout 触发,不是在 breakout 3天后。

问:上轨和下轨可以同时建立吗? 答:逻辑上不行,但两者可以在同一天建立(罕见)。上轨必须首先确认。

问:新 box 的下轨必须等于旧 box 的上轨吗? 答:不需要。新 box 的下轨由股票的自然价格行为决定,不是由旧 box 决定。

12.2 止损放置

问:止损确切地放在哪里? 答:两个选项 only:

  1. 刚好低于 breakout 点(当在 breakout 买入时)
  2. 刚好低于 box 的下轨

永远不要在 box 内部。

问:何时 raise 止损? 答:Only 在下一个 box 的上轨 AND 下轨都 firmly 建立之后。 然后 raise 至刚好低于新 box 下轨的位置。

12.3 成交量

问:什么成交量水平是"显著的"? 答:没有绝对数字。这是相对于股票自己的历史。 一只正常交易4K-5K/天的股票激增至20K-25K/天是显著的。

12.4 历史高点

问:必须是真正的历史高点,还是5年高点可接受? 答:达瓦斯严格遵循历史高点原则。

12.5 市场适用性

问:这适用于其他交易所(伦敦、约翰内斯堡)吗? 答:达瓦斯表示它 only 在NYSE和AMEX有效,因为:

  1. 历史价格高点的可用性
  2. 2-3年价格区间历史
  3. 至少4-6个月的每周价格区间和成交量

12.6 卖空

问:我可以使用 box 突破卖空吗? 答:达瓦斯明确拒绝:"你的态度更像是赌徒而不是只想赚钱的人…… 除非你的股票在其 box 中或正在上涨,最好远离熊市。"


13. 达瓦斯识别的常见错误

来自他自己的经验和读者来信:

错误 后果
在 box 内部买入而不是在 breakout 时买入 "极其危险——你两面受敌"
在 box 内部放置止损 保证被正常振荡止损 out
听经纪人的话/内幕消息/新闻 破坏独立判断;导致情绪交易
爱上一只股票 因情感依恋在 Lorillard 上反复亏损
过早卖出赢家 "利润获取"剥夺了支付所有损失的大波动
交易过于频繁 佣金吃利润。他最糟糕的时期:10笔交易$1.89净利润 vs $236.65佣金
成功后过度自信 导致在纽约损失$100K
预测而不是反应 "我只相信分析,不相信预测"
对抗整体市场趋势 在熊市期间,即使好股票也会下跌
使用绝对值进行成交量 成交量显著性是相对于股票自己的历史
在新周期购买旧领导者 每个牛市有不同的板块领导者

14. 实施伪代码

14.1 Box 检测算法

def detect_box(daily_bars):
    """
    给定一系列每日OHLCV条,检测当前达瓦斯 Box。
    返回(上轨、下轨、是否确认)。
    """

    # 第1阶段:找到上轨候选
    # 追踪看到的最高高点
    highest_high = max(bar.high for bar in recent_bars)
    highest_high_date = date_of(highest_high)

    # 检查highest_high_date之后连续3天
    # 是否未能达到或超过highest_high
    days_since_high = 0
    for bar in bars_after(highest_high_date):
        if bar.high >= highest_high:
            # 重置:找到新高,重新开始计数
            highest_high = bar.high
            highest_high_date = bar.date
            days_since_high = 0
        else:
            days_since_high += 1

        if days_since_high >= 3:
            upper_rail = highest_high
            upper_rail_confirmed = True
            break

    if not upper_rail_confirmed:
        return None  # Box 尚未形成

    # 第2阶段:找到下轨候选(仅在上轨确认后)
    lowest_low = min(bar.low for bar in bars_after(upper_rail_confirmed_date))
    lowest_low_date = date_of(lowest_low)

    days_since_low = 0
    for bar in bars_after(lowest_low_date):
        if bar.low <= lowest_low:
            lowest_low = bar.low
            lowest_low_date = bar.date
            days_since_low = 0
        else:
            days_since_low += 1

        if days_since_low >= 3:
            lower_rail = lowest_low
            lower_rail_confirmed = True
            break

    if upper_rail_confirmed and lower_rail_confirmed:
        return Box(upper=upper_rail, lower=lower_rail, confirmed=True)
    elif upper_rail_confirmed:
        return Box(upper=upper_rail, lower=None, confirmed=False)
    else:
        return None

14.2 股票筛选

def screen_candidates(universe, market_index):
    """
    每周扫描达瓦斯合格股票。
    """
    candidates = []

    for stock in universe:
        # 技术过滤器
        near_all_time_high = stock.close >= stock.all_time_high * 0.95
        volume_surge = stock.avg_volume_1w > stock.avg_volume_3m * 3
        price_rising = stock.close > stock.close_4w_ago

        # 价格从年度低点翻倍(达瓦斯的筛选捷径)
        yearly_high_gt_2x_low = stock.yearly_high >= stock.yearly_low * 2

        # 相对于市场的相对强度
        stock_return_13w = (stock.close - stock.close_13w_ago) / stock.close_13w_ago
        market_return_13w = (market_index.close - market_index.close_13w_ago) / market_index.close_13w_ago
        outperforming = stock_return_13w > market_return_13w

        if near_all_time_high and volume_surge and price_rising and outperforming:
            # 基本面过滤器
            if is_growth_industry(stock.sector) and has_rising_earnings(stock):
                candidates.append(stock)

    return candidates

14.3 交易管理状态机

状态:
  WATCHING     → 监控每日报价,无持仓
  PILOT_BUY    → 小初始持仓,测试股票
  FULL_POSITION → 金字塔进入股票
  STOPPED_OUT  → 持仓被止损关闭

转换:
  WATCHING → PILOT_BUY:
    触发:价格突破当前 box 上轨
    行动:买入 pilot 规模;在上轨下方设置止损

  PILOT_BUY → FULL_POSITION:
    触发:股票确认(保持在入场点上方,突破到新 box)
    行动:在每个新 box 突破时加仓;每次带止损

  PILOT_BUY → STOPPED_OUT:
    触发:止损 hit
    行动:卖出全部;评估如果股票快速恢复则重新入场

  FULL_POSITION → FULL_POSITION:
    触发:在当前上方形成新 box
    行动:将追踪止损 raise 至刚好低于新 box 下轨
             可选地在突破时加更多股票

  FULL_POSITION → STOPPED_OUT:
    触发:追踪止损 hit
    行动:卖出全部;记录利润;扫描新候选人

  STOPPED_OUT → WATCHING:
    触发:股票恢复并创出新的历史高点突破
    行动:作为新候选人重新评估

14.4 每日 routine

def daily_routine(portfolio, watchlist, market_index):
    """
    达瓦斯的每日流程(在市场收盘后执行)。
    """

    # 1. 检查市场背景
    market_trend = assess_trend(market_index)  # bull / bear / neutral

    # 2. 对于每个持有持仓:检查止损
    for position in portfolio:
        if position.current_price <= position.stop_loss:
            execute_sell(position)  # 自动——已设置为GTC订单
        else:
            # 检查是否形成了新 box → raise 止损
            new_box = detect_box(position.stock.daily_bars)
            if new_box and new_box.confirmed:
                if new_box.lower > position.stop_loss:
                    position.stop_loss = new_box.lower - small_margin

    # 3. 对于每只观察股票:检查入场信号
    for stock in watchlist:
        box = detect_box(stock.daily_bars)
        if box and box.confirmed:
            if stock.close > box.upper:
                # 突破!入场信号
                if passes_fundamental_filter(stock):
                    place_buy_stop(stock, price=box.upper + margin)
                    place_stop_loss(stock, price=box.upper - margin)

    # 4. 每周:扫描新候选人(使用Barron's等价物)
    if is_end_of_week():
        new_candidates = screen_candidates(universe, market_index)
        for c in new_candidates:
            if c not in watchlist:
                watchlist.add(c)
                request_daily_quotes(c)

附录A:达瓦斯的七个基本原则

在他早期基本面分析期间开发的,这些保持为基础:

  1. 我不应该跟随咨询服务。他们不是万无一失的。
  2. 我应该对经纪人建议谨慎。他们可能是错的。
  3. 我应该忽略华尔街谚语,无论多么古老和受人尊敬。
  4. 我不应该交易"over-the-counter"——只在有适当价格/成交量数据的主要交易所进行。
  5. 我不应该听谣言,无论它们看起来多有根据都可能。
  6. 基本面方法比赌博更好。研究它。
  7. 我应该持有上涨股票较长时间,而不是在短时间内 juggling 数十只股票。(被遗忘的弗吉尼亚铁路教训)

附录B:达瓦斯系统所需数据

实施系统每只股票所需的最小数据:

  1. 历史绝对高点价格
  2. 过去2-3年的高/低价格
  3. 至少4-6个月的每周价格区间 AND 每周成交量
  4. 活跃持仓和观察清单的每日高、低、收盘和成交量
  5. 大盘指数(例如,道琼斯指数)每日收盘
  6. 行业分类和季度盈利数据

附录C:实施参考的关键语录

"我的 boxes 像金字塔一样堆叠在上面。"

"当股票进入新的更高 box 时买入。当它跌穿下轨时卖出。"

"没有理由卖出一只上涨的股票。"

"我将止损设置在 box 下轨下方——永远不要在 box 内部。"

"在 breakout 时买入。买入订单不等待3天。"

"成交量显著性是相对于股票自己的历史。"

"90%或更多的上市股票在任何给定时间都不符合条件。"

"我的耳朵是我的敌人。"

"我只相信分析,不相信预测。"

(全文完 — 共773行)