NYSE TRIN 指标
TRIN 又叫 Arms Index,用来把涨跌家数和涨跌成交量放在一起观察。它常用于判断市场结构里的买卖压力是否均衡。
在 TWS API 中,NYSE TRIN 使用 TRIN-NYSE 请求。
| 字段 | 值 | 中文说明 |
|---|---|---|
symbol | TRIN-NYSE | NYSE TRIN 指标。 |
secType | IND | 指标类合约。 |
exchange | NYSE | 指标所属交易所。 |
currency | USD | 美元计价。 |
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 contractapp.reqMktData( 97503, trin_nyse_contract(), "", False, False, [],)示例中的 genericTickList 留空,因为本页关注的是指标本身,不额外请求期权、基本面或其他 generic tick。
参考边界样例
Section titled “参考边界样例”请求 TRIN-NYSE 时,TWS 能识别为 NYSE TRIN 指标;如果账户没有对应市场数据订阅,则不会返回行情值:
ERROR=reqId=97503;symbol=TRIN-NYSE;code=354;msg=未订阅所请求的市场数据...:TRIN-NYSE NYSE TRIN (OR ARMS) INDEX/TOP/ALL这类错误应在 error() 回调中记录清楚,尤其要带上 reqId 和 symbol。否则多个指标同时请求时,很难判断是哪一个缺权限。
TRIN 常被用来观察市场结构压力,但它不是一个越高越买、越低越卖的机械规则。开发交易系统时,建议把它当作过滤条件或市场环境变量,再结合价格、成交量、时间段和风险控制。
如果账号没有对应行情权限,页面或日志应明确提示“缺少市场数据订阅”,不要把空值当作 0 使用。