链接到 Ox 的 C 库

C library linked to Ox

我目前正在研究状态 space 模型,the book I'm using 有一些非常有用的示例。

问题:

这些示例是用 Ox 编写的,这在一定程度上限制了它的可用性,特别是当我想使用 Interactive Brokers API 测试我的一些模型时,使用 C# / C++ 更实用。

更具体地说,它使用了 SsfPack 中的示例,根据 this article 是“状态 space 的例程库 用 C 编写并链接到 Ox 的建模和推理。

这是否意味着它可以直接在 C 中实现,还是像 this document 的 A1.4 中所示在 Ox 中编写函数然后在 C 中调用它是更好的方法?而如果可以直接实现的话,如何实现呢?

有一些使用 C 的经验但没有使用 Ox 的经验,这两个选项中的前者会更可取。

欢迎任何想法!

好像没有Ssfpack C例程的官方文档。相反,ssfpack Ox 文档非常详细(请参阅 Koopman 和 Doornik 的“SsfPack 3.0:State Space Form 中模型的统计算法”)。

如果您是一位经验丰富的 C 开发人员,您可以观察 ox 头文件 ssfpack.h,您会发现一些“extern”声明的函数引用了位于 dll 中的函数。这些函数可以在C中使用,但你需要自己找到函数的原型。对于参数数量不是 known/not 常量的函数,这可能非常棘手,也许是不可能的。

因此,您可以直接从 C 调用 Ssfpack,但是由于缺少文档,这非常困难。

出于这个原因,我建议您在 Ox 中编写代码,然后从 C 或 C# 中调用它。这需要您学习 OX,Doornik 和 Ooms(2006 年)的书 Ox 简介 是一个很好的起点。然后,您需要阅读 Doornik(2012 年)的 Ox 7 开发人员手册,以了解如何从 C 调用 Ox。