Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Greeks and Implied Vol. from Options History Request #3083

Closed
4 tasks done
simonsonjack opened this issue Apr 12, 2019 · 21 comments
Closed
4 tasks done

Enable Greeks and Implied Vol. from Options History Request #3083

simonsonjack opened this issue Apr 12, 2019 · 21 comments

Comments

@simonsonjack
Copy link
Contributor

Expected Behavior

Enable accessing Greeks and Implied Volatility in a historical data request for options data. This is a handy feature and will help with calculation of things such as IV Rank without needing to implement custom functions using Rolling Windows.

Checklist

  • I have completely filled out this template
  • I have confirmed that this issue exists on the current master branch
  • I have confirmed that this is not a duplicate issue by searching issues
  • I have provided detailed steps to reproduce the issue
@mcguirebc
Copy link

Would love to see this feature!

@JakeTheSnake3p0
Copy link

I'll second that. It would answer my question.

@jgerardsimcock
Copy link

jgerardsimcock commented Sep 6, 2020

Is there a way to contribute to this? If we fork LEAN and implement in Python will that be sufficient?

@ikamanu
Copy link

ikamanu commented Jan 29, 2021

Any update on this?

@petegordon
Copy link

I was looking into this a bit. Looks like Resesarch OptionHistory.cs has slice referenced as a private variable; curious if it was public would it be able to be used for OptionPriceModel Evaluate.

private IEnumerable<Slice> _data;

OptionPriceModelResult Evaluate(Security security, Slice slice, OptionContract contract);

That's as far as I have gotten.

I have talked to others that are using Backtesting Options IDE to gather pricing data; saving it to ObjectStore and then referencing it from Research notebook to get around the fact that Option Pricing object model is not available from Research. Seems to be a descrepency between the Options object model being worked from backtest versus research.

Let me know if anyone makes any more progress. Thanks!

@ikamanu
Copy link

ikamanu commented Jan 30, 2021

This is very promising. Thank for sharing this.

@mankan1
Copy link

mankan1 commented Oct 24, 2021

Is this resolved? How to use it?

@Kevin-Chen0
Copy link

Is there an update on this?

@QuantConnect QuantConnect deleted a comment from petegordon Nov 6, 2021
@jaredbroad
Copy link
Member

Hi all, no update yet sorry. We're currently working on daily options and then will explore this again on a much smaller dataset which should make it an easier issue to start working on and to verify against third-party greek sources which are all generally daily.

We appreciate it's an important feature to make options easier and should start work on it this year. The best way to support us is volunteering time in our slack/discord/community or sponsoring LEAN.

@RyanTau
Copy link

RyanTau commented Oct 14, 2022

Been around 11 months, has there been any progress made with this?

@dryqin
Copy link

dryqin commented Dec 23, 2022

IV and IVR basically indicate if a contract is cheap or expensive. A platform is basically useless for trading options without this indication obviously.

@ikamanu
Copy link

ikamanu commented Dec 23, 2022

I don't think you understand, @drywin . You can calculate IV and IVR on the platform today. Quantconnect supports this. This ticket is just about making it easier to do so.

@jaredbroad
Copy link
Member

Dynamic history request option greeks should be possible relatively easily now -

  • Recent work making option greeks and IV work in a classic AddOption request should be portable and work on history requests with some review.
  • Reuse the fictional security object created for the history request (and the IVolatilityModel on the OptionSecurity object)
  • Update SubscriptionDataReaderHistoryProvider L 108 to create an Option instead of a Security.
  • Potentially do this via the SecurityService

@jaredbroad
Copy link
Member

The ideal core work of work would be to reprocess with the most popular greeks ready.

@ikamanu
Copy link

ikamanu commented Sep 1, 2023

Excited to see activity around this! 🤞

@jaredbroad
Copy link
Member

  • Create the 5 Greeks/IV indicators.

  • Profiling Python options algorithm

  • Default to the daily universe instead of the current minutely reselection.

  • Use indicators to standardize to a typical daily universe dataset, underlying price, contract strike/expiry/prices/volumes, and greeks recalculated. Underlying could just be the first row to reduce duplication.

@jaredbroad
Copy link
Member

jaredbroad commented Apr 2, 2024

Small update for everyone; we worked January-March creating the option greeks as technical indicators and then doing studies to compare the outputs with popular third party sources. We were able to perfect our open-source variants and will use those technical indicators to pre-process the historical data greeks.

The pre-processing step is next on the cards; then loading it into LEAN for things like history calls or easily using it in universe filters.

We're in a maintenance sprint at the moment catching up on bugs, libraries, and small polish features but will get back to this superhero community project later in April.

@ikamanu
Copy link

ikamanu commented Apr 2, 2024 via email

@Martin-Molinero
Copy link
Member

Equity and index options can retrieve daily greeks and implied vol history, creating new issue to track this functionality for FOPs #8438 and separate issue for intra day support #8440

@jaredbroad
Copy link
Member

Reopening to fix the expiry date / 0DTE greeks issue.

@Martin-Molinero
Copy link
Member

Reopening to fix the expiry date / 0DTE greeks issue.

Fix has been shipped

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests