保序回归与金融时序数据

保序回归在回归问题中的作用是通过拟合一个单调递增或递减的函数,来保持数据点的相对顺序特性。

一、保序回归的作用

主要用于以下情况:

  1. 有序数据:当输入数据具有特定的顺序关系时,保序回归可以帮助保持这种顺序关系。例如,时间序列数据、评级数据或排序数据等。

  2. 无噪声数据:如果数据中存在噪声,即一些离群点或错误标记的数据点,保序回归可能会受到这些异常值的干扰。因此,保序回归更适用于相对干净且有序的数据。

  3. 数据平滑:保序回归可以用于平滑数据,消除数据中的波动和噪声,以获得更加稳定的趋势。

  4. 非线性关系:当数据中存在非线性的关系时,保序回归可以更好地捕捉这种非线性关系,而不受线性回归的限制。

python 复制代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.isotonic import IsotonicRegression

# 构造示例数据
X = np.array([1, 2, 3, 4, 5])  # 自变量
y = np.array([2, 3, 1, 5, 4])  # 因变量

# 创建并训练保序回归模型
model = IsotonicRegression()
model.fit(X, y)

# 预测新的数据点
new_X = np.array([5, 6, 5.5])
predicted_y = model.predict(new_X)

# 输出预测结果
print(predicted_y)

二、保序回归处理金融股票时序数据并可视化

python 复制代码
data = {}
data['close'] = pd.read_pickle('close.pkl')['stock_1'].iloc[-500:]
data['open'] = pd.read_pickle('open.pkl')['stock_1'].iloc[-500:]

n = len(data['close'])
X = np.array(data['open'].values)
y = data['close'].values

from sklearn.isotonic import IsotonicRegression

ir=IsotonicRegression()
y_ir=ir.fit_transform(X,y)

plt.figure(figsize=(15,6))
plt.plot(X,y,'r.',markersize=12)
plt.plot(X,y_ir,'g.-',markersize=12)
plt.legend(('Data','Isotonic Fit'))
plt.title("Isotonic Regression")
plt.show()

三、一个小例子

  1. 收集了股票价格和动量因子的历史数据,其中 stock_prices 是股票价格的时间序列数据,momentum_factors 是相应的动量因子数据,target 是标记股票涨跌的目标变量。

  2. 创建一个 IsotonicRegression 对象 model,并使用 fit 方法拟合模型,将动量因子作为自变量,目标变量作为因变量进行训练。

  3. 定义了新的动量因子 new_momentum_factors,并使用 predict 方法对其进行预测,得到相应的股票涨跌预测结果 predicted_target。

python 复制代码
# 收集股票价格和动量因子的历史数据
stock_prices = np.array([100, 110, 120, 130, 120, 110, 100])
momentum_factors = np.array([0.5, 0.7, 0.9, 1.2, 0.8, 0.6, 0.4])
target = np.array([1, 1, 1, -1, -1, -1, -1])  # 标记股票涨跌,1为涨,-1为跌

# 创建并拟合保序回归模型
model = IsotonicRegression()
model.fit(momentum_factors, target)

# 预测新的动量因子对应的股票涨跌
new_momentum_factors = np.array([0.5, 0.4, 0.7])
predicted_target = model.predict(new_momentum_factors)

# 输出预测结果
print(predicted_target)
相关推荐
郝学胜-神的一滴3 小时前
AI 编程智能体 09:零门槛调用教程
人工智能·数据分析·自动化·numpy·pandas·量化投资
星马梦缘14 小时前
信息检索与数据挖掘 作业一 解析
数据挖掘·tf-idf·信息检索·vbs·信息检索与数据挖掘·向量空间模型·可变字节编码
外收内放1 天前
数据分析(案例实战)
数据挖掘·数据分析
霍格沃兹测试学院-小舟畅学1 天前
京东JoyCode公开Testing Agent后,仓库级回归该怎样设计?
人工智能·数据挖掘·回归
机器学习之心2 天前
给地铁牵引系统做一次“体检“:灰色聚类 + 正态云模型的MATLAB完整实现
matlab·数据挖掘·聚类
成为深度学习高手2 天前
xLSTM-Mixer:用标量记忆同时混合时间与变量,把循环网络带回多元时序预测
人工智能·python·深度学习·数据挖掘·transformer
DeeGLMath2 天前
optimtool最新版加速训练分类任务
人工智能·分类·数据挖掘
注塑机数据采集联网2 天前
如何解决注塑机数据采集联网对接MES系统数据WiFi传输数据不稳问题
大数据·数据库·物联网·数据挖掘·数据分析
DongQiShanRen3 天前
宇宙(上):分身创建——三条件触发与差异化演化
人工智能·深度学习·自然语言处理·数据挖掘
总要学点什么3 天前
第63篇:3DTiles-大雁塔模型——190 块瓦片不是八叉树,抬高的却是球心那条法线
3d·数据挖掘·数据分析·gis·webgl