期货量化交易软件:MQL5 中的范畴论 (第 15 部分)函子与图论

概述

在上一篇文章中,我们目睹了前期文章中涵盖的概念(如线性序)如何视作范畴,以及为什么它们的“态射”在与其它范畴相关时即构成函子。在本文中,我们赫兹量化软件将阐述来自前期文章中的概括,即通过查看图论如何具有与上一篇文章中查看的线性序类似的用途。为了使用图论,我们赫兹量化将 MQL5 日历数据重构为图形,由此作为一个范畴。这将是一个关键焦点。本文的目的仍然会像我们之前的一篇,寻求明示在两个范畴之间函子的波动性预测潜力。不过,在这种情况下,我们的域范畴是一个图形,而协域将在预排序时间序列中显示标准普尔 500 指数波动率值(并非 VIX)。

MQL5 日历灌注数据重构为图形

当我们把范畴论与数据库制程联系起来时,MQL5 财经日历已被涵盖,故此在此重新涉及它与交易者的相关性并不适宜。为了将其表示为图形,即一连串的边线和节点,首先需要预先选择我们将包含在范畴中的新闻项目的子集。从财经日历网站上可以明显看出,有很多项目可供选择,不过,如果我们决定基于一个松散的假设只选择四个项目,并将它们连接起来,如下图所示:

添加图片注释,不超过 140 字(可选)

那么我们的假设会颇具争议,零售销售数字是制造业采购经理人指数(PMI)数据的函数,其派生自 CPI,而 CPI 又是由国债竞售业绩的结果而来,而国债竞售业绩也基于零售销售数字。因此,这是一个简单的循环,其准确性不是本文的主题,而更多意味着从财经日历数据勾勒可能的图形构图。

图论通过创建两个直截了当的表格,一个是顶点的配对表,另一个用作顶点的索引,来简化复杂的互连系统。图形可以被视为一个范畴,因为顶点可以被视为对象(域),这意味着边线当作态射。作为旁注,这与上一篇文章中看到的线性序有何不同,顾名思义,是线性。图论倾向于容纳更复杂的连接,其中对象/域可以连接到多个对象。

故此,我们不会像上一篇文章中关于线性序那样,将该范畴中的单个对象与标普波动率范畴中的对象配对,而是将顶点对的行数与标普范畴配对。这意味着它不能同构,由于鉴于标普是基于时间的,故多行被捆绑,并与标普中的单个对象(数据点)配对。这也意味着我们的域对象将构成四个元素(循环中四个项目的各自最后数值)。

范畴论和函子回顾

正如本文中已经提到的,范畴论已有许多应用,但大多数公开参考文献在代数拓扑方面倾向于零,这可能是因为该主题的原始作者,这就是为什么将 MQL5 应用于交易看似很新颖的原因。事实上,大多数熟悉 MQL5 的交易者倾向于使用神经网络来开发他们的前沿系统,或许是因为与范相比,它们经历的研究更久,这不应该阻止探索范畴,因为底线是大多数交易者都在寻求前沿,如果一个系统或方法太常见,那么能找到一个的几率就会降低。

函子,正如我们在上一篇文章中曾提过的,实际上是范畴之间的态射。这些“态射”不仅将两个范畴中的对象连接起来,而且还将范畴之间的同态连接起来。

在上一篇文章中,我们测试了两个场景,一个是使用两个范畴之间的对象连接,另一个是考虑相同范畴之间的态射连接。函子是两者的对数,出于我们的意图,尽管我们一次取一个来探索两者之间的差异,并为每个提供策略测试报告,这些突显出预测纳斯达克波动率的相对重要性。鉴于 2020年 1 月 1 日至 2020年 3 月 15 日的测试窗口较短,无法得出哪种映射更佳的结论,但结果当中的差异表明具有高度敏感性,因此需要强调一个盖过其它。

创建标准普尔 500 指数波动率范畴

SP500 波动率数据的收集和处理很简单,类似于我们在上一篇文章中衡量纳斯达克波动率的方式。VIX 是我们将在这里研究的单独指标,读者注意这一点很重要。故此,当前的波动率读数将在以下清单之后在每根新柱线上重新计算:

 

double _float_value=0.0; //where R is an instance of MqlRates... _float_value=(R.high-R.low)/Point();

如前所述,标普将形成我们的协域,对象捕获的波动率值作为一个对象的集合,以及它们之间的态射捕获波动率读数之间的相对变化。此范畴的初始化可以按如下方式处理:

正如我们在上一篇文章中所见,如果我们能将一个带有滞后的域映射到这个协域,我们就具备对标普 500 指数的波动性进行一些预测的能力。与上一篇文章一样,我们将在相同的信号和资金管理设置上分别测试对象和态射函子,从而衡量灵敏度。

从财经日历到标普 500 指数的函子

我们将使用以下清单构建财经日历数据的范畴:

该域中的每个对象都有两个顶点,它们是成对的日历值,其中至少有一个顶点位于协域中波动率值的时间范围内。由于这些财经数据大约每隔一个月发布一次,我们将在月度时间帧内进行测试。与上一篇文章一样,我们的函子映射将含有对象中每个数据点的系数。此处的区别在于,我们面临着多个对象映射到协域中同一波动性的可能性。理想情况下,我们需要分别从每个对象获取系数(对于线性映射),并在预测中使用它们。这意味着它们捆绑后必然会在态射映射提供的预测之上造成相互冲突的预测。这就是为什么出于本文目的,我们可以权衡从日历数据到标普范畴的每个函子映射,并将所有值的点积总和映射到波动率值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三方库移植之NAPI开发[2]C/C++与JS的数据类型转

通过NAPI框架进行C/C与JS数据类型的转换 OpenHarmony NAPI将ECMAScript标准中定义的Boolean、Null、Undefined、Number、BigInt、String、Symbol和Object八种数据类型,以及函数对应的Function类型,统一封装成napi_value类型,下文中表述为JS类…

基于LNMP部署wordpress

目录 一.环境准备 二.配置源并安装 三.配置Nginx 四.配置数据库 五.上传源码并替换 六.打开浏览器,输入虚拟机ip访问安装部署 七.扩展增加主题 一.环境准备 centos7虚拟机 关闭防火墙和seliunx stop firewalld #关闭防火墙 setenforce 0 …

隐身打击云函数CDN对抗 | 应急响应

0x00 简介 在攻防演练中,使用云函数来隐藏 C&C 的 ip 地址已经成为了一种“标配” 在应急处置过程中,我们经常遇到 netstat -pantu | grep ip 无法找到安全设备关于红队外联的告警的情况 由于 C&C 的 ip 地址是一直变化的,所以常…

基于深度学习的智能停车场车牌识别计费系统(完整程序+训练数据集+开题报告+论文))

摘要 本篇论文研究的是基于车牌识别技术的智能停车场管理系统,采用基于深度学习的车牌识别算法,通过卷积神经网络对车牌图像进行处理和分析,实现车牌字符的识别和车牌信息的提取。同时,本文还设计了一个智能停车场管理系统…

【网安播报】GitHub上的恶意Visual Studio 项目推送 Keyzetsu 恶意软件

1、GitHub 上的恶意 Visual Studio 项目推送 Keyzetsu 恶意软件 威胁行为者正在滥用 GitHub 自动化功能和恶意 Visual Studio 项目来推送“Keyzetsu”恶意软件的新变种并窃取加密货币付款。攻击者创建了GitHub 存储库,并使用各种方法来人为地提高其在平台上的受欢迎…

计费管理系统

武汉理工大学程序设计综合实验作业,没有完全按照要求的文件来写,仅供参考。 目录 菜单说明 大致思路说明 代码实现 func.h 用于存放各种功能函数的声明 tool.h 用于存放相关工具函数的声明 func.c 用于存放各种功能函数的定义 tool.c 用于存放相…

网站如果在日益变化的网络攻击中寻到一线生机

一、引言 在数字化浪潮席卷全球的今天,网络空间早已成为国家安全、经济发展和社会稳定的战略高地。然而,这片看似平静的虚拟世界,实则暗流涌动,网络攻击层出不穷,手段日益翻新,给网站的安全运营带来了前所…

蓝桥杯2022年第十三届省赛真题-最优清零方案 java

样例输入、输出: 输入1: 4 2 1 2 3 4输出1 6输入2: 4 2 1 2 3 4输出2 6解法: 滑动窗口解法如下。主要思路就是:用长度为k的滑动窗口,每遇到连续k个不为0的数,记录这k个数中的最小值为min&…

Nerf-Studio复现笔记

文章目录 1. Env2. Train3. Custom data3.1 Prepare3.2 Render and eval3.3 Results 4. Summary 1. Env The configuration process was smooth on Linux, but there are some problems with tiny_cuda_nn and colmap in Windows. // According to the installation document…

【MATLAB源码-第186期】matlab基于MLE算法的8天线阵列DOA估计仿真,对比粗估计、精确估计输出RMSE对比图。

操作环境: MATLAB 2022a 1、算法描述 第一部分:基本概念与系统设置 方向到达估计(Direction of Arrival, DOA)是信号处理中一项重要的技术,主要用于确定信号的到达方向。这种技术在雷达、无线通信和声纳等领域中有…

Solana主网使用自定义的RPC进行转账

1、引言 如果用 browser 连接主网的 RPC server 会收到 error code 403 message 為 Access forbidden, contact your app developer or supportrpcpool.com. 错误,因为主网的 RPC server 会检查 HTTP Header 如果判断出來是 browser 就会报告 403 錯誤。 要解決这…

LabVIEW闭环步进电机运动系统设计及精度分析

LabVIEW闭环步进电机运动系统设计及精度分析 在自动化设备不断发展的当代,闭环步进电机以其高精度和可靠性成为了自动化设备的重要组成部分。以LabVIEW软件为核心,结合运动控制卡及驱动器模块,设计并实现了一个闭环步进电机的多轴运动控制系…

加盟馅饼多少钱合适,加盟哪个馅饼品牌最好?

加盟馅饼,成本是创业者首要考虑的问题。合适的加盟费用应该考虑到品牌知名度、培训支持、店面选址等因素。一般而言,加盟馅饼的费用在几万元至数十万元之间,具体费用因品牌而异。重要的是,加盟费用不应是唯一的考量因素&#xff0…

SpringBoot3 + Vue3 + Uniapp + uView + Elenment 实现动态二级分类以及二级分类的管理

SpringBoot3 Vue3 Uniapp uView Elenment 实现动态二级分类以及二级分类的管理 1. 效果展示1.1 前端显示效果1.2 后台管理一级分类1.3 后台管理二级分类 2. 后端代码2.1 GoodsCategoryController.java2.2.1 GoodsCategoryMapper.java2.2.2 GoodsCategorySonMapper.java2.3.…

Pytest精通指南(06)Fixture scope作用域详解

文章目录 前言Scope 作用域写在测试用例函数文件写在conftest.py文件作用域总结验证默认作用域验证执行顺序遵循验证类中的fixture作用域验证重名fixture作用域 前言 从前文中,我们已经知道固件(fixture)的概念、原理、作用域,并且…

【年度典型案例】扫码就能领补贴?通知社保在线速办?当心是钓鱼骗局!

随着我们生活的数字化程度越来越高,完成各种业务和服务变得前所未有的便捷。只需轻轻一点手机屏幕,我们办事儿变得飞快又方便。然而,正当我们享受这种数字化带来的便捷时,一些不法分子也在暗中伺机而动,利用各种手段制…

k8s知识

k8s是用于容器编排和管理的,docker或者ctr是k8s的运行时,k8s通过容器运行时来启动容器,容器启动需要镜像,镜像可以用docker构建,dockerfile就是用于自定义如何构建镜像,所以上面那套流水线就是先用dockerfi…

Java算法小练习——五道经典算法题

练习一:按照要求进行排序 定义数组并存储一些朋友对象,利用Arrays中sort方法进行排序 要求1:属性有姓名、年龄、身高。 要求2:按照年龄的大小进行排序,年龄一样,按身高排序,身高一样安姓名的字母…

策略为王股票软件源代码-----如何修改为自己软件05

上面是如何修改里面的图标和图片,,, 试用版下载: http://www.ninebulls.com/ 联系方式: support@ninebulls.com 常见问题: 1。源代码经编程后产生的目标文件执行后显示为试用版,这样是否正常?如何切换成专业版? 显示为评估版是正常的,注册后即切换成专业版。 Too…

【算法一则】做算法学数据结构 - 简化路径 - 【栈】

目录 题目栈代码题解 题目 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表…