Here is the log output from the first 3 months of 2015 (SPY):

`2015-01-01 00:00:00 Launching analysis for 6c77f16270c55ee22950be53541efdf7 with LEAN Engine v2.4.0.1.2094`

2014-12-29 09:31:00 Algorithm warming up...

2015-01-01 00:00:00 Algorithm finished warming up.

2015-01-12 10:02:00 Put/Call Delta: -0.875281854545776, 0.133186598737162

2015-01-12 10:02:00 Put/Call IV: 0, 0.367504354284584

2015-02-18 10:02:00 Put/Call Delta: -0.861501054327611, 0.14420785204553

2015-02-18 10:02:00 Put/Call IV: 0, 0.349744920510335

2015-03-18 10:02:00 Put/Call Delta: -1.00018230173516, 0.00666483443232885

2015-03-18 10:02:00 Put/Call IV: 0, 0.32939190522855

2015-03-31 20:00:00 Algorithm Id:(6c77f16270c55ee22950be53541efdf7) completed in 128.23 seconds at 667k data points per second. Processing total of 85,540,370 data points.

The program picks the put and call contract which is closest to ATM by choosing the contract closest to -0.5 and 0.5 delta, respectively. So in this instance, all of the contracts are not correcly calculated.

Here is a log output from the first 3 months of 2017 (same program, SPY):

`2017-01-01 00:00:00 Launching analysis for bfd23e8aa9cd02419599e76f66a086c9 with LEAN Engine v2.4.0.1.2094`

2016-12-27 09:31:00 Algorithm warming up...

2017-01-01 00:00:00 Algorithm finished warming up.

2017-01-09 10:02:00 Put/Call Delta: -0.616915952154026, 0.392607901219933

2017-01-09 10:02:00 Put/Call IV: 0.0595209395216982, 0.16928657108688

2017-02-15 10:02:00 Put/Call Delta: -0.541293423076976, 0.465094299117493

2017-02-15 10:02:00 Put/Call IV: 0.0576402326084872, 0.166816434359085

2017-03-15 10:02:00 Put/Call Delta: -0.547517555529789, 0.459483561447045

2017-03-15 10:02:00 Put/Call IV: 0.0645115228320677, 0.1451368213337

2017-03-31 20:01:00 Algorithm Id:(bfd23e8aa9cd02419599e76f66a086c9) completed in 172.26 seconds at 694k data points per second. Processing total of 119,578,163 data points.

I am not sure if these results are exactly right, but they certainly do seem closer to what they should be.

Here is GLD from 2017.

`2017-01-01 00:00:00 Launching analysis for debe3bb604c2acbec786738fa5bd249b with LEAN Engine v2.4.0.1.2094`

2016-12-27 09:31:00 Algorithm warming up...

2017-01-01 00:00:00 Algorithm finished warming up.

2017-01-09 10:02:00 Put/Call Delta: -0.456239602936592, 0.454956251793986

2017-01-09 10:02:00 Put/Call IV: 0.133880135856964, 0.135291051418646

2017-02-15 10:02:00 Put/Call Delta: -0.502027029303228, 0.49980110717277

2017-02-15 10:02:00 Put/Call IV: 0.125866364690904, 0.126191891452156

2017-03-15 10:02:00 Put/Call Delta: -0.462660564017818, 0.539575247974283

2017-03-15 10:02:00 Put/Call IV: 0.114299595052734, 0.117092052293294

2017-03-31 20:01:00 Algorithm Id:(debe3bb604c2acbec786738fa5bd249b) completed in 104.91 seconds at 629k data points per second. Processing total of 65,992,062 data points.

This one looks pretty spot on.

Here is the SPY output from 2015, but with the options filter set to 15 wide on both sides and looking for the implied volatility closest to 100%.

`2015-01-01 00:00:00 Launching analysis for 92823e0548614b3967a40c529b7c9bc9 with LEAN Engine v2.4.0.1.2094`

2014-12-29 09:31:00 Algorithm warming up...

2015-01-01 00:00:00 Algorithm finished warming up.

2015-01-12 10:02:00 Put/Call Delta: -1.00022936151879, 0.338798412536806

2015-01-12 10:02:00 Put/Call IV: 0, 0.455472609048858

2015-02-18 10:02:00 Put/Call Delta: -0.983494843308225, 0.346064181273224

2015-02-18 10:02:00 Put/Call IV: 0, 0.46470457776493

2015-03-18 10:02:00 Put/Call Delta: -1.00001659063879, 0.163285658978417

2015-03-18 10:02:00 Put/Call IV: 0, 0.430703302783538

2015-03-31 20:00:00 Algorithm Id:(92823e0548614b3967a40c529b7c9bc9) completed in 218.27 seconds at 395k data points per second. Processing total of 86,268,601 data points.

Every put contract still has 0 IV.