The date_to_timestamp function should have a different name since it has the same name as the input parameter date.
The option_data function may return duplicated data since it does not remove duplicate trades.
The iv_smile function should use the _data variable to extract the customdata for the plot instead of option_data.
The iv_smile function uses option_data instead of _data when creating the plot's text.
The iv_smile function's title contains min(option_data['date_time']).date() and max(option_data['date_time']).date(), which will return the minimum and maximum dates in the whole option_data DataFrame, not just the filtered dates. The title should use start_date and end_date instead.
The iv_smile function's hovertemplate does not use the _data variable to display information for the individual maturities.
The date_to_timestamp function should have a different name since it has the same name as the input parameter date.
The option_data function may return duplicated data since it does not remove duplicate trades.
The iv_smile function should use the _data variable to extract the customdata for the plot instead of option_data.
The iv_smile function uses option_data instead of _data when creating the plot's text.
The iv_smile function's title contains min(option_data['date_time']).date() and max(option_data['date_time']).date(), which will return the minimum and maximum dates in the whole option_data DataFrame, not just the filtered dates. The title should use start_date and end_date instead.
The iv_smile function's hovertemplate does not use the _data variable to display information for the individual maturities.