I figured it out! CALL is defined as 1, PUT is defined as 2.

A European option is defined as 1<<2.

My data source includes the exercise type, European (E) or American (A).

In my data parsing script, contract type is defined as such:

Code
O->Type = ifelse(*PC == 'P',PUT,CALL) + ifelse(*EA == 'E',EUROPEAN,0);


This means for a European call option, type is 1 + 1 * 2^2 = 5 and a European put option type is 2 + 1 * 2^2 = 6.

When redfine CALL as 5 and PUT as 6, my contract is found!

Last edited by strimp099; 02/25/21 08:41.