Why am I encountering unrecognized property 'expiry' error while accessing the contact data?

Why am I encountering unrecognized property 'expiry' error while accessing the contact data?
I am trying to create a contract and get the Interactive Brokers data, but I am encountering the following error messages for the below code snippet:
>> ibs = ibtws('',7496);
>> pause(1);
>> ibContractData = ibs.Handle.createContract;
>> ibContractData.symbol = 'EUR';
>> ibContractData.secType = 'FUT';
>> ibContractData.exchange = 'GLOBEX';
>> ibContractData.expiry='201806';
>> ibContractData.currency = 'USD';
>> rtd=getdata(ibs,ibContractData)
>> close(ibs);
Unrecognized property 'expiry' for class 'Interface.AE6A66F3_8FA9_4076_9C1F_3728B10A4CC7'.
Error in Untitled (line 9)
ibContractData.expiry='201806';

 Accepted Answer

You are encountering the error messages because there is no "expiry" property for the "ibContractData".
To resolve this issue, you need to use the property "LastTradeDateOrContractMonth" as follows:
>> ibContractData.LastTradeDateOrContractMonth = '201806';

More Answers (1)

IB renamed the Expiry property to "LastTradingDay" or "LastTradeDateOrContractMonth" (depending on the specific use-case) in its API release 9.72 (use with TWS version 959 or higher): https://www.interactivebrokers.com/en/index.php?f=23565#972-10
Yair Altman

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products

Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!