如何使用 NetLogo 从网站获取实时数据?

How can I take real time data from a web site using NetLogo?

我们正在尝试让 Ne​​tLogo 获取实时数据,但我们没有在网上找到任何有用的帖子来说明如何操作。

我们在第一阶段使用历史股价数据来训练我们的智能体。训练阶段结束后,我们想使用实时数据来测试代理生成的策略。为此,我们需要 NetLogo 在线获取实时数据。有没有办法让 NetLogo 在线读取股票价格,例如。 Yahoo Finance 和 运行 自动?

你能给我们一些关于如何在 NetLogo 中实现它的提示吗?如果 NetLogo 无法做到这一点。谁能推荐其他可以做到这一点的基于代理的建模工具?

谢谢。

您可以使用 NetLogo web extension 从任何股票价格 API 获取实时信息。

看起来像 Yahoo has a pretty simple API

例如,要使用他们的 API 获取 Google 的最新股票价格,您需要执行以下操作:

web:make-request "http://download.finance.yahoo.com/d/quotes.csv" "GET" [["s" "GOOG"] ["f" "l1"] ["e" ".csv"]]

目前这给了我:

observer> show web:make-request "http://download.finance.yahoo.com/d/quotes.csv" "GET" [["s" "GOOG"] ["f" "l1"] ["e" ".csv"]]
observer: ["556.65" "HTTP/1.1 200 OK"]

该结果是一个列表,其中第一个元素是响应的实际内容(在本例中为字符串形式的价格),第二个元素是请求是否成功。 200 表示有效。