c++ - 应用于单个时间序列的独立成分分析

标签 c++ math

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

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

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

根据我的发现,预处理涉及构建一个矩阵 Y,该矩阵在第 1 列中包含原始时间序列,在第 2 列中包含时间序列的滞后 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 进行排序。

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

最佳答案

您可以尝试引用 Pierre Comon 和 Christian Jutten 的 Handbook of Blind Source Separation: Independent Component Analysis and Applications

关于c++ - 应用于单个时间序列的独立成分分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13840344/

相关文章:

javascript - 优化我的猜测算法

python - 如何在 random.shuffle() 中使用相同的种子集获得相同的结果

math - 用于计算离散对数的 Pohlig-Hellman 算法

c++ - 遍历 2.5D 网格

c++ - 使用 std::unique_ptr 反转二叉树

c++ - 反转 char 数组导致访问冲突

c++ - 在 C++Amp 中减少 GPU-CPU 数据传输

一个函数中的 C++ setter/getter?

c++ - 康威的生命游戏板未正确更新

algorithm - 给定一串数字和多个乘法运算符,可以计算出的最大数字是多少?