一、学习路径总览 整体规划 · 预计 12-20 周
💡 学习建议
优势是金融 domain knowledge 很深,这在量化领域比写代码更稀缺。学习路径应是工具导向,而非计算机科学导向。优先学能立即用在投研工作中的技能。二、Python 基础阶段 预计 2-4 周
第 1-2 周核心语法
- 变量与数据类型(int, float, str, bool, list, dict)
- 控制流(if/elif/else, for/while 循环)
- 函数定义与参数传递(def, return, *args)
- 文件读写(open, with 语句,CSV/JSON 处理)
重点:list 和 dict 金融场景:持仓数据用 dict 存储
第 3-4 周实战练手
- 用 Python 重写你现有的 Excel 财务模型(最佳练手方式)
- 用 open() 读取 CSV 格式的历史价格数据
Python 基础知识点掌握进度(可自评打勾)
📚 推荐资源
廖雪峰 Python 教程(免费、中文、够用)→ liaoxuefeng.com重点:只需学前 60% 的内容(到"模块"章节即可),跳过 GUI、网络编程等无关内容。
三、数据处理三件套 预计 4-6 周
练手项目用 Pandas 重写 Excel 财务模型
步骤:
- 用
pd.read_excel() 读取你现有的小米集团财务模型 Excel 文件 - 用
df[['营收','毛利率']].pct_change() 计算同比增速 - 用
df.to_excel() 输出结果,对比手工计算值
四、金融数据获取 边学边用 · 持续积累
⚡ 快速起步方案
先用 AkShare(无需注册)→ 积累经验后迁移到 Tushare Pro(数据质量更高)。AkShare 安装:pip install akshare,获取数据示例:ak.stock_zh_a_spot_em()五、基本面量化实战 预计 4-6 周
ROE = 净利润 / 股东权益 = 净利率 × 资产周转率 × 权益乘数 (杜邦分解)
核心流程基本面量化四步法
- 获取财务数据:用 Tushare 拉取利润表、资产负债表、现金流量表
- 计算财务指标
- 构建因子:将财务指标转化为排序信号(如 ROE 排名前 20%)
- 回测验证:用 Backtrader 或向量化回测框架验证策略有效性
# 示例:用 Tushare 获取财务指标并计算 ROE 分位数import tushare as tsimport pandas as pdts.set_token('你的TOKEN')pro = ts.pro_api()# 1. 获取最近4个季度财务指标df = pro.fina_indicator(ts_code='000001.SZ', start_date='20240101', fields='ts_code,end_date,roe,roe_dt,roe_adjusted,grossprofit_margin')# 2. 计算 ROE 分位数(横向对比)df['roe_percentile'] = df['roe'].rank(pct=True)# 3. 筛选 ROE > 15% 且毛利率 > 20% 的股票signal = df[(df['roe'] > 15) & (df['grossprofit_margin'] > 20)]print(signal[['ts_code','roe','grossprofit_margin']])
六、量价分析实战 预计 3-5 周
OBV_t = OBV_{t-1} + \begin{cases} Volume_t & \text{if } Close_t > Close_{t-1} \\ 0 & \text{if } Close_t = Close_{t-1} \\ -Volume_t & \text{if } Close_t < Close_{t-1} \end{cases}# 示例:量价背离检测(价格新高但 OBV 不创新高)import pandas as pdimport talib as ta# 假设 df 包含 close, volume 列(来自 Tushare/AkShare)df = pd.read_csv('price_data.csv')# 计算 OBV 和 20日均线df['obv'] = ta.OBV(df['close'], df['volume'])df['price_ma20'] = df['close'].rolling(20).mean()df['obv_ma20'] = df['obv'].rolling(20).mean()# 量价背离信号:价格创新高 但 OBV 未创新高df['price_new_high'] = df['close'] > df['close'].rolling(60).max().shift(1)df['obv_new_high'] = df['obv'] > df['obv'].rolling(60).max().shift(1)df['divergence_sell'] = df['price_new_high'] & (~df['obv_new_high'])print(f"发现 {df['divergence_sell'].sum()} 个量价背离信号")
七、AI 辅助开发四层次 即学即用 · 效率倍增
🤖 AI 提问技巧(决定输出质量)
- 给足上下文:说明用的数据源(Tushare/AkShare)、Python 版本、是否有 token
- 分步骤提问
- 要求完整代码:明确说"给出可直接运行的完整代码,包含 import 和数据示例"
- 验证 AI 输出:AI 生成的代码可能用过时的 API,必须实际运行验证
八、学习资源与下一步行动 持续更新
📖 廖雪峰 Python 教程
免费、中文、覆盖基础语法。只需学前 60%,跳过 GUI/网络编程。
📊 Tushare 官方文档
pro.tushare.pro → 接口文档详尽的 A 股数据 API 参考。
📈 AkShare 文档
akshare.xyz → 免费无需 token,快速验证想法首选。
🤖 Backtrader 文档
backtrader.com → Python 回测框架,支持多资产、多策略。
📝 《Python 量化交易实战》
蔡立耑著,适合有金融基础的 Python 量化入门书籍。
🔍 JoinQuant / RiceQuant
在线量化平台,免环境配置,直接写策略回测。
🎯 下一步行动建议
- 本周:安装 Python + VSCode,完成廖雪峰教程前 10 节,用 Pandas 读取一个 Excel 财务模型文件
- 本月:注册 Tushare,获取你研究过的股票(小米、中兴、福能)的财务数据,与手工整理的数据对比验证
- 下月:把你的 ROE 杜邦分析框架描述给 AI,让它帮你写成可回测的策略代码
- 长期:逐步建立自己的因子库,把认为有效的财务指标用 Python 实现,形成系统化的信号生成体系
Python 金融开发学习路径 · 基本面量化与量价分析
由 WorkBuddy AI 辅助生成 · 查看完整代码
本文件仅供学习参考,不构成投资建议。投资有风险,入市需谨慎。