Skip to content
Synapse
Go back

Investing for Programmers

程序员如何利用数据分析和编程技能做出更好的投资决策

第 1 章 — 分析型投资者(The Analytical Investor)

1.1 投资旅程(Your Investment Journey)

1.2 资产(Assets)

资产变现的两条路径:资本增值(低买高卖)和被动收入(利息、租金、分红等定期收付)。

投资前必须回答的三个底层参数:

  1. 风险承受力(Risk tolerance)——能承受多大潜在损失而不焦虑
  2. 财务目标(Financial goals)——希望在多长时间内赚多少
  3. 时间投入(Time commitment)——愿意花多少时间管理投资;如果盯盘的时间侵蚀了生活,说明策略需要调整

股票(Stocks)

债券(Bonds)

交易所交易基金(ETFs)

其他基金

类型特征
Mutual fund(共同基金)类似 ETF 但每天只交易一次,按收盘后的 NAV(净资产价值)定价
Hedge fund(对冲基金)监管更少、门槛更高、策略更激进,仅向合格投资者(accredited investors)开放

外汇(Forex)

加密货币(Crypto)

衍生品(Derivatives)

私募股权(Private Equity)

其他资产

选资产前的四个自问

  1. 过上满意生活需要多少钱?
  2. 有多少闲钱可以投资?
  3. 为了更高收益愿意承受多大风险?
  4. 愿意在研究和管理投资上花多少时间?

1.3 投资方法(Investment Approaches)

资产变现方法的三个分类:

类别特征
Gambling凭直觉或”宇宙信号”决策,受认知偏差驱动
Investing长期视角,依赖分析和批判性思维,减少冲动决策
Trading利用短期价格波动,频率更高、风险更大

定量研究(Quantitative Research)

定性研究(Qualitative Research)

交易分类(Trading)

风格持仓周期特征
Day trading当天开平捕捉日内波动,不隔夜持仓
Swing trading数天到数周捕捉中短期趋势
Algorithmic trading自动执行按预设指标(价格变动、波动率)自动下单,消除情绪干扰
HFT(高频交易)微秒级算法 + 硬件竞速,利用微小价差套利,由专业量化公司主导

三大投资风格

属性Growth(成长)Value(价值)Income(收入)
主要目标资本增值资本增值持续现金流
关注点未来潜力、创新被低估的”便宜货”稳定的现金分配
典型公司年轻、创新、高速扩张成熟、稳定、暂时不受欢迎成熟、可预测、高现金流
分红低或无(利润再投资)通常有分红高且稳定的分红是关键
关键指标高 revenue growth、高 P/E低 P/E、低 P/B高 dividend yield、稳定 cash flow
风险低到中
时间跨度长期中长期任意,常用于即时需求

核心-卫星组合结构(Core and Satellite)

1.4 风险与回报(Risks and Rewards)

1.5 程序员的不公平优势(A Programmer’s Unfair Advantage)

系统与数据思维

心智模型优势

特质投资映射
Patience & discipline和修复顽固 bug 一样,投资是最高形式的延迟满足
Abstract thinking习惯处理抽象概念(API、数据结构),理解无形资产(股票、债券、衍生品)更容易
Visionary thinking身处技术前沿(AI、VR、biotech),对哪些公司会定义未来有领域内视角

定义你的参数

第 2 章 — 投资基础(Investment Essentials)

2.1 会计基础(Accounting in a Nutshell)

损益表(Income Statement)

核心三要素:Revenue(总收入)、Expenses(费用)、Net income(净利润 = 收入 − 费用)

资产负债表(Balance Sheet)

核心公式:Assets = Liabilities + Shareholders’ Equity

自由现金流(Free Cash Flow)

核心公式:FCF = Operating Cash Flow − Capital Expenditures

2.2 行业分类(Industry Classification)

GICS 11 大板块及其主要影响因素

板块主要影响因素
Utilities(公用事业)利率、能源价格、监管、债券收益率
Consumer Staples(必需消费)利率、通胀、消费者信心、原材料成本
Consumer Discretionary(可选消费)消费支出、失业率、可支配收入
Communication Services(通信服务)政府监管、技术变革、竞争强度
Real Estate(房地产)利率、经济周期、人口变化、政策
Information Technology(信息技术)创新、网络安全威胁、监管变化
Energy(能源)油价、地缘政治稳定性、可再生能源趋势
Health Care(医疗保健)疫情、监管、药品定价、人口变化
Financials(金融)利率、经济周期、监管变化
Industrials(工业)制造业产出、贸易政策、大宗商品价格
Materials(原材料)大宗商品价格、供应链稳定性、环境法规

只投资自己理解业务的公司(Buffett):超市和科技公司的财报逻辑根本不同。苹果推出一款爆款产品,会直接体现在年度财报里;而 Walmart 最畅销的单品,在财报上几乎看不到踪迹。能读懂财报数字、并把它连接到公司的商业模式,才是做出明智决策的基础。

经济周期与行业表现

2.3 市值(Capitalization)

市值 = 流通股总数 × 当前股价,反映市场愿意为公司支付的价格。

分类市值区间
Mega-cap$2000 亿以上
Large-cap$100 亿 ~ $2000 亿
Mid-cap$20 亿 ~ $100 亿
Small-cap$2.5 亿 ~ $20 亿
Micro-cap$2.5 亿以下

2.4 指标与比率(Metrics and Ratios)

流动性(Liquidity)

衡量公司是否有能力偿还短期账单。

债务(Debt)

盈利(Earnings)

估值(Valuation)

盈利能力(Profitability)

分红(Dividends)

公司拿盈余去投资其他业务会怎样? 可口可乐曾涉足电信娱乐子公司,英国 Tesco 和 Sainsbury’s 也都试过做虚拟移动运营商。强势品牌 + 充足资本确实能打开新市场,但历史表明这类多元化扩张成功率参差不齐。支持者认为规模和既有体系是优势;反对者认为偏离核心业务容易损害品牌、拖累效率。公司”守住本业还是成为集团”这道题,值得在具体案例中独立评估,没有通用答案。

股权结构(Ownership)

ESG 与可持续性(Sustainability)

2.5 外部评估(External Assessments)


第 3 章 — 数据收集(Collecting Data)

选对数据源是投资分析的基础工程问题:yfinance 够用但有脆性,商业库稳定但有成本,关键是知道什么时候该升级。

3.1 金融数据分类(Financial Data)

金融数据天然比其他领域更可靠——上市公司财报需要审计、符合会计准则,但会计处理本身可以被人为”调节”。

三类数据:

类型特征示例
基本面数据(Fundamental)更新频率低(季报/年报);可审计利润表、资产负债表、现金流量表
技术数据(Technical)实时变动;对延迟敏感股价、成交量、短利率
非财务数据(Nonfinancial)非结构化;需挖掘社媒情绪、管理层语音情绪分析

3.2 金融分析平台(Financial Analysis Platforms)

Stock screener 是投资起点:按市值、行业、地区等条件筛选候选股,再深入研究。Finviz 是常用选择。

四类平台:

类别代表特点
搜索引擎金融页Yahoo Finance、Google Finance免费;yfinance 等开源库通过抓取提供数据
面向散户的分析平台Seeking Alpha、Morningstar、Koyfin订阅制($10–$350/年);少数提供 API
面向初创的数据提供商EODHD、Alpha Vantage、OpenBBAPI 优先;freemium 模式;$240–$1200/年
面向大型机构的商业产品Bloomberg Terminal、Refinitiv价格超出个人预算

3.3 数据科学笔记本(Data Science Notebooks)

3.4 yfinance

yfinance 是入门首选:免费、覆盖面广(美股 + 国际交易所)、基本面和技术分析都支持。但它依赖 Yahoo 非官方接口,生产环境不可依赖。

基本面分析(Fundamental Analysis)

microsoft = yf.Ticker('MSFT')
microsoft.income_stmt       # 利润表(DataFrame,列为报告日期)
microsoft.balance_sheet     # 资产负债表
microsoft.cash_flow         # 现金流量表
# 季报版本加前缀 quarterly_

追踪指标随时间的变化比单点值更有意义: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
# 对数收益率
log_rets = hist_prices["Close"].apply(lambda x: np.log(x / x.shift())).dropna()

yfinance 的局限性

3.5 商业库(Commercial Libraries)

数据流向:交易所(实时流)→ 数据提供商 → 开发者。基本面数据来源是 SEC / SEDAR 等监管机构的公开申报文件。

Finviz

EODHD

Alpha Vantage

OpenBB

3.6 库的选择标准