F# 数据提要抽象

F# data feed abstraction

我正在尝试学习 F# 并想创建一个平台来测试交易策略。通常经纪人 API 每次更新书中的报价时都会广播 C# 事件。监听 C# 事件并对其做出反应的正确功能方法是什么?是否有一种既定的方法可以从分派报价的方式中抽象出实现,从而能够使用相同的代码进行在线(来自事件)和离线(来自数据库和/或文件)测试?

是否参考了已建立的技术和功能设计?

提前致谢

您正在寻找的概念是 Reactive Programming,这是一种可以与 F# 或几乎任何编程语言一起使用的编程风格。

如果您熟悉迭代器(例如 LINQ)和它们提供的抽象级别,那么您可以将这种思维方式应用于 RP。可观察序列表示数据流,可以是从异步事件到内存数组的任何内容。

与 LINQ 的内在功能方式类似,因此可以构建对可观察序列的操作链,而不会产生副作用,直到您的程序选择对其进行操作。 The F# documentation 描述了如何附加到事件并将它们作为 Observable 序列进行处理。