量化交易初学者指南(下)

开发量化交易系统

在量化交易初学者指南(上)中,我们讨论了在构建您自己的交易策略时派上用场的数学编程、数据和机器学习技能。希望您已经是这方面的专家,并准备好开始构建您自己的自动交易系统。

自动交易系统由几个元素组成。您需要决定要交易的市场,创建特征来识别交易逻辑并制定策略来实施该逻辑来买卖股票。您的系统应该决定何时进入和退出交易,考虑交易成本并通过回测(但不是过度拟合)进行优化。您可以在此处观看有关交易系统关键要素的详细视频。

让我们开始吧:

1. 寻找合适的交易市场

选择您的市场和交易工具。然后查找这些仪器的历史数据以开发和测试您的模型。我们提供自 2001 年以来在纳斯达克上市的 600 只股票的数据,这些股票是(或曾经是)标准普尔 500 指数的一部分。完整的股票列表在这里

对于初学者来说,股票通常是一个很好的起点,并且可以实现很大程度的多样化。不明白股票、期货和期权等金融工具的含义?

2. 构建您的功能和交易信号

您将需要一组功能来识别交易信号/逻辑。这些特征可以是价格数据的移动平均线或比率、相关性或更复杂的信号。我们提供股票的每日开盘价、收盘价、最高价、最低价和成交量数据。您可以通过多种方式组合这些以创建新功能。一旦您拥有了一组特征,您就需要使用这些特征生成交易信号,即哪些工具是买入、卖出或中性。

如果您需要复习数学,请在此处阅读更多内容

股票的样本特征 您可以从尝试简单的均值回归或动量系统开始,建立稍微复杂的配对或多空交易。您可以查看我们关于简单交易策略的初学者系列(带有教程 IPython 笔记本)

3. 交易执行策略

接下来,您需要一个策略,根据您的功能生成的信号告诉您的系统该做什么。这是您发送给经纪人的最终订单。

您可以在两个头寸中进行交易——多头或空头。做多股票时,如果价格上涨,您将受益。同样,做空时,如果价格下跌,您将受益。一旦您进入交易,您可以根据您的信号强度选择增加或减少您的头寸大小,如果您满足您的盈利标准,如果您认为信号已经反转或您达到了止损,则最终退出头寸.

因此,您的交易执行策略应决定 a) 如何建仓(买入或卖出) b) 交易的规模 c) 如何随后扩大或缩小规模 d) 何时退出,无论是盈利还是亏损。

4. 交易成本

交易成本会显着改变策略的表现。高昂的交易成本会极大地侵蚀原本有利可图的策略。我们的回测器会自动计算交易成本。我们对每笔订单收取佣金(交易所和经纪人收取的费用以促进交易)和滑点(您下订单的价格与您实际交易的价格之间的差异)。 我们使用每只股票 0.10 美元作为佣金和股票每日波动幅度的 5% 作为滑点的估计。因此,总交易成本(美元)= 0.10 + (HIGH — LOW) * 0.05

5. 回测和性能指标

最后,您必须根据历史数据测试您的系统,以了解您的策略在过去的表现如何。这有助于您针对您正在交易的市场优化您的系统。它还为您提供了对您的策略在未来的预期执行方式的预期。

你如何比较两个系统?我们的回测器为您提供以下指标来量化您的系统性能。这些指标集并不详尽,但它们是一个很好的起点:

  • 总回报
  • 年化回报
  • 年化波动率
  • 夏普比率
  • 索提诺比率
  • 最大回撤
  • % 盈利能力
  • 利润因素

这些指标没有正确的目标值。每个投资者都在寻找具有高性能和低风险的系统,但不同的投资者可能会根据他们的风险状况和交易风格对可接受的系统有不同的阈值。

6. 警惕过度拟合和偏差

与任何数据科学问题类似,大量可用数据意味着存在过度拟合系统的自然趋势。

过度拟合是交易策略中最危险的陷阱。您可能会创建一个复杂的算法,该算法在回测中表现出色,但在新的看不见的数据上却惨遭失败。这个系统并没有真正发现任何数据趋势,也没有真正的预测能力。避免过度拟合的一些技巧:

  • 使您的系统尽可能简单。如果您发现自己使用了太多或极其复杂的功能,则可能是过度拟合,没有赶上趋势。
  • 将可用数据划分为训练数据和测试数据。不要用所有的数据来优化你的策略算法,用测试数据来验证你的策略。在样本外测试中表现良好的系统更有可能在实时市场数据上取得成功。
  • 避免偏见,尤其是前瞻偏见。确保您的策略在回测时没有使用来自未来的任何知识。在使用实时市场数据进行交易时,您将无法获得此信息。您可以在此处找到常见的回测偏差列表。

猜你喜欢

转载自juejin.im/post/7121998798817099806