当前位置: 首页 > news >正文

量化之一:均值回归策略

文章目录

  • 均值回归策略
    • 理论基础
      • 数学公式
    • 关键指标
      • 简单移动平均线(SMA)
      • 标准差
      • Z-Score
    • 交易信号
    • 实际应用
    • 优缺点分析
      • 优点
      • 缺点
    • 结论
  • 实践
    • backtrader
      • 参数:
      • 正常情况:
      • 异常情况:

均值回归策略

均值回归(Mean Reversion)是金融市场中一种常见的现象,指的是资产价格在偏离其长期平均值后,最终会回归到该平均值。本文将详细探讨均值回归的理论基础、数学公式以及其在交易策略中的应用。

理论基础

均值回归的理论基础源于统计学中的中心极限定理和随机游走理论。假设资产价格是一个随机过程,其长期平均值可以通过历史数据进行估计。

数学公式

假设资产价格序列为 P t P_t Pt,其均值为 μ \mu μ,标准差为 σ \sigma σ。均值回归假设价格 P t P_t Pt 会围绕均值 μ \mu μ 波动:

P t = μ + ϵ t P_t = \mu + \epsilon_t Pt=μ+ϵt

其中, ϵ t \epsilon_t ϵt 是一个均值为零的随机误差项。

关键指标

简单移动平均线(SMA)

简单移动平均线用于平滑价格数据,计算公式为:

SMA t = 1 N ∑ i = 0 N − 1 P t − i \text{SMA}_t = \frac{1}{N} \sum_{i=0}^{N-1} P_{t-i} SMAt=N1i=0N1Pti

其中, N N N 是时间窗口的长度。

标准差

标准差用于衡量价格波动的幅度,计算公式为:

σ t = 1 N ∑ i = 0 N − 1 ( P t − i − SMA t ) 2 \sigma_t = \sqrt{\frac{1}{N} \sum_{i=0}^{N-1} (P_{t-i} - \text{SMA}_t)^2} σt=N1i=0N1(PtiSMAt)2

Z-Score

Z-Score用于量化价格偏离均值的程度:

Z t = P t − SMA t σ t Z_t = \frac{P_t - \text{SMA}_t}{\sigma_t} Zt=σtPtSMAt

交易信号

均值回归策略的交易信号基于价格的Z-Score:

  • 买入信号:当 Z t < − k Z_t < -k Zt<k 时,价格被认为是低估的,考虑买入。
  • 卖出信号:当 Z t > k Z_t > k Zt>k 时,价格被认为是高估的,考虑卖出。

其中, k k k 是一个预设的阈值,通常取值为2。

实际应用

在实际应用中,均值回归策略可以结合其他技术指标(如相对强弱指数RSI)进行优化。以下是一个简单的均值回归策略实现步骤:

  1. 计算SMA和标准差:选择合适的时间窗口,计算价格的SMA和标准差。
  2. 计算Z-Score:根据当前价格、SMA和标准差计算Z-Score。
  3. 生成交易信号:根据Z-Score判断买入或卖出信号。
  4. 风险管理:设置止损和止盈点,以控制风险。

优缺点分析

优点

  • 理论基础扎实:基于统计学原理,具有较强的理论支持。
  • 适用范围广:可应用于多种金融市场和资产类别。

缺点

  • 假设市场稳定:在极端市场条件下,价格可能不会回归均值。
  • 滞后性:移动平均线和标准差是滞后指标,可能导致信号延迟。

结论

均值回归策略是一种基于统计学原理的交易策略,适用于希望捕捉价格回归趋势的投资者。通过结合数学公式和技术指标,投资者可以更好地理解和应用这一策略。

实践

backtrader

参数:

在这里插入图片描述
股价偏离超过 2 ∗ σ 2*\sigma 2σ且rsii显示超卖或者超买才买入卖出。

正常情况:

每次出手都不一般
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

异常情况:

  • 较大回撤
    在这里插入图片描述
    在这里插入图片描述

  • 错过大涨拍烂腿
    在这里插入图片描述

  • 问题:
    在长期下跌的趋势中,靠正常卖出太困难,加了止损的大多由止损出局,在长期上涨的趋势中又过早的提前出场。

  • 改进:
    加长期ema进行择时,在下跌趋势中不进行买入操作。出场时机改为股价下穿 s m a + 2 ∗ σ sma+2*\sigma sma+2σ线时卖出,这样能稍微缓解一下提前出局的问题,这个只对强势的股票有用,但是因为前期下跌导致很难强势。正常情况可能下穿的信号会很多。

相关文章:

量化之一:均值回归策略

文章目录 均值回归策略理论基础数学公式 关键指标简单移动平均线&#xff08;SMA&#xff09;标准差Z-Score 交易信号实际应用优缺点分析优点缺点 结论 实践backtrader参数&#xff1a;正常情况&#xff1a;异常情况&#xff1a; 均值回归策略 均值回归&#xff08;Mean Rever…...

NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?

文章目录 Bluefield上的硬件介绍启动流程启动流程:eMMC中的两个存储分区:ATF介绍ATF启动的四个阶段:四个主要步骤:各个阶段依赖的启动文件一次烧录fw失败后的信息看启动流程综述Bluefield上的硬件介绍 本文以Bluefield2为例,可以看到RSHIM实际上是Boot相关的集合。也能看…...

最优美公式-欧拉公式,轻松理解版

Alan Becker创作的火柴人大战数学的打斗视频&#xff0c;风靡一时&#xff0c;并在B站荣耀斩获了“金知奖”。下面是网友对此视频的部分评价截图。 视频原址&#xff1a;火柴人 vs 数学&#xff0c;后续又一口气看完了“火柴人vs 几何”与“火柴人vs 物理”&#xff0c;通过火柴…...

【力扣 | SQL题 | 每日3题】力扣1107,1112, 1077

今天三道mid题都可以用窗口函数轻松秒杀。 1. 力扣1107&#xff1a;每日新用户统计 1.1 题目&#xff1a; Traffic 表&#xff1a; ------------------------ | Column Name | Type | ------------------------ | user_id | int | | activity | enum …...

计算机网络(十一) —— 数据链路层

目录 一&#xff0c;关于数据链路层 二&#xff0c;以太网协议 2.1 局域网 2.2 Mac地址 2.3 Mac帧报头 2.4 MTU 三&#xff0c;ARP协议 3.1 ARP是什么 3.2 ARP原理 3.3 ARP报头 3.4 模拟ARP过程 3.5 ARP周边问题 四&#xff0c;NAT技术 4.1 NAT技术背景 4.2 NAT转…...

使用PyTorch从0实现Fashion-MNIST数据集分类

完整代码&#xff1a; from d2l import torch as d2l import torch from torchvision import transforms from torchvision import datasets from torch.utils.data import DataLoader import matplotlib.pyplot as plt from IPython import displaydef get_fashion_mnist_la…...

Java数组的值拷贝和地址拷贝

在Java中&#xff0c;数组的值拷贝和地址拷贝是两种不同的操作。 值拷贝是指将一个数组的值复制到另一个新的数组中。这意味着新数组和原数组独立存在&#xff0c;修改其中一个数组不会影响另一个数组。Java中的数组是对象&#xff0c;所以通过值拷贝操作实际上是复制了数组对…...

类与对象 中(剩余部分) 以及 日历

运算符重载 • 当运算符被⽤于类类型的对象时&#xff0c;C语⾔允许我们通过运算符重载的形式指定新的含义。C规定类类型对象使⽤运算符时&#xff0c;必须转换成调⽤对应运算符重载&#xff0c;若没有对应的运算符重载&#xff0c;则会编译报错。 • 运算符重载是具有特名字的…...

iOS 14 自定义画中画悬浮窗 Custom AVPictureInPictureController 实现方案

iOS 14&#xff0c;基于 AVPictureInPictureController&#xff0c;实现自定义画中画&#xff0c;涵盖所有功能与难点。 市面上的各种悬浮钟和提词器的原理都是基于此。 Demo源码在文末。 使用 iOS 画中画的要求&#xff1a; 真机&#xff0c;不能使用模拟器&#xff1b;iO…...

【C#生态园】完整解读C#网络通信库:从基础到实战应用

探索C#网络通信库&#xff1a;功能、用途和最佳实践 前言 随着互联网的快速发展&#xff0c;网络通信在现代软件开发中扮演着至关重要的角色。C#作为一种流行的编程语言&#xff0c;拥有多个优秀的网络通信库&#xff0c;为开发人员提供了丰富的选择。本文将深入探讨几种常用…...

js面试题---事件委托是什么

事件委托是JavaScript中的一种事件处理模式&#xff0c;通过将事件处理程序绑定到父元素&#xff0c;而不是直接绑定到每个子元素&#xff0c;从而优化事件管理和提高性能。 1 工作原理 事件冒泡&#xff1a;当一个事件在某个元素上发生时&#xff0c;它会从该元素向上冒泡到…...

谷歌浏览器 文件下载提示网络错误

情况描述&#xff1a; 谷歌版本&#xff1a;129.0.6668.90 (正式版本) &#xff08;64 位&#xff09; (cohort: Control)其他浏览器&#xff0c;比如火狐没有问题&#xff0c;但是谷歌会下载失败&#xff0c;故推断为谷歌浏览器导致的问题小文件比如1、2M会成功&#xff0c;大…...

【记录】PPT|PPT 箭头相交怎么跨过

众所周知&#xff0c;在PPT中实现“跨线”效果并非直接可行&#xff0c;这一功能仅存在于Visio中。然而&#xff0c;通过一些巧妙的方法&#xff0c;我们可以在PPT中模拟出类似的效果。怎么在PPT中画交叉但不重叠的线-百度经验中介绍了一种方法&#xff0c;而本文将介绍一种改进…...

Linux中如何修改root密码

在 Linux 中&#xff0c;修改 root 用户密码可以通过以下步骤进行。你需要具有超级用户权限才能执行这些操作。 方法一&#xff1a;使用 passwd 命令修改 root 密码 使用具有超级用户权限的账户登录 如果你已经以 root 身份登录&#xff0c;或者你当前账户具备超级用户权限&am…...

中间件:SpringBoot集成Redis

一、Redis简介 Redis是一个开源的、基于内存的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中间件。Redis支持多种类型的数据结构&#xff0c;如字符串&#xff08;strings&#xff09;、哈希&#xff08;hashes&#xff09;、列表&#xff08;lists&#xff09…...

数据中心建设方案,大数据平台建设,大数据信息安全管理(各类资料原件)

第一章 解决方案 1.1 建设需求 1.2 建设思路 1.3 总体方案 信息安全系统整体部署架构图 1.3.1 IP准入控制系统 1.3.2 防泄密技术的选择 1.3.3 主机账号生命周期管理系统 1.3.4 数据库账号生命周期管理系统 1.3.5 双因素认证系统 1.3.6 数据库审计系统 1.3.7 数据脱敏…...

TDD(测试驱动开发)是否已死?

Rails 大神、创始人 David Heinemeier Hansson 曾发文抨击TDD。 TDD is dead. Long live testing. (DHH) 此后, Kent Beck、Martin Fowler、David Hansson 三人就这个观点还举行了系列对话&#xff08;辩论&#xff09; Is TDD Dead? 笔者作为一个多年在软件测试领域摸索的人&…...

Debezium系列之:实时从TDengine数据库采集数据到Kafka Topic

Debezium系列之:实时从TDengine数据库采集数据到Kafka Topic 一、认识TDengine二、TDengine Kafka Connector三、什么是 Kafka Connect?四、前置条件五、安装 TDengine Connector 插件六、启动 Kafka七、验证 kafka Connect 是否启动成功八、TDengine Source Connector 的使用…...

数据结构(一)顺序表

顺序表的概念及结构 线性表 线性表是具有相同特征的数据结构的集合 物理结构 不一定连续 逻辑结构 连续 顺序表 顺序表是线性表的一种&#xff0c;顺序表的底层是数组 物理结构 连续 逻辑结构 连续 顺序表分类 静态顺序表 struct SeqList {int a…...

如何在 Jupyter Notebook 执行和学习 SQL 语句(中)

1. 基础SQL操作 创建数据库和表&#xff0c;插入数据&#xff1a; import sqlite3# 创建SQLite数据库并连接 conn sqlite3.connect(example.db) cursor conn.cursor()# 创建用户表 cursor.execute(CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT…...

效率提升:基于快马平台为dc=y103pc=类参数快速打造调试工具

效率提升&#xff1a;基于快马平台为dcy103&pc类参数快速打造调试工具 在日常开发中&#xff0c;我们经常需要处理各种URL参数&#xff0c;尤其是类似"dcy103&pctest"这样的查询字符串。手动解析和修改这些参数不仅效率低下&#xff0c;还容易出错。最近我在…...

从Simulink到实物:单闭环直流调速仿真如何指导真实的Arduino/STM32控制?

从Simulink到Arduino&#xff1a;如何将直流电机控制算法从仿真落地到真实硬件 当你第一次在Simulink中看到那个完美的电机转速响应曲线时&#xff0c;那种成就感是无可替代的。但很快&#xff0c;一个更迫切的问题出现了&#xff1a;这些漂亮的仿真结果&#xff0c;如何变成手…...

Fiji图像处理软件更新故障排查指南:当科学工具遇到“升级烦恼“

Fiji图像处理软件更新故障排查指南&#xff1a;当科学工具遇到"升级烦恼" 【免费下载链接】fiji A "batteries-included" distribution of ImageJ :battery: 项目地址: https://gitcode.com/gh_mirrors/fi/fiji Fiji作为生物图像分析领域的瑞士军刀…...

StructBERT文本相似度模型Java开发实战:SpringBoot集成与API调用

StructBERT文本相似度模型Java开发实战&#xff1a;SpringBoot集成与API调用 你是不是也遇到过这样的场景&#xff1f;用户搜索“苹果手机”&#xff0c;你希望系统不仅能返回iPhone&#xff0c;还能识别出“苹果公司手机”、“Apple iPhone”这些同义查询。或者&#xff0c;在…...

深入解析RS485接口:从硬件设计到工业应用

1. RS485接口基础解析 第一次接触RS485时&#xff0c;我也被它复杂的电气特性搞得一头雾水。直到在工厂里亲眼看到它如何稳定地穿过嘈杂的电机区域传输数据&#xff0c;才真正理解这个老牌工业接口的魅力。RS485本质上是一种差分信号传输标准&#xff0c;采用双绞线进行平衡传…...

算法对齐还是实战突围?解构GEO优化中方法论与实践的权重博弈

在生成式人工智能&#xff08;AIGC&#xff09;重塑全球信息检索范式的当下&#xff0c;生成式引擎优化&#xff08;Generative Engine Optimization, GEO&#xff09;已从一种前沿概念演变为品牌流量增长的底层操作系统。随着大语言模型&#xff08;LLM&#xff09;与检索增强…...

探秘书匠策AI:毕业论文写作的“智慧引擎”

在学术探索的征途中&#xff0c;毕业论文如同一座巍峨的山峰&#xff0c;让无数学生既敬畏又向往。它不仅是对所学知识的综合检验&#xff0c;更是学术生涯的重要里程碑。然而&#xff0c;面对这座大山&#xff0c;许多人常常感到力不从心&#xff0c;选题迷茫、文献难觅、结构…...

HunyuanVideo-Foley 企业级架构设计:基于Agent的分布式音效生成调度系统

HunyuanVideo-Foley 企业级架构设计&#xff1a;基于Agent的分布式音效生成调度系统 1. 引言&#xff1a;音效生成的企业级挑战 想象一下这样的场景&#xff1a;一家大型视频平台每天需要为上万条视频自动生成匹配的音效。传统单机方案面临三大难题&#xff1a;生成速度跟不上…...

STC89C52内存告急?手把手教你优化MPU6050 DMP库,让51单片机也能流畅跑姿态解算

STC89C52内存告急&#xff1f;手把手教你优化MPU6050 DMP库&#xff0c;让51单片机也能流畅跑姿态解算 当你在STC89C52这类资源有限的51单片机上尝试运行MPU6050的DMP&#xff08;Digital Motion Processor&#xff09;库时&#xff0c;是否遇到过编译失败或运行不稳定的情况&…...

数学动画音频同步:让几何图形随音乐起舞的技术实现

数学动画音频同步&#xff1a;让几何图形随音乐起舞的技术实现 【免费下载链接】manim A community-maintained Python framework for creating mathematical animations. 项目地址: https://gitcode.com/GitHub_Trending/man/manim 在数学可视化领域&#xff0c;Manim…...