累积分布策略思路

news2025/4/1 10:31:12

一种基于概率密度和累积分布函数的量化交易策略,主要应用于期货市场。该策略通过计算价格数据的概率密度和累积分布函数(CDF),结合移动平均线和ATR(平均真实范围)等技术指标,实现多空交易的自动化。

 

交易逻辑思路

 

1. 数据预处理与初始化:

   - 数据后复权:确保历史数据反映真实价格变动。

   - 自动换仓:简化交易执行过程。

   - 忽略换仓信号计算:专注于核心交易逻辑。

 

2. 核心计算:

   - 四价均值:计算当日的开盘价、最高价、最低价和收盘价的平均值,作为参考价格。

   - 正太分布近似:使用正太分布函数估算价格的累积概率分布(CDF),以评估当前价格在历史数据中的位置。

   - 移动平均线平滑:对CDF进行平滑处理,生成更稳定的信号。

   - 日线EMA均线:计算日级别的指数移动平均线(EMA),用于趋势过滤。

 

3. 入场条件:

   - 多头入场:当最近一天的收盘价高于日线EMA均线,并且CDF的短期值低于长期值且超过多头阈值时,触发多头入场。

   - 空头入场:当最近一天的收盘价低于日线EMA均线,并且CDF的短期值高于长期值且超过空头阈值时,触发空头入场。

 

4. 出场条件:

   - ATR吊顶出场:使用ATR指标计算跟踪止盈止损点。多头持仓时,如果价格跌破最高价减去N倍ATR,则触发卖出;空头持仓时,如果价格涨破最低价加上N倍ATR,则触发买入平仓。

 

特点分析

 

1. 概率驱动:

   - 该策略的核心在于利用正太分布函数估算价格的累积概率分布,从而判断当前价格在历史数据中的相对位置。这种方法能够有效减少噪音,提供更稳定的交易信号。

 

2. 多周期结合:

   - 策略结合了短周期的CDF分析和长周期的EMA均线,既能够捕捉短期价格波动,又能够利用长期趋势进行过滤,提高交易的准确性和稳定性。

 

3. 动态止损止盈:

   - 使用ATR指标进行动态止损止盈,能够根据市场波动情况自动调整止损止盈点,有效控制风险并锁定利润。

 

4. 简单高效:

   - 策略逻辑清晰,计算量适中,适合在高频交易环境中运行。通过简单的数学模型和标准的技术指标,实现了较为稳健的交易效果。

 

5. 适应性强:

   针对特定品种(如RB888、J9888)进行了测试,其核心逻辑和方法具有较高的通用性,可以通过调整参数和周期适应不同的市场和品种。

 

回测与优化

- 回测平台:TBQuant

- 回测周期:15分钟

- 测试品种:RB888、J9888

- 参数设置:策略参数包括计算概率密度的周期数、日级别EMA均线的周期数、多头和空头累积分布阈值、跟踪止盈止损的ATR倍数以及交易手数等。

 

建议与注意事项

1. 参数调优:

   - 不同的市场和品种可能需要不同的参数设置。建议在实际应用中进行充分的回测和优化,找到最适合当前市场的参数组合。

 

2. 风险管理:

   - 尽管策略采用了动态止损止盈机制,但仍需注意市场极端情况的发生。建议在实际交易中设置额外的风控措施,如资金管理规则和仓位控制。

 

3. 数据质量:

   - 高质量的历史数据对于策略的回测和实际运行至关重要。确保数据的完整性和准确性,避免因数据问题导致的策略失效。

 

4. 持续监控:

   - 市场环境是动态变化的,策略的表现也会随之变化。建议在实际运行过程中持续监控策略的表现,并根据需要进行调整和优化。

 

综上所述,该策略通过结合概率密度分析、移动平均线和ATR等技术指标,提供了一种较为稳健和高效的交易方法。尽管如此,实际应用中仍需根据具体情况进行细致的调优和风险管理,以实现最佳的交易效果。

策略思维导图:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2324265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaScript】九、JS基础练习

文章目录 1、练习:对象数组的遍历2、练习:猜数字3、练习:生成随机颜色 1、练习:对象数组的遍历 需求:定义多个对象,存数组,遍历数据渲染生成表格 let students [{ name: 小明, age: 18, gend…

RAG、大模型与智能体的关系

一句话总结: RAG(中文为检索增强生成) 检索技术 LLM 提示。 RAG、大模型与智能体的关系解析 1. 核心概念定义 RAG(检索增强生成) 是一种结合信息检索与生成式模型的框架,通过从外部知识库(如…

Linux中《进程状态--进程调度--进程切换》详细介绍

目录 进程状态Linux内核源代码怎么说运行&&阻塞&&挂起内核链表 进程状态查看Z(zombie)-僵尸进程僵尸进程危害孤儿进程 进程优先级进程切换Linux2.6内核进程O(1)调度队列 进程状态 Linux内核源代码怎么说 为了弄明白正在运⾏的进程是什么意思,我们…

蓝桥杯备考:多米诺骨牌

这道题要求上下方格子和之差要最小,其实就是算每个上下格子的差求和的最小值 这道题其实是动态规划01背包问题 我们直接按步骤做吧 step1:定义状态表示f[i][j]表示从1到i个编号的差值里选出刚好j个数的最小操作次数 step2:推导状态转移方程 如图这就是我们的状态…

AudioFlinger与AudioPoliceManager初始化流程

AF/APF启动流程 在启动AudioSeriver服务的过程中会对启动AF/APF。main_audioserver.cpp有如下代码: AudioFlinger::instantiate();AudioPolicyService::instantiate();AF初始化流程 1.AudioFlinger::instantiate() 1.1 AudioFlinger构造函数 void AudioFlinger:…

网路传输层UDP/TCP

一、端口号 1.端口号 1.1 五元组 端口号(port)标识了一个主机上进行通信的不同的应用程序. 如图所示, 在一个机器上运行着许多进程, 每个进程使用的应用层协议都不一样, 比如FTP, SSH, SMTP, HTTP等. 当主机接收到一个报文中, 网络层一定封装了一个目的ip标识我这台主机, …

Python大数据处理 基本的编程方法

目录 一、实验目的 二、实验要求 三、实验代码 四、实验结果 五、实验体会 一、实验目的 体会基本的python编程方法;学习python中的各类函数;了解python读取与写入文件的方法。 二、实验要求 输入2000年后的某年某月某日,判断这一天是…

STM32F103_LL库+寄存器学习笔记06 - 梳理串口与串行发送“Hello,World“

导言 USART是嵌入式非常重要的通讯方式,它的功能强大、灵活性高且用途广泛。只停留在HAL库层面上用USART只能算是入门,要加深对USART的理解,必须从寄存器层面入手。接下来,先从最简单的USART串行发送开始。 另外,在接…

硬件基础--14_电功率

电功率 电功率:指电流在单位时间内做的功(表示用电器消耗电能快慢的一个物理量)。 单位:瓦特(W),简称瓦。 公式:PUI(U为电压,单位为V,i为电流,单位为A,P为电功率,单位为W)。 单位换算:进位为1000&#xff…

Vue.js 完全指南:从入门到精通

1. Vue.js 简介 1.1 什么是 Vue.js? Vue.js(通常简称为 Vue)是一个用于构建用户界面的渐进式 JavaScript 框架。所谓"渐进式",意味着 Vue 的设计是由浅入深的,你可以根据自己的需求选择使用它的一部分或全部功能。 Vue 最初由尤雨溪(Evan You)在 2014 年创…

在Git仓库的Readme上增加目录页

一般在编写Readme时想要增加像文章那样的目录,方便快速跳转,但是Markdown语法并没有提供这样的方法,但是可以通过超链接结合锚点的方式来实现,如下图是我之前一个项目里写的Readme: 例如有下面几个Readme内容&#xff…

C# SolidWorks 二次开发 -各种菜单命令增加方式

今天给大家讲一讲solidworks中各种菜单界面,如下图,大概有13处,也许还不完整哈。 1.CommandManager选项卡2.下拉选项卡3.菜单栏4.下级菜单5.浮动工具栏6.快捷方式工具栏7.FeatureManager工具栏区域8.MontionManager区域 ModelView?9.任务窗…

【RocketMQRocketMQ Dashbord】Springboot整合RocketMQ

【RocketMQ&&RocketMQ Dashbord】Springboot整合RocketMQ 【一】Mac安装RocketMQ和RocketMQ Dashbord【1】安装RocketMQ(1)下载(2)修改 JVM 参数(3)启动测试(4)关闭测试&…

《白帽子讲 Web 安全》之跨站请求伪造

引言 在数字化时代,网络已深度融入人们生活的方方面面,Web 应用如雨后春笋般蓬勃发展,为人们提供着便捷高效的服务。然而,繁荣的背后却潜藏着诸多安全隐患,跨站请求伪造(CSRF)便是其中极为隐蔽…

K8S学习之基础五十:k8s中pod时区问题并通过kibana查看日志

k8s中pod默认时区不是中国的,挂载一个时区可以解决 vi pod.yaml apiVersion: v1 kind: Pod metadata:name: counter spec:containers:- name: countimage: 172.16.80.140/busybox/busybox:latestimagePullPolicy: IfNotPresentargs: [/bin/sh,-c,i0;while true;do …

nginx代理前端请求

一,项目配置 我在 ip 为 192.168.31.177 的机器上使用 vue3 开发前端项目,项目中使用 axios 调用后端接口。 这是 axios 的配置: import axios from axios;const request axios.create({baseURL: http://192.168.31.177:8001,// 设置请求…

Android生态大变革,谷歌调整开源政策,核心开发不再公开

“开源”这个词曾经是Android的护城河,如今却成了谷歌的烫手山芋。最近谷歌宣布调整Android的开源政策,核心开发将全面转向私有分支。翻译成人话就是:以后Android的核心更新,不再公开共享了。 这操作不就是开源变节吗,…

银行分布式新核心的部署架构(两地三中心)

银行的核心系统对可用性和性能要求均非常严苛,所以一般都采用两地三中心部署模式。 其中: 同城两个主数据中心各自部署一套热备,平时两个中心同时在线提供服务,进行负载均衡假如其中一个数据中心出现异常,则由另外一个…

MantisBT在Windows10上安装部署详细步骤

MantisBT 是一款基于 Web 的开源缺陷跟踪系统,以下是在 Windows 10 上安装部署 MantisBT 的详细步骤: 1. 安装必要的环境 MantisBT 是一个基于 PHP 的 Web 应用程序,因此需要安装 Web 服务器(如 Apache)、PHP 和数据…

9.4分漏洞!Next.js Middleware鉴权绕过漏洞安全风险通告

今日,亚信安全CERT监控到安全社区研究人员发布安全通告,Next.js 存在一个授权绕过漏洞,编号为 CVE-2025-29927。攻击者可能通过发送精心构造的 x-middleware-subrequest 请求头绕过中间件安全控制,从而在未授权的情况下访问受保护…