用 DuckDB 搭建自动财报分析器:从原始 CSV 到投资报告,全程一键生成
很多金融从业者和量化爱好者每天都在重复同一套动作:打开十几张 Excel,手动核对数字,写一堆 VLOOKUP 和公式,最后拼出一份财报分析。这套流程耗时 2-3 小时,且极易出错。
今天用 DuckDB 把整个流程自动化——从原始财报数据到可分享的分析报告,全程一条 SQL 搞定,耗时从 2 小时降到 30 秒。

一、场景定义:你需要分析什么
假设你持有以下原始数据文件(CSV 格式):
income_statement/*.csv:利润表(日期、股票代码、营收、净利润、毛利率等)balance_sheet/*.csv:资产负债表(日期、股票代码、总资产、总负债、净资产等)stock_quotes/*.csv:每日行情(日期、股票代码、收盘价、成交量等)
目标输出:每只股票的季度关键指标 + 同比/环比变化 + 简单的估值判断信号。
传统方案需要用 Excel 或 Python pandas 写十几行代码来处理,而 DuckDB 可以做到"数据在哪里,SQL 就在哪里跑"——不需要先把所有文件加载到内存,直接对磁盘上的文件执行分析。
二、核心代码:一条 SQL 搞定全链路
import duckdb
from datetime import datetime
# 连接 DuckDB(内存模式,也可换成持久化数据库)
con = duckdb.ATTACH (":memory:")
# 1. 直接读取 CSV(支持 glob,一次读多文件)
con.execute("""