Professional Documents
Culture Documents
/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Jul 23 21:39:06 2021
@author: jaydevraval
"""
import requests
import json
import pandas as pd
import datetime
#Initial Parameters
currentDate = datetime.datetime.now().strftime("%Y/%m/%d")
saveDirOptions = r"/Users/jaydevraval/Documents/Stocks/StockEdge/Options_" +
currentDate + ".xlsx"
saveDirFutures = r"/Users/jaydevraval/Documents/Stocks/StockEdge/Futures_" +
currentDate + ".xlsx"
data = None
header = {"User-Agent": "Mozilla/5.0 (X11; CrOS x86_64 12871.102.0)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"}
optionsDict = {}
futureDict = {}
optionsDictCode = {"increaseInCallOI" : "5005", "increaseInPutOI" : "5006",
"decreaseInCallOI" : "5007", "decreaseInPutOI" : "5008"}
futureDictCode = {"newLong" : "4003","newShort" : "4004","shortCover" :
"4005","longCover" : "4006","highIncreaseInFutureOI" : "4001",
"highDecreaseInFutureOI" : "4002", "aggressiveNewLong" : "4007",
"aggressiveNewShort" : "4008", "aggressiveShortCover" : "4009",
"aggressiveLongCover" : "4010"}
quote_url = "https://api.stockedge.com/Api/AlertsApi/GetSavedAlertsByType/{}/{}?
relevantListings=10&page=1&pageSize=10&lang=en" #1001/YYYY/MM/DD
optionsKeys = optionsDictCode.keys()
futureKeys = futureDictCode.keys()
def getData(item):
response = None
while response is None:
try:
with requests.session() as s:
response = s.get(quote_url.format(item, currentDate), headers =
header)
except:
pass
data = json.loads(response.text)
return data
def runProgram():
global optionsDict
global futureDict
for i in optionsKeys:
dataDict = getData(optionsDictCode[i])
optionsDict[i] = pd.DataFrame()
for j in dataDict:
newRow = {"Symbol" : j["Symb"], "ChangeInOI" : j["Info"]["OIZ"],
"ChangeInOIPercent" : j["Info"]["OIZG"], "StrikePrice" : j["Info"]["SP"],
"TradeCount" : j["Info"]["TC"]}
optionsDict[i] = optionsDict[i].append(newRow, ignore_index = True)
for i in futureKeys:
dataDict = getData(futureDictCode[i])
futureDict[i] = pd.DataFrame()
for j in dataDict:
newRow = {"Symbol" : j["Symb"], "ChangeInOI" : j["Info"]["OIZ"],
"ChangeInOIPercent" : j["Info"]["OIZG"]}
futureDict[i] = futureDict[i].append(newRow, ignore_index = True)
def saveExcel():
global optionsDict
global futureDict
def main():
getData()
runProgram()
saveExcel()
if __name__ == '__main__':
main()