找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2562

积分

0

好友

346

主题
发表于 1 小时前 | 查看: 2| 回复: 0

Quant Man量化品牌标识

量化交易就是让计算机按照预设的数学规则自动买卖股票或其他金融产品的交易方式。

它能实现什么功能?形象地说,就像在你的交易软件里住进了一位全年无休的机器人助手。它负责盯盘、复盘、下单,所有操作都严格遵循你事先下达的指令。例如,“在全市场中筛选出市盈率低于30倍、净利润增长率超过20%且市值最小的100支股票。如果某只股票连续上涨5天就买入,一旦跌幅达到8%则立刻卖出。”

你下达的这个选股和交易指令,在量化领域被称为“交易策略”或“量化策略”。如果你不确定这个策略是否有效,可以命令它在过去十年的历史数据中模拟交易。通过观察模拟交易产生的收益率、胜率、夏普比率、最大回撤等统计指标,策略的盈利能力便一目了然。这个过程就叫做“回测”。

从以上描述不难看出,量化交易主要有三大优势:

(1)验证与发掘投资交易想法
这是其最核心的作用,旨在解决投资的根本问题:买卖什么、买卖多少、何时买卖。

如今网络上充斥着各种投资书籍、课程和大师理论,观点各异,让人难以辨别真伪。通过量化交易,你可以将这些理论与方法编写成代码,转化为具体的交易策略,并置于历史数据中进行检验。许多理论可能就此“现出原形”,让人恍然大悟。

用量化方法寻找并验证有效的交易策略,其严谨性类似于现代医学研发新药的过程——强调大样本随机双盲对照测试。这样得来的策略,远比市面上那些号称“包治百病”的“大力丸”可靠得多。

(2)大幅提升研究与交易效率
当前A股已有超过5000支股票,仅靠人眼进行大范围筛选研究,效率极低。例如,要在全A股中找出符合“MACD顶底背离”形态的股票,手动操作几乎不可能完成。而用Python编程实现,则易如反掌,这就是研究效率的提升。

交易效率的提升则体现在程序化实盘交易和自动盯盘上,它能解放投资者绝大部分的时间和精力。设想一个极端场景:需要手动买入100支股票,并实时盯盘,一旦某只股票下跌超过5%(还需考虑价格笼子限制)就要止损出场。这对个人而言是巨大的负担,但通过量化可以轻松搞定。

(3)保持绝对的纪律性
机器没有情感。在你恐惧时,它敢于买入;在你贪婪时,它敢于卖出。这对于执行趋势型策略的投资者尤为重要。这类策略通常具有“低胜率、高赔率”的特点,可能经历数次亏损才能迎来一次盈利,但这一次的盈利足以覆盖之前的亏损并有盈余。心存侥幸的投资者可能会试图“优化”入场点,结果往往是错失大涨机会,导致亏损无法弥补。机器则能严格执行策略,帮助投资者保持高度的一致性和纪律性。

那么,入门量化交易需要学习哪些知识呢?让我们回到“交易软件里住着一个机器人”的例子。

首先,机器人的每日任务由你布置,因此你需要知道量化交易可以做什么、不可以做什么。这需要你学习一些量化基础知识。

其次,机器人听不懂中文,你需要用它能理解的语言——编程语言来下达指令。在量化交易领域,应用最广泛的编程语言就是Python。

如何学习Python的幽默梗图

最后,市面上并没有真的允许你“植入”机器人的交易软件。我们需要寻找量化界的“万能插座”——能够让我们部署自己策略的软件。这次为大家推荐的是QMT软件,你还需要学习它的基本操作和功能。

虽然要学的东西不少,但必须确立一个快速入门原则:适度学习,够用即可。就像《新华字典》收录了上万个汉字,但日常交流仅需三千多。学习量化同样无需啃完大部头才开始,按需学习即可。

1. 补充量化常识

量化知识体系庞杂,不必等到全部学完再实盘。掌握一个主体框架,了解大体流程和主要模块即可。在实践中遇到问题再针对性查阅,边做边学印象更深。

这里推荐一本入门佳作:《打开量化投资的黑箱(第二版)》(Inside the Black Box: A Simple Guide to Quantitative and High Frequency Trading, Second Edition)。这本书没有具体的策略代码或复杂公式,但涵盖了量化入门必备的各种常识,能帮助你建立起对量化交易的基本认知。

《打开量化投资的黑箱(第二版)》书籍信息

注意,特指第二版。原书第一版出版于2009年,2012年引入国内。第二版在2013年出版,2016年翻译引入,除了修正第一版的错误,关键新增了“高频交易”内容,章节也从13章扩充至17章。

本书作者是美国的对冲基金经理里什·纳兰(Rishi K. Narang),一位资深的“宽客”(Quant)。他从上世纪90年代就进入量化领域,这本书可以说是他多年从业经验的精华总结。

《打开量化投资的黑箱》作者Rishi K. Narang

全书可分为五个部分。第一部分介绍量化交易的背景和典型结构;第二部分核心是拆解量化交易的“黑箱”,逐个介绍其组成部分;第三部分探讨如何评估量化策略和宽客,并澄清一些常见误解;第四部分讲解高频交易;最后一部分展望未来。

本书的核心是第二部分(第3至第9章),而其中的重中之重是“阿尔法(Alpha)模型”,此外还涉及风险模型、交易成本模型、投资组合模型、订单执行模型和科学研究方法。

量化交易系统核心模型流程图

这里特别提一下阿尔法模型,因为如果没有它,后续的策略步骤都无从谈起。阿尔法模型是量化策略超额收益的来源,即如何在市场中寻找盈利机会,以获得超越基准的收益,这是每个宽客追求的核心。

虽然策略繁多,但作者将阿尔法模型分为两类:理论驱动型和数据驱动型。

理论驱动型是新手入门常选的路径。宽客通过观察市场行为,寻找能解释这些行为的普适性理论,再用数据回测验证其有效性。

作者根据经验,将趋势跟随(trend)、均值回复(reversion)、技术情绪(technical sentiment)、价值/收益(value/yield)、成长(growth)和品质(quality)这六种策略归为理论驱动型。

阿尔法模型分类结构图

数据驱动型则是通过技术手段分析市场行为数据中的模式,只需找到从A到B的潜在规律,无需理论解释“为什么”。作者在书中提到,构建此类策略使用的数学工具较为复杂,当时业界应用较少,因此未展开。但如今,硬件算力和数据丰富度极大提升,人工智能已深入投资领域,特别擅长发现数据间的非线性关系,成为数据驱动策略的得力工具。

2. 入门Python编程

对于Python的快速学习,强烈推荐廖雪峰老师的Python教程。它免费、易懂,且每个小节后都有互动练习题,能提供即时反馈,趣味性强。

教程链接:
https://liaoxuefeng.com/books/python/introduction/index.html

廖雪峰Python教程内容介绍截图

廖老师的教程非常详尽,但请再次牢记我们的原则:适度学习,够用即可。对于量化编程基础而言,学到第13章“IO编程”就足够了,后续内容可在需要时再学习。

廖雪峰Python教程目录截图

写作分散文、小说等不同体裁,编程亦然。廖老师的教程侧重于互联网开发,而量化分析入门初期用不到后半部分的内容,待需要时再学不迟。

遗憾的是,教程未涵盖量化中常用的NumPy和Pandas库,但可以通过其他优质教程补充。JoinQuant(聚宽)课堂上有关于这两个库的极佳入门教程(可能需要注册,免费)。我在此提供链接:

NumPy:它是Python的一个开源数值计算库,能高效处理数组、矩阵等数据及其运算。

NumPy库教程:
https://www.joinquant.com/view/community/detail/180d0f71a9033338c0a082a3f10123a4

Pandas:基于NumPy封装的数据分析库,让数据分析和量化分析任务变得更加简单。你可以将其理解为Python界的“Excel”,是量化分析中不可或缺的库。

Pandas库之数据查看和选择:
https://www.joinquant.com/view/community/detail/c2e287adec1920efd500b701bced1e70

Pandas库之数据处理与规整:
https://www.joinquant.com/view/community/detail/e6471871ddf0098dd042800fe61d428b

实际上,Python量化涉及众多库。初学阶段掌握好NumPy和Pandas,一般的入门分析任务就已足够。其他可能用到的库还包括:matplotlib、scikit-learn、TA-Lib、Tushare、AKShare、Backtrader等。不必急于求成,用到时再学即可。

3. 掌握QMT软件

QMT是由迅投公司开发的量化交易软件,是国内个人宽客实盘交易的主流工具之一,支持股票、期货、期权、ETF、可转债等品种的程序化交易,已对接超过80家主流券商。对个人用户而言,其主要优势有三点:

(1)程序化交易实盘开通门槛低
个人可在线开通,通常无需临柜办理。在大多数券商开通和使用QMT都是免费的,具体门槛可咨询所在券商的客户经理。

(2)后期拓展性强
它不强制要求策略必须在QMT软件内执行。安装相应库后,策略可以在任何Python 3.6至3.12的环境下运行,可玩性和拓展性极强。

(3)软件生态好,用户基数大
官方提供完善的知识库,社区活跃。特别是在某些平台的量化实盘功能停止后,大量用户转向了QMT。

迅投QMT极速交易终端登录界面

以下是新手掌握QMT使用和开发策略所需用到的三个入门教程,均出自迅投官方知识库:

QMT新人上手教程:
https://dict.thinktrader.net/freshman/rookie.html

内置Python教程:
https://dict.thinktrader.net/innerApi/start_now.html

XtQuant开发教程:
https://dict.thinktrader.net/nativeApi/start_now.html

【QMT新人上手教程】教你如何操作软件,如登录、下载数据、新建策略、回测和实盘交易。

但【内置Python】和【XtQuant】容易让人困惑。简单来说,它们是实现量化策略的两种不同方式。

你在电脑上安装了Python(例如3.12),开通QMT后运行示例策略,你以为调用的是本地Python,但实际上QMT软件自身内置了一个Python环境,在软件内运行的策略都使用这个内置环境。因此称之为【内置Python】。

那么直接用内置环境不就好了?并非如此,否则迅投就不会推出【XtQuant】了。

【内置Python】的优点是开箱即用,操作方便,但有两个硬伤:

  1. Python版本较老(目前大部分券商内置的是Python 3.6),预装库也少且旧。
  2. 资源受限。所有在QMT内运行的策略都串行在同一个线程上,一个策略卡死,全部策略瘫痪。

【XtQuant】正是为了解决这些问题而生。QMT软件有一个轻量子模块功能叫miniQMT(登录时勾选“极简模式”或“独立交易”模式开启)。通过在电脑本地Python环境中安装xtquant库,就能脱离QMT的内置环境编写策略,再连接QMT客户端进行交易。

只要你的本地Python环境是3.6至3.12,都能安装xtquant库来获取数据和下单。这意味着你可以自由使用任何第三方库,不受内置环境限制。更重要的是,多个实盘策略可以多线程并行运行,互不干扰。

基于miniQMT功能通过xtquant库实现策略的方式,在迅投文档中常被称为【原生Python】,与【内置Python】相对。看到“原生Python”,通常就意味着代码基于xtquant库。

需要特别说明的是,xtquant库目前只提供行情数据和交易下单接口,不包含回测框架。如需回测,需自建或使用第三方框架(如Backtrader)。

因此,【内置Python】和【原生Python】并无绝对优劣,只是适用场景不同。【内置Python】适合运行一两个简单策略或进行策略回测;【原生Python】则适用于多策略并行、要求高自由度及使用最新第三方库的进阶场景。

关键概念梳理:

  • QMT:指迅投开发的这款量化交易软件。
  • miniQMT:QMT软件的一个功能/运行模式,配合xtquant库形成更自由的开发环境。因其“迷你”特性,俗称“小QMT”,与之对应,完整的QMT软件有时被称为“大QMT”。
  • 满血版QMT:特指带有miniQMT功能的QMT软件。
  • 券商版QMT:本文主要讨论的、从券商处免费开通的版本。另有需付费的“投研版QMT”,数据更丰富、性能更强,且其原生Python支持回测。

因此,对于QMT入门,建议先学习内置Python部分,进阶时再学习原生Python部分。但在券商开通时,务必确认开通的是带有miniQMT功能的“满血版”,为未来留足拓展空间。

学习之路,循序渐进方为捷径。希望这份指南能助你在算法交易的世界里稳步前行。




上一篇:从新手到熟练:详解STM32单片机硬件PWM的4种配置方法与注意事项
下一篇:Degoog开源搜索聚合工具部署指南:在Docker与群晖NAS上构建隐私搜索入口
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-23 07:15 , Processed in 0.781129 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表