跳转到内容

接收新闻提供商

newsProviders()reqNewsProviders() 的返回回调。它会收到一个 NewsProvider 列表。

官方参考:IBKR Campus - TWS API 文档

每个 NewsProvider 对象主要有两个字段:

字段中文说明
code新闻源代码,后续请求要用它。
name新闻源名称,适合展示给用户。
def newsProviders(self, newsProviders) -> None:
self.providers = []
for provider in newsProviders:
self.providers += [{
"code": provider.code,
"name": provider.name,
}]
self.providers_done.set()

历史新闻的 providerCodes 可以写一个新闻源,也可以把多个新闻源用 + 连接:

provider_codes = "BRFG+BRFUPDN"

建议只使用 newsProviders() 实际返回的 code。没有返回的 code,即使官方示例中出现过,也不一定适合这个账户。

PROVIDER=code=BRFG;name=Briefing.com General Market Columns
PROVIDER=code=BRFUPDN;name=Briefing.com Analyst Actions
PROVIDER=code=DJNL;name=Dow Jones Newsletters

这里可以把 BRFG+BRFUPDN 用于历史新闻查询,也可以单独用 DJNL 查询 Dow Jones Newsletters 相关内容。

可以把 provider 列表缓存一段时间。用户切换账户、重启 TWS 或修改新闻订阅后,再重新请求。