这是量化交易系列文章的第二系列——量化策略开发步骤,第一系列请参考专栏: 量化交易系统。很多朋友反馈最近的文章代码太多,看不懂。
这一部分将实现零代码分享,尽可能简单地介绍量化策略开发的步骤,以便任何交易员或投资者都能理解。我们将讨论概念和结果,以文字和图表形式进行展示,而不是沉浸在代码中。
在本文中,将讨论量化交易的动机,以及启动量化交易项目的基础。在后续文章中,我将介绍隐藏成本、关键指标、回溯测试、前向测试、过度拟合等内容,这些内容与第一系列会有重合,但是分享的内容会充实、完整、连贯。
以下是该系列内容大纲:
- 第 1 部分——假设和基准
- 第 2 部分——回测和隐性成本
- 第 3 部分——关键投资组合指标
- 第 4 部分——参数分析和过度拟合
- 第 5 部分——前向测试和统计意义
免责声明:本文仅供参考,不构成任何交易建议。
感兴趣的关注下公众号,优先发布,接收后续的更新内容会更及时奥
公众号:码上助君
为什么选择量化
预测未来是一项相当具有挑战性的任务。
动物在进化过程中学会了如何将当前的具体信息与未来发生的事情联系起来,因为在某些情况下,这可能是生死之间的区别。鸟类可以检测到特定地区未来资源的短缺,并转移到另一个地区,它们因预测而得到的资源将会增加。其他物种可以以某种方式预测自然灾害,如地震和海啸,并离开濒危地区进行自救。
我们人类能够更进一步,记录我们的学习成果,一遍又一遍地重现它们,在我看来,这是科学的基本原理。事实上,一些自然事件是相当可重复的,比如物理定律和化学反应。然而,预测行为远比预测自然现象困难,尤其是集体行为。当结果是集体行为的反应时,没有指导原则,所以事情会频繁而出乎意料地发生变化。
市场是由参与者推动的,因此预测价格变动实际上是预测许多市场主体的行为,这确实是一项冒险的活动。对我来说,量化交易就是承认我们在预测集体行为方面的局限性,尤其是当我们因自负或恐惧而产生偏见时,并让统计数据发挥作用。量化交易还有其他优势,比如受益于计算机的速度、处理不同类型的数据、同时能够处理的数据信息量等等。历史告诉我们,量化交易不是一种无风险的方法,但对我来说,它是一种更有条理、更智能、更可靠的方法,可以增加你获胜的几率。
为什么使用加密货币
很多朋友相信加密货币有潜力解决我们当前金融体系的许多问题,但这并不是我为本系列选择它们的原因。加密货币在数字环境中全天候交易,数据与参与者公开共享,这将使我们能够以简单的方式制定和分析我们的策略。
此外,加密货币是一个处于中期成熟阶段的市场,表现出高波动性和非常好的流动性,这使其成为交易者的游乐场。但重要的是要明白,量化交易适用于当今任何资产类别,如债券、股票、外汇、能源、石油和许多其他资产类别。詹姆斯·西蒙斯和他的团队能够在数据非常稀缺、计算能力极低的时代应用量化交易,这表明在这个领域一切皆有可能。
开始之前
这可能看起来很明显,但量化交易需要数据。因此,一个好的项目将从结构化、可靠、干净且可访问的数据开始。我们必须确保检查数据来源、调整格式、处理缺失值、时区、小数位等。毕竟,我们将把钱押在这上面,如果数据不好,就没有机会从量化交易中获利。大多数资产都可以从经纪人 API 中检索数据,因此确保我们使用的经纪人 API 返回我们认为它返回的内容非常重要,因为价格、成交量可以指向许多不同的东西。
假设
与任何科学一样,量化交易始于一个假设。通常假设来自对价格波动的观察和与市场参与者的讨论,这一步骤对于量化交易者和自由交易者来说都很常见。人们能够检测到一些变量与市场走势之间的关联迹象,并根据这种感知开始交易。所以让我们选择一个假设,我们将在本系列中对其进行调查。我认为,目前市场参与者对加密货币的了解有限,因此市场受价格趋势的影响比加密资产项目的基本数据和信息更大。基于这一理论,我相信趋势跟踪策略可以产生良好的回报。
什么是好的回报?
交易不同于投资,因为交易者寻求的利润比仅仅持有投资组合中的资产所获得的利润要多。这种额外的利润被称为“超额回报”,或简称为“阿尔法”。如果没有阿尔法,就没有理由在市场上投入时间和精力并承担额外的风险,投资者最终会转向产生类似回报的无风险资产,因此在制定交易策略时,我们寻求的是相对于市场基准的超额回报。
为了简单起见,在我们的示例中,市场基准将是比特币的多头仓位。请记住,加密货币市场通常成对交易,这意味着您购买一种资产并出售另一种资产。在本文中,我们选择 BTC-USDT 的现货市场,USDT 是一种由美元支持的稳定币,跟随其价格。因此,作为一般规则,您可以将图表视为比特币的美元价格。让我们看看价格从 2018 年 1 月到 2022 年 9 月是如何变动的。
为了实际测量复合收益,我们假设投资组合以 100% 的 BTC 分配开始,并检查该初始金额多年来如何倍增。我们将在系列中将此变量称为“标准化收益”。
我们可以看到,过去几年该资产波动很大,多头仓位有一定的盈利,在 2022 年 9 月 1 日达到 30% 的回报。但最高回报率达到 450%,这是一个出色的表现。此后,强劲的抛售趋势占据了主导地位,熊市已经形成。那么,如果我们也能从降价事件中获利呢?这就是我们希望通过我们的策略实现的目标。
初步分析
我通常会说,量化交易实际上就是从这里开始的。自主交易者也会分析数据,但他们往往不像量化交易者那样严格地测试自己的想法,这是有原因的。
自主交易者将根据对许多不同方面的分析自由地进入、调整和退出头寸。
量化交易者将按照其算法中写入的规则和条件进入、调整和退出头寸。
该规则必须经过广泛测试,因为一旦实施,计算机就会自动遵循它。这个初始步骤不应该是花哨的,但应该让你有足够的信心在回测框架中工作是值得的。
回到我们的例子,我们想要分析 趋势型策略,点击了解两种基本的策略模型【七天打造一套量化交易系统:Day2-量化交易策略基本模型及要点】。
让我们从三重移动平均线策略开始。根据每小时价格数据,我们可以制定三条价格移动平均线(短期、中期和长期),一旦它们相互交叉,位置就会发生变化:
- 当短期平均值高于中期,中期平均值高于长期平均值时,我们将买入 BTC 并持有多头仓位。
- 当移动平均线顺序反转时,应该采取空头仓位,其他任何情况都将是中立仓位的标志。
为了更好地理解这个想法,让我们取一小段每小时历史数据并分析价格和平均趋势。在下面的图表中,短期平均值按 15 个时间步长计算,中期平均值按 50 个时间步长计算,长期平均值按 200 个时间步长计算。
现在让我们假设我们当时按照这个规则进行交易,并根据我们要采取的头寸为图表背景着色。
- 红色表示空头头寸
- 黄色表示中性头寸
- 绿色表示多头头寸
我们的图表如下所示:
当然,我们无法仅通过目视检查图表来知道该策略是否成功,我们将开发一个回测算法来帮助我们做到这一点。但是,查看图表有助于我们获得更多见解,并构建更好的回测脚本。
感谢您花时间阅读本文。在本系列的第 2 部分中,我们将继续我们的量化策略开发步骤系列分享!
免责声明:本文仅供参考,不构成任何交易建议。
感兴趣的关注下公众号,优先发布,接收后续的更新内容会更及时奥
公众号:码上助君