def get_trending_stocks(): """ returns list of trending stock symbols, ensuring each symbol is part of a NYSE or NASDAQ """ trending = R.get_json(ST_BASE_URL + 'trending/symbols.json', params=ST_BASE_PARAMS)['symbols'] symbols = [s['symbol'] for s in trending if s['exchange'] in EXCHANGES] return symbols
def get_watched_stocks(wl_id): """ Get list of symbols being watched by specified StockTwits watchlist """ wl = R.get_json(ST_BASE_URL + 'watchlists/show/{}.json'.format(wl_id), params=ST_BASE_PARAMS) wl = wl['watchlist']['symbols'] return [s['symbol'] for s in wl]
def get_message_stream(wl_id, params={}): """ Gets up to 30 messages from Watchlist (wl_id) according to additional params """ all_params = ST_BASE_PARAMS.copy() for k, v in params.iteritems(): all_params[k] = v return R.get_json(ST_BASE_URL + 'streams/watchlist/{}.json'.format(wl_id), params=all_params)
def get_stock_stream(symbol, params={}): """ gets stream of messages for given symbol copied from api.py (found on GitHub) """ all_params = ST_BASE_PARAMS.copy() return R.get_json(ST_BASE_URL + 'streams/symbol/{}.json'.format(symbol), params=all_params)
def get_stock_stream(symbol, params={}): """ gets stream of messages for given symbol """ all_params = ST_BASE_PARAMS.copy() for k, v in params.items(): # python 2.x is using iteritems , python 3.x is using items. all_params[k] = v return R.get_json(ST_BASE_URL + 'streams/symbol/{}.json'.format(symbol), params=all_params)
def get_stock_stream(symbol, params={}): """ gets stream of messages for given symbol """ all_params = ST_BASE_PARAMS.copy() for k, v in params.iteritems(): all_params[k] = v return R.get_json(ST_BASE_URL + 'streams/symbol/{}.json'.format(symbol), params=all_params)
def get_stock_stream(symbol, params={}): """ gets stream of messages for given symbol """ #Adding creation of requestors instance #R = Requests() #end addition all_params = ST_BASE_PARAMS.copy() '''for k, v in params.iteritems(): all_params[k] = v ''' return R.get_json(ST_BASE_URL + 'streams/symbol/{}.json'.format(symbol), params=all_params)
def clean_watchlist(wl_id): """ Deletes stocks to follow if they aren't part of NASDAQ or NYSE """ wl = R.get_json(ST_BASE_URL + 'watchlists/show/{}.json'.format(wl_id), params=ST_BASE_PARAMS)['watchlist']['symbols'] qty_deleted = 0 for sym in wl: if sym['exchange'] not in EXCHANGES: log.info("Removing {}".format(sym)) if delete_from_watchlist(sym['symbol'], wl_id=wl_id): qty_deleted += 1 else: log.error("Error deleting symbol from watchlist: {}".format(sym)) return qty_deleted
def without_token_get_stock_stream(symbol, output_filename, params={}): """ gets stream of messages for given symbol""" result = R.get_json(ST_BASE_URL + 'streams/symbol/{}.json'.format(symbol)) # if os.path.isfile(output_filename): # f = open(output_filename, "a+") # else: # f = open(output_filename, "w") # # f.write(json.dumps(result)) # f.close() runs = db.runs # pdb.set_trace() run_result = runs.insert_many(result["messages"]) return result
def get_stock_stream(symbol, output_filename, params={}): """ gets stream of messages for given symbol """ print("printing stock stream") all_params = ST_BASE_PARAMS.copy() for k, v in params.items(): all_params[k] = v result = R.get_json(ST_BASE_URL + 'streams/symbol/{}.json'.format(symbol), params=all_params) if os.path.isfile(output_filename): f = open(output_filename, "a+") else: f = open(output_filename, "w") # result = R.get_json(ST_BASE_URL + 'streams/symbol/{}.json'.format(symbol)) f.write(json.dumps(result)) return result