针对Quant的Python快速入门指南

使用Python的QuantLib库,进行期权的定价与希腊字母的计算(2) 阅读详情
作者:用Python的交易员
原创文章,转载请注明出处


最近有越来越多的朋友在知乎或者QQ上问我如何学习入门Python,就目前需求来看,我需要写这么一篇指南。

针对整个vn.py框架的学习,整体上有两条不同的路线:
  • 有经验的Quant学习如何使用Python语言来做策略和交易程序的开发(编程语言是学习重点)
  • 有经验的程序员学习如何将自己的编程知识和经验应用在量化研究和策略开发上(金融量化是学习重点)

我自己本身是金融工程硕士,毕业后也是从Quant入行,所以这篇指南主要针对的是第一条路线,欢迎社区里从第二条路线入行的朋友写写自己的经历。

以下内容建议按照顺序一步步走,不要跳步、不要偷懒,多敲代码、多做调试,英语不好的就当顺道提高阅读水平吧。

Learn Python The Hard Way

这套教程是我进入Python世界大门的敲门砖,一共50个Exercise包含了一个Python新手需要知道的所有基础:
  • 如何搭建Python环境
  • 变量、注释、运算符
  • 输入、输出
  • 函数
  • 数据结构:字典、列表、集合
  • OO:类和对象
  • 控制语句:条件、循环
  • Python的模块
  • 构建一个小型项目
  • 等等

学习方法很简单:照着Introduction章节中的要求,不用IDE只用编辑器(文中推荐的是Notepad++,个人觉得Sublime Text也不错),一行一行地敲代码,敲完后用最原始的方法来运行,根据Python解释器的异常输出来做调试。
50个Exercise全部完成后,你基本就掌握Python的运行和调试方法以及基础语法了。

利用Python进行数据分析



这本书的作者Wes McKinney在美国著名的量化对冲基金AQR工作时开发了Python在数据分析领域的主要工具pandas。这本书最大的特点之一是作者用非常多的案例来介绍numpy、matplotlib、pandas和ipython在实践中的使用方法,读者实际操作过一次后立即就可以把相关的知识应用在自己其他相关的项目上。

网上有不少建议新手直接从某个库的用户手册开始学习,我个人不赞同这种方法。原因是大部分库的用户手册主要是介绍其API的使用方法,内容写得太过抽象,对于本来就没有太多经验的新手而言就跟死记硬背英文单词差不多,看了挺久后往往还不知道如何把代码系统化的整合起来解决自己的问题。

Python Cookbook
链接: 京东购买页面

有了以上两段学习的基础后,可以把Cookbook这本著名的“烹饪秘籍”买了放在书橱里以备不时之需(没完成以上两段买了也是浪费看不懂)。既然叫秘籍,内容难度高是必然的,整本书根据用户要使用Python解决的具体问题来区分章节,请了每个领域中的大牛分享了一些经验和代码。

和前两本不同的是这本书的内容不用全部掌握,可以先大概扫一遍知道每章有什么内容,后面做开发遇到相应问题时再来翻书研究。另外这本书里很多技术属于Python的“奇技淫巧”级别,如果能全部掌握对于编程水平会有非常大的提高。

PyQt4入门(ZetCode)
链接: ZetCode

PyQt4是目前Python上最为主流的GUI开发库,底层运行的是C++开发的Qt代码,上层使用Python封装的API来实现调用,运行效率足以满足开发量化交易实时监控界面的需求。

对于Python新手而言,学习PyQt4除了开发GUI外,更重要的是吸收PyQt4代码中的面向对象(OO)的设计模式相关的知识。简单的量化策略可以用过程式编程的方法来实现(如轮询价格、突破100买、跌破90卖),但是对于复杂的量化策略(如期权波动率套利、跨多市场套利等)就需要使用OO的设计模式来解耦不同功能的模块(信号生成、委托下单、风险管理),提高整个代码的健壮性和可维护性。PyQt4的OO编程风格非常简洁和清爽,掌握后用在其他的项目开发上可以大幅提高程序的编码质量。
另外推荐这本书给想要更深入学习PyQt4的朋友: Introduction to Python Programming and Developing GUI Applications with PyQT

QuantStart



应该是目前全球Python量化交易领域访问量最大和内容最丰富的网站,不加之一是因为据我所知还没有更大的,而且我还喜欢经常在网上找Python量化的资料,应该算得上经验丰富。
QuantStart上的内容整体难度较高,都是直接使用Python来处理量化交易项目的知识经验和代码实例,没有老老实实学完前几个部分大概率是会看得云里雾里。
总结下网站文章的大体分类:
  • 买方(P宗):

    • 算法交易
    • 统计建模和机器学习
    • 量化策略研究
    • 时间序列建模
  • 卖方(Q宗):

    • 二叉树模型
    • 随机积分
    • 偏微分方程PDE
  • 代码示例:

    • C++
    • Python
    • 外汇交易平台开发
    • 统计套利平台开发
  • Quant职业生涯

    • 职业生涯建议
    • 读书笔记

另外网站的作者也写了两本书Successful Algorithmic Trading和Advanced Algorithmic Trading,比起另外一个著名的量化博客主E.P. Chan写的两本书质量要好非常多,推荐购买。

其他学习内容
CodeCombat





写Python代码来玩RPG游戏,游戏设计的非常好,毫无基础的人也能逐步掌握Python编程(本来就是设计给孩子的),同时一些关卡对于程序员的逻辑思维能力有很好的训练。游戏难度随着关卡逐步增强,到后期还是有相当的挑战度,可能导致学习者沉迷其中,入坑前请谨慎三思……

Flask Web开发:基于Python的Web应用开发实战


Flask是Python目前在Web开发领域人气最高的框架之一(另一个是Django),采用微框架的设计哲学,代码短小精悍,同时还有着非常好的扩展性。整本书的内容就是教会读者如何一步步从0开始搭建一个自己的博客,中间涉及的设计模式、数据库ORM、APP部署等知识在量化领域也都有相应的应用。

廖雪峰的Python教程

可以作为LPTHW的中文版替代,涉及的内容相对更加丰富也带有大量的代码实例,不过整个教程中对于Python一些底层特性的讲解较多,更加适合完成了前几个阶段的学习后用来作为二次的知识巩固和提高,初学者建议还是从LPTHW开始入门。

知乎


知乎和豆瓣一样,都是国内使用Python开发的大型项目,其员工对于Python的讨论氛围非常浓厚。同时作为一个以问答为主的社区,知乎上的Python问题下汇聚了很多国内Python业界的大牛级高手的回答和文章,上下班挤地铁、买早饭排队、晚上睡不着的时候随手翻一翻,既解决了无聊又能吸收很多碎片化的知识。

vn.py项目




最后,请允许我厚着脸皮推荐一下自己的开源项目……  #^_^#

QuantPy:Python中的量化金融框架 定量 python中的定量金融框架。 免责声明:这是一个非常简单的项目。 它尚未准备就绪,将不会使用一段时间。 实际上,作者仍在非常学习这种框架需要包含的内容。 但是,如果您认为自己对任何类型的人都有帮助,那么欢迎他们。 谢谢! 当前的一些功能: 可以从Yahoo导入每日收益的投资组合类。 计算夏普比率和有效边界的最佳权重 裸露的骨骼事件探查器 说明文件: 可以在中。 请启动他们以获取更多信息。 捐款欢迎。 无论是功能请求,错误报告,对文档的贡献,新功能的补丁,其他改进的错误修复,都欢迎为该项目做出任何贡献。 只需,添加一些内容并[发出拉取请求]( )。 如果您是Git的新手,那么非常适合用于进一步的细节。 同样,仅下载代码并提供反馈也非常有用。 将您的反馈意见提交到的。 提前致谢。 您也可以通过irc.freenode.net上的#quantpy加入我们。 如何安装。 立即下载

相关推荐

XIAO ESP32S3 Sense摄像头与麦克风实战:从硬件连接到AI语音视觉项目

本文详细介绍了如何使用Seeed Studio XIAO ESP32S3 Sense开发板进行AI语音视觉项目开发。从硬件连接到Arduino环境搭建,再到摄像头拍照、视频流传输、麦克风录音等实战操作,最后引导读者探索基于TensorFlow Lite Micro的语音唤醒和SenseCraft AI的图像识别等AI应用,为物联网和边缘AI项目提供了完整的入门指南。

xray4的博客 1026

探秘Python Quant:金融科技领域的量化投资神器

探秘Python Quant:金融科技领域的量化投资神器 去发现同类优质开源项目:https://gitcode.com/ 在金融投资领域,量化投资是一种利用数学模型和计算机程序进行交易决策的方法。今天,我们要介绍的python_quant项目,就是一款基于Python的开源量化投资框架,它为开发者和投资者提供了强大的工具,帮助他们在金融市场中实现智能化、自动化交易。 项目简介 python_qu...

gitblog_00083的博客 616

windows10 + wsl2安装docker

一、安装wsl https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 1.1以管理员身份运行powershell 1.2执行如下命令 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 1.3重启电脑 1.4 重启电脑后,如果需要安装wsl2, 则安装官方文档继续后续操作,因我...

happytree001的博客 1571

Python Quant

Numpy arange 创建等差数组 np.arange(5,20, step = 2) [ 5 7 9 11 13 15 17 19] reshape 重塑 import numpy as np b = np.arange(27).reshape(3, 3, 3) [[[ 0 1 2] [ 3 4 5] [ 6 7 8]] [[ 9 10 ...

tony__lin 1126

MavLink协议入门

MAVLink是一个非常轻量化的开源的消息协议,用于无人机之间的通信以及无人机机载设备之间的通信。

ffffffeiyu的博客 2479

Labview_DQMH框架学习1--浅析

本文主要结合一个相对容易理解的例子,阐述 DQMH 框架的工作原理,希望对初学者有一定的帮助。

hrbeuxn的博客 3053

进阶的阿牛哥之pandas透视表pivot_table的使用

1、原数据data的呈现形式是:多列,无行索引;一个一个标的平铺而成。 2、数据透视后,方便计算所有标的某个值的变化,示例中是收盘价close。 代码全文: from atrader import * import numpy as np import pandas as pd import matplotlib.pyplot as plt import math import statsmodels.api as sm import datetime as dt import scipy.stats a.

微信公众号进阶的阿牛哥的博客 377

AG16K MCU ARM Cortex M3

其中,Input文件为Keil生成的mcu程序文件,输出为合成后的存储格式Bin文件,Program address 为上方表格中“程序运行 RAM 地址(4bytes)”,即 Keil 中设置的程序运行地址。其中 MCU 程序的地址,根据 mcu.ip 中设置的 FLASH_BIAS 进行设置。AG16K MCU 的 FPGA 工程中,需调用 alta_mcu_m3 的硬核 IP,包含在 alta_sim.v 的库文。Quartus II。//MCU 程序在 FLASH 中存放的首地址。

Embeded_FPGA的博客 1809

GS Quant:高盛25年量化金融经验铸就的Python微秒级交易引擎

在量化金融领域,每微秒的延迟都意味着数百万美元的潜在损益。GS Quant作为高盛25年市场经验的技术结晶,不仅仅是一个Python工具包,更是连接全球顶级风险转移平台与量化策略开发者的桥梁。这个基于世界最强大风险平台的工具集,专为加速衍生品定价、交易策略开发和风险管理解决方案而生,将机构级金融工程能力封装为开发者友好的Python接口。 ## 项目定位与价值主张:机构级量化工具的革命性突破

gitblog_00826的博客 974

死区补偿---学习笔记

最近调试中发现,死区补偿对电流谐波和电流带宽影响挺大,于是对死区补偿产生浓厚兴趣,找来几篇文章粗读并做一下笔记。 传统做法 无非就是根据电流方向补偿,假如svpwm计算出的A相理论导通实践为T1,死区时间是Td,则实际导通时间T = T1-Td(when ia >0 ),于是在svpwm计算出的导通时间T1的基础上加上Td。这样经过PWM模块后,实际的导通时间即为T1. 但存在两个难点(个人总结): 1,受电流检测精度影响,尤其是在过零点检测困难。 2,真实的二极管导通需要一定电压,并非..

圆桌骑士的博客 2万+

零基础教你学RDMA驱动开发--第8篇:队列对(QP)、完成队列(CQ)与工作请求(WR)机制剖析

本文深入剖析了RDMA(远程直接内存访问)中的核心机制:队列对(QP)、完成队列(CQ)和工作请求(WR)。QP作为通信端点包含发送队列(SQ)和接收队列(RQ);WR是用户提交的操作指令,转换为工作队列元素(WQE)后由网卡异步执行;CQ则提供完成通知机制。文章详细介绍了三者的协作原理,包括QP状态机、WR提交方式、CQ轮询机制,以及关键的信号控制技术(Signaled Mode)来优化性能。同时对比了SEND/RECV和RDMA WRITE两种模式的差异,提供了调试技巧和最佳实践。这些机制共同构成了RD

amy_mhd的博客 158

GS Quant:高盛开源量化金融工具包的完整使用指南

在瞬息万变的金融市场中,量化交易策略的快速开发和部署能力已成为机构投资者的核心竞争力。面对复杂的金融衍生品定价、风险管理和策略优化需求,传统的开发模式往往耗时数月,错失市场机会。GS Quant作为高盛开源的专业量化金融Python工具包,为机构投资者提供了完整的量化解决方案,基于25年市场经验打造,帮助用户快速构建交易策略和风险管理体系。 ## 量化金融面临的技术挑战 量化金融领域面临三大核

gitblog_00847的博客 420

大数据运营可视化:Tableau+PowerBI数据看板搭建教程

当企业数据量从“GB级”跃升到“TB级”,运营人员面临的最大挑战不再是“如何收集数据”,而是“如何让数据说话”。数据看板作为“运营指挥中心的仪表盘”,能将零散的用户行为、业务指标、流量趋势浓缩成可快速解读的视觉语言。本文结合Tableau(自由探索的“数据瑞士军刀”)与PowerBI(微软生态的“组合家具”)两大工具,从需求分析→数据准备→指标设计→视图搭建→ dashboard 组合,一步步教你搭建符合业务逻辑的运营看板。

AI智能探索者的博客 1367

5大核心功能揭秘:如何用gs-quant打造专业级金融量化分析系统

在当今快节奏的金融市场中,量化分析已成为投资决策的关键工具。gs-quant作为高盛开源的Python量化金融工具包,为金融专业人士和量化分析师提供了一套完整的解决方案。无论你是金融机构的分析师、对冲基金的交易员,还是个人投资者,gs-quant都能帮助你快速构建专业的量化分析系统,实现从数据获取到策略回测的全流程自动化。 ## 为什么选择gs-quant进行金融量化分析? gs-quant不

gitblog_00926的博客 1202

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

量化策略文档质量革命:GS Quant自动评分工具设计指南

你是否还在为量化策略文档的质量评估烦恼?是否曾因文档晦涩导致团队协作效率低下?本文将带你探索如何利用GS Quant构建一套自动化文档质量评分工具,解决量化策略开发中的文档痛点。 读完本文,你将能够: - 理解量化策略文档质量的核心评估维度 - 掌握使用GS Quant工具包构建评分模型的方法 - 实现文档质量评估的自动化流程 - 提升团队协作效率和策略开发质量 ## 文档质量评估的痛点与挑战...

gitblog_01141的博客 998

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

量化金融性能革命:FPGA与GPU在GS Quant中的异构计算架构深度解析

在当今高频交易和量化投资领域,微秒级的性能差异意味着数百万美元的盈亏。作为高盛开发的Python量化金融工具包,GS Quant为机构投资者提供了强大的回测引擎和性能优化模块,帮助开发者构建低延迟交易系统。本文将深入探讨FPGA与GPU在GS Quant框架下的异构计算架构,为量化策略的硬件加速提供权威指南。 ## 行业挑战:量化策略的性能瓶颈与硬件加速需求 随着金融市场复杂度的提升,量化交易

gitblog_01146的博客 946

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

3分钟上手:高盛开源的金融量化分析神器gs-quant完全指南

你是否对金融量化分析感兴趣,却被复杂的数学模型和编程门槛吓退?今天我要介绍一款由高盛(Goldman Sachs)开发的开源Python工具包——**gs-quant**,它能让你用简单的代码完成专业的金融量化分析。无论你是金融从业者、数据分析师,还是对量化投资感兴趣的学生,这篇文章都将带你快速入门这个强大的工具。 gs-quant是一个基于全球最强大的风险转移平台构建的Python金融量化工具

gitblog_00583的博客 852

DB Browser for SQLite:不用写 SQL 也能查 .db 数据

同事发来的 `.db` 文件,用文本编辑器打开是一堆乱码;丢进 `sqlite3` 命令行,又只有黑底光标。你只是想看看某张表有多少行、数据长什么样,却得先翻命令文档。DB Browser for SQLite 是一款免费开源的图形化 SQLite 数据库管理工具,把打开库、改数据、查数据变成点选表格的动作。 ## 速览:这工具跟你有关系吗 - 免费开源,支持 Windows、macOS、Li

gitblog_09816的博客 580

终极指南:如何用gs-quant进行金融文本挖掘与情感分析

在当今数据驱动的金融市场中,**金融文本挖掘**已成为量化投资策略中不可或缺的一环。**gs-quant**作为高盛开发的Python量化金融工具包,为投资者提供了强大的**情感分析**能力,特别是针对**earnings call**等关键事件的分析。本指南将带你深入了解如何利用这个专业工具包来提取文本中的价值信号,构建更智能的交易决策系统。💼 ## 什么是金融文本挖掘及其重要性 **金融

gitblog_00946的博客 473

CANN ops-transformer 全量化注意力算子 quant_flash_attn 使用指南:三种量化场景、metadata 联合调度与参数约束详解

`quant_flash_attn` 是 CANN ops-transformer 中基于 `torch_npu` 的 `cann_ops_transformer` 扩展接口,用于在 NPU 上执行**全量化场景下的 self-attention 计算**(训练推理归一化),支持 HIF8、MxFP8、FP8 三类量化模式,并配套 `quant_flash_attn_metadata` 元数据生成

gitblog_00207的博客 747

如何用gs-quant构建稳健量化策略:3步识别并避免过拟合风险

在量化投资的世界里,**策略过拟合风险控制**不是可有可无的选项,而是生存的必需品。就像建造房屋需要坚实的地基,开发量化策略需要严格的验证流程。 记住这个核心原则:**稳定的平庸远胜过不稳定的卓越**。通过gs-quant提供的工具和方法,你可以在策略开发的每个环节植入风险防控机制,让量化策略在复杂多变的市场中保持稳健表现。 成功的量化投资不仅是数学和编程的游戏,更是风险管理艺术的体现。从今天

gitblog_00747的博客 372

Mix-Quant:面向Agentic LLMs的混合精度部署策略解析

模型量化是深度学习领域一项关键的模型压缩与推理加速技术,其核心原理是通过降低模型权重和激活值的数值精度(如从FP32降至INT8/INT4),来减少内存占用和计算开销。这项技术的核心价值在于,能在基本保持模型性能的前提下,显著降低部署成本并提升服务响应速度,广泛应用于移动端、边缘计算及高并发云服务等场景。然而,在服务延迟敏感且要求高精度推理的大语言模型智能体场景中,传统的静态量化方法在解码阶段易引发误差累积,导致输出质量下降。针对这一瓶颈,一种感知任务特性的混合精度服务编排策略应运而生,它创新性地在预填充和

weixin_30565199的博客 339

行业做Quant你为Python和C++就够了吗

转 行业 | 做Quant,你以为靠Python和C++就够了吗? “对 Quant 而言 Python 的需求高吗,除 C++ 外还有哪些流行的编程语言?” 1. 高 2. 还有:Python, Java, Matlab, R, Q和一些公司内部自有语言(如高盛的自有语言) 但是我不希望敷衍了事,说说我心中最重要的五类语言。这不仅仅是对于一个Quant必须的,而是一个丰满的程序员所必备的。在艺术...

长亭路 510

行业做Quant你以为靠Python和C++就够了吗

转 行业 | 做Quant,你以为靠Python和C++就够了吗? “对 Quant 而言 Python 的需求高吗,除 C++ 外还有哪些流行的编程语言?” 1. 高 2. 还有:Python, Java, Matlab, R, Q和一些公司内部自有语言(如高盛的自有语言) 但是我不希望敷衍了事,说说我心中最重要的五类语言。这不仅仅是对于一个Quant必须的,而是一个丰满的程序员所必备的。在艺术...

绿杨 471
上一篇: 在Python中使用QuantLib
下一篇: Zipline框架初探(上)
Trader_Python
博客等级 码龄11年 392粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值