跳转到内容

NYSE TRIN 指标

TRIN 又叫 Arms Index,用来把涨跌家数和涨跌成交量放在一起观察。它常用于判断市场结构里的买卖压力是否均衡。

在 TWS API 中,NYSE TRIN 使用 TRIN-NYSE 请求。

字段中文说明
symbolTRIN-NYSENYSE TRIN 指标。
secTypeIND指标类合约。
exchangeNYSE指标所属交易所。
currencyUSD美元计价。
from ibapi.contract import Contract
def trin_nyse_contract() -> Contract:
"""NYSE TRIN 指标合约。"""
contract = Contract()
contract.symbol = "TRIN-NYSE"
contract.secType = "IND"
contract.exchange = "NYSE"
contract.currency = "USD"
return contract
app.reqMktData(
97503,
trin_nyse_contract(),
"",
False,
False,
[],
)

示例中的 genericTickList 留空,因为本页关注的是指标本身,不额外请求期权、基本面或其他 generic tick。

请求 TRIN-NYSE 时,TWS 能识别为 NYSE TRIN 指标;如果账户没有对应市场数据订阅,则不会返回行情值:

ERROR=reqId=97503;symbol=TRIN-NYSE;code=354;msg=未订阅所请求的市场数据...:TRIN-NYSE NYSE TRIN (OR ARMS) INDEX/TOP/ALL

这类错误应在 error() 回调中记录清楚,尤其要带上 reqIdsymbol。否则多个指标同时请求时,很难判断是哪一个缺权限。

TRIN 常被用来观察市场结构压力,但它不是一个越高越买、越低越卖的机械规则。开发交易系统时,建议把它当作过滤条件或市场环境变量,再结合价格、成交量、时间段和风险控制。

如果账号没有对应行情权限,页面或日志应明确提示“缺少市场数据订阅”,不要把空值当作 0 使用。