1

首先,我不是金融工程大师。我作为一名 COBOL 程序员工作了很多年,虽然我对 c++ 有点生疏,但经过一点复习,我可以做得很好。

我从事期货交易已有几年了,并为自己设定了在单一时间序列数据流(期货价格、股票价格)上实施 ICA 的任务。

ICA 算法是 it++ 包 (fastICA) 的一部分,但是有必要对时间序列数据执行一些预处理,因为 ica 的工作前提是观察的数量至少与源的数量一样大。

根据我的发现,预处理涉及构造一个矩阵 Y,其中包含第一列中的原始时间序列、第二列中时间序列的滞后 1 移位版本等。

eg.

Y= 1.0135518 - 0.7113242 - 0.3906069 1.565203
- 0.7113242 - 0.3906069 1.565203 0.0439317
- 0.3906069 1.565203 0.0439317 - 1.1656093
etc.

我的问题是:

  1. 执行 ICA 后,恢复时间序列数据中的独立源需要哪些步骤?

  2. 如何从最重要到最不重要对 IC 进行排序。

    如果有人可以回答这些问题或为我指明合适的书籍或文章的方向,我将不胜感激。最好是书或文章在本质上更实用。

4

2 回答 2

0

你可以试试Handbook of Blind Source Separation: Independent Component Analysis and ApplicationsPierre Comon 和 Christian Jutten 作为参考。

于 2012-12-12T13:18:07.603 回答
0

通常 ICA 返回一个分离矩阵 M。因此,要找到您的来源,您需要将 M 乘以原始测量矩阵。按重要性对 ICA 组件进行排序仅取决于您认为对您重要的内容,例如方差或其他一些统计属性。ICA 本身不提供任何自然排序机制。

于 2013-01-15T06:33:28.460 回答