金融时间序列预测
嗨,我是rapidminer的新用户。我想做一个金融时间序列来预测股票市场(主要是香港恒生指数)的未来价值。我试着研究这个论坛来得到我的答案,然而,即使在我阅读了其他帖子和Thomas Ott制作的视频教程(#8-#10关于金融时间序列的教程)之后,我仍然感到困惑。
以下是困扰了我几天的问题:
1.论坛上的一些帖子提到,使用窗口可以帮助生成多元数据,但是这个函数如何帮助我预测非数据值(例如,我有第1天到第10天的数据,我想预测第11天到第20天的值)?
2.除了窗口之外,我应该在我的过程中放入哪些操作符来帮助我获得非数据预测值?
3.是否有任何方式将优化算子(网格)与滑动窗口验证算子中的SVM算子连接在一起?在我目前的模型中,我必须首先运行优化操作符,获得“优化”的值,并将它们放入验证操作符内部的SVM操作符中,然后我必须再次运行该过程。有没有更方便的方法来组织我的流程?
4.我很惊讶SVM的默认设置(内核类型:Dot)在预测股票市场表现方面是相当准确的,但是当我试图使用优化算子来优化“C”和“gamma”值并使用它们来测试我的测试数据时,通常会导致较低的准确性。我想知道是否有更好的运营商来预测市场表现?
感谢您的耐心阅读我所有的问题。我是一名社会科学专业的学生,对挖掘过程不是很熟悉……但我愿意学习
下面是我目前模型的XML,如果您能给我一些改进的建议就太好了谢谢!
< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 7.2.002”>
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
<过程扩展= " true " >
<列出关键= "注释" / >
<列出关键= " data_set_meta_data_information " / >
< /操作符>
<列出关键= " set_additional_roles " >
< / >列表
< /操作符>
< /操作符>
<列出关键= "注释" / >
<列出关键= " data_set_meta_data_information " / >
< /操作符>
<列出关键= " set_additional_roles " >
< / >列表
< /操作符>
< /操作符>
<过程扩展= " true " >
< /操作符>
> < /过程
<过程扩展= " true " >
<列出关键= " application_parameters " / >
< /操作符>
> < /过程
< /操作符>
<列出关键= " application_parameters " / >
< /操作符>
< /操作符>
<列出关键= "注释" / >
<列出关键= " data_set_meta_data_information " / >
< /操作符>
<列出关键= " set_additional_roles " >
< / >列表
< /操作符>
< /操作符>
“参数”<列表键= >
< / >列表
<过程扩展= " true " >
<列出关键= " application_parameters " / >
< /操作符>
> < /过程
< /操作符>
> < /过程
< /操作符>
> < /过程
最好的答案
-
Thomas_Ott RapidMiner认证分析师,RapidMiner认证专家,成员职位:1761年独角兽
你好理查德,
我建议你去看看Vijay Kotu和Bala Deshpande所著的《预测分析和数据挖掘》第10章,它解释了如何提前预测多个时间段。所以,为了回答你的具体问题,请参见下文:
1.你将需要使用窗口操作符为你的训练和测试集,上面提到的书讨论了如何建立你的训练和测试集。
2.这取决于,如果你试图预测市场指数的收盘价,也许你想使用滞后序列操作符或移动平均操作符。我经常用这些算子进行波动预测。
3.是的,你当然可以。只需在网格优化中嵌入滑动窗口验证操作符,您就可以调整训练/测试窗口和宽度。我经常这样做。窗口大小和步骤对更精确的模型有很大影响。
4.我通常使用带有RBF内核的SVM,然后在Grid optimization算子中微调Gamma和C。我发现这给了我一个更稳定的模型。
0 -
Thomas_Ott RapidMiner认证分析师,RapidMiner认证专家,成员职位:1761年独角兽
你好理查德,
要使用Lag Series操作符,您只需要编辑参数字段并选择您想要延迟的属性(列)以及延迟的值。因此,如果我想将一个名为S&P500_weekly的属性延迟2周,那么我将在lag Series操作符中选择该列并输入值2。
移动平均操作是类似的,只需选择您想要计算移动平均的属性并选择“时间窗口”。如果您的数据以天为单位,并且您想要一个20DMA,只需输入20作为时间窗口。
仅供参考,这里有一个关于γ和C如何相互作用的很棒的图表。
Gamma vs C - SVM
1
答案
谢谢Thomas的建议!我将朝这个方向努力,看看能找到什么
我可以要求更多关于如何在过程中实现滞后运算符/移动平均运算符的说明吗?我对这些术语很困惑谢谢
谢谢你!
我在建立模型方面做了很大的改进,但是又出现了一个新的问题。
下面这段话摘自你推荐给我的那本书第十章。
“…但是在开始循环之前,我们需要将最后预测的行存储在一个单独的数据结构中。这是由名为Extract Example Set的宏完成的。Filter Example操作符只是删除已转换数据集的所有行,最后预测的行除外。(P.324)”
我如何将过滤器示例操作符设置为“删除转换后的数据集的所有行,除了最后预测的行”?我猜这可能与“自定义过滤器”有关,但我一点击进去就迷路了……
另一个问题是在“调整日期”操作符中,我如何设置调整以制作一些新的日期?谢谢!