我正在尝试通过 Matlab 的 IB API 使用 TWS 请求实时数据。不过,我不想要常规的市场数据,特别是我试图获得隐含波动率。这是我正在使用的指南:http: //www.mathworks.com/help/trading/ibtws.realtime.html
我应该能够通过根据 IB API 放置 f='106' 来获得 IV:https ://www.interactivebrokers.com/en/software/api/api.htm
但每次我得到相同的东西(RTVolume),即出价、要价、最后等。我总是得到市场数据,不管整数 ID 标志被更改为什么。
这是我的代码:
try
close(ib);
close(conn);
catch
end
clear all;
ibBuiltInRealtimeData = struct('id',0,'BID_PRICE',0,'BID_SIZE',0,'ASK_PRICE',0,'ASK_SIZE',0);
while true
ib = ibtws('',7496);
f = '106';
ibContract = ib.Handle.createContract;
ibContract.symbol = 'AAPL';
ibContract.secType = 'STK';
ibContract.exchange = 'SMART';
ibContract.primaryExchange = '';
ibContract.currency = 'USD';
tickerid = realtime(ib,ibContract,f);
d2 = ibBuiltInRealtimeData;
d2
pause(1);
end
这是输出:
id: 5689.00
BID_PRICE: 102.55
BID_SIZE: 1.00
ASK_PRICE: 103.00
ASK_SIZE: 1.00
LAST_PRICE: 102.79
LAST_SIZE: 0
VOLUME: 434689.00
我在任何地方都看不到隐含波动率!除了市场数据,我如何请求其他事物的实时数据?