Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- from alice_blue import *
- from nsepython import *
- import logging
- logger = logging.getLogger()
- logger.setLevel(logging.INFO)
- username = ''
- password = ''
- twoFA=''
- client_id = ''
- client_secret = ''
- redirect_url = ''
- access_token = AliceBlue.login_and_get_access_token(username=username, password=password, twoFA=twoFA,api_secret=client_secret,app_id=client_id)
- alice = AliceBlue(username=username, password=password, access_token=access_token, master_contracts_to_download=['NSE'])
- print('opening')
- socket_opened = False
- ltp = 0
- open = 0
- high = 0
- low = 0
- close = 0
- volume = 0
- df = pd.DataFrame()
- #Functions for getting data from Alice Blue
- def open_callback():
- global socket_opened
- socket_opened = True
- def quote_update(message):
- global ltp
- global open
- global high
- global low
- global close
- global volume
- print('message===', message)
- ltp = (message['ltp'])
- open = (message['open'])
- high = (message['high'])
- low = (message['low'])
- close = (message['close'])
- volume = message['volume']
- print(open,high,low,close,ltp,volume)
- def socket_error(error):
- print(error)
- #initialize bn data from Alice
- alice.start_websocket(subscribe_callback=quote_update,
- socket_open_callback=open_callback,
- socket_error_callback = socket_error,
- run_in_background=True)
- print('opening socket')
- while(socket_opened==False):
- pass
- print('socket opened')
- symbol = 'HITECH'
- alice.subscribe(alice.get_instrument_by_symbol('NSE', symbol), LiveFeedType.MARKET_DATA)
- # alice.subscribe(alice.get_instrument_by_symbol('NSE', symbol), LiveFeedType.COMPACT)
- # alice.subscribe(alice.get_instrument_by_symbol('NSE', symbol), LiveFeedType.SNAPQUOTE)
- # alice.subscribe(alice.get_instrument_by_symbol('NSE', symbol), LiveFeedType.FULL_SNAPQUOTE)
- print('subcribe done')
- rec_count = 0
- df['open'] = ""
- df['high'] = ""
- df['low'] = ""
- df['close'] = ""
- df['ltp'] = ""
- df['volume'] = ""
- while True:
- Cu_DateTime = datetime.datetime.now()
- # print(Cu_DateTime.strftime("%Y-%m-%d %H:%M:%S"))
- df = df.append({'Date': Cu_DateTime.strftime("%Y-%m-%d %H:%M:%S"),
- # 'NewDate' : end_date,
- # 'Adj Close' : df['Adj Close'].iloc[-1] ,
- 'open': open,
- 'high': high,
- 'low': low,
- 'close': close,
- 'ltp': ltp,
- 'volume': volume
- },
- ignore_index=True)
- rec_count += 1
- df.to_csv(symbol+'.csv',index=False)
- time.sleep(30)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement