
Opportunity Cost
- 30 installs
- 40 repo stars
- Updated April 17, 2026
- kangarooking/duan-yongping-skill
Helps with ai & agent building tasks.
About
opportunity-cost is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- opportunity-cost
- AI & Agent Building
- AI-coding skill
Opportunity Cost by the numbers
- 30 all-time installs (skills.sh)
- +1 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #9,316 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/kangarooking/duan-yongping-skill --skill opportunity-costAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 30 |
|---|---|
| repo stars | ★ 40 |
| Last updated | April 17, 2026 |
| Repository | kangarooking/duan-yongping-skill ↗ |
What it does
Helps with ai & agent building tasks.
Files
机会成本决策框架(含持有=买入)
R — 原文 (Reading)
"每天的收盘价就是我们的机会成本,没有卖就等于买了,否则可以买其他。"
"无论什么时候卖都不要和买的成本联系起来。该卖的理由可能有很多,唯一不该用的理由就是'我已经赚钱了'。"
"理论上讲持有=买入其实不是一个观点而是一个事实。"
"投资投什么其实是基于机会成本的。"
>
— 段永平, 第五章 估值逻辑 · 第5-6节
---
I — 方法论骨架 (Interpretation)
1. 持有=买入是一个事实,不是观点。 你今天没有卖出某只股票,等同于你按今天的市价重新买入了一遍。你的钱不是"被套在里面",而是你主动选择了当前价格继续持有。 2. 成本是沉没的。 买入价格与卖出决策无关。不管你50元买的还是100元买的,今天的决策基准只有一个:当前价格下,这只股票是否仍然是你最好的选择。 3. 机会成本是买卖的统一标准。 卖出不是因为"赚够了"或"亏怕了",而是因为找到了更好的替代选项。"够不够便宜"由你自己的机会成本决定——你还能在哪里获得更高的长期回报。 4. 从10年后看回来。 短期股价波动造成的焦虑,用10年视角来过滤。如果10年后这家公司仍然很强,今天的涨跌无关紧要。 5. "不卖"不等于"永远不卖"。 发现买错了立刻卖、找到明显更好的替代则换仓,但绝不能因为浮盈浮亏而决策。
---
A1 — 书中的应用 (Past Application)
案例 1: "没有卖就等于买了"——忠旺换茅台
- 问题: 公司同事们买了中国忠旺(约3块),段永平实地调研后判断商业模式一般、企业文化一般,建议卖出换成茅台或苹果。
- 方法论的使用: 大部分人听了建议很快换了,但有人不舍得卖,总觉得"会有机会的"——这是典型的沉没成本陷阱(不願承认已有的亏损)。
- 结论: "一转眼这么多年过去了……,机会成本刚刚的。"忠旺跌到1.46块,而茅台、苹果同期涨幅巨大。
- 结果: 不换的人不仅亏了本金,更损失了本可以投资好公司的巨大机会成本。
案例 2: 持有网易8-9年的100倍回报
- 问题: 网易从约1块涨到100多块,过程中每天都有"止盈"诱惑。
- 方法论的使用: 段永平"可能每天都会被卖价所诱惑",但用"卖股票和成本无关"的道理抵抗住。判断标准只有"公司及其业务的未来现金流",不看买入成本、不看PE/PB。网易涨到20-30倍时他还继续追加。
- 结论: 卖网易不是因为"赚够了",而是"需要换GE和Yahoo"——机会成本驱动,而非止盈逻辑。
- 结果: 100倍回报。
案例 3: 达美航空的反思——"卖了苹果去买航空"
- 问题: 段永平用多出来的现金买了1%达美航空。
- 方法论的使用: 用持有=买入视角反思——"从买入=持有或者持有=买入的角度看,我当时买入航空公司,其实等于卖了苹果去买入航空公司"。10年视角看,这不是好决策。
- 结论: "看来是自己内心的投机小心思躁动了一下。"持有航空"难受"因为"不知道时间到底站在哪一边",而持有苹果"股价怎么掉都不会介意"。
- 结果: 跟随巴菲特卖出航空公司,承认生意模式判断有误。
---
A2 — 触发场景 (Future Trigger) ★
用户会在什么情境下需要这个 skill?
1. 止盈/止损纠结: 用户持有某只股票已经赚了(或亏了)一定比例,在犹豫要不要卖,思考的依据是浮盈浮亏比例而非公司价值。 2. 换仓犹豫: 用户发现了一个可能更好的标的,但因为当前持仓"还没赚回来"或"已经赚了舍不得卖",迟迟不做决策。 3. 持仓焦虑: 用户因为市场波动而对现有持仓感到不安,频繁关注股价,但没有从公司基本面和机会成本角度思考过。
语言信号 (用户的话里出现这些就应激活)
- "我已经赚了X%了,该不该止盈"
- "这只股票还亏着,舍不得割肉"
- "卖了怕涨、不卖怕跌" / "不知道该不该换"
与相邻 skill 的区分
- 与
dcf-valuation的区别: DCF skill 解决"这家公司值多少钱",本 skill 解决"在当前价格下,持有它是不是我最好的选择"。DCF 给出价值判断,机会成本做出买卖决策。 - 与
ownership-mindset的区别: 企业所有者视角解决"买什么"(用什么心态看待股票),本 skill 解决"什么时候买卖"(用什么标准做决策)。 - 与
equanimity-mindset的区别: 平常心 skill 管情绪管理,本 skill 管决策逻辑。两者常同时触发,但本 skill 提供的是可执行的决策框架,不是情绪安抚。
---
E — 可执行步骤 (Execution)
当 skill 被激活后, agent 应按以下步骤执行:
1. 剥离沉没成本
- 要求用户完全忽略买入价格、持仓时间、浮盈浮亏比例
- 完成标准: 用户能用"如果我现在手里有一笔等额现金"的视角重新审视决策
- 提示话术: "假设你今天以市价卖出全部持仓,手里拿着现金,你会按当前价格重新买入吗?"
2. 识别并比较机会成本
- 列出用户当前持仓 vs 可替代的最佳选项,用10年视角比较长期回报预期
- 完成标准: 用户能清晰说出"持有的预期回报"和"替代选项的预期回报"两个数字
- 判停条件: 如果用户说不出任何替代选项(只持有一只且没有其他懂的公司),则跳到步骤3,建议继续持有并扩展能力圈
3. 用持有=买入做最终决策
- 问用户: "如果持有=按当前价格买入,你还愿意吗?"如果愿意→持有;如果不愿意→卖出或换仓
- 完成标准: 用户给出明确的持有/卖出/换仓决定,且理由与公司价值和机会成本有关,而非浮盈浮亏
---
B — 边界 (Boundary) ★
不要在以下情况使用此 skill
- 用户还无法判断公司价值时: 机会成本比较的前提是能判断"持有"和"替代选项"各自的长期回报。如果用户对公司一窍不通,机会成本框架无法落地——应先回到
good-business或capability-circleskill。 - 纯粹的短期交易决策: 本框架假设10年视角。如果用户的目标是短期波段操作,本 skill 不适用。
作者在书中警告的失败模式
- 赌徒式回本心态: "被套"之后用"长期投资"安慰自己——段永平明确说"很多人往往只是在被套的时候才想起长线来",这不是机会成本思维,而是沉没成本陷阱的伪装。
- "坚持"的错觉: "如果你还有'坚持'的感觉你就还不是一个价值投资者"——需要"坚持"说明骨子里并不认同,机会成本框架救不了你。
- 频繁重新审视导致投机: 段永平提醒,持有=买入不意味着"每时每刻都在想是不是高估了",过度关注市场反而变成投机。正确用法是偶尔审视(有新增资金时、发现新标的时),而非每天盯盘。
作者的盲点 / 时代局限
- 框架假设投资者能清晰判断"最好的替代选项"——现实中能力圈边界模糊,很多投资者高估自己对替代选项的理解。
- 资金体量差异:段永平的大资金操作(如"有现金流了就加仓")对小资金未必最优,小资金可能面临更高的机会成本。
- 税务和交易成本在"持有=买入"的等式中被忽略——频繁按此逻辑调仓可能产生大量税费。
容易混淆的邻近方法论
- 止盈止损纪律: 表面相似(都在决定何时卖出),但止盈止损以价格/比例为锚,机会成本以价值比较为锚,两者逻辑完全相反。
- "越跌越买"的摊平策略: 段永平明确反对"加码因为前面买的亏了要摊低成本"——这不是机会成本思维,是沉没成本陷阱。
---
相关 skills (阶段 3 填充)
- depends-on: [ownership-mindset, dcf-valuation]
- contrasts-with: []
- composes-with: [equanimity-mindset]
---
审计信息
- 验证通过: V1 cross-domain / V2 predictive-power / V3 exclusivity
- 测试通过率: 待阶段4
- 蒸馏时间: 2026-04-16
{
"skill": "opportunity-cost",
"version": "0.1.0",
"source_book": "段永平投资问答录-下 — 段永平",
"darwin_compatible": true,
"test_cases": [
{
"id": "should-trigger-01",
"type": "should_trigger",
"prompt": "我持有的腾讯已经涨了60%了,要不要止盈?我买入的时候是280,现在已经450了,感觉赚得差不多了。",
"expected_behavior": "应激活 opportunity-cost, 并引导用户用'持有=买入'的视角重新审视——假设今天手里拿着等额现金,还会按450的价格买入腾讯吗?剥离买入成本280这个锚定,聚焦机会成本比较。",
"notes": "典型止盈纠结场景:用户以浮盈比例和买入成本作为卖出依据,正是SKILL.md中'我已经赚了X%了,该不该止盈'的语言信号。"
},
{
"id": "should-trigger-02",
"type": "should_trigger",
"prompt": "我手里有只股票被套了30%,现在发现另一家公司好像更好,但是亏着卖不甘心啊,换还是不换?",
"expected_behavior": "应激活 opportunity-cost, 并指出'亏着卖不甘心'是典型的沉没成本陷阱。引导用户忽略买入价,比较当前持有和替代选项在10年视角下的预期回报,用机会成本做决策。",
"notes": "典型换仓犹豫+止损纠结场景:用户以浮亏为锚、以不甘心为理由,正是SKILL.md中'这只股票还亏着,舍不得割肉'的语言信号。"
},
{
"id": "should-trigger-03",
"type": "should_trigger",
"prompt": "最近市场波动很大,我持仓的股票天天跌,卖了怕涨回来,不卖又怕继续跌,到底该怎么办?",
"expected_behavior": "应激活 opportunity-cost, 并引导用户从10年视角过滤短期波动焦虑。用'持有=按当前价格重新买入'的框架,判断当前价格下该股票是否仍是最好的选择,而非基于涨跌恐惧做决策。",
"notes": "典型持仓焦虑场景:用户因市场波动而恐惧,卖出理由完全基于价格波动而非公司价值,正是SKILL.md中'卖了怕涨、不卖怕跌'的语言信号。"
},
{
"id": "should-trigger-04",
"type": "should_trigger",
"prompt": "我买比亚迪的时候50块,现在300多了,涨了6倍。虽然觉得公司不错,但是这么高了是不是该落袋为安?",
"expected_behavior": "应激活 opportunity-cost, 并引导用户思考:卖出不应因为'涨了6倍',而应因为'找到了比当前价格的比亚迪更好的替代标的'。要求用户评估按当前300多价格是否还愿意买入。",
"notes": "止盈纠结的变种:用户虽然承认公司不错,但'落袋为安'的思维暴露了以浮盈比例为决策依据,而非机会成本比较。"
},
{
"id": "should-not-trigger-01",
"type": "should_not_trigger",
"prompt": "我想算一下茅台的内在价值,它的自由现金流增长率大概多少比较合理?用什么折现率合适?",
"expected_behavior": "不应激活本 skill, 因为用户在做纯粹的估值计算,不涉及买卖决策纠结。这是 dcf-valuation 的场景,不是机会成本决策框架的场景。",
"notes": "诱饵: DCF估值场景。用户关心'这家公司值多少钱'而非'要不要卖/换',属于SKILL.md边界中明确排除的纯估值计算。"
},
{
"id": "should-not-trigger-02",
"type": "should_not_trigger",
"prompt": "我想做短线交易,这只股票今天放量突破了,要不要追进去做个波段?",
"expected_behavior": "不应激活本 skill, 因为用户的目标是短期波段操作。本框架假设10年视角,不适用于短期交易决策。",
"notes": "诱饵: 短期交易决策。SKILL.md边界明确指出'纯粹的短期交易决策'不应使用本skill,框架假设10年视角。"
},
{
"id": "should-not-trigger-03",
"type": "should_not_trigger",
"prompt": "我最近因为股票亏了很多钱,心情很低落,吃不好睡不好,投资太难了,我该怎么办?",
"expected_behavior": "不应激活本 skill, 因为用户的核心需求是情绪安抚而非决策逻辑分析。这是 equanimity-mindset 的场景。本skill管决策逻辑,不管情绪管理。",
"notes": "诱饵: 情绪安抚场景。SKILL.md明确区分了本skill与equanimity-mindset——平常心skill管情绪管理,本skill管决策逻辑。"
},
{
"id": "edge-01",
"type": "edge_case",
"prompt": "我想了解一下苹果这家公司到底好不好,值不值得投资。我目前没有持仓,但考虑买入。",
"expected_behavior": "不应激活本 skill。用户还没有持仓,不存在'要不要卖/换/止盈/止损'的纠结,这是判断公司好坏的场景。应引导至 good-business 或 capability-circle skill。但如果用户追问'我现在的持仓A和想买的苹果相比,该选哪个',则应激活本skill做机会成本比较。",
"notes": "边界: 用户处于买入决策阶段而非卖出/换仓纠结阶段。SKILL.md的触发场景是'要不要卖/换/止盈/止损',纯买入判断不在核心场景内。但如果后续对话演变为'持有A还是换B'的资产配置比较,则进入触发范围。"
},
{
"id": "edge-02",
"type": "edge_case",
"prompt": "我持有的中石油亏了40%,我觉得它是被错杀的,我准备越跌越买,摊低成本,这样回本更快。",
"expected_behavior": "应激活本 skill, 但需要明确警告用户这是SKILL.md中列出的失败模式——'摊低成本'是沉没成本陷阱的伪装,而非机会成本思维。应引导用户思考:当前价格下中石油是否是最好的选择?如果不是,加仓的决策就是错的,与成本均价无关。",
"notes": "边界: 用户用'越跌越买摊低成本'的决策方式,看似在做买卖决策,但逻辑基础是沉没成本(降低平均买入价)而非机会成本(当前价格下是否最优选择)。SKILL.md明确将此列为'容易混淆的邻近方法论',需要纠正而非放任。"
}
],
"minimum_pass_rate": 0.8,
"notes": "至少 3 条 should_trigger + 2 条 should_not_trigger + 1 条 edge_case。全部 should_not_trigger 必须通过 (诱饵容错为 0)。"
}