The basic project is to take a stock option chain and spit out data based on adjustable ranges and parameters.
It’ll parse CSV files into a database. However, if the database can be made agnostic, then it doesn't matter the file or source type.
The CSV File will need to separate ALL Calls and Puts based on their DATE. In the spreadsheet, they are separated by expiration date. (Jul-24-15 CALLS (2 days)) for example.
All calls and puts need to be separated by their date.
The column, per date, include: Strike (the price of the stock) Bid, Ask, Last, Mark Chg, Bid Size, Ask Size, Delta, Imp Vol, Imp Vol Chg, Open interest, Volume, Theta, Std Dev, and Extrinsic value. (These are the column names.
One thing to look at (if you look at the file extension) is that the document isn't all separated by commas, however, that data still needs to be parsed.
What I need is for the program to filter out all of the options outside of a sortable feature. Example:
I would only want the strike prices of options (puts and calls) if they had at least a 5 cent spread between the bid and ask, a delta of < .10, Imp Vol > 50%, Open interest at least 100. When calculating a ‘5 cent spread’ between the bid and the ask, the distance should be the same between the put and call strike prices.
For example, if there is a 5 cent difference on the calls (between bid and ask) between a strike price of 8 and 9, which would be a 1 dollar separation. The puts would also need to have at least the 5 cent separation with a 1 dollar spread as well.
(I have a screen shot of what this looks like, too, but they only let me upload one file. Upon applying for this job, ask for the additional file to make sure I know you read this posting.)
The outputs should be when these data fit within these parameters PER expiration date.
Also, the program will need to have the capability of uploading many CSV files at once, to sort through these parameters.
The output, then would look something like this:
“AMZN - Jul-24-15 425/430/555/560”
Translation: The stock Amazon (AMZN), for the July 24th expiration date, the parameters are met when the strike prices are 425 and 430 on the put side, and 555 and 560 on the call side”
Notice that on both sides, these are 5 dollars apart.
All available outputs for all dates, and all tickers will need to be outputted.
Additionally, attached is an example of a file that would be uploaded into the database. Note: around 100 files will be uploaded per day, all with different expiration dates. Each trade needs to be filtered by their expiration date.
I'd also like to have a money-back guarantee from the applicants. I've had 3 people work on this. One disappeared after he almost had it done, and two others said they couldn't do it AFTER they already started it. If you apply for the job, I expect that you can complete it. If that's not possible, then I'd like to make sure my money is returned.