datawhale量化笔记(1)

datawhale量化笔记(1) 量化金融入门笔记1. 常见金融数据接口对比金融数据接口没有绝对最优关键是看使用场景入门阶段重视免费和易用研究阶段重视稳定和规范正式回测阶段重视数据质量和偏差控制。1.1 快速选型使用场景推荐接口主要原因零成本入门、快速获取 A 股数据AKShare、efinance无需注册开箱即用覆盖面广想要更稳定、结构化的国内金融数据TuShare ProAPI 标准化文档完善数据清洗较好做美股或全球市场研究yfinance免费、简单适合获取美股和全球指数数据快速探索、技术指标、画图qstock集成数据获取、指标计算和可视化严肃策略回测或投研JQData、rqdatac数据质量高覆盖退市股票和专业字段简单记忆免费入门优先看 AKShare、efinance。A 股规范化研究优先看 TuShare Pro。美股与全球市场优先看 yfinance。专业回测优先看 JQData、rqdatac。1.2 轻量开源接口这类接口通常通过解析公开财经网站获取数据适合初学者、个人项目、轻量级数据看板和课程演示。优点是上手快缺点是稳定性受源站影响。AKShareAKShare 是一个开源、免费的 Python 金融数据接口库。它主要通过网络爬虫从公开财经网站获取实时和历史数据例如东方财富、新浪财经、网易财经、中国人民银行等。优势完全免费无需注册或申请 Token。覆盖范围很广包括 A 股、港股、美股、期货、期权、基金、债券、外汇、宏观经济数据、加密货币等。开源社区活跃数据源失效时通常会有人维护和修复。劣势稳定性受源站影响。目标网站改版、反爬机制升级或接口变更时相关接口可能失效。没有统一数据存储。每次调用通常都是实时向源站请求数据频繁或高并发请求可能触发限制。数据清洗质量不完全一致。字段缺失、格式变化等问题需要使用者自己检查。适合场景零基础入门量化数据获取。快速验证想法或做课程练习。需要覆盖较多国内公开数据源但对稳定性要求不极端的项目。efinanceefinance 是一个基于公开财经网站的轻量金融数据接口库常见数据源包括东方财富、网易财经、腾讯财经等。优势上手很快无需注册或配置 Token。接口命名直观例如ef.stock.get_quote_history。覆盖日常常用数据包括 A 股、港股、美股历史行情与实时行情以及基金、期货数据。默认返回 Pandas DataFrame便于后续分析。劣势与 AKShare 类似底层依赖公开网页或接口源站变化会影响可用性。适合场景想快速拿到整洁 DataFrame 的初学者。简单行情看板、脚本分析、小型数据实验。qstockqstock 是一个集数据获取、技术指标计算和可视化于一体的综合金融量化分析库。优势不只获取行情还内置常用技术指标计算例如 MACD、KDJ。提供画图能力例如 K 线图。融合东方财富、同花顺、新浪等多个数据源探索体验较好。劣势更适合个人探索和可视化。如果需要极深的财务历史数据、严格复权逻辑或专业回测数据支持力度相对有限。适合场景技术指标学习。快速画图和探索行情。教学演示或个人研究原型。1.3 标准化 API 平台这类平台通常自己存储和清洗数据通过标准 API 对外提供服务。相比网页解析型接口稳定性和数据规范性更好但往往有注册、积分或付费门槛。TuShare ProTuShare 是国内非常流行的金融数据平台。早期版本完全免费现在常用的是 TuShare Pro采用积分制。用户可以通过注册、签到、发布文章或付费赞助获取积分不同积分等级对应不同接口权限和调用频次。优势接口稳定。数据存储在 TuShare 自己的服务器上通过标准 API 提供服务不容易因为第三方网站改版而失效。数据质量较高。数据经过官方清洗和结构化处理格式规范历史数据较完整。文档完善有活跃的中文社区和客服支持。劣势有获取门槛。基础数据通常容易免费获取但高频数据、分钟级 K 线、详细财务指标或更长历史数据往往需要较多积分。有调用频次限制。积分等级会影响每分钟调用次数大规模批量下载时需要注意。适合场景需要稳定、规范的 A 股数据。需要较完整的历史行情和基础财务数据。学习量化时希望减少数据格式混乱带来的干扰。1.4 海外与全球市场接口Yahoo Finance / yfinanceYahoo Finance 是全球知名的免费金融数据源之一。在 Python 中通常使用yfinance库下载数据。它主要服务于全球市场尤其适合美股和发达国家市场。优势全球市场覆盖较广适合获取美股、欧洲股市、外汇、加密货币和全球主要指数数据。使用简单无需注册直接传入股票代码即可获取历史行情和部分基本面数据。调整后价格处理较方便能自动处理拆股、分红等除权除息数据适合做美股历史回测。劣势国内网络访问可能不稳定可能遇到延迟或无法连接的问题。A 股支持较弱。虽然可以通过后缀代码获取部分 A 股数据例如000001.SZ但可能出现缺失、更新不及时或复权处理不符合国内习惯的问题。基本面数据深度有限详细财务报表和长历史数据不如专业收费数据库。适合场景美股历史行情分析。全球指数、外汇、加密货币的快速研究。海外资产配置或跨市场对比。1.5 投研级数据接口如果要做严肃的策略回测尤其需要无幸存者偏差、处理停牌、复权、退市股票和高质量财务数据就应该考虑专业量化平台的数据接口。JQData聚宽JQData 是聚宽量化投研平台推出的本地金融数据接口通常以 Python SDK 的形式使用。优势专业级数据清洗。包含历史退市股票有助于规避回测中的幸存者偏差。数据维度丰富。除了 K 线还包括分钟级数据、逐笔高频数据、申万行业分类、详细财务报表和各类因子数据。通常提供一段时间免费试用对学术研究也可能有优惠支持。劣势试用期后属于付费服务对个人零成本使用者有一定资金门槛。适合场景策略回测。因子研究。对数据准确性和历史完整性要求较高的项目。rqdatac米筐rqdatac 是米筐科技Ricequant提供的机构级金融数据接口。优势稳定性和准确度很高常用于专业投资机构、券商和高校研究。数据结构严谨适合严肃投研。对期货、期权等衍生品数据支持较专业。劣势商业化程度较高免费使用门槛相对高。主要面向企业、机构或高校学术合作。适合场景机构级投研。衍生品研究。对数据质量、稳定性和服务支持要求很高的项目。1.6 数据接口使用注意事项不要默认免费数据一定准确。使用前应检查字段含义、缺失值、复权方式和时间范围。爬虫型接口适合学习和原型验证但不适合高频、大规模、强稳定性生产任务。做回测时要特别关注幸存者偏差、前复权/后复权、停牌、退市和交易日历。批量下载数据时要控制请求频率避免触发源站限制。如果研究结论很重要最好使用多个数据源交叉验证。2. 股价真的是随机游走吗这个实验让 50 只“虚拟股票”同时从 100 元出发各自独立随机游走 250 个交易日约等于 1 年。2.1 实验观察每条价格路径都完全不可预测。单只股票的走势像随机走路路径不重复也很难提前判断方向。大量路径的终点价格呈现统计规律通常接近正态分布。波动幅度会随着时间增长而扩大并且常常与时间平方根成正比。2.2 这个实验告诉我们什么这正是巴舍利耶在 1900 年揭示的核心洞察单只股票的走势无法稳定预测。大量股票或大量路径的统计规律更稳定。量化金融的核心逻辑不是预测单一结果而是利用统计规律。也可以这样理解单条路径是随机的但大量路径的分布是有规律的。2.3 对量化金融的启发量化研究通常不追求“精准预测明天涨跌”而是研究某类信号在大量样本中是否有统计优势。这种优势是否能覆盖交易成本。这种优势在不同市场阶段是否稳定。策略长期重复执行后收益和风险是否可接受。3. 凯利公式是什么凯利公式Kelly Criterion是一个用于资金管理和头寸管理的经典公式。它由物理学家约翰·凯利John L. Kelly Jr.于 1956 年提出最初用于通信理论后来被广泛应用于博弈、赛马和金融投资。凯利公式回答的问题是当一个机会的胜率和赔率已知并且它具有正期望收益时每次应该投入多少资金才能让长期资金增长速度最大同时尽量避免破产3.1 基础公式最基础的凯利公式如下f∗b⋅p−qb f^* \frac{b \cdot p - q}{b}f∗bb⋅p−q​其中f∗f^*f∗应该投入的资金占总资金的比例也就是最优下注比例。bbb净赔率即赢钱时赚取的净利润与输钱时损失本金的比例。例如投 1 元赢了净赚 2 元则b2b 2b2。ppp赢的概率也就是胜率。qqq输的概率并且q1−pq 1 - pq1−p。这个公式也可以写成f∗p−qb f^* p - \frac{q}{b}f∗p−bq​3.2 一个直观例子假设有一个不均匀硬币抛出正面的概率是 60%即p0.6p 0.6p0.6。抛出反面的概率是 40%即q0.4q 0.4q0.4。猜对时押 1 元净赚 1 元因此b1b 1b1。代入凯利公式f∗1×0.6−0.410.2 f^* \frac{1 \times 0.6 - 0.4}{1} 0.2f∗11×0.6−0.4​0.2这意味着最优策略是每次投入当前总资金的 20%。如果投入比例过高例如每次押 50% 或全仓连续几次亏损就会导致资金快速缩水。如果投入比例过低例如每次只押 1%虽然更安全但长期增长速度会偏慢。3.3 金融投资中的形式在股票、期货或外汇等金融市场中凯利公式常被写成连续时间形式f∗μ−rσ2 f^* \frac{\mu - r}{\sigma^2}f∗σ2μ−r​其中μ\muμ资产的预期收益率。rrr无风险利率。σ2\sigma^2σ2资产收益率的方差代表波动和风险。这个公式表达了一个很直观的思想预期收益越高应该配置的仓位越重。波动和风险越大应该配置的仓位越轻。3.4 凯利公式的优势最大化长期收益。在概率和赔率已知的前提下凯利公式可以最大化长期几何平均增长率。理论上能避免破产。只要每次投入的是当前资金的一定比例并且比例小于 100%资金不会一次性归零。强调仓位管理。它提醒我们赚钱不只取决于方向判断也取决于每次下注的大小。3.5 凯利公式的局限概率和赔率很难准确估计。金融市场中的胜率和赔率只能用历史数据估算未来可能变化。高估优势会非常危险。如果把胜率估得过高凯利公式会给出过大的仓位可能造成严重亏损。回撤可能很大。完全凯利策略的资金曲线波动很剧烈很多人无法承受。现实交易不能无限细分。股票有最小交易单位也有手续费、滑点和流动性约束。3.6 分数凯利由于完全凯利风险较高实际投资中更常使用分数凯利Fractional Kelly。常见做法是半凯利实际仓位0.5×f∗ 实际仓位 0.5 \times f^*实际仓位0.5×f∗分数凯利的好处是长期增长速度会略低于完全凯利。回撤幅度和波动会明显降低。更符合真实投资者的心理承受能力。3.7 索普的启发索普在 1961 年用实际投注验证过一个重要道理只有概率优势和仓位管理结合起来长期盈利才可能稳定出现。类型概率优势仓位管理长期结果玩家 A无使用凯利公式随机波动长期不一定盈利玩家 B有 2% 优势使用凯利公式稳定盈利复利增长玩家 C有 2% 优势过度下注大起大落甚至可能亏光量化金融的底层逻辑可以概括为找到概率优势这是策略研究的目标。科学管理仓位这是风险控制的目标。长期重复执行这是纪律和系统化交易的目标。概率优势 × 仓位管理 × 长期纪律 量化盈利的完整公式。