2023年华东杯数学建模B 题 期货价格相关性问题-思路解析
题目背景:
许多金融标的都有其内在的关联,如何从量价数据找到这种关联是一个有趣的
问题。例如在万得的“煤焦钢矿”板块中,有螺纹钢、铁矿石、不锈钢、热轧卷板、
硅铁、焦煤、焦炭、锰硅、线材 9 个品种。这些品种有些是上下游关系,例如一定数量的焦煤焦炭和铁矿石可以生产出螺纹钢等。如何从价格挖掘出不同产品之间的关系一直是投资者感兴趣的问题。请从这些产品的日线价格中找出产品之间潜在的关系。
日线是任何一天的开盘价\收盘价\最高价\最低价所划出的一根中间粗一些,两端细一些的线。日线是每天一根的K线。
问题1:构建算法从日线建立这些品种的线性关系,并对这些线性关系进行建模。
思路提要:首先从题目列出的网址下载相应的数据并做数据整理与预处理,日线数据涉及开盘价\收盘价\最高价\最低价。可以通过简单的相关系数计算以及热力图来初步判断线性关系,然后通过最小二乘、多元线性回归等方法进一步挖掘这些品种之间的线性关系。
数据查看
cor = data.corr(method='pearson')
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 5))
sns.set(font_scale=0.8) # 设置字体大小
sns.heatmap(cor,annot=True, # 显示相关系数的数据center=0.5, # 居中fmt='.2f', # 只显示两位小数linewidth=0.5, # 设置每个单元格的距离#linecolor='black', # 设置间距线的颜色vmin=0, vmax=1, # 设置数值最小值和最大值xticklabels=True, yticklabels=True, # 显示x轴和y轴square=True, # 每个方格都是正方形cbar=True, # 绘制颜色条cmap='summer', # 设置热力图颜色)
plt.ion() #显示图片
问题 2. 能否找出这些品种的非线性关系?
思路提要:非线性关系可以通过非线性回归/岭回归等回归方式来计算,也可以通过机器学习黑箱模型(如多元LSTM、随机森林等),或者是金融学的Granger因果分析方法。多项式回归是独立x变量和因果y变量之间的非线性关系。当我们分析有一些弯曲的波动数据时,拟合这种类型的回归是必不可少的。
问题 3. 这些关系通常有一定的时效性。能否找出一个判据来确定这些关系存在的窗口期?
思路提要:我们可以初步猜想窗口期可能是3天、5天、7天或者一个月、一个季度,然后对整个时间序列按照猜想的窗口步长划分成一个个小时间窗,然后将其分开计算相关关系,验证猜想是否正确。
问题 4. 通过这些关系构建一个投资组合策略。
思路提要:根据前述的分析,我们可能发现了,一种产品价格上升/下降或引起另一个产品价格下降/上升,那么我们为了平衡投资的收益与风险,需要同时购买保值稳定的和有潜力的,而且最好是互补的(虽然全赚更好但是很有可能全赔,一个赔一个赚这样才比较保险)。
除了用蒙特卡洛模拟进行投资组合求解外,也可以通过python的scipy.optimize库进行最优化求解。
组合投资策略中常用到的概念-夏普比率:Sharpe Ratio),又被称为夏普指数 --- 基金绩效评价标准化指标。夏普比率在现代投资理论的研究表明,风险的大小在决定组合的表现上具有基础性的作用。风险调整后的收益率就是一个可以同时对收益与风险加以考虑的综合指标,长期能够排除风险因素对绩效评估的不利影响。夏普比率就是一个可以同时对收益与风险加以综合考虑的三大经典指标之一。
完整解题步骤和参考代码请私信获取~
相关文章:

2023年华东杯数学建模B 题 期货价格相关性问题-思路解析
题目背景: 许多金融标的都有其内在的关联,如何从量价数据找到这种关联是一个有趣的 问题。例如在万得的“煤焦钢矿”板块中,有螺纹钢、铁矿石、不锈钢、热轧卷板、 硅铁、焦煤、焦炭、锰硅、线材 9 个品种。这些品种有些是上下游关系&…...

SAP UI5 之Controls (控件) 笔记三
文章目录 官网 Walkthrough学习-Controls控件1.0.1 在index.html中使用class id 属性控制页面展示的属性1.0.2 我们在index.js文件中引入 text文本控制1.0.3打开浏览器查看结果 官网 Walkthrough学习-Controls控件 Controls控件 在前面展示在浏览器中的Hello World 是在Html …...
哈希表题目:设计地铁系统
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:设计地铁系统 出处:1396. 设计地铁系统 难度 6 级 题目描述 要求 一个地铁系统正在收集乘客在不同站之间的花费时间。他们在使用这些数…...

云时通OMS:为零售品牌商打造高效的全渠道订单管理!
传统的零售企业围绕“人、货、场” 三要素来展开营销,其目标是基于“场”将货销售给更多的人。随着数字技术的应用,新零售模式下的“场”除了传统的线下店铺外,还拓展了多元化的线上渠道,比如小程序、企业APP、第三方平台、电商直…...

有必要给孩子买台灯吗?分享四款高品质的护眼台灯
有必要使用护眼台灯,尤其是有近视现象的孩子们。 现在很多孩子小学就开始近视了,保护视力刻不容缓呀! 很多人不知道,其实劣质光线是最大的眼睛杀手 给孩子随便买便宜的台灯,看着一样能用,其实时间久了 对孩子眼睛的…...
模板方法模式
模板方法模式 模板方法模式定义:使用场景角色定义抽象模板: 为抽象模板,它的方法分为两类AbstractClass1. 基本方法: 也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。2. 模板方法: 可以有一个或几个,一般是一个具体方法…...

基于Yolov5的NEU-DET钢材表面缺陷检测,优化组合新颖程度较高:CVPR2023 DCNV3和InceptionNeXt,涨点明显
1.钢铁缺陷数据集介绍 NEU-DET钢材表面缺陷共有六大类,分别为:crazing,inclusion,patches,pitted_surface,rolled-in_scale,scratches 每个类别分布为: 训练结果如下: 2.基于yolov5s的训练 map值: 2.1 Inception-MetaNeXtStage 对应博客:https://cv2023.blog.csdn.n…...

【HarmonyOS】自定义组件之ArkUI实现通用标题栏组件
【关键字】 标题栏、常用内置组件整合、ArkUI、自定义组件 1、写在前面 在上一篇文章中我们通过Java语言实现了一个通用的标题栏组件,有需要的可以看下,文章地址: 华为开发者论坛 现在很多朋友都已经转战ArkTS语言了,那么今天…...
C#开发的OpenRA游戏的加载地图流程
C#开发的OpenRA游戏的加载地图流程 OpenRA游戏里,地图是一个很关键的数据, 因为地图里包括了地面状态,地面上建筑物状态, 还有玩家在地图上的布局情况,以及各种活动限制的条件。 在OpenRA里,需要把地图目录:OpenRA\mods\cnc\maps 里所有的文件进行加载, 并且保存在缓…...

python ast 详解与用法
目录 基本概念节点类型ast.Assignast.Nameast.Constantast.Callast.Attribute 结点的遍历ast源码示例 结点的修改示例 参考链接 基本概念 在 python 中,我们可以通过自带的 ast 模块来对解析遍历语法树,通过ast.parse()可以将字符串代码解析为抽象语法树…...

Go语言开发小技巧易错点100例(七)
往期回顾: Go语言开发小技巧&易错点100例(一)Go语言开发小技巧&易错点100例(二)Go语言开发小技巧&易错点100例(三)Go语言开发小技巧&易错点100例(四)Go…...

爬虫为什么需要ip
爬虫需要使用爬虫ip主要是为了解决以下问题: 1、反爬虫机制:许多网站会设置反爬虫机制来防止爬虫程序的访问,例如限制IP地址的访问频率、检测访问来源等。使用爬虫ip可以绕过这些限制,使得爬虫程序更难被检测到。 2、访问限制&a…...

RabbitMQ-保证消息可靠性
RabbitMQ-保证消息可靠性 1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallback 1.2.消息持久化1.2.1.交换机持久化1.2.2.队列持久化1.2.3.消息持久化 1.3.消费者消息确认1.3.1.演示none模式1.3.2.演示auto模式 1.4.消费失败重试机制1.…...

Python教程——Python本地环境安装
文章目录 简介安装Python下载安装验证安装结果 手动添加环境变量安装问题 简介 python官网:https://www.python.org/ Python Windows下载地址:https://www.python.org/downloads/windows/ Python 官方文档:https://www.python.org/doc/ Pytho…...

“智慧交通”转型升级+创新发展策略
随着“互联网交通”的应用创新推陈出新,传统轨道交通行业客户服务中心已难以满足乘客对便捷高效的客户服务需求;节假日人流量激增,客户服务人手不足,交通、站点堵塞、信息更新不及时等问题是常态。因此,“智慧城市”交…...
华为OD机试 - 开放日活动、取出尽量少的球(Python)
题目描述 某部门开展Family Day开放日活动,其中有个从桶里取球的游戏,游戏规则如下: 有N个容量一样的小桶等距排开, 且每个小桶都默认装了数量不等的小球, 每个小桶装的小球数量记录在数组 bucketBallNums 中, 游戏开始时,要求所有桶的小球总数不能超过SUM, 如果…...

一些关于单链表的操作
思维导图: 一, 链表 1.1节点的结构 链表是啥样的啊?顾名思义链表就是一种用链子链接起来的表。那这种表是怎么样的啊? 这样的呗: 现在,我们知道了链表的形状了。那我们该如何用编程语言来形成这一种形状…...

CTF-PHP反序列化漏洞2-利用魔法函数
作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。我的…...

Doris(23):Doris的函数—字符串函数
1 append_trailing_char_if_absent(VARCHAR str, VARCHAR trailing_char) 如果s字符串非空并且末尾不包含c字符,则将c字符附加到末尾。 trailing_char只包含一个字符,如果包含多个字符,将返回NULL select append_trailing_char_if_absent(a,c);select append_trailing_cha…...

01-Shiro550漏洞流程
1. 漏洞原理 Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞。 那么…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果 的算法。 class Solution {public int searchInsert(int[] nums, …...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...