第 1 章 — 分析型投资者(The Analytical Investor)
1.1 投资旅程(Your Investment Journey)
- 程序员追求财务独立,起点往往不是贪心,而是职场太苦——微管理的老板、甩锅的客户、暗中改你代码出事还怪你的人。正规教育从不教这些。
- 换工作是权宜之计,创业是用 80 小时换更低薪水和渺茫的成功率。常规出路都有明显天花板。
- 替代路径:通过被动收入逐步建立对工作的独立性。自由是渐变过程——当被动收入开始覆盖部分必要开支时,自由就开始了。
- Q “Knowing that you can leave a high-paying, soul-crushing job for a more fulfilling one, even if it pays less, is a powerful relief.” / 知道自己可以离开那份高薪但消耗灵魂的工作,去做更有意义的事,哪怕收入更低——这本身就是一种巨大的解脱。
- 全书定位是分步指南,强调理性和耐心,不承诺奇迹。警惕”24 小时暴富”。
1.2 资产(Assets)
资产变现的两条路径:资本增值(低买高卖)和被动收入(利息、租金、分红等定期收付)。
投资前必须回答的三个底层参数:
- 风险承受力(Risk tolerance)——能承受多大潜在损失而不焦虑
- 财务目标(Financial goals)——希望在多长时间内赚多少
- 时间投入(Time commitment)——愿意花多少时间管理投资;如果盯盘的时间侵蚀了生活,说明策略需要调整
股票(Stocks)
- 买股票 = 买公司所有权(equity)。股价由供需驱动,但也受全球政治与经济新闻影响
- 术语链:shares(可数的股份)→ stock(公司总权益)→ portfolio(持有的所有证券集合)→ unrealized gain/loss(未卖出前的浮盈/浮亏)→ realized gain/loss(卖出后兑现)
- Dividend(分红):公司按每股支付的收益。Dividend yield = 年分红 / 股价。苹果 yield ≈ 0.49%,远低于 10 年期美债 ≈ 4.3%——纯冲分红买苹果不划算
债券(Bonds)
- 债券 = IOU(借据)。买债券 = 借钱给发行方(政府或公司),换取定期利息(coupon)+ 到期归还本金(principal)
- Credit risk:发行方违约风险,由 Moody’s / S&P 等评级机构评估
- 风险越高 → yield 越高。到期前可在公开市场卖出,价格随市场波动
- 美国国债被视为”无风险”基准,但严格来说是”极低风险”——理论上任何政府都可能违约
交易所交易基金(ETFs)
- 一笔交易买入一篮子证券,天然分散风险
- 多数 ETF 被动跟踪指数(如 S&P 500),算法自动 rebalance;少数为主动管理
- 有年管理费(expense ratio),但远低于自己逐笔买入的交易费用总和
其他基金
| 类型 | 特征 |
|---|---|
| Mutual fund(共同基金) | 类似 ETF 但每天只交易一次,按收盘后的 NAV(净资产价值)定价 |
| Hedge fund(对冲基金) | 监管更少、门槛更高、策略更激进,仅向合格投资者(accredited investors)开放 |
外汇(Forex)
- 交易货币对(如 EUR/USD)的汇率波动来获利
- 分析经济指标和市场趋势,预判货币升值/贬值
加密货币(Crypto)
- 底层是 Blockchain(去中心化数字账本),应用层是 Cryptocurrency(基于区块链的数字资产)
- 核心价值:无需第三方中介的点对点交易
- Staking:通过参与交易验证获得奖励,是 crypto 的被动收入方式
衍生品(Derivatives)
- 衍生品 = 价值来源于底层资产(股票、商品等)的合约
- 最常用的衍生品是 Options(期权):付一笔 premium(权利金)获得在到期日前以 strike price(行权价)买/卖资产的权利,但不是义务。程序员类比:premium = 买 API Key,获得
buy()或sell()的调用权;到期没达到条件就让 key 过期,损失仅限于 premium- Call option:买入的权利(看涨)
- Put option:卖出的权利(看跌/保险)
- 也可以反过来 sell/write options:收取 premium 作为收入,但承担义务。卖 put 的极端风险:股价跌到零仍需按行权价买入
私募股权(Private Equity)
- 投资未上市公司,流动性低但回报潜力最大
- 两种参与方式:直接投资(通常 pre-seed / seed 阶段)或作为 LP(有限合伙人) 加入天使/VC 基金
其他资产
- Commodities(大宗商品):金、油、小麦等,价格受地缘政治、天气、全球经济影响,波动大
- Real estate(房地产):高度非流动性资产(illiquid),卖出慢、租客风险高
- Fungible vs Non-fungible:可替代 vs 不可替代。证券是 fungible 的,因此门槛低、维护少、流动性好、可扩展——适合新手起步
选资产前的四个自问
- 过上满意生活需要多少钱?
- 有多少闲钱可以投资?
- 为了更高收益愿意承受多大风险?
- 愿意在研究和管理投资上花多少时间?
1.3 投资方法(Investment Approaches)
资产变现方法的三个分类:
| 类别 | 特征 |
|---|---|
| Gambling | 凭直觉或”宇宙信号”决策,受认知偏差驱动 |
| Investing | 长期视角,依赖分析和批判性思维,减少冲动决策 |
| Trading | 利用短期价格波动,频率更高、风险更大 |
定量研究(Quantitative Research)
- 核心思路:收集尽可能多的财务数据(revenue、profit margin、P/E ratio 等),跨公司比较这些”因子”
- 财务数据高度标准化(会计准则),非财务数据也可量化后纳入
- Technical analysis(技术分析):通过价格和成交量的统计趋势识别模式、预测走势。工具包括 candlestick chart、各类 indicator
定性研究(Qualitative Research)
- 关注数字背后的”为什么”:品牌实力、管理层质量、竞争对手风险
- 定性数据可转化为定量数据(如对 earnings call 做 sentiment analysis 再比较评分)
- GenAI:摘要大规模数据集、分析市场情绪、模拟压力测试场景
- AI Agents:自主完成多步骤研究任务——采集数据、分析财报、评估新闻、生成报告
交易分类(Trading)
| 风格 | 持仓周期 | 特征 |
|---|---|---|
| Day trading | 当天开平 | 捕捉日内波动,不隔夜持仓 |
| Swing trading | 数天到数周 | 捕捉中短期趋势 |
| Algorithmic trading | 自动执行 | 按预设指标(价格变动、波动率)自动下单,消除情绪干扰 |
| HFT(高频交易) | 微秒级 | 算法 + 硬件竞速,利用微小价差套利,由专业量化公司主导 |
- Long position(做多):买入后等升值卖出——“低买高卖”
- Short selling(做空):借入资产卖出,等跌价后买回归还——赚价差
- Backtesting(回测):用历史数据检验算法策略,类似软件开发中的 unit testing
三大投资风格
| 属性 | Growth(成长) | Value(价值) | Income(收入) |
|---|---|---|---|
| 主要目标 | 资本增值 | 资本增值 | 持续现金流 |
| 关注点 | 未来潜力、创新 | 被低估的”便宜货” | 稳定的现金分配 |
| 典型公司 | 年轻、创新、高速扩张 | 成熟、稳定、暂时不受欢迎 | 成熟、可预测、高现金流 |
| 分红 | 低或无(利润再投资) | 通常有分红 | 高且稳定的分红是关键 |
| 关键指标 | 高 revenue growth、高 P/E | 低 P/E、低 P/B | 高 dividend yield、稳定 cash flow |
| 风险 | 高 | 低到中 | 低 |
| 时间跨度 | 长期 | 中长期 | 任意,常用于即时需求 |
- GARP(Growth at a Reasonable Price):结合价值投资和成长投资的混合策略
- Q “Your personal or professional knowledge of a domain can give you a strong investment advantage.” — Peter Lynch / 你对某个领域的个人或专业知识,可以成为强大的投资优势。
核心-卫星组合结构(Core and Satellite)
- Core(核心):长期投资仓位,通过复利耐心增长
- Satellites(卫星):围绕核心的小型战术仓位——一部分做短期交易捕捉波动,一部分配置收入型资产产生稳定现金流
- 这个结构让纪律性长期计划和短期机会捕捉并存
1.4 风险与回报(Risks and Rewards)
- Hedging(对冲)= 风险管理策略:在相关资产上建立反向头寸来对冲损失。本质是买保险——牺牲部分潜在收益来限制极端亏损
- 过去的回报不保证未来。市场不可预测,没有任何工具或策略能保证成功
- Start-ups 回报潜力最高但也最危险。Crypto 同理——可能暴涨也可能断崖
- 社交媒体对股价的影响有时比财报还大。公众人物的不可预测行为可以让隔夜涨幅蒸发
- Q “Be fearful when others are greedy, and greedy when others are fearful.” — Warren Buffett / 别人贪婪时恐惧,别人恐惧时贪婪。
1.5 程序员的不公平优势(A Programmer’s Unfair Advantage)
系统与数据思维
- Fundamental analysis 类似 debug:检查核心组件(income、balance sheet)来判断公司内在价值
- 数据分析和脚本能力可直接用于 backtesting 和自动化研究
- 编程本质是构建规则系统——这正是制定投资纪律、避免 panic selling 和 chasing hype 所需的能力
心智模型优势
| 特质 | 投资映射 |
|---|---|
| Patience & discipline | 和修复顽固 bug 一样,投资是最高形式的延迟满足 |
| Abstract thinking | 习惯处理抽象概念(API、数据结构),理解无形资产(股票、债券、衍生品)更容易 |
| Visionary thinking | 身处技术前沿(AI、VR、biotech),对哪些公司会定义未来有领域内视角 |
定义你的参数
- 投资策略应和人生选择对齐:高收入 → 早退休路线;数字游民 → 低开支低税收路线
- 关键是理解自己的环境和目标,像定义项目 spec 一样定义投资哲学:风险承受力、时间投入、伦理边界
- 本书不提供具体的投资建议,而是教你用已有的分析能力去评估证券、辅助决策
第 2 章 — 投资基础(Investment Essentials)
2.1 会计基础(Accounting in a Nutshell)
- 财务报表 = 公司的源代码。看起来晦涩,但学会读懂它们就能精确看到业务表现。不理解会计基础就投资,等于零编程能力却要做软件。
- 会计标准来自 1929 年股市崩盘的教训。崩盘前没有联邦法律要求公司披露财务信息,GAAP 就是那次危机的产物。
- 全球两套主要标准:GAAP(美国)和 IFRS(国际)。细节有差异,但对投资者的核心影响相同。
- 三张必看报表,所有上市公司每季度披露:
- Income Statement(损益表)——收入多少、花了多少
- Balance Sheet(资产负债表)——拥有什么、欠了什么
- Cash Flow Statement(现金流量表)——实际产生了多少现金
损益表(Income Statement)
核心三要素:Revenue(总收入)、Expenses(费用)、Net income(净利润 = 收入 − 费用)
- 货币时间价值:今天的 $1 > 一年后的 $1。可以投资生利息,通胀也在持续侵蚀购买力。因此净利润长期不增长,实际价值每年都在缩水。投资者通常期待公司的收入和净利润随时间增长。
- 读财报是建立假设的过程,要同时构建**看多(Bullish)和看空(Bearish)**两种假设,而不是只看对自己有利的数据。
- 示例:R&D 费用暴增 + 引入外部资本 → 看多:备战新项目;看空:现有业务出问题
- 示例:缩减研发 + 收入不变 → 看多:AI 提效产生盈余;看空:放弃成长只吃老本
- 不同商业模式的财报差异巨大,要跨行业比较往往误导人。Apple vs. Walmart 的 R&D 对比毫无意义,Apple vs. Google 才有参考价值。
资产负债表(Balance Sheet)
核心公式:Assets = Liabilities + Shareholders’ Equity
- 资产 > 负债 = 健康;负债 > 资产 = 警报
- Liquidity(流动性):资产变现为现金的难易程度。工厂和机器 = 低流动性;库存商品 = 相对较好
- CapEx(资本支出)vs OpEx(运营支出):软件公司资本密集度低,被视为低风险投资;但 CapEx 低可能伴随更高的 OpEx
- Accounts payable / receivable:账面上的应付/应收款并不等于真正在手的现金 → 引出现金流的必要性
自由现金流(Free Cash Flow)
核心公式:FCF = Operating Cash Flow − Capital Expenditures
- FCF 是三张报表里最能说明公司真实健康状况的。账面有钱不代表能付账单,只有 FCF 才能确认公司的偿付能力。
- I Eugene 的古董车案例是个绝好的类比:资产价值数百万,但现金枯竭就无法支付工人工资,流动性危机是切实存在的风险。
2.2 行业分类(Industry Classification)
- 不同行业的公司,盈利方式、费用结构、受监管程度都不同。不理解行业差异就套用同一套指标,结论很可能是错的。
- 标准:GICS(全球行业分类标准,S&P 制定)——4 个层级:Sector → Industry Group → Industry → Sub-industry
GICS 11 大板块及其主要影响因素
| 板块 | 主要影响因素 |
|---|---|
| Utilities(公用事业) | 利率、能源价格、监管、债券收益率 |
| Consumer Staples(必需消费) | 利率、通胀、消费者信心、原材料成本 |
| Consumer Discretionary(可选消费) | 消费支出、失业率、可支配收入 |
| Communication Services(通信服务) | 政府监管、技术变革、竞争强度 |
| Real Estate(房地产) | 利率、经济周期、人口变化、政策 |
| Information Technology(信息技术) | 创新、网络安全威胁、监管变化 |
| Energy(能源) | 油价、地缘政治稳定性、可再生能源趋势 |
| Health Care(医疗保健) | 疫情、监管、药品定价、人口变化 |
| Financials(金融) | 利率、经济周期、监管变化 |
| Industrials(工业) | 制造业产出、贸易政策、大宗商品价格 |
| Materials(原材料) | 大宗商品价格、供应链稳定性、环境法规 |
- GICS 分类有时与直觉不符:Amazon 和 Tesla 属于 Consumer Discretionary,Google 属于 Communication Services,而非 IT。
只投资自己理解业务的公司(Buffett):超市和科技公司的财报逻辑根本不同。苹果推出一款爆款产品,会直接体现在年度财报里;而 Walmart 最畅销的单品,在财报上几乎看不到踪迹。能读懂财报数字、并把它连接到公司的商业模式,才是做出明智决策的基础。
- Q “Invest only in businesses that you understand.” — Warren Buffett
经济周期与行业表现
- 经济周期四阶段:扩张 → 顶峰 → 收缩 → 谷底。周期性行业(汽车、科技消费品)在衰退期受冲击最大;防御性行业(超市、食品)相对稳定——经济再差,也要吃饭。
- 2008 年金融危机数据验证:Ford 从高点跌至最低仅剩 1/10;Walmart 跌幅远小于此。XLP(必需消费 ETF)跌幅明显小于 XLK(科技)和 XLY(可选消费)。
- I 如果知道某板块受利率、经济周期、原材料成本影响,就可以把这些作为 ML 模型的 feature 来预测股价——这是程序员可以直接落地的思路。
2.3 市值(Capitalization)
市值 = 流通股总数 × 当前股价,反映市场愿意为公司支付的价格。
| 分类 | 市值区间 |
|---|---|
| Mega-cap | $2000 亿以上 |
| Large-cap | $100 亿 ~ $2000 亿 |
| Mid-cap | $20 亿 ~ $100 亿 |
| Small-cap | $2.5 亿 ~ $20 亿 |
| Micro-cap | $2.5 亿以下 |
- Mega-cap 破产风险低,但增长空间也小。Micro-cap 风险最高,但也最可能出现 Tenbagger(Peter Lynch 造词:翻 10 倍的投资)。
- 历史上市值最大的公司并不总能存活。“太大不会倒”是危险的幻觉——即使是 Jeff Bezos 也承认亚马逊有朝一日可能失败。股市是适者生存,基本面研究不可或缺。
- Intrinsic value(内在价值):用 DCF 等方法估算的资产真实价值。市值与内在价值之间的差距越大,潜在投资机会越大——这是价值投资的核心前提。但任何内在价值估算都带有不确定性。
2.4 指标与比率(Metrics and Ratios)
- Metric(指标):关于公司表现的单一陈述,如 dividend yield
- Ratio(比率):两个独立指标之间关系的陈述,如 P/E = 股价 / EPS
- 单一指标无法全面评估公司健康状况,正如软件质量无法靠一个指标衡量。关键在于综合评估,并和同行业同类公司横向对比。
流动性(Liquidity)
衡量公司是否有能力偿还短期账单。
-
Current ratio(流动比率) = 流动资产 / 流动负债
-
Quick ratio(速动比率) = (现金 + 有价证券 + 应收账款)/ 流动负债,更严格,不含库存
-
不同行业的流动性比率差异巨大,跨行业比较无意义。超市需要维持大量库存,流动比率天然较低(Walmart = 0.78);科技公司库存少,流动比率高(NVIDIA = 3.39)。
-
同行业内横向对比才有价值:Walmart vs Costco vs Target vs Dollar Tree——这才是分析师做决策的依据。
债务(Debt)
- Debt-to-Equity(D/E 比) = 总负债 / 股东权益。越高代表财务杠杆越大、风险越高。
- 高 D/E 比不一定是坏事。Apple 的 D/E 达 147,但这是刻意用超低利率债券融资的策略——利率低于通胀时,借债等于免费用钱,是主动管理资本的体现,而非财务困境。
- Interest coverage ratio(利息覆盖率) = EBIT / 利息费用。低于 1.0 是通用红线——意味着当前利润不足以支付利息,财务困境无关行业。
盈利(Earnings)
- EPS(每股收益) = (净利润 − 优先股股息)/ 流通股数
- FCF per share = FCF / 流通股数。FCF 高说明公司能扩张、还债或回馈股东
- 每个季度的 earnings call,公司回顾过去并预测下季度。高于或低于预期都会显著影响股价——所谓”Beat/Miss”。
估值(Valuation)
-
P/E ratio(市盈率) = 股价 / EPS。衡量为 $1 盈利付了多少价格
- 单独看 P/E 不够:需要与行业中位数横向比,也需要与公司自身历史均值纵向比
- P/E 缺陷:不含成长预期
-
PEG ratio = P/E / EPS 增长率。修正了成长因素,PEG < 1 通常被认为低估
-
P/S ratio(市销率) = 股价 / 每股销售额。销售额比净利润更难操纵,适合评估尚未盈利的早期成长公司
-
P/B ratio(市净率) = 股价 / 每股账面价值。反映为 $1 净资产付了多少价,适合重资产行业
-
同一组数据可以讲出不同的故事。以 NVIDIA 为例:看 TTM P/E 是行业中位数的 2 倍,结论是高估;但看 PEG 比率,NVIDIA 的成长预期反而让估值显得合理。数据不说谎,但叙事可以选择。
-
I 这和程序员做性能 benchmark 类似——选什么指标、选什么基准,决定了结论往哪个方向走。投资里的”好故事”和”坏故事”往往都能从同一张表里读出来。
盈利能力(Profitability)
- ROA(资产回报率) = 净利润 / 总资产。每 $1 资产每年产生多少利润
- ROE(股本回报率) = 净利润 / 股东权益。每 $1 股东权益产生多少利润
- Profit margin(利润率) = 净利润 / 收入。超市销量大但单位利润薄,科技公司相反
分红(Dividends)
- 成熟公司(如可口可乐)没有足够的再投资机会,把利润分配给股东是合理选择,能吸引退休基金等收益导向型投资者。
- Dividend yield(股息率) = 每股年分红 / 股价
- Payout ratio(派息率) = 年分红 / 每股收益。越低说明公司保留了更多利润用于成长
- 分红的”零和游戏”问题:股票除息日当天,股价会下调等额金额。分红本身不创造价值,但对需要定期现金流的投资者(如退休者)仍有意义。非居民还要承担最高 30% 的股息预扣税,需提前考虑税务成本。
- Stock buyback(股票回购):公司回购自家股票 → 流通股减少 → 每股价值提升。与分红相比更灵活,不构成周期性承诺。
- Dividend aristocrats(股息贵族):连续多年增长派息的公司(Coca-Cola 62 年、Altria 55 年)。长期稳定增长是信号,削减分红则是警告信号。
公司拿盈余去投资其他业务会怎样? 可口可乐曾涉足电信娱乐子公司,英国 Tesco 和 Sainsbury’s 也都试过做虚拟移动运营商。强势品牌 + 充足资本确实能打开新市场,但历史表明这类多元化扩张成功率参差不齐。支持者认为规模和既有体系是优势;反对者认为偏离核心业务容易损害品牌、拖累效率。公司”守住本业还是成为集团”这道题,值得在具体案例中独立评估,没有通用答案。
股权结构(Ownership)
- Outstanding shares(流通股):所有股东持有的总股数
- Float(自由流通股):排除内部人和大型机构持股后的可交易股数
- 公司可通过增发新股(稀释现有股东)或回购股票(提升每股价值)来主动调节
- Insider transactions(内部人交易):管理层买卖自家公司股票是重要的情绪信号——大量抛售值得关注,但也可能只是兑现收益
- SBC(股票薪酬):科技公司和初创公司常用,能降低现金薪资支出,但长期稀释股东权益。公司越小,稀释效应越显著。
ESG 与可持续性(Sustainability)
- ESG(环境、社会、治理)评分:评分越低越好(0-100 分制)
- 投资一家公司也是在支持它的行为。对于伦理驱动的投资者,ESG 是筛选条件而非加分项。
- 跨公司比较 ESG 需在同行业内进行,行业不同基准不同。
2.5 外部评估(External Assessments)
- 分析师评级(买/持有/卖)和目标价是第三方参考,不是预测,更不是保证。2007 年垃圾债券被评级机构评为 AAA,后来呢?
- 三类评级来源:SA Analyst(众包)、Wall Street(专业机构)、Quant(算法)——三者可能相互矛盾。
- 目标价(Target price):基于 DCF 等基本面分析估算的 12 个月目标价,方法不透明,经常大幅偏离实际。
- 专家意见是概率判断,不是二元的对错。好的投资者不追求每次预测正确,而是追求胜率高于 50% + 分散化来管理不可避免的错误。
- 预测失灵是常态,不是例外。2024 年初 The Economist 等主流媒体预测股市将下跌,实际走势完全相反。即使掌握全世界的数据,也没有分析师能预测未来。
第 3 章 — 数据收集(Collecting Data)
选对数据源是投资分析的基础工程问题:yfinance 够用但有脆性,商业库稳定但有成本,关键是知道什么时候该升级。
3.1 金融数据分类(Financial Data)
金融数据天然比其他领域更可靠——上市公司财报需要审计、符合会计准则,但会计处理本身可以被人为”调节”。
三类数据:
| 类型 | 特征 | 示例 |
|---|---|---|
| 基本面数据(Fundamental) | 更新频率低(季报/年报);可审计 | 利润表、资产负债表、现金流量表 |
| 技术数据(Technical) | 实时变动;对延迟敏感 | 股价、成交量、短利率 |
| 非财务数据(Nonfinancial) | 非结构化;需挖掘 | 社媒情绪、管理层语音情绪分析 |
- I “非财务数据”这个分类在 AI 时代会越来越重要——大模型很擅长处理非结构化信号,情绪分析、新闻摘要这类任务已经有成熟工具链了。
3.2 金融分析平台(Financial Analysis Platforms)
Stock screener 是投资起点:按市值、行业、地区等条件筛选候选股,再深入研究。Finviz 是常用选择。
四类平台:
| 类别 | 代表 | 特点 |
|---|---|---|
| 搜索引擎金融页 | Yahoo Finance、Google Finance | 免费;yfinance 等开源库通过抓取提供数据 |
| 面向散户的分析平台 | Seeking Alpha、Morningstar、Koyfin | 订阅制($10–$350/年);少数提供 API |
| 面向初创的数据提供商 | EODHD、Alpha Vantage、OpenBB | API 优先;freemium 模式;$240–$1200/年 |
| 面向大型机构的商业产品 | Bloomberg Terminal、Refinitiv | 价格超出个人预算 |
3.3 数据科学笔记本(Data Science Notebooks)
- 个人投资决策不需要前端界面——数字打印在 console 已经足够。notebook 是最适合投资研究的交互环境:能写假设、执行代码、原地验证。
- I 这和”done is better than perfect”一脉相承:先拿到数据看懂再说,做 UI 是浪费时间,除非要给别人用。
3.4 yfinance
yfinance 是入门首选:免费、覆盖面广(美股 + 国际交易所)、基本面和技术分析都支持。但它依赖 Yahoo 非官方接口,生产环境不可依赖。
基本面分析(Fundamental Analysis)
microsoft = yf.Ticker('MSFT')
microsoft.income_stmt # 利润表(DataFrame,列为报告日期)
microsoft.balance_sheet # 资产负债表
microsoft.cash_flow # 现金流量表
# 季报版本加前缀 quarterly_
yf.Ticker(ticker).info→ 字典,转 Pandas Series 后可访问 132+ 属性(P/E、currentPrice 等)- 需要手动计算的指标(ROA、ROE、利润率、D/E 等)直接从 income_stmt 和 balance_sheet 取值运算
追踪指标随时间的变化比单点值更有意义:Apple 的 D/E 在 2021–2024 年间在 1.78–2.61 波动,不构成警告信号。
技术分析(Technical Analysis)
historical_data = yf.Ticker("MSFT").history(start="2024-05-08", end="2025-05-08")
# 返回 OHLCV DataFrame
- 跨股票比较价格时必须归一化到同一起点(设为 100%),否则绝对价格毫无意义
- 简单收益率(Simple Returns) vs 对数收益率(Logarithmic Returns):对数收益率衡量连续复利收益率,更适合统计分析
# 对数收益率
log_rets = hist_prices["Close"].apply(lambda x: np.log(x / x.shift())).dropna()
-
用
mean、std、var可以快速感知股票波动性:NuScale(SMR)的标准差是可口可乐的近 6 倍,高风险高波动一目了然 -
I NuScale 2023 年暴跌、2024 年大涨的案例是一个经典提醒:仅凭单年数据做决策是危险的,时间窗口选择决定结论。和代码里选 benchmark 区间是一样的问题。
yfinance 的局限性
- yfinance 本质上是用 Beautiful Soup 抓 Yahoo 内部 API,Yahoo 随时可能改接口或实施反爬
- 版本兼容性问题曾导致 sustainability 数据失效(后来修复了)
- 生产环境使用风险高,商业产品应换用有官方保障的数据源
3.5 商业库(Commercial Libraries)
数据流向:交易所(实时流)→ 数据提供商 → 开发者。基本面数据来源是 SEC / SEDAR 等监管机构的公开申报文件。
Finviz
- 只支持美股交易所(ADR 除外)
- 需要 Elite 订阅($24.96/月)才能用 API
- 适合只投美股且重度依赖 stock screener 的用户
EODHD
- 主营业务就是数据,覆盖 77 个交易所
- Freemium:历史数据 1 年内免费,每天 20 次 API 调用
- 接口结构与 yfinance 相近,迁移成本低
Alpha Vantage
- Freemium;免费版不提供 adjusted close price(需付费)
- 差异化功能:新闻情绪分析(免费版可用)
OpenBB
- 覆盖范围最广:股票 + 债券 + 加密货币 + 外汇
- 可无缝切换底层数据提供商(
provider="yfinance"等),不用改业务代码 - I 这个设计思路很工程化——把数据源抽象为可替换的 adapter,解耦分析逻辑和数据供应。对于要长期维护投资工具的程序员来说,这个架构价值比单纯的数据覆盖更值钱。
3.6 库的选择标准
- 检查 PyPI 发布历史和 GitHub 最近 commit:一年内有更新是基本门槛
- 多贡献者 + 高 star/fork 数 → 社区活跃 → 被维护的可能性高
- 排除仅支持单一操作系统、单一国家交易所、非英文文档的库
- 尽量选跨平台、覆盖多交易所的库