【 Python 量化交易】第3章:金融基础概念

量化金融基础:先听懂行话 🎯

每个行业都有自己的行话,量化圈尤甚------策略、因子、信号、Alpha、Beta、夏普比率......不懂这些词,看再多的代码也是雾里看花。


文章目录

  • [量化金融基础:先听懂行话 🎯](#量化金融基础:先听懂行话 🎯)
    • [3.1 一笔量化交易的一生 🎬](#3.1 一笔量化交易的一生 🎬)
    • [3.2 核心量化术语 📚](#3.2 核心量化术语 📚)
    • [3.3 金融基本概念 🏦](#3.3 金融基本概念 🏦)
      • [📈 股票(Stocks)](#📈 股票(Stocks))
      • [🧺 投资组合(Portfolio)](#🧺 投资组合(Portfolio))
      • [🛡️ 风险管理(Risk Management)](#🛡️ 风险管理(Risk Management))
      • [💰 收益(Return)](#💰 收益(Return))
    • [3.4 进阶概念🎓](#3.4 进阶概念🎓)
    • [3.5 必会指标的计算 🧮](#3.5 必会指标的计算 🧮)
      • [📊 指标公式速查表](#📊 指标公式速查表)
      • [🐍 Python 一键验证](#🐍 Python 一键验证)
    • [3.6 概念之间的关系 🕸️](#3.6 概念之间的关系 🕸️)

3.1 一笔量化交易的一生 🎬

假设要做一个 "茅台均线策略"

步骤 概念 英文 具体内容 💡 通俗类比
因子 Factor 50日均线、200日均线 选股的"参考指标" 📏
信号 Signal 短期均线上穿长期均线 → 买入触发 扣动扳机的瞬间 🔫
策略 Strategy 金叉买入、死叉卖出(完整买卖规则) 交易的"作战计划" 🗺️
模型 Model 均线交叉模型的数学表达 市场的"沙盘模型" 🧩
回测 Backtesting 用 5 年历史数据验证策略效果 策略的"模拟考" 📝
上线 Go-live 实盘运行 从考场走向战场 ⚔️
资金管理 Money Management 控制每笔投入仓位、设定止损线 别把鸡蛋放一个篮子 🧺

解读这条主线

  1. 观察现象 :我们发现"均线"(一种因子)的交叉似乎预示着趋势变化。
  2. 触发条件 :当"短均线上穿长均线"时,系统发出买入信号(Signal)。
  3. 制定规则 :"什么情况下买、什么情况下卖"的完整规则,就是策略(Strategy)。
  4. 数学表达 :这套规则的数学描述,就是模型(Model)。
  5. 模拟考 :策略先在历史数据上"跑一遍"------这叫回测(Backtesting)。
  6. 实战 :成绩合格后实盘运行,同时用资金管理(Money Management)控制每笔投入多少、何时止损。

🛑 止损(Stop Loss) :价格跌破预设底线时强制卖出离场,用一笔小额的确定亏损,防止未来可能出现的大额亏损。💡 壮士断腕,保住本金。

🎯 核心链路

因子 → 信号 → 策略 → 模型 → 回测 → 实盘 + 资金管理

------整个量化世界都围绕它展开。


3.2 核心量化术语 📚

术语 英文 解释 类比
策略 Strategy 定义何时、何地、以何种条件买卖的完整系统 交易的"作战计划" 🗺️
因子 Factor 衡量资产/市场特征的数值(价格、均线、市值......) 选股的"参考指标" 📏
信号 Signal 根据策略和因子生成的买入/卖出指令 扣动扳机的瞬间 🔫
模型 Model 用数学表示市场行为,从简单统计到深度学习 市场的"沙盘模型" 🧩
回测 Backtesting 在历史数据上模拟评估策略,需警惕过拟合 策略的"模拟考" 📝
Alpha α 相对市场基准的超额收益,正值 = 策略比市场强 真本事赚的钱 💰
Beta β 投资组合相对市场的敏感度:>1 更激进,<1 更保守 跟随大盘的"心跳幅度" ❤️
夏普比率 Sharpe Ratio (策略收益率 − 无风险利率)/ 策略波动率 每承受一分颠簸换来几分收益 🎢
最大回撤 Max Drawdown 历史上任一时期可能的最大亏损百分比 最惨时亏掉几成 😰
资金管理 Money Mgmt 控制仓位、分散投资以保护本金 别把鸡蛋放一个篮子 🧺

🧠 Alpha 与 Beta 的直觉理解 :基金今年赚了 15%,大盘涨了 10% ------ 那么约 10% 是"随大盘水涨船高"的 Beta 收益,剩下约 5% 才是策略真正的 Alpha 收益。量化的终极追求就是:最大化 Alpha,控制 Beta


3.3 金融基本概念 🏦

📈 股票(Stocks)

股票是公司的所有权证券,代表对公司一部分所有权。购买股票意味着成为公司的股东,并有权分享公司的利润(分红)。

🧺 投资组合(Portfolio)

由多种不同资产(股票、债券、期货等)构成的一揽子投资。通过构建组合,投资者可以分散风险、提高收益潜力 ------ 单只股票暴雷,对整体组合的冲击有限。

🛡️ 风险管理(Risk Management)

通过识别、衡量和控制潜在风险来保护投资的方法。在量化金融中,常用统计学和数学模型来评估和管理组合风险(如计算 VaR 、设定止损线、控制仓位)。

💡 仓位(Position Sizing) :投入市场的资金占总资金的比例。买多少永远和买什么一样重要,仓位管理是风控的第一道闸门。

💰 收益(Return)

投资的盈利,通常以百分比表示。投资者追求最大化收益,但必须同时考虑风险 ------ 收益与风险永远是一枚硬币的两面


3.4 进阶概念🎓

概念 英文 核心思想
算法交易 Algorithmic Trading 用预定规则和数学模型交易,程序高速高效执行
量化模型 Quantitative Models 基于历史数据/技术面/基本面分析预测市场的数学模型
高频交易 High-Frequency Trading 以极快速度交易,赚取极短时间内微小利润
套利 Arbitrage 同时买卖同一/相似资产,利用价格差获得低风险利润
蒙特卡洛模拟 Monte Carlo Simulation 生成大量随机样本模拟市场不确定性,评估组合的风险与收益

💡 蒙特卡洛模拟

就像让计算机把未来市场"重演"一万遍 ------ 每一遍随机走出一条不同的路径 ------ 然后统计:最坏情况亏多少?最好情况赚多少?从而对不确定性心中有数。


3.5 必会指标的计算 🧮


📊 指标公式速查表


🐍 Python 一键验证

python 复制代码
# ② 年化收益率:3 个月(90 天)赚 5%
annualized = (1 + 0.05) ** (365 / 90) - 1
print(f"年化收益率 = {annualized:.1%}   # (1.05)^(365/90) - 1")

# ③ 夏普比率:策略年化 15%,波动率 10%,无风险利率 2%
sharpe = (0.15 - 0.02) / 0.10
print(f"夏普比率   = {sharpe:.1f}     # (15% - 2%) / 10%")

# ④ 最大回撤:净值 100 → 150 → 90
nav = [100, 150, 90]
running_max, mdd = nav[0], 0.0
for v in nav:
    running_max = max(running_max, v)
    mdd = max(mdd, (running_max - v) / running_max)
print(f"最大回撤   = {mdd:.0%}      # (150 - 90) / 150")

运行结果(Python 3.12)

🐍 完整的 Python 实现函数会在 7.4 节给出,此处先建立直觉。


3.6 概念之间的关系 🕸️

它们不是孤立的,而是相互连接、反馈优化的系统:
#mermaid-svg-cwRQN2uDVEM3q41v{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-cwRQN2uDVEM3q41v .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-cwRQN2uDVEM3q41v .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-cwRQN2uDVEM3q41v .error-icon{fill:#552222;}#mermaid-svg-cwRQN2uDVEM3q41v .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-cwRQN2uDVEM3q41v .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-cwRQN2uDVEM3q41v .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-cwRQN2uDVEM3q41v .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-cwRQN2uDVEM3q41v .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-cwRQN2uDVEM3q41v .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-cwRQN2uDVEM3q41v .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-cwRQN2uDVEM3q41v .marker{fill:#333333;stroke:#333333;}#mermaid-svg-cwRQN2uDVEM3q41v .marker.cross{stroke:#333333;}#mermaid-svg-cwRQN2uDVEM3q41v svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-cwRQN2uDVEM3q41v p{margin:0;}#mermaid-svg-cwRQN2uDVEM3q41v .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-cwRQN2uDVEM3q41v .cluster-label text{fill:#333;}#mermaid-svg-cwRQN2uDVEM3q41v .cluster-label span{color:#333;}#mermaid-svg-cwRQN2uDVEM3q41v .cluster-label span p{background-color:transparent;}#mermaid-svg-cwRQN2uDVEM3q41v .label text,#mermaid-svg-cwRQN2uDVEM3q41v span{fill:#333;color:#333;}#mermaid-svg-cwRQN2uDVEM3q41v .node rect,#mermaid-svg-cwRQN2uDVEM3q41v .node circle,#mermaid-svg-cwRQN2uDVEM3q41v .node ellipse,#mermaid-svg-cwRQN2uDVEM3q41v .node polygon,#mermaid-svg-cwRQN2uDVEM3q41v .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-cwRQN2uDVEM3q41v .rough-node .label text,#mermaid-svg-cwRQN2uDVEM3q41v .node .label text,#mermaid-svg-cwRQN2uDVEM3q41v .image-shape .label,#mermaid-svg-cwRQN2uDVEM3q41v .icon-shape .label{text-anchor:middle;}#mermaid-svg-cwRQN2uDVEM3q41v .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-cwRQN2uDVEM3q41v .rough-node .label,#mermaid-svg-cwRQN2uDVEM3q41v .node .label,#mermaid-svg-cwRQN2uDVEM3q41v .image-shape .label,#mermaid-svg-cwRQN2uDVEM3q41v .icon-shape .label{text-align:center;}#mermaid-svg-cwRQN2uDVEM3q41v .node.clickable{cursor:pointer;}#mermaid-svg-cwRQN2uDVEM3q41v .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-cwRQN2uDVEM3q41v .arrowheadPath{fill:#333333;}#mermaid-svg-cwRQN2uDVEM3q41v .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-cwRQN2uDVEM3q41v .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-cwRQN2uDVEM3q41v .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-cwRQN2uDVEM3q41v .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-cwRQN2uDVEM3q41v .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-cwRQN2uDVEM3q41v .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-cwRQN2uDVEM3q41v .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-cwRQN2uDVEM3q41v .cluster text{fill:#333;}#mermaid-svg-cwRQN2uDVEM3q41v .cluster span{color:#333;}#mermaid-svg-cwRQN2uDVEM3q41v div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-cwRQN2uDVEM3q41v .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-cwRQN2uDVEM3q41v rect.text{fill:none;stroke-width:0;}#mermaid-svg-cwRQN2uDVEM3q41v .icon-shape,#mermaid-svg-cwRQN2uDVEM3q41v .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-cwRQN2uDVEM3q41v .icon-shape p,#mermaid-svg-cwRQN2uDVEM3q41v .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-cwRQN2uDVEM3q41v .icon-shape .label rect,#mermaid-svg-cwRQN2uDVEM3q41v .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-cwRQN2uDVEM3q41v .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-cwRQN2uDVEM3q41v .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-cwRQN2uDVEM3q41v :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 验证与优化
核心要素
提供原材料
定义规则
触发动作
支撑
记录交易
计算
反馈
指导
限制仓位
🧠 模型 Model

用数学描述市场
📜 策略 Strategy
🧮 因子 Factor

均线/市值/波动率...
💡 信号 Signal

买/卖/持有
⚡ 执行
⏪ 回测 Backtesting
📊 绩效指标

Alpha / Beta / Sharpe / MDD
🛡️ 资金管理 Money Mgmt

  • 因子是模型的输入特征(如均线、市值);
  • 模型 根据因子生成信号
  • 策略是信号和规则的合集;
  • 执行 后进入回测 ,计算绩效指标
  • 绩效反馈给策略和资金管理,形成闭环优化。

💡 量化不是"一次性工程",而是一个不断迭代、反馈、优化的循环。理解了这个关系网,就掌握了量化研究的全局地图。

相关推荐
Feynman’s boom14 分钟前
PDF解析文字提取后RAG仍然检索不准
python·pdf解析·rag
一木 之林21 分钟前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
吴声子夜歌23 分钟前
Java——类、对象及方法(一)
java·开发语言
心易行者30 分钟前
从零搭建完整Web应用:7步走完全流程,配合web应用托管零门槛上线
人工智能·python·ai编程
阿里嘎多学长32 分钟前
2026-08-29 GitHub 热点项目精选
开发语言·程序员·github·代码托管
小柯南敲键盘1 小时前
跨境电商图片翻译工具,批量处理视频字幕与抠图
人工智能·python·音视频
এ慕ོ冬℘゜1 小时前
JavaScript学习心得:从只会语法,到真正会写业务逻辑
开发语言·javascript·ecmascript
2601_966949651 小时前
五档盘口数据对量化交易有什么价值?从信号判断到策略风险的完整分析
开发语言·人工智能·python·数据分析·量化·股票数据·quantdash
cxhello1 小时前
消费者活着、心跳正常、日志干净,但它七天没拉过一条消息
python·kafka