使用回归建模建立交易系统

摘要

构建交易系统是算法交易中最重要的阶段。这个阶段可以将我们的想法或学到的东西转化为实际行动。简单来说,你定义了什么时候开始交易,什么时候结束交易的规则。大多数自动交易系统通过消除人类的情绪和交易中的偏见,提供了一种优势。

建立交易体系的步骤

建立交易体系的理想方法是:

  • 确定最合适的交易主题
  • 制定策略草案
  • 编写你的交易逻辑
  • 后测和前测
  • 优化结果
  • 策略验证
  • 实时实现
  • 验证结果

目录

本文是使用回归建模构建交易系统简单模板的分步说明。

我们将在这个文章中讨论以下主题:

  1. 确定最合适的交易主题
  2. 制定策略草案
  3. 什么是回归分析
  4. 基于滚动回归预测的交易设置

现在让我们进入建立交易系统的第一部分。

确定最合适的交易主题

有许多著名的交易方法,包括动量交易,波动率交易,平均回归交易,趋势跟随,行为交易,统计套利。

每个人都有其有利的市场状况,风险食欲,奖励。例如,由于特斯拉股价上涨,据说这是趋势。因此,您将在此处尝试趋势策略。

在迈向交易系统开发之前,必须了解您感兴趣的领域和风险情况,以便可以接受系统的缩减。

简而言之,它是根据您在入门之前可以承受的交易风险决定的。

制定策略草案

在选择您的交易风格后,我们将找出最适合您的交易主题的策略方法。

我们有很多方法可以分析股票市场的模式。一些流行的分析方法是基于价格行为的分析、情绪分析和/或基于机器学习的建模。在匡特拉课程中详细学习价格行为交易策略。

在本文中,我们将建立一个基于回归模型的趋势跟踪系统。

什么是回归分析?

回归分析是一种监督的机器学习技术,主要用于预测金融市场中两个股票/资产之间的趋势投影和依赖性。目的是找到回归曲线,该曲线与所有数据点最不远。

回归分析中的变量

回归建模通常具有两种变量:

  • 自变量:这些变量与输出变量无关
  • 因变量:此变量取决于自变量

回归分析类型

有不同类型的回归分析。一些常见类型是:

  • 线性回归
  • 逻辑回归
  • 岭回归(Ridge)
  • 套索回归(Lasso)

由于我们想保持策略的简单,我们将专注于线性回归分析。

线性回归分析

线性回归可以是两种类型:

简单的线性回归:如果只有一个自变量和一个因变量,则线性回归方程是线(线性/直线),它与已知的因变量最不远。

多线性回归:如果有一个以上的自变量和一个因变量,则通过因变量的线性组合获得回归方程

编码前先决条件

在编码之前,请确保您熟悉基本概念和Python概念,例如:

Pandas data frame和matplotlib

统计概念:

  • 常规最小二乘法(建立回归模型)
  • 滚动回归

金融与绩效指标

  • ROC(变更计算速率),投资组合模拟
  • 计算不同指标的逻辑,例如胜率,CAGR(复合年度增长回报),回撤等。

Python 中的回归建模

我们使用 yfinance API 来获取数据。这个分析是使用小时数据完成的。

了解数据 API

我们正在使用 yahoo finance python 软件包(其他一些替代方案可能是 alpha vantage、 quandl、 anda datareader)。

主要数据如下:

    • 每天的数据:下载(ticker,startdate,enddate)级别数据
  • 每小时的数据:下载(ticker,startdate,enddate,period = “60m”)级别数据

示例: 我们使用的是 Nifty 50数据,从1-1-2020到20-01-2021

简单线性回归

利用常规最小二乘法建立回归模型。

使用回归建模建立交易系统

回归总结

使用回归建模建立交易系统

散布图

R平方是描述线性回归模型的良好度的最受欢迎的指标。通常,它想到了实际数据相对于回归线的近距离的想法。R平方值位于0到1之间,更多的R2值,拟合度更高。

开放的系数意味着开放和关闭的关系密切相关。

f统计量的概率是零假设“回归系数无显着意义”的概率。由于概率为零,因此这表明我们的自变量对于性能很重要。

到目前为止,我们已经使用最小二乘法(OLS)使用了简单的线性回归模型。该模型似乎很好,现在我们将期待在建立交易系统中扩展这些概念。

您可以尝试改进系统的方法之一是使用滚动回归的概念。

滚动回归

滚动回归是用以前的 n 根蜡烛作为参考,为每根蜡烛拟合一条回归线。这将使我们发展一种向前走的交易模式。

像移动平均线一样,滚动回归也使用了以前的 n 个蜡烛作为参考来拟合回归模型。

我们将计算滚动线性回归以进行策略模拟。

基于滚动回归预测的交易设置

该策略非常简单,计算是为了找到适合每个蜡烛(可以在任何时间框架每天,每周,每天)的回归。

我们拟合每个蜡烛的回归线(开作为自变量,闭作为前 n 个蜡烛的因变量)。

我们通过传递当前蜡烛的开盘价作为输入来预测当前蜡烛的收盘价

  • 如果预测收盘价 > 开盘价,预测价格可能上涨,我们走多。
  • 如果预测的收盘价 < 开盘价,预测的价格可能下跌,我们做空。

从2020年1月1日至2020年1月1日用于模拟的漂亮1小时图表的数据。

使用回归建模建立交易系统

分析摘要

请注意,滑点不包括在内。

这种策略是一种盘中策略,因为它只考虑了蜡烛的公开价格(目前的公开价格是不变的)。

我们看到,该战略在2020年1月至2021年1月期间表现良好。您可以通过按下面的下载按钮来浏览 Python 代码。

结论

在本文中,我们已经看到了基于预测的模型。线性回归的概念,当应用于同一数据集的历史数据时,被称为自回归

自回归是各种时间序列分析模型的基础。小Q会在下一期给大家讲解。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年3月21日 上午8:52
下一篇 2023年3月21日 上午9:02

相关推荐