While working on a script comparing options across a large set of symbols,I discovered a few aberrant cases associated with special symbols (extra character after the stock symbol), as illustrated below. ?Apparently some of these values are stale. I was wondering what exactly are these and what is the best way to filter them out? ?I highlighted cases of two options identical except for the extra character but wildly different quotes.
Options <- getOptionChain("BHI",Exp=NULL)
Options[[2]]$puts[1:15,]
? ? ? ? ? ? ? ? ? ?Strike Last Chg ?Bid ?Ask Vol ? OI BHI1101016P00017000 ? 17.0 0.45 ? 0 0.07 0.19 ?10 ? 24 BHI1101016P00018000 ? 18.0 0.95 ? 0 0.17 0.24 ? 0 ? 67 BHI1101016P00019000 ? 19.0 0.65 ? 0 0.30 0.35 ?10 ?459 BHI101016P00020000 ? ?20.0 0.35 ? 0 ? NA 0.09 ? 0 ? 50 ? ? ? ? ? ?<<<<< BHI1101016P00020000 ? 20.0 1.00 ? 0 0.47 0.53 ?10 1079 ? ? ?<<<<< BHI1101016P00021000 ? 21.0 1.25 ? 0 0.70 0.79 ?20 ?420 BHI1101016P00022000 ? 22.0 1.85 ? 0 1.02 1.09 ? 0 ?656 BHI101016P00022500 ? ?22.5 0.55 ? 0 ? NA 0.09 ? 0 ? 74 BHI1101016P00023000 ? 23.0 3.70 ? 0 1.45 1.58 ?10 ?172 BHI1101016P00024000 ? 24.0 ? NA ? 0 2.00 2.16 ? 0 ? 41 BHI101016P00025000 ? ?25.0 0.45 ? 0 0.01 0.10 ?57 ?156 ? ? ? <<<<< BHI1101016P00025000 ? 25.0 ? NA ? 0 2.69 2.84 ? 0 ? 10 ? ? ? ?<<<<< BHI1101016P00026000 ? 26.0 ? NA ? 0 3.45 3.60 ? 0 ? 20 BHI101016P00030000 ? ?30.0 0.15 ? 0 0.10 0.13 ?62 1060 BHI101016P00035000 ? ?35.0 0.45 ? 0 0.28 0.30 ?40 4242