streamlitwebapp / app.py
Snehadeep's picture
Update app.py
c8f8735
raw
history blame
5.15 kB
from nsepython import *
import seaborn as sns
import pandas as pd
import streamlit as st
from datetime import datetime
from time import gmtime, strftime
from IPython.display import clear_output
import matplotlib.pyplot as plt
from pytz import timezone
def get_data():
print('Hello')
a=nse_fno("BANKNIFTY")
print(a)
last_prices=round(nse_quote_ltp("BANKNIFTY"))
exp=list(set(a['expiryDates']))
exp.sort(key = lambda date: datetime.strptime(date, '%d-%b-%Y'))
# print(exp)
if last_prices%100>50:
x=(last_prices-last_prices%100+100)
strike=[x-200,x-100,x,x+100,x+200]
elif last_prices%100<50:
x=(last_prices-last_prices%100)
strike=[x-200,x-100,x,x+100,x+200]
d={'call change op':[],
'call vwap':[],
'% change op':[],
'strike':[],
'put change op':[],
'put vwap':[],
'% change op put':[]
}
for i in a['stocks']:
for sp in strike:
if i['metadata']['expiryDate']==exp[0] and i['metadata']['optionType']=='Call' and i['metadata']['strikePrice']==sp:
d['strike'].append(sp)
d['call change op'].append(i['marketDeptOrderBook']['tradeInfo']['changeinOpenInterest'])
d['% change op'].append(i['marketDeptOrderBook']['tradeInfo']['pchangeinOpenInterest'])
d['call vwap'].append(i['marketDeptOrderBook']['tradeInfo']['vmap'])
elif i['metadata']['expiryDate']==exp[0] and i['metadata']['optionType']=='Put' and i['metadata']['strikePrice']==sp:
d['put change op'].append(i['marketDeptOrderBook']['tradeInfo']['changeinOpenInterest'])
d['% change op put'].append(i['marketDeptOrderBook']['tradeInfo']['pchangeinOpenInterest'])
d['put vwap'].append(i['marketDeptOrderBook']['tradeInfo']['vmap'])
out=pd.json_normalize(d)
out=out.explode(list(out.columns)).reset_index(drop = True)
out.fillna(0,inplace=True)
x=out.astype(float).round(2)
return x
# def get_info(dataset):
# df= pd.DataFrame(columns=['value', 'pcr', 'cal_per','put_per'])
# value= dataset['put change op'].sum() - dataset['call change op'].sum()
# pcr= dataset['put change op'].sum()/dataset['call change op'].sum()
# cal_per= dataset['% change op'].mean()
# put_per= dataset['% change op put'].mean()
# new_row={'time':datetime.now(timezone("Asia/Kolkata")).strftime('%I.%M %p'),'value':value, 'pcr':round(pcr,2), 'cal_per':round(cal_per,2), 'put_per':round(put_per,2)}
# df = df.append(new_row,ignore_index=True, verify_integrity=False, sort=None)
# return df
# def ploting():
# try:
# global final
# except:
# df = pd.DataFrame(columns=['value', 'pcr', 'cal_per','put_per'])
# dataset= get_data()
# main= get_info(dataset)
# final =final.append(main,ignore_index=True, verify_integrity=False, sort=None)
# return dataset,final
# final = pd.DataFrame(columns=['value', 'pcr', 'cal_per','put_per','time'])
# if __name__=='__main__':
# st.title('WELCOME BULLS CARTEL')
# today_date =strftime("%d %b %Y", gmtime()),datetime.now(timezone("Asia/Kolkata")).strftime('%I.%M %p')
# st.markdown(f"as at {today_date}")
# option= st.selectbox(
# 'How would you like to be contacted?',
# ('5', '10', '15'))
# st.write('You selected:', option)
# st.header('Important Information')
# st.markdown(""" CALL % INCREASE MEANS MARKET GOES DOWN
# PUT % INCREASE MEANS MARKET GOES UP
# """)
# while True:
# dataset,final=ploting()
# p1=st.empty()
# p2=st.empty()
# p3=st.empty()
# p1.dataframe(dataset.style.highlight_max(['% change op put','% change op'],axis=0)) #Column hightlight
# p2.dataframe(final.style.highlight_max(['cal_per','put_per'],axis=1)) # row highlight
# fig, ax = plt.subplots(figsize=(6, 2))
# ax.plot(final['time'],final['pcr'])
# ax.axhline(y=0, color='black', linestyle='solid') # 0 line graph
# fig.autofmt_xdate(rotation=70)
# p3.pyplot(fig)
# time.sleep(3*60) # how to the start again code check upper condition min * sec
# p1.empty() # then clean all data frame
# p2.empty()
# p3.empty()
import streamlit as st
import pandas as pd
st.title('A Simple Streamlit Web App')
option= st.selectbox(
'How would you like to be contacted?',
('5', '10', '15'))
st.write('You selected:', option)
st.header('Important Information')
st.markdown(""" CALL % INCREASE MEANS MARKET GOES DOWN
PUT % INCREASE MEANS MARKET GOES UP
""")
x = st.slider('Select an integer x', 0, 10, 1)
y = st.slider('Select an integer y', 0, 10, 1)
df = pd.DataFrame({'x': [x], 'y': [y] , 'x + y': [x + y]}, index = ['addition row'])
# if st.button('add'):
# result = get_data()
# st.dataframe(result)
# df = (get_data())
st.write(df)
# result = get_data()
print('banknifty')
print(nse_quote_ltp("BANKNIFTY") ,'bank ')
# st.write(result)