From cd2ab2a87fe8e4f9e0bdcd9d7b2a0d55c02d0359 Mon Sep 17 00:00:00 2001 From: Joe Trader Date: Tue, 26 Sep 2023 17:11:00 +1000 Subject: [PATCH 01/18] Added basic 2FA access --- tvDatafeed/main.py | 60 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index de77ebc..b08d8fe 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -9,10 +9,15 @@ from websocket import create_connection import requests import json +from pathlib import Path +from appdirs import user_data_dir logger = logging.getLogger(__name__) +tokendata = Path(user_data_dir(appname="tvdata", appauthor=""), "token.2fa") +tokendata.parent.mkdir(parents=True, exist_ok=True) + class Interval(enum.Enum): in_1_minute = "1" in_3_minute = "3" @@ -31,6 +36,7 @@ class Interval(enum.Enum): class TvDatafeed: __sign_in_url = 'https://www.tradingview.com/accounts/signin/' + __sign_in_totp = 'https://www.tradingview.com/accounts/two-factor/signin/totp/' __search_url = 'https://symbol-search.tradingview.com/symbol_search/?text={}&hl=1&exchange={}&lang=en&type=&domain=production' __ws_headers = json.dumps({"Origin": "https://data.tradingview.com"}) __signin_headers = {'Referer': 'https://www.tradingview.com'} @@ -63,24 +69,48 @@ def __init__( self.chart_session = self.__generate_chart_session() def __auth(self, username, password): - - if (username is None or password is None): - token = None - - else: - data = {"username": username, - "password": password, - "remember": "on"} - try: - response = requests.post( - url=self.__sign_in_url, data=data, headers=self.__signin_headers) - token = response.json()['user']['auth_token'] - except Exception as e: - logger.error('error while signin') + + try: + with open(tokendata, 'r') as f: + token = f.read() + except IOError: + if (username is None or password is None): token = None + else: + data = {"username": username, + "password": password, + "remember": "on"} + try: + with requests.Session() as s: + response = s.post(url=self.__sign_in_url, data=data, headers=self.__signin_headers) + # '{"error":"2FA_required","code":"2FA_required","message":"Second authentication factor is needed","two_factor_types":[{"name":"totp"}]}' + if "2FA_required" in response.text: + response = s.post(url=self.__sign_in_totp, data={"code": self.__getcode()}, headers=self.__signin_headers) + token = response.json()['user']['auth_token'] + with open(tokendata, 'w') as f: + f.write(token) + else: + token = response.json()['user']['auth_token'] + + except Exception as e: + logger.error('error while signin') + token = None + return token + @staticmethod + def __getcode(): + print("Asking user for 2FA code") + code = input("Enter 2FA code: ") + return int(code) + + @staticmethod + def __delete_token(): + self.token = None + tokendata.unlink() + raise Exception("error with token - exiting") + def __create_connection(self): logging.debug("creating websocket connection") self.ws = create_connection( @@ -281,6 +311,7 @@ def get_hist( result = self.ws.recv() raw_data = raw_data + result + "\n" except Exception as e: + self.__delete_token() logger.error(e) break @@ -299,6 +330,7 @@ def search_symbol(self, text: str, exchange: str = ''): symbols_list = json.loads(resp.text.replace( '', '').replace('', '')) except Exception as e: + self.__delete_token() logger.error(e) return symbols_list From 4f65711094dc3fc7e5bad6125bf38e5fa4e3366d Mon Sep 17 00:00:00 2001 From: Joe Trader Date: Tue, 26 Sep 2023 21:16:01 +1000 Subject: [PATCH 02/18] Added Pro Data Download --- tvDatafeed/main.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index b08d8fe..7469b45 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -39,13 +39,15 @@ class TvDatafeed: __sign_in_totp = 'https://www.tradingview.com/accounts/two-factor/signin/totp/' __search_url = 'https://symbol-search.tradingview.com/symbol_search/?text={}&hl=1&exchange={}&lang=en&type=&domain=production' __ws_headers = json.dumps({"Origin": "https://data.tradingview.com"}) + __ws_proheaders = json.dumps({"Origin": "https://prodata.tradingview.com"}) __signin_headers = {'Referer': 'https://www.tradingview.com'} - __ws_timeout = 5 + __ws_timeout = 10 def __init__( self, username: str = None, password: str = None, + pro: bool = False, ) -> None: """Create TvDatafeed object @@ -56,6 +58,8 @@ def __init__( self.ws_debug = False + self.pro = pro + self.token = self.__auth(username, password) if self.token is None: @@ -113,9 +117,10 @@ def __delete_token(): def __create_connection(self): logging.debug("creating websocket connection") - self.ws = create_connection( - "wss://data.tradingview.com/socket.io/websocket", headers=self.__ws_headers, timeout=self.__ws_timeout - ) + if self.pro: + self.ws = create_connection("wss://prodata.tradingview.com/socket.io/websocket", headers=self.__ws_proheaders, timeout=self.__ws_timeout) + else: + self.ws = create_connection("wss://data.tradingview.com/socket.io/websocket", headers=self.__ws_headers, timeout=self.__ws_timeout) @staticmethod def __filter_raw_message(text): From 21e12f38bf9565e924b2428278a03b760e51dfc9 Mon Sep 17 00:00:00 2001 From: Joe Trader Date: Wed, 27 Sep 2023 21:53:42 +1000 Subject: [PATCH 03/18] Added websocket timeout handing --- tvDatafeed/main.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index 7469b45..02f35a4 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -6,7 +6,7 @@ import re import string import pandas as pd -from websocket import create_connection +from websocket import create_connection, WebSocketTimeoutException import requests import json from pathlib import Path @@ -47,7 +47,7 @@ def __init__( self, username: str = None, password: str = None, - pro: bool = False, + pro: bool =False ) -> None: """Create TvDatafeed object @@ -111,8 +111,8 @@ def __getcode(): @staticmethod def __delete_token(): - self.token = None tokendata.unlink() + self.token = None raise Exception("error with token - exiting") def __create_connection(self): @@ -315,6 +315,9 @@ def get_hist( try: result = self.ws.recv() raw_data = raw_data + result + "\n" + except WebSocketTimeoutException as e: + logger.error(e) + break except Exception as e: self.__delete_token() logger.error(e) From 49a7eed1f405346fada73de687aa0df3a8580689 Mon Sep 17 00:00:00 2001 From: Joe Trader Date: Wed, 27 Sep 2023 22:27:12 +1000 Subject: [PATCH 04/18] Fixed erronous delete token --- tvDatafeed/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index 02f35a4..c3d5986 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -338,7 +338,6 @@ def search_symbol(self, text: str, exchange: str = ''): symbols_list = json.loads(resp.text.replace( '', '').replace('', '')) except Exception as e: - self.__delete_token() logger.error(e) return symbols_list From 2e2cb744b08879648793f7f95b0c6ea823107735 Mon Sep 17 00:00:00 2001 From: HuanYu Lee <45556300+Pofatoezil@users.noreply.github.com> Date: Fri, 22 Mar 2024 10:40:59 +0800 Subject: [PATCH 05/18] add login error response --- tvDatafeed/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index c3d5986..4c73cb4 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -98,7 +98,7 @@ def __auth(self, username, password): token = response.json()['user']['auth_token'] except Exception as e: - logger.error('error while signin') + logger.error(f'Error during login - server response {response.json()}') token = None return token From a116b86ba8f9cfe27c4e5ab2c85c903df864e285 Mon Sep 17 00:00:00 2001 From: HuanYu Lee <45556300+Pofatoezil@users.noreply.github.com> Date: Fri, 22 Mar 2024 11:14:23 +0800 Subject: [PATCH 06/18] add futures backward adjustment --- tvDatafeed/main.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index 4c73cb4..af4d303 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -227,6 +227,7 @@ def get_hist( interval: Interval = Interval.in_daily, n_bars: int = 10, fut_contract: int = None, + fut_badj: bool = True, extended_session: bool = False, ) -> pd.DataFrame: """get historical data @@ -288,16 +289,17 @@ def get_hist( {"flags": ["force_permission"]}] ) self.__send_message("quote_fast_symbols", [self.session, symbol]) - + + adj_msg = '","adjustment":"splits",' if fut_contract is None else '"backadjustment":"default",' if fut_badj else '' self.__send_message( "resolve_symbol", [ self.chart_session, "symbol_1", '={"symbol":"' - + symbol - + '","adjustment":"splits","session":' - + ('"regular"' if not extended_session else '"extended"') + + symbol + '",' + + adj_msg + + '"session":'+('"regular"' if not extended_session else '"extended"') + "}", ], ) From 22cde400406570c55db84cb184b9f0d20ada2573 Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Mon, 25 Nov 2024 22:54:55 +0530 Subject: [PATCH 07/18] Enhanced TvDatafeed library for asynchronous operations and flexible data output --- requirements.txt | 2 +- setup.py | 2 +- tvDatafeed/main.py | 277 +++++++++++++++++++++------------------------ 3 files changed, 131 insertions(+), 150 deletions(-) diff --git a/requirements.txt b/requirements.txt index a48b07b..185cf39 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ setuptools~=49.2.0 pandas~=1.0.5 -websocket-client~=0.57.0 +websockets~=14.1 requests \ No newline at end of file diff --git a/setup.py b/setup.py index 8c8eac4..f9a245c 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ install_requires=[ "setuptools", "pandas", - "websocket-client", + "websockets", "requests" ], ) diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index de77ebc..457ea75 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -1,3 +1,4 @@ +from typing import Dict, List import datetime import enum import json @@ -6,13 +7,14 @@ import re import string import pandas as pd -from websocket import create_connection import requests import json +import logging +import asyncio +from websockets import connect # Replaced `websocket` with `websockets` logger = logging.getLogger(__name__) - class Interval(enum.Enum): in_1_minute = "1" in_3_minute = "3" @@ -81,12 +83,6 @@ def __auth(self, username, password): return token - def __create_connection(self): - logging.debug("creating websocket connection") - self.ws = create_connection( - "wss://data.tradingview.com/socket.io/websocket", headers=self.__ws_headers, timeout=self.__ws_timeout - ) - @staticmethod def __filter_raw_message(text): try: @@ -131,41 +127,45 @@ def __send_message(self, func, args): self.ws.send(m) @staticmethod - def __create_df(raw_data, symbol): - try: - out = re.search('"s":\[(.+?)\}\]', raw_data).group(1) - x = out.split(',{"') - data = list() - volume_data = True + def __parse_data(raw_data, is_return_dataframe:bool) -> List[List]: + out = re.search('"s":\[(.+?)\}\]', raw_data).group(1) + x = out.split(',{"') + data = list() + volume_data = True - for xi in x: - xi = re.split("\[|:|,|\]", xi) - ts = datetime.datetime.fromtimestamp(float(xi[4])) + for xi in x: + xi = re.split("\[|:|,|\]", xi) + ts = datetime.datetime.fromtimestamp(float(xi[4])) if is_return_dataframe else int(xi[4].split('.')[0]) - row = [ts] + row = [ts] - for i in range(5, 10): + for i in range(5, 10): - # skip converting volume data if does not exists - if not volume_data and i == 9: - row.append(0.0) - continue - try: - row.append(float(xi[i])) + # skip converting volume data if does not exists + if not volume_data and i == 9: + row.append(0.0) + continue + try: + row.append(float(xi[i])) - except ValueError: - volume_data = False - row.append(0.0) - logger.debug('no volume data') + except ValueError: + volume_data = False + row.append(0.0) + logger.debug('no volume data') - data.append(row) + data.append(row) - data = pd.DataFrame( - data, columns=["datetime", "open", + return data + + @staticmethod + def __create_df(parsed_data, symbol) -> pd.DataFrame: + try: + df = pd.DataFrame( + parsed_data, columns=["datetime", "open", "high", "low", "close", "volume"] ).set_index("datetime") - data.insert(0, "symbol", value=symbol) - return data + df.insert(0, "symbol", value=symbol) + return df except AttributeError: logger.error("no data, please check the exchange and symbol") @@ -185,136 +185,117 @@ def __format_symbol(symbol, exchange, contract: int = None): return symbol - def get_hist( - self, - symbol: str, - exchange: str = "NSE", - interval: Interval = Interval.in_daily, - n_bars: int = 10, - fut_contract: int = None, - extended_session: bool = False, - ) -> pd.DataFrame: - """get historical data + async def __fetch_symbol_data(self, symbol: str, exchange: str, interval: Interval, n_bars: int, fut_contract: int, extended_session: bool, dataFrame: bool) -> pd.DataFrame|List[List]: + """Helper function to asynchronously fetch symbol data.""" + try: + symbol = self.__format_symbol(symbol, exchange, fut_contract) + interval = interval.value + + async with connect( + "wss://data.tradingview.com/socket.io/websocket", + origin="https://data.tradingview.com" + ) as websocket: + # Authentication and session setup + await websocket.send(self.__create_message("set_auth_token", [self.token])) + await websocket.send(self.__create_message("chart_create_session", [self.chart_session, ""])) + await websocket.send(self.__create_message("quote_create_session", [self.session])) + await websocket.send(self.__create_message( + "quote_set_fields", + [ + self.session, + "ch", "chp", "current_session", "description", + "local_description", "language", "exchange", + "fractional", "is_tradable", "lp", "lp_time", + "minmov", "minmove2", "original_name", "pricescale", + "pro_name", "short_name", "type", "update_mode", "volume", + "currency_code", "rchp", "rtc", + ] + )) + await websocket.send(self.__create_message("quote_add_symbols", [self.session, symbol, {"flags": ["force_permission"]}])) + await websocket.send(self.__create_message("quote_fast_symbols", [self.session, symbol])) + + # Symbol resolution and series creation + await websocket.send( + self.__create_message( + "resolve_symbol", + [ + self.chart_session, + "symbol_1", + f'={{"symbol":"{symbol}","adjustment":"splits","session":"{"regular" if not extended_session else "extended"}"}}', + ], + ) + ) + await websocket.send(self.__create_message("create_series", [self.chart_session, "s1", "s1", "symbol_1", interval, n_bars])) + await websocket.send(self.__create_message("switch_timezone", [self.chart_session, "exchange"])) + + raw_data = "" + + # Fetch and parse raw data asynchronously + while True: + try: + result = await websocket.recv() + raw_data += result + "\n" + except Exception as e: + logger.error(e) + break + + if "series_completed" in result: + break + + # Return formatted data + if dataFrame: + parsed_data = self.__parse_data(raw_data, dataFrame) + return self.__create_df(parsed_data, symbol) + else: + return self.__parse_data(raw_data, dataFrame) + except Exception as e: + logger.error(f"Error fetching data for {symbol}: {e}") + return None + + async def get_hist_async(self, symbols: list[str], exchange: str = "NSE", interval: Interval = Interval.in_daily, n_bars: int = 10, dataFrame: bool = True, fut_contract: int = None, extended_session: bool = False) -> Dict[str, List[List]|pd.DataFrame]: + """Fetch historical data for multiple symbols asynchronously.""" + tasks = [ + self.__fetch_symbol_data(symbol, exchange, interval, n_bars, fut_contract, extended_session, dataFrame) + for symbol in symbols + ] + results = await asyncio.gather(*tasks) + + return {sym: data for sym, data in zip(symbols, results)} + + def get_hist(self, symbols: list[str]|str, exchange: str = "NSE", interval: Interval = Interval.in_daily, n_bars: int = 10, dataFrame: bool = True, fut_contract: int = None, extended_session: bool = False) -> pd.DataFrame|Dict[str, List[List]|pd.DataFrame]|List[List]: + """Fetch historical data for a single or multiple symbols. Args: - symbol (str): symbol name - exchange (str, optional): exchange, not required if symbol is in format EXCHANGE:SYMBOL. Defaults to None. - interval (str, optional): chart interval. Defaults to 'D'. - n_bars (int, optional): no of bars to download, max 5000. Defaults to 10. - fut_contract (int, optional): None for cash, 1 for continuous current contract in front, 2 for continuous next contract in front . Defaults to None. - extended_session (bool, optional): regular session if False, extended session if True, Defaults to False. + symbols (list[str] | str): Single symbol or list of symbols. + exchange (str, optional): Exchange. Defaults to "NSE". + interval (Interval, optional): Interval. Defaults to Interval.in_daily. + n_bars (int, optional): Number of bars. Defaults to 10. + dataFrame (bool, optional): Return as DataFrame. Defaults to True. + fut_contract (int, optional): Future contract. Defaults to None. + extended_session (bool, optional): Extended session. Defaults to False. Returns: - pd.Dataframe: dataframe with sohlcv as columns + pd.DataFrame | Dict[str, List[List] | pd.DataFrame] | List[List]: Historical data. """ - symbol = self.__format_symbol( - symbol=symbol, exchange=exchange, contract=fut_contract - ) - - interval = interval.value - - self.__create_connection() - - self.__send_message("set_auth_token", [self.token]) - self.__send_message("chart_create_session", [self.chart_session, ""]) - self.__send_message("quote_create_session", [self.session]) - self.__send_message( - "quote_set_fields", - [ - self.session, - "ch", - "chp", - "current_session", - "description", - "local_description", - "language", - "exchange", - "fractional", - "is_tradable", - "lp", - "lp_time", - "minmov", - "minmove2", - "original_name", - "pricescale", - "pro_name", - "short_name", - "type", - "update_mode", - "volume", - "currency_code", - "rchp", - "rtc", - ], - ) + if isinstance(symbols, str): + return asyncio.run(self.__fetch_symbol_data(symbols, exchange, interval, n_bars, fut_contract, extended_session, dataFrame)) - self.__send_message( - "quote_add_symbols", [self.session, symbol, - {"flags": ["force_permission"]}] - ) - self.__send_message("quote_fast_symbols", [self.session, symbol]) - - self.__send_message( - "resolve_symbol", - [ - self.chart_session, - "symbol_1", - '={"symbol":"' - + symbol - + '","adjustment":"splits","session":' - + ('"regular"' if not extended_session else '"extended"') - + "}", - ], - ) - self.__send_message( - "create_series", - [self.chart_session, "s1", "s1", "symbol_1", interval, n_bars], - ) - self.__send_message("switch_timezone", [ - self.chart_session, "exchange"]) - - raw_data = "" - - logger.debug(f"getting data for {symbol}...") - while True: - try: - result = self.ws.recv() - raw_data = raw_data + result + "\n" - except Exception as e: - logger.error(e) - break - - if "series_completed" in result: - break - - return self.__create_df(raw_data, symbol) - - def search_symbol(self, text: str, exchange: str = ''): - url = self.__search_url.format(text, exchange) - - symbols_list = [] - try: - resp = requests.get(url) - - symbols_list = json.loads(resp.text.replace( - '', '').replace('', '')) - except Exception as e: - logger.error(e) - - return symbols_list + return asyncio.run(self.get_hist_async(symbols, exchange, interval, n_bars, dataFrame, fut_contract, extended_session)) if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG) tv = TvDatafeed() - print(tv.get_hist("CRUDEOIL", "MCX", fut_contract=1)) + + symbols = ['SBIN', 'EICHERMOT', 'INFY', 'BHARTIARTL', 'NESTLEIND', 'ASIANPAINT', 'ITC'] + print(tv.get_hist(symbols, "NSE", n_bars=500)) print(tv.get_hist("NIFTY", "NSE", fut_contract=1)) - print( - tv.get_hist( + print(tv.get_hist( "EICHERMOT", "NSE", interval=Interval.in_1_hour, n_bars=500, extended_session=False, + dataFrame=False ) ) From f9248db5f320d7c4db2b8b95221e7db93eb151b6 Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Mon, 25 Nov 2024 23:17:34 +0530 Subject: [PATCH 08/18] Updated readme for usage --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 66c5d8f..518a93d 100644 --- a/README.md +++ b/README.md @@ -66,12 +66,26 @@ To download the data use `tv.get_hist` method. It accepts following arguments and returns pandas dataframe ```python -(symbol: str, exchange: str = 'NSE', interval: Interval = Interval.in_daily, n_bars: int = 10, fut_contract: int | None = None, extended_session: bool = False) -> DataFrame) +(symbol: str|List[str], exchange: str = 'NSE', interval: Interval = Interval.in_daily, n_bars: int = 10, dataFrame: bool = True, fut_contract: int | None = None, extended_session: bool = False) -> pd.DataFrame|Dict[str, List[List]|pd.DataFrame]|List[List]) ``` +By default, `dataFrame` is set to True to get pandas DataDrame, if False it will return data in list format. + +Note: If symbol (str) given it will return DataFrame or List of historical data of the symbol. + If List of symbols is passed to `tv.get_hist` it will return python Dictionary in {'symbol': Data, ......} format. + For multiple symbols, it fetches data asynchronously to get faster results. + for example- ```python +symbols = ['SBIN', 'EICHERMOT', 'INFY', 'BHARTIARTL', 'NESTLEIND', 'ASIANPAINT', 'ITC'] + +# returns {symbol1: pd DataFrame, symbol2: pd DataFrame, .....} +results = tv.get_hist(symbols, "NSE", n_bars=500) + +# returns {symbol1: [[Timestamp, open, high, low, close, volume], .....], symbol2: [[Timestamp, open, high, low, close, volume], .....], .....} +results = tv.get_hist(symbols, "NSE", n_bars=500, dataFrame=False) + # index nifty_index_data = tv.get_hist(symbol='NIFTY',exchange='NSE',interval=Interval.in_1_hour,n_bars=1000) From 3821a9ad45d6ee32fccff93dc37072c7b96958ea Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Mon, 25 Nov 2024 23:19:51 +0530 Subject: [PATCH 09/18] Updated readme --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 518a93d..6e93d24 100644 --- a/README.md +++ b/README.md @@ -63,14 +63,12 @@ when using without login, following warning will be shown `you are using nologin To download the data use `tv.get_hist` method. -It accepts following arguments and returns pandas dataframe +It accepts following arguments and returns pandas dataframe if `dataFrame` is set to True to get pandas DataDrame, if False it will return data in list format ```python (symbol: str|List[str], exchange: str = 'NSE', interval: Interval = Interval.in_daily, n_bars: int = 10, dataFrame: bool = True, fut_contract: int | None = None, extended_session: bool = False) -> pd.DataFrame|Dict[str, List[List]|pd.DataFrame]|List[List]) ``` -By default, `dataFrame` is set to True to get pandas DataDrame, if False it will return data in list format. - Note: If symbol (str) given it will return DataFrame or List of historical data of the symbol. If List of symbols is passed to `tv.get_hist` it will return python Dictionary in {'symbol': Data, ......} format. For multiple symbols, it fetches data asynchronously to get faster results. From a49fec152b058784625a6d27b9eb214c0ee46ca1 Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Mon, 25 Nov 2024 23:36:30 +0530 Subject: [PATCH 10/18] Updated Readme again, forgot to write something. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6e93d24..a4135da 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,8 @@ when using without login, following warning will be shown `you are using nologin To download the data use `tv.get_hist` method. -It accepts following arguments and returns pandas dataframe if `dataFrame` is set to True to get pandas DataDrame, if False it will return data in list format +It accepts following arguments and returns pandas dataframe if `dataFrame` is set to True (default) to get pandas DataDrame, if False it will return data in list format + ```python (symbol: str|List[str], exchange: str = 'NSE', interval: Interval = Interval.in_daily, n_bars: int = 10, dataFrame: bool = True, fut_contract: int | None = None, extended_session: bool = False) -> pd.DataFrame|Dict[str, List[List]|pd.DataFrame]|List[List]) From e7d6f68cdb7319c5a094db597cc520e3050f3fd7 Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Mon, 25 Nov 2024 23:47:27 +0530 Subject: [PATCH 11/18] Added usage guide for Ipython notebook users. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index a4135da..fdb3f04 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,12 @@ crudeoil_data = tv.get_hist(symbol='CRUDEOIL',exchange='MCX',interval=Interval.i extended_price_data = tv.get_hist(symbol="EICHERMOT",exchange="NSE",interval=Interval.in_1_hour,n_bars=500, extended_session=False) ``` +To use in Ipython notebooks, add these lines at first +```python +import nest_asyncio # To run asyncio in a notebook environment +nest_asyncio.apply() # Enable asyncio in a notebook environment +``` + --- ## Search Symbol From 894193cd758fd3968eb5d90e83f8d4b262975845 Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Wed, 15 Jan 2025 18:52:57 +0530 Subject: [PATCH 12/18] Update main.py --- tvDatafeed/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index 457ea75..60b620b 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -255,7 +255,7 @@ async def __fetch_symbol_data(self, symbol: str, exchange: str, interval: Interv async def get_hist_async(self, symbols: list[str], exchange: str = "NSE", interval: Interval = Interval.in_daily, n_bars: int = 10, dataFrame: bool = True, fut_contract: int = None, extended_session: bool = False) -> Dict[str, List[List]|pd.DataFrame]: """Fetch historical data for multiple symbols asynchronously.""" tasks = [ - self.__fetch_symbol_data(symbol, exchange, interval, n_bars, fut_contract, extended_session, dataFrame) + asyncio.create_task(self.__fetch_symbol_data(symbol, exchange, interval, n_bars, fut_contract, extended_session, dataFrame)) for symbol in symbols ] results = await asyncio.gather(*tasks) From f08f390f430c924e62c4d572cc30ad7938e8e97b Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Wed, 14 May 2025 10:53:30 +0530 Subject: [PATCH 13/18] add feature: get prodata --- .gitignore | 5 +- test.py | 349 ++++++++++++++++++++++++++++++++++++++++ tvDatafeed/main.py | 385 +++++++++++++++++++++++++++++---------------- 3 files changed, 601 insertions(+), 138 deletions(-) create mode 100644 test.py diff --git a/.gitignore b/.gitignore index d269ca0..ae2adf7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ .pydevproject main_test.py .vscode +*workspace dist build *.egg-info/ @@ -19,4 +20,6 @@ ENV/ env.bak/ venv.bak/ tvDatafeed/symbols.pkl -tvDatafeed/beta.py \ No newline at end of file +tvDatafeed/beta.py + +token* \ No newline at end of file diff --git a/test.py b/test.py new file mode 100644 index 0000000..8773dc1 --- /dev/null +++ b/test.py @@ -0,0 +1,349 @@ +import datetime +import enum +import json +import logging +import random +import re +import string +import pandas as pd +from websocket import create_connection, WebSocketTimeoutException +import requests +import json +from pathlib import Path +from appdirs import user_data_dir + +logger = logging.getLogger(__name__) + + +tokendata = Path(user_data_dir(appname="tvdata", appauthor=""), "token.2fa") +tokendata.parent.mkdir(parents=True, exist_ok=True) + +class Interval(enum.Enum): + in_1_minute = "1" + in_3_minute = "3" + in_5_minute = "5" + in_15_minute = "15" + in_30_minute = "30" + in_45_minute = "45" + in_1_hour = "1H" + in_2_hour = "2H" + in_3_hour = "3H" + in_4_hour = "4H" + in_daily = "1D" + in_weekly = "1W" + in_monthly = "1M" + + +class TvDatafeed: + __sign_in_url = 'https://www.tradingview.com/accounts/signin/' + __sign_in_totp = 'https://www.tradingview.com/accounts/two-factor/signin/totp/' + __search_url = 'https://symbol-search.tradingview.com/symbol_search/?text={}&hl=1&exchange={}&lang=en&type=&domain=production' + __ws_headers = json.dumps({"Origin": "https://data.tradingview.com"}) + __ws_proheaders = json.dumps({"Origin": "https://prodata.tradingview.com"}) + __signin_headers = {'Referer': 'https://www.tradingview.com'} + __ws_timeout = 10 + + def __init__( + self, + username: str = None, + password: str = None, + pro: bool =False + ) -> None: + """Create TvDatafeed object + + Args: + username (str, optional): tradingview username. Defaults to None. + password (str, optional): tradingview password. Defaults to None. + """ + + self.ws_debug = False + + self.pro = pro + + self.token = self.__auth(username, password) + + if self.token is None: + self.token = "unauthorized_user_token" + logger.warning( + "you are using nologin method, data you access may be limited" + ) + + self.ws = None + self.session = self.__generate_session() + self.chart_session = self.__generate_chart_session() + + def __auth(self, username, password): + + try: + with open(tokendata, 'r') as f: + token = f.read() + except IOError: + if (username is None or password is None): + token = None + + else: + data = {"username": username, + "password": password, + "remember": "on"} + try: + with requests.Session() as s: + response = s.post(url=self.__sign_in_url, data=data, headers=self.__signin_headers) + # '{"error":"2FA_required","code":"2FA_required","message":"Second authentication factor is needed","two_factor_types":[{"name":"totp"}]}' + if "2FA_required" in response.text: + response = s.post(url=self.__sign_in_totp, data={"code": self.__getcode()}, headers=self.__signin_headers) + token = response.json()['user']['auth_token'] + with open(tokendata, 'w') as f: + f.write(token) + else: + token = response.json()['user']['auth_token'] + + except Exception as e: + logger.error('error while signin') + token = None + + return token + + @staticmethod + def __getcode(): + print("Asking user for 2FA code") + code = input("Enter 2FA code: ") + return int(code) + + @staticmethod + def __delete_token(): + tokendata.unlink() + self.token = None + raise Exception("error with token - exiting") + + def __create_connection(self): + logging.debug("creating websocket connection") + if self.pro: + self.ws = create_connection("wss://prodata.tradingview.com/socket.io/websocket", headers=self.__ws_proheaders, timeout=self.__ws_timeout) + else: + self.ws = create_connection("wss://data.tradingview.com/socket.io/websocket", headers=self.__ws_headers, timeout=self.__ws_timeout) + + @staticmethod + def __filter_raw_message(text): + try: + found = re.search('"m":"(.+?)",', text).group(1) + found2 = re.search('"p":(.+?"}"])}', text).group(1) + + return found, found2 + except AttributeError: + logger.error("error in filter_raw_message") + + @staticmethod + def __generate_session(): + stringLength = 12 + letters = string.ascii_lowercase + random_string = "".join(random.choice(letters) + for i in range(stringLength)) + return "qs_" + random_string + + @staticmethod + def __generate_chart_session(): + stringLength = 12 + letters = string.ascii_lowercase + random_string = "".join(random.choice(letters) + for i in range(stringLength)) + return "cs_" + random_string + + @staticmethod + def __prepend_header(st): + return "~m~" + str(len(st)) + "~m~" + st + + @staticmethod + def __construct_message(func, param_list): + return json.dumps({"m": func, "p": param_list}, separators=(",", ":")) + + def __create_message(self, func, paramList): + return self.__prepend_header(self.__construct_message(func, paramList)) + + def __send_message(self, func, args): + m = self.__create_message(func, args) + if self.ws_debug: + print(m) + self.ws.send(m) + + @staticmethod + def __create_df(raw_data, symbol): + try: + out = re.search('"s":\[(.+?)\}\]', raw_data).group(1) + x = out.split(',{"') + data = list() + volume_data = True + + for xi in x: + xi = re.split("\[|:|,|\]", xi) + ts = datetime.datetime.fromtimestamp(float(xi[4])) + + row = [ts] + + for i in range(5, 10): + + # skip converting volume data if does not exists + if not volume_data and i == 9: + row.append(0.0) + continue + try: + row.append(float(xi[i])) + + except ValueError: + volume_data = False + row.append(0.0) + logger.debug('no volume data') + + data.append(row) + + data = pd.DataFrame( + data, columns=["datetime", "open", + "high", "low", "close", "volume"] + ).set_index("datetime") + data.insert(0, "symbol", value=symbol) + return data + except AttributeError: + logger.error("no data, please check the exchange and symbol") + + @staticmethod + def __format_symbol(symbol, exchange, contract: int = None): + + if ":" in symbol: + pass + elif contract is None: + symbol = f"{exchange}:{symbol}" + + elif isinstance(contract, int): + symbol = f"{exchange}:{symbol}{contract}!" + + else: + raise ValueError("not a valid contract") + + return symbol + + def get_hist( + self, + symbol: str, + exchange: str = "NSE", + interval: Interval = Interval.in_daily, + n_bars: int = 10, + fut_contract: int = None, + extended_session: bool = False, + ) -> pd.DataFrame: + """get historical data + + Args: + symbol (str): symbol name + exchange (str, optional): exchange, not required if symbol is in format EXCHANGE:SYMBOL. Defaults to None. + interval (str, optional): chart interval. Defaults to 'D'. + n_bars (int, optional): no of bars to download, max 5000. Defaults to 10. + fut_contract (int, optional): None for cash, 1 for continuous current contract in front, 2 for continuous next contract in front . Defaults to None. + extended_session (bool, optional): regular session if False, extended session if True, Defaults to False. + + Returns: + pd.Dataframe: dataframe with sohlcv as columns + """ + symbol = self.__format_symbol( + symbol=symbol, exchange=exchange, contract=fut_contract + ) + + interval = interval.value + + self.__create_connection() + + self.__send_message("set_auth_token", [self.token]) + self.__send_message("chart_create_session", [self.chart_session, ""]) + self.__send_message("quote_create_session", [self.session]) + self.__send_message( + "quote_set_fields", + [ + self.session, + "ch", + "chp", + "current_session", + "description", + "local_description", + "language", + "exchange", + "fractional", + "is_tradable", + "lp", + "lp_time", + "minmov", + "minmove2", + "original_name", + "pricescale", + "pro_name", + "short_name", + "type", + "update_mode", + "volume", + "currency_code", + "rchp", + "rtc", + ], + ) + + self.__send_message( + "quote_add_symbols", [self.session, symbol, + {"flags": ["force_permission"]}] + ) + self.__send_message("quote_fast_symbols", [self.session, symbol]) + + self.__send_message( + "resolve_symbol", + [ + self.chart_session, + "symbol_1", + '={"symbol":"' + + symbol + + '","adjustment":"splits","session":' + + ('"regular"' if not extended_session else '"extended"') + + "}", + ], + ) + self.__send_message( + "create_series", + [self.chart_session, "s1", "s1", "symbol_1", interval, n_bars], + ) + self.__send_message("switch_timezone", [ + self.chart_session, "exchange"]) + + raw_data = "" + + logger.debug(f"getting data for {symbol}...") + while True: + try: + result = self.ws.recv() + raw_data = raw_data + result + "\n" + except WebSocketTimeoutException as e: + logger.error(e) + break + except Exception as e: + self.__delete_token() + logger.error(e) + break + + if "series_completed" in result: + break + + return self.__create_df(raw_data, symbol) + + def search_symbol(self, text: str, exchange: str = ''): + url = self.__search_url.format(text, exchange) + + symbols_list = [] + try: + resp = requests.get(url) + + symbols_list = json.loads(resp.text.replace( + '', '').replace('', '')) + except Exception as e: + logger.error(e) + + return symbols_list + + +if __name__ == "__main__": + logging.basicConfig(level=logging.DEBUG) + tv = TvDatafeed() + print(tv.get_hist("BDL", "NSE", Interval.in_5_minute, n_bars=5000)) \ No newline at end of file diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index 60b620b..ce2d3e5 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -1,4 +1,3 @@ -from typing import Dict, List import datetime import enum import json @@ -6,15 +5,22 @@ import random import re import string +from typing import Dict, List import pandas as pd +import asyncio +from websocket import create_connection, WebSocketTimeoutException import requests import json -import logging -import asyncio -from websockets import connect # Replaced `websocket` with `websockets` +from dotenv import load_dotenv +from os import getenv +import pyotp +load_dotenv() logger = logging.getLogger(__name__) + +tokendata = "token.txt" + class Interval(enum.Enum): in_1_minute = "1" in_3_minute = "3" @@ -33,15 +39,18 @@ class Interval(enum.Enum): class TvDatafeed: __sign_in_url = 'https://www.tradingview.com/accounts/signin/' + __sign_in_totp = 'https://www.tradingview.com/accounts/two-factor/signin/totp/' __search_url = 'https://symbol-search.tradingview.com/symbol_search/?text={}&hl=1&exchange={}&lang=en&type=&domain=production' - __ws_headers = json.dumps({"Origin": "https://data.tradingview.com"}) + __ws_headers = {"Origin": "https://data.tradingview.com"} + __ws_proheaders = {"Origin": "https://prodata.tradingview.com"} __signin_headers = {'Referer': 'https://www.tradingview.com'} - __ws_timeout = 5 + __ws_timeout = 10 def __init__( self, username: str = None, password: str = None, + pro: bool =False ) -> None: """Create TvDatafeed object @@ -52,6 +61,8 @@ def __init__( self.ws_debug = False + self.pro = pro + self.token = self.__auth(username, password) if self.token is None: @@ -65,33 +76,54 @@ def __init__( self.chart_session = self.__generate_chart_session() def __auth(self, username, password): - - if (username is None or password is None): - token = None - - else: - data = {"username": username, - "password": password, - "remember": "on"} - try: - response = requests.post( - url=self.__sign_in_url, data=data, headers=self.__signin_headers) - token = response.json()['user']['auth_token'] - except Exception as e: - logger.error('error while signin') + + try: + with open(tokendata, 'r') as f: + token = f.read() + except IOError: + if (username is None or password is None): token = None + else: + data = {"username": username, + "password": password, + "remember": "on"} + try: + with requests.Session() as s: + response = s.post(url=self.__sign_in_url, data=data, headers=self.__signin_headers) + if "2FA" in response.text: + response = s.post(url=self.__sign_in_totp, data={"code": self.__getcode()}, headers=self.__signin_headers) + token = response.json()['user']['auth_token'] + with open(tokendata, 'w') as f: + f.write(token) + else: + token = response.json()['user']['auth_token'] + + except Exception as e: + logger.error('error while signin', e) + token = None + return token @staticmethod - def __filter_raw_message(text): - try: - found = re.search('"m":"(.+?)",', text).group(1) - found2 = re.search('"p":(.+?"}"])}', text).group(1) - - return found, found2 - except AttributeError: - logger.error("error in filter_raw_message") + def __getcode(): + totp_key = getenv('TOTP_KEY', None) + if totp_key: + return pyotp.TOTP(totp_key).now() + + code = input("Enter 2FA code: ") + return code + + def __delete_token(self): + self.token = None + raise Exception("error with token - exiting") + + def __create_connection(self): + logging.debug("creating websocket connection") + if self.pro: + self.ws = create_connection("wss://prodata.tradingview.com/socket.io/websocket", headers=self.__ws_proheaders, timeout=self.__ws_timeout) + else: + self.ws = create_connection("wss://data.tradingview.com/socket.io/websocket", headers=self.__ws_headers, timeout=self.__ws_timeout) @staticmethod def __generate_session(): @@ -128,46 +160,51 @@ def __send_message(self, func, args): @staticmethod def __parse_data(raw_data, is_return_dataframe:bool) -> List[List]: - out = re.search('"s":\[(.+?)\}\]', raw_data).group(1) - x = out.split(',{"') - data = list() - volume_data = True - - for xi in x: - xi = re.split("\[|:|,|\]", xi) - ts = datetime.datetime.fromtimestamp(float(xi[4])) if is_return_dataframe else int(xi[4].split('.')[0]) + try: + out = re.search(r""""s":\[(.+?)\}\]""", raw_data).group(1) + x = out.split(',{"') + data = list() + volume_data = True - row = [ts] + for xi in x: + xi = re.split(r"\[|:|,|\]", xi) + ts = datetime.datetime.fromtimestamp(float(xi[4])) if is_return_dataframe else int(xi[4].split('.')[0]) - for i in range(5, 10): + row = [ts] - # skip converting volume data if does not exists - if not volume_data and i == 9: - row.append(0.0) - continue - try: - row.append(float(xi[i])) + for i in range(5, 10): - except ValueError: - volume_data = False - row.append(0.0) - logger.debug('no volume data') + # skip converting volume data if does not exists + if not volume_data and i == 9: + row.append(0.0) + continue + try: + row.append(float(xi[i])) - data.append(row) + except ValueError: + volume_data = False + row.append(0.0) + logger.debug('no volume data') - return data + data.append(row) + return data + except Exception as e: + logger.exception(e) + @staticmethod - def __create_df(parsed_data, symbol) -> pd.DataFrame: + def __create_df(data, symbol): try: df = pd.DataFrame( - parsed_data, columns=["datetime", "open", + data, columns=["datetime", "open", "high", "low", "close", "volume"] ).set_index("datetime") df.insert(0, "symbol", value=symbol) return df except AttributeError: logger.error("no data, please check the exchange and symbol") + except Exception as e: + logger.exception(e) @staticmethod def __format_symbol(symbol, exchange, contract: int = None): @@ -184,75 +221,134 @@ def __format_symbol(symbol, exchange, contract: int = None): raise ValueError("not a valid contract") return symbol + + def __initialize_ws(self): + self.__create_connection() + + self.__send_message("set_auth_token", [self.token]) + self.__send_message("chart_create_session", [self.chart_session, ""]) + self.__send_message("quote_create_session", [self.session]) + self.__send_message( + "quote_set_fields", + [ + self.session, + "ch", + "chp", + "current_session", + "description", + "local_description", + "language", + "exchange", + "fractional", + "is_tradable", + "lp", + "lp_time", + "minmov", + "minmove2", + "original_name", + "pricescale", + "pro_name", + "short_name", + "type", + "update_mode", + "volume", + "currency_code", + "rchp", + "rtc", + ], + ) - async def __fetch_symbol_data(self, symbol: str, exchange: str, interval: Interval, n_bars: int, fut_contract: int, extended_session: bool, dataFrame: bool) -> pd.DataFrame|List[List]: - """Helper function to asynchronously fetch symbol data.""" - try: - symbol = self.__format_symbol(symbol, exchange, fut_contract) - interval = interval.value - - async with connect( - "wss://data.tradingview.com/socket.io/websocket", - origin="https://data.tradingview.com" - ) as websocket: - # Authentication and session setup - await websocket.send(self.__create_message("set_auth_token", [self.token])) - await websocket.send(self.__create_message("chart_create_session", [self.chart_session, ""])) - await websocket.send(self.__create_message("quote_create_session", [self.session])) - await websocket.send(self.__create_message( - "quote_set_fields", - [ - self.session, - "ch", "chp", "current_session", "description", - "local_description", "language", "exchange", - "fractional", "is_tradable", "lp", "lp_time", - "minmov", "minmove2", "original_name", "pricescale", - "pro_name", "short_name", "type", "update_mode", "volume", - "currency_code", "rchp", "rtc", - ] - )) - await websocket.send(self.__create_message("quote_add_symbols", [self.session, symbol, {"flags": ["force_permission"]}])) - await websocket.send(self.__create_message("quote_fast_symbols", [self.session, symbol])) - - # Symbol resolution and series creation - await websocket.send( - self.__create_message( - "resolve_symbol", - [ - self.chart_session, - "symbol_1", - f'={{"symbol":"{symbol}","adjustment":"splits","session":"{"regular" if not extended_session else "extended"}"}}', - ], - ) - ) - await websocket.send(self.__create_message("create_series", [self.chart_session, "s1", "s1", "symbol_1", interval, n_bars])) - await websocket.send(self.__create_message("switch_timezone", [self.chart_session, "exchange"])) - - raw_data = "" - - # Fetch and parse raw data asynchronously - while True: - try: - result = await websocket.recv() - raw_data += result + "\n" - except Exception as e: - logger.error(e) - break - - if "series_completed" in result: - break - - # Return formatted data - if dataFrame: - parsed_data = self.__parse_data(raw_data, dataFrame) - return self.__create_df(parsed_data, symbol) - else: - return self.__parse_data(raw_data, dataFrame) - except Exception as e: - logger.error(f"Error fetching data for {symbol}: {e}") - return None + async def __fetch_symbol_data( + self, + symbol: str, + exchange: str = "NSE", + interval: Interval = Interval.in_daily, + n_bars: int = 10, + fut_contract: int = None, + extended_session: bool = False, + dataFrame: bool = True + ) -> pd.DataFrame | List[List]: + """get single symbol historical data + + Args: + symbol (str): symbol name + exchange (str, optional): exchange, not required if symbol is in format EXCHANGE:SYMBOL. Defaults to None. + interval (str, optional): chart interval. Defaults to 'D'. + n_bars (int, optional): no of bars to download, max 5000. Defaults to 10. + fut_contract (int, optional): None for cash, 1 for continuous current contract in front, 2 for continuous next contract in front . Defaults to None. + extended_session (bool, optional): regular session if False, extended session if True, Defaults to False. + + Returns: + pd.Dataframe: dataframe with sohlcv as columns + """ + symbol = self.__format_symbol( + symbol=symbol, exchange=exchange, contract=fut_contract + ) + + interval = interval.value + + self.__initialize_ws() + + self.__send_message( + "quote_add_symbols", [self.session, symbol, + {"flags": ["force_permission"]}] + ) + self.__send_message("quote_fast_symbols", [self.session, symbol]) + + self.__send_message( + "resolve_symbol", + [ + self.chart_session, + "symbol_1", + '={"symbol":"' + + symbol + + '","adjustment":"splits","session":' + + ('"regular"' if not extended_session else '"extended"') + + "}", + ], + ) + self.__send_message( + "create_series", + [self.chart_session, "s1", "s1", "symbol_1", interval, n_bars], + ) + self.__send_message("switch_timezone", [ + self.chart_session, "exchange"]) + + raw_data = "" + + logger.debug(f"getting data for {symbol}...") + while True: + try: + result = self.ws.recv() + raw_data = raw_data + result + "\n" + except WebSocketTimeoutException as e: + logger.error(e) + break + except Exception as e: + self.__delete_token() + logger.error(e) + break + + if "series_completed" in result: + break - async def get_hist_async(self, symbols: list[str], exchange: str = "NSE", interval: Interval = Interval.in_daily, n_bars: int = 10, dataFrame: bool = True, fut_contract: int = None, extended_session: bool = False) -> Dict[str, List[List]|pd.DataFrame]: + # Return formatted data + if dataFrame: + parsed_data = self.__parse_data(raw_data, dataFrame) + return self.__create_df(parsed_data, symbol) + else: + return self.__parse_data(raw_data, dataFrame) + + async def get_hist_async( + self, + symbols: list[str], + exchange: str = "NSE", + interval: Interval = Interval.in_daily, + n_bars: int = 10, + fut_contract: int = None, + extended_session: bool = False, + dataFrame: bool = True, + ) -> Dict[str, List[List]|pd.DataFrame]: """Fetch historical data for multiple symbols asynchronously.""" tasks = [ asyncio.create_task(self.__fetch_symbol_data(symbol, exchange, interval, n_bars, fut_contract, extended_session, dataFrame)) @@ -262,7 +358,16 @@ async def get_hist_async(self, symbols: list[str], exchange: str = "NSE", interv return {sym: data for sym, data in zip(symbols, results)} - def get_hist(self, symbols: list[str]|str, exchange: str = "NSE", interval: Interval = Interval.in_daily, n_bars: int = 10, dataFrame: bool = True, fut_contract: int = None, extended_session: bool = False) -> pd.DataFrame|Dict[str, List[List]|pd.DataFrame]|List[List]: + def get_hist( + self, + symbol: List[str]|str, + exchange: str = "NSE", + interval: Interval = Interval.in_daily, + n_bars: int = 10, + dataFrame: bool = True, + fut_contract: int = None, + extended_session: bool = False + ) -> pd.DataFrame|Dict[str, List[List]|pd.DataFrame]|List[List]: """Fetch historical data for a single or multiple symbols. Args: @@ -277,25 +382,31 @@ def get_hist(self, symbols: list[str]|str, exchange: str = "NSE", interval: Inte Returns: pd.DataFrame | Dict[str, List[List] | pd.DataFrame] | List[List]: Historical data. """ - if isinstance(symbols, str): - return asyncio.run(self.__fetch_symbol_data(symbols, exchange, interval, n_bars, fut_contract, extended_session, dataFrame)) + if isinstance(symbol, str): + return asyncio.run(self.__fetch_symbol_data(symbol, exchange=exchange, interval=interval, n_bars=n_bars, fut_contract=fut_contract, extended_session=extended_session, dataFrame=dataFrame)) - return asyncio.run(self.get_hist_async(symbols, exchange, interval, n_bars, dataFrame, fut_contract, extended_session)) + return asyncio.run(self.get_hist_async(symbol, exchange=exchange, interval=interval, n_bars=n_bars, fut_contract=fut_contract, extended_session=extended_session, dataFrame=dataFrame)) + + def search_symbol(self, text: str, exchange: str = ''): + url = self.__search_url.format(text, exchange) + + symbols_list = [] + try: + resp = requests.get(url) + + symbols_list = json.loads(resp.text.replace( + '', '').replace('', '')) + except Exception as e: + logger.error(e) + + return symbols_list if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG) - tv = TvDatafeed() - - symbols = ['SBIN', 'EICHERMOT', 'INFY', 'BHARTIARTL', 'NESTLEIND', 'ASIANPAINT', 'ITC'] - print(tv.get_hist(symbols, "NSE", n_bars=500)) - print(tv.get_hist("NIFTY", "NSE", fut_contract=1)) - print(tv.get_hist( - "EICHERMOT", - "NSE", - interval=Interval.in_1_hour, - n_bars=500, - extended_session=False, - dataFrame=False - ) - ) + + username = getenv('MAIL') + password = getenv('PASSWORD') + + tv = TvDatafeed(username, password, pro=True, ) + print(tv.get_hist(["PFC", "UNIONBANK", "BDL"], "NSE", Interval.in_5_minute, n_bars=11000)) \ No newline at end of file From bf8d8b81cfbef4f1f6d449902831c2bca2223a24 Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Wed, 14 May 2025 11:14:04 +0530 Subject: [PATCH 14/18] Update readme: option to automate totp, flexible data output, multiple symbol data fetching --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index fdb3f04..6a6141e 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,9 @@ Full tutorial Version 2.0.0 is a major release and is not backward compatible. make sure you update your code accordingly. Thanks to [stefanomorni](https://github.com/stefanomorni) for contributing and removing selenium dependancy. +### Appreciation +Original ***[ProData](https://github.com/traderjoe1968/tvdatafeed/tree/ProData)*** code was implementer, thanks to **`@traderjoe1968`**. + ## Usage Import the packages and initialize with your tradingview username and password. @@ -41,12 +44,15 @@ Import the packages and initialize with your tradingview username and password. ```python from tvDatafeed import TvDatafeed, Interval -username = 'YourTradingViewUsername' -password = 'YourTradingViewPassword' +username: str = 'YourTradingViewUsername' +password: str = 'YourTradingViewPassword' +pro: bool = True # if subscribed to paid plans else False (default) -tv = TvDatafeed(username, password) +tv = TvDatafeed(username, password, pro) ``` +You can store your accounts `2FA TOTP key` in **.env** file as TOTP_KEY=*YOUR TOTP KEY* if your to fully automate the process or type `totp` when asked. + You may use without logging in, but in some cases tradingview may limit the symbols and some symbols might not be available. To use it without logging in From b8c90a37d1410a978ee377c9795c2f1646250157 Mon Sep 17 00:00:00 2001 From: Koushik Ghosh <55987395+koushikghosh11@users.noreply.github.com> Date: Wed, 14 May 2025 11:17:55 +0530 Subject: [PATCH 15/18] update requirements.txt, setup.py --- requirements.txt | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 185cf39..9727f16 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ setuptools~=49.2.0 pandas~=1.0.5 -websockets~=14.1 +websocket-client requests \ No newline at end of file diff --git a/setup.py b/setup.py index f9a245c..8c8eac4 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ install_requires=[ "setuptools", "pandas", - "websockets", + "websocket-client", "requests" ], ) From 80ce613f5025f23c2ecd442c33f77998aba02b33 Mon Sep 17 00:00:00 2001 From: Trader Joe Date: Thu, 15 May 2025 20:39:11 +1000 Subject: [PATCH 16/18] Merge fix --- .gitignore | 4 +- README.md | 2 +- requirements.txt | 8 +- tv.ipynb | 996 --------------------------------------------- tvDatafeed/main.py | 43 +- 5 files changed, 16 insertions(+), 1037 deletions(-) delete mode 100644 tv.ipynb diff --git a/.gitignore b/.gitignore index ae2adf7..078368b 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,6 @@ venv.bak/ tvDatafeed/symbols.pkl tvDatafeed/beta.py -token* \ No newline at end of file +token* +.DS_Store +*.log diff --git a/README.md b/README.md index 6a6141e..c3d8cf1 100644 --- a/README.md +++ b/README.md @@ -298,4 +298,4 @@ Before creating an issue in this library, please follow the following steps. [Example:](https://docs.github.com/en/github/writing-on-github/creating-and-highlighting-code-blocks) - ![1659809630082](image/README/1659809630082.png) + ![1659809630082](image/README/1659809630082.png) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 9727f16..40ce6d6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,6 @@ -setuptools~=49.2.0 -pandas~=1.0.5 +setuptools +pandas websocket-client -requests \ No newline at end of file +requests +dotenv +pyotp \ No newline at end of file diff --git a/tv.ipynb b/tv.ipynb deleted file mode 100644 index 28d9077..0000000 --- a/tv.ipynb +++ /dev/null @@ -1,996 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from tvDatafeed import TvDatafeed,Interval" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# get credentials for tradingview\n", - "username = 'YourTradingViewUserName'\n", - "password = 'YourTradingViewPassword'" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "you are using nologin method, data you access may be limited\n" - ] - } - ], - "source": [ - "# initialize tradingview\n", - "\n", - "tv = TvDatafeed(username=username,password=password)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
symbolopenhighlowclosevolume
datetime
2021-12-23 20:00:00NASDAQ:AAPL175.850176.8499175.27176.2868356567.0
2021-12-27 20:00:00NASDAQ:AAPL177.085180.4200177.07180.3374919582.0
2021-12-28 20:00:00NASDAQ:AAPL180.160181.3300178.53179.2979144339.0
2021-12-29 20:00:00NASDAQ:AAPL179.330180.6300178.14179.3862348931.0
2021-12-30 20:00:00NASDAQ:AAPL179.470180.5700178.09178.2059773014.0
2021-12-31 20:00:00NASDAQ:AAPL178.085179.2300177.26177.5764062261.0
2022-01-03 20:00:00NASDAQ:AAPL177.830182.8800177.71182.01104701220.0
2022-01-04 20:00:00NASDAQ:AAPL182.630182.9400179.12179.7099310438.0
2022-01-05 20:00:00NASDAQ:AAPL179.610180.1700174.64174.9294537602.0
2022-01-06 20:00:00NASDAQ:AAPL172.700175.3000172.11172.9542452678.0
\n", - "
" - ], - "text/plain": [ - " symbol open high low close \\\n", - "datetime \n", - "2021-12-23 20:00:00 NASDAQ:AAPL 175.850 176.8499 175.27 176.28 \n", - "2021-12-27 20:00:00 NASDAQ:AAPL 177.085 180.4200 177.07 180.33 \n", - "2021-12-28 20:00:00 NASDAQ:AAPL 180.160 181.3300 178.53 179.29 \n", - "2021-12-29 20:00:00 NASDAQ:AAPL 179.330 180.6300 178.14 179.38 \n", - "2021-12-30 20:00:00 NASDAQ:AAPL 179.470 180.5700 178.09 178.20 \n", - "2021-12-31 20:00:00 NASDAQ:AAPL 178.085 179.2300 177.26 177.57 \n", - "2022-01-03 20:00:00 NASDAQ:AAPL 177.830 182.8800 177.71 182.01 \n", - "2022-01-04 20:00:00 NASDAQ:AAPL 182.630 182.9400 179.12 179.70 \n", - "2022-01-05 20:00:00 NASDAQ:AAPL 179.610 180.1700 174.64 174.92 \n", - "2022-01-06 20:00:00 NASDAQ:AAPL 172.700 175.3000 172.11 172.95 \n", - "\n", - " volume \n", - "datetime \n", - "2021-12-23 20:00:00 68356567.0 \n", - "2021-12-27 20:00:00 74919582.0 \n", - "2021-12-28 20:00:00 79144339.0 \n", - "2021-12-29 20:00:00 62348931.0 \n", - "2021-12-30 20:00:00 59773014.0 \n", - "2021-12-31 20:00:00 64062261.0 \n", - "2022-01-03 20:00:00 104701220.0 \n", - "2022-01-04 20:00:00 99310438.0 \n", - "2022-01-05 20:00:00 94537602.0 \n", - "2022-01-06 20:00:00 42452678.0 " - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "tv.get_hist('AAPL','NASDAQ',)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "nifty_data=tv.get_hist('NIFTY','NSE',interval=Interval.in_1_hour,n_bars=1000)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "DatetimeIndex: 1000 entries, 2021-06-11 12:15:00 to 2022-01-06 15:15:00\n", - "Data columns (total 6 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 symbol 1000 non-null object \n", - " 1 open 1000 non-null float64\n", - " 2 high 1000 non-null float64\n", - " 3 low 1000 non-null float64\n", - " 4 close 1000 non-null float64\n", - " 5 volume 1000 non-null float64\n", - "dtypes: float64(5), object(1)\n", - "memory usage: 54.7+ KB\n" - ] - } - ], - "source": [ - "nifty_data.info()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "nifty_data.close.plot(figsize=(15,10),use_index=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "# futures data\n", - "crudeoil_data=tv.get_hist('CRUDEOIL','MCX',Interval.in_2_hour,n_bars=5000,fut_contract=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "crudeoil_data.close.plot(figsize=(15,10))" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "# cryptocurrencies\n", - "btc_data=tv.get_hist('BTC','CME',Interval.in_1_minute,n_bars=5000,fut_contract=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "btc_usd_data=tv.get_hist('BTCUSD','BINANCE',Interval.in_1_hour,n_bars=5000)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "btc_usd_data.close.plot(figsize=(15,10))" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "etheur_data=tv.get_hist('ETHEUR','BINANCE',Interval.in_1_minute,5000)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "etheur_data.close.plot(figsize=(15,10))" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# plotting candlesticks chart\n", - "\n", - "import mplfinance as mpf" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "mpf.plot(etheur_data.head(100),type='candle',style='yahoo',volume=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "etheur_data.to_csv('etheur.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'symbol': 'WTI',\n", - " 'description': 'West Texas Intermediate Crude Oil cash',\n", - " 'type': 'cfd',\n", - " 'exchange': 'BLACKBULL',\n", - " 'currency_code': 'USD',\n", - " 'logoid': 'crude-oil',\n", - " 'provider_id': 'blackbullmarkets'},\n", - " {'symbol': 'WTI',\n", - " 'description': 'OIL FUTURES',\n", - " 'type': 'futures',\n", - " 'exchange': 'MATBAROFEX',\n", - " 'currency_code': 'USD',\n", - " 'logoid': 'crude-oil',\n", - " 'provider_id': 'ice',\n", - " 'country': 'AR',\n", - " 'contracts': [{'symbol': 'WTI1!',\n", - " 'typespecs': ['continuous', 'synthetic'],\n", - " 'description': 'CONTINUOUS: CURRENT CONTRACT IN FRONT'},\n", - " {'symbol': 'WTI2!',\n", - " 'typespecs': ['continuous', 'synthetic'],\n", - " 'description': 'CONTINUOUS: NEXT CONTRACT IN FRONT'},\n", - " {'symbol': 'WTIU2022', 'description': 'SEP 2022'},\n", - " {'symbol': 'WTIX2022', 'description': 'NOV 2022'},\n", - " {'symbol': 'WTIF2023', 'description': 'JAN 2023'}]},\n", - " {'symbol': 'WTI',\n", - " 'description': 'W&T Offshore, Inc.',\n", - " 'type': 'stock',\n", - " 'exchange': 'NYSE',\n", - " 'currency_code': 'USD',\n", - " 'logoid': 'w-and-t-offshore',\n", - " 'provider_id': 'ice',\n", - " 'country': 'US',\n", - " 'typespecs': ['common']},\n", - " {'symbol': 'WTI',\n", - " 'description': 'WTI MIDLAND (ARGUS) TRADE MONTH FUTURES',\n", - " 'type': 'futures',\n", - " 'exchange': 'NYMEX',\n", - " 'currency_code': 'USD',\n", - " 'logoid': 'crude-oil',\n", - " 'provider_id': 'ice',\n", - " 'country': 'US',\n", - " 'contracts': [{'symbol': 'WTI1!',\n", - " 'typespecs': ['continuous', 'synthetic'],\n", - " 'description': 'CONTINUOUS: CURRENT CONTRACT IN FRONT'},\n", - " {'symbol': 'WTI2!',\n", - " 'typespecs': ['continuous', 'synthetic'],\n", - " 'description': 'CONTINUOUS: NEXT CONTRACT IN FRONT'},\n", - " {'symbol': 'WTIU2022', 'description': 'SEP 2022'},\n", - " {'symbol': 'WTIV2022', 'description': 'OCT 2022'},\n", - " {'symbol': 'WTIX2022', 'description': 'NOV 2022'},\n", - " {'symbol': 'WTIZ2022', 'description': 'DEC 2022'},\n", - " {'symbol': 'WTIF2023', 'description': 'JAN 2023'},\n", - " {'symbol': 'WTIG2023', 'description': 'FEB 2023'},\n", - " {'symbol': 'WTIH2023', 'description': 'MAR 2023'},\n", - " {'symbol': 'WTIJ2023', 'description': 'APR 2023'},\n", - " {'symbol': 'WTIK2023', 'description': 'MAY 2023'},\n", - " {'symbol': 'WTIM2023', 'description': 'JUN 2023'},\n", - " {'symbol': 'WTIN2023', 'description': 'JUL 2023'},\n", - " {'symbol': 'WTIQ2023', 'description': 'AUG 2023'},\n", - " {'symbol': 'WTIU2023', 'description': 'SEP 2023'},\n", - " {'symbol': 'WTIV2023', 'description': 'OCT 2023'},\n", - " {'symbol': 'WTIX2023', 'description': 'NOV 2023'},\n", - " {'symbol': 'WTIZ2023', 'description': 'DEC 2023'},\n", - " {'symbol': 'WTIF2024', 'description': 'JAN 2024'},\n", - " {'symbol': 'WTIG2024', 'description': 'FEB 2024'},\n", - " {'symbol': 'WTIH2024', 'description': 'MAR 2024'},\n", - " {'symbol': 'WTIJ2024', 'description': 'APR 2024'},\n", - " {'symbol': 'WTIK2024', 'description': 'MAY 2024'},\n", - " {'symbol': 'WTIM2024', 'description': 'JUN 2024'},\n", - " {'symbol': 'WTIN2024', 'description': 'JUL 2024'},\n", - " {'symbol': 'WTIQ2024', 'description': 'AUG 2024'},\n", - " {'symbol': 'WTIU2024', 'description': 'SEP 2024'},\n", - " {'symbol': 'WTIV2024', 'description': 'OCT 2024'},\n", - " {'symbol': 'WTIX2024', 'description': 'NOV 2024'},\n", - " {'symbol': 'WTIZ2024', 'description': 'DEC 2024'},\n", - " {'symbol': 'WTIF2025', 'description': 'JAN 2025'},\n", - " {'symbol': 'WTIG2025', 'description': 'FEB 2025'},\n", - " {'symbol': 'WTIH2025', 'description': 'MAR 2025'},\n", - " {'symbol': 'WTIJ2025', 'description': 'APR 2025'},\n", - " {'symbol': 'WTIK2025', 'description': 'MAY 2025'},\n", - " {'symbol': 'WTIM2025', 'description': 'JUN 2025'},\n", - " {'symbol': 'WTIN2025', 'description': 'JUL 2025'},\n", - " {'symbol': 'WTIQ2025', 'description': 'AUG 2025'},\n", - " {'symbol': 'WTIU2025', 'description': 'SEP 2025'},\n", - " {'symbol': 'WTIV2025', 'description': 'OCT 2025'},\n", - " {'symbol': 'WTIX2025', 'description': 'NOV 2025'},\n", - " {'symbol': 'WTIZ2025', 'description': 'DEC 2025'},\n", - " {'symbol': 'WTIF2026', 'description': 'JAN 2026'},\n", - " {'symbol': 'WTIG2026', 'description': 'FEB 2026'},\n", - " {'symbol': 'WTIH2026', 'description': 'MAR 2026'},\n", - " {'symbol': 'WTIJ2026', 'description': 'APR 2026'},\n", - " {'symbol': 'WTIK2026', 'description': 'MAY 2026'},\n", - " {'symbol': 'WTIM2026', 'description': 'JUN 2026'},\n", - " {'symbol': 'WTIN2026', 'description': 'JUL 2026'},\n", - " {'symbol': 'WTIQ2026', 'description': 'AUG 2026'},\n", - " {'symbol': 'WTIU2026', 'description': 'SEP 2026'},\n", - " {'symbol': 'WTIV2026', 'description': 'OCT 2026'},\n", - " {'symbol': 'WTIX2026', 'description': 'NOV 2026'},\n", - " {'symbol': 'WTIZ2026', 'description': 'DEC 2026'},\n", - " {'symbol': 'WTIF2027', 'description': 'JAN 2027'},\n", - " {'symbol': 'WTIG2027', 'description': 'FEB 2027'},\n", - " {'symbol': 'WTIH2027', 'description': 'MAR 2027'},\n", - " {'symbol': 'WTIJ2027', 'description': 'APR 2027'},\n", - " {'symbol': 'WTIK2027', 'description': 'MAY 2027'},\n", - " {'symbol': 'WTIM2027', 'description': 'JUN 2027'},\n", - " {'symbol': 'WTIN2027', 'description': 'JUL 2027'},\n", - " {'symbol': 'WTIQ2027', 'description': 'AUG 2027'},\n", - " {'symbol': 'WTIU2027', 'description': 'SEP 2027'},\n", - " {'symbol': 'WTIV2027', 'description': 'OCT 2027'},\n", - " {'symbol': 'WTIX2027', 'description': 'NOV 2027'},\n", - " {'symbol': 'WTIZ2027', 'description': 'DEC 2027'}]},\n", - " {'symbol': 'WTID',\n", - " 'description': 'WISDOMTREE MULTI ASSET ISSUER PUBLIC LIMITED COMPANY WISDOMTREE WTI CRUDE OIL PRE-ROLL',\n", - " 'type': 'structured',\n", - " 'exchange': 'LSE',\n", - " 'currency_code': 'USD',\n", - " 'logoid': 'crude-oil',\n", - " 'provider_id': 'ice',\n", - " 'country': 'GB'},\n", - " {'symbol': 'WTIB',\n", - " 'description': 'WISDOMTREE MULTI ASSET ISSUER PUBLIC LIMITED COMPANY WISDOMTREE WTI CRUDE OIL PRE-ROLL',\n", - " 'type': 'structured',\n", - " 'exchange': 'LSE',\n", - " 'currency_code': 'GBX',\n", - " 'logoid': 'crude-oil',\n", - " 'provider_id': 'ice',\n", - " 'country': 'GB'},\n", - " {'symbol': 'WTIS',\n", - " 'description': 'LEVERAGE SHARES PUBLIC LIMITED COMPANY LS -2X SHORT WTI OIL ETP',\n", - " 'type': 'structured',\n", - " 'exchange': 'LSE',\n", - " 'currency_code': 'USD',\n", - " 'provider_id': 'ice',\n", - " 'country': 'GB'},\n", - " {'symbol': 'WTI2',\n", - " 'description': 'LEVERAGE SHARES PUBLIC LIMITED COMPANY LS 2X LONG WTI OIL ETP',\n", - " 'type': 'structured',\n", - " 'exchange': 'LSE',\n", - " 'currency_code': 'USD',\n", - " 'provider_id': 'ice',\n", - " 'country': 'GB'},\n", - " {'symbol': 'WTID',\n", - " 'description': 'WISDOMTREE BLOOMBERG WTI CRUDE OIL',\n", - " 'type': 'fund',\n", - " 'exchange': 'MIL',\n", - " 'currency_code': 'EUR',\n", - " 'logoid': 'crude-oil',\n", - " 'provider_id': 'ice',\n", - " 'country': 'IT',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI2',\n", - " 'description': 'WISDOMTREE ART. INT.DLAC',\n", - " 'type': 'fund',\n", - " 'exchange': 'XETR',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIC',\n", - " 'description': 'WISDOMTREE ENH.COM.U.E.DA',\n", - " 'type': 'fund',\n", - " 'exchange': 'XETR',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIF',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.EOAH',\n", - " 'type': 'fund',\n", - " 'exchange': 'XETR',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIZ',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'XETR',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIM',\n", - " 'description': 'WISDOMTR.EO.QUAL.DV.GR.EA',\n", - " 'type': 'fund',\n", - " 'exchange': 'XETR',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI2',\n", - " 'description': 'WISDOMTREE ART. INT.DLAC',\n", - " 'type': 'fund',\n", - " 'exchange': 'FWB',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIC',\n", - " 'description': 'WISDOMTREE ENH.COM.U.E.DA',\n", - " 'type': 'fund',\n", - " 'exchange': 'FWB',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIF',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.EOAH',\n", - " 'type': 'fund',\n", - " 'exchange': 'FWB',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIM',\n", - " 'description': 'WISDOMTR.EO.QUAL.DV.GR.EA',\n", - " 'type': 'fund',\n", - " 'exchange': 'FWB',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIZ',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'FWB',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTII',\n", - " 'description': 'WTR.DL F.R.T.BD.BD DL ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIM',\n", - " 'description': 'WISDOMTR.EO.QUAL.DV.GR.EA',\n", - " 'type': 'fund',\n", - " 'exchange': 'DUS',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI2',\n", - " 'description': 'WISDOMTREE ART. INT.DLAC',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI6',\n", - " 'description': 'WTR.AT1 COCO BD HDGDDLD',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI1',\n", - " 'description': 'WISDOMTREE US EQ.INC.LSHA',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIH',\n", - " 'description': 'WTR.DL F.R.T.BD.BD DL DIS',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIZ',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI1',\n", - " 'description': 'WISDOMTREE US EQ.INC.LSHA',\n", - " 'type': 'fund',\n", - " 'exchange': 'DUS',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI2',\n", - " 'description': 'WISDOMTREE ART. INT.DLAC',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI2',\n", - " 'description': 'WISDOMTREE ART. INT.DLAC',\n", - " 'type': 'fund',\n", - " 'exchange': 'DUS',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI2',\n", - " 'description': 'WISDOMTREE ART. INT.DLAC',\n", - " 'type': 'fund',\n", - " 'exchange': 'HAM',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTI7',\n", - " 'description': 'WTR.AT1 COCO BD HDGLS DIS',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIA',\n", - " 'description': 'WISDOMTREE EUR.EQ.ETF ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIA',\n", - " 'description': 'WISDOMTREE EUR.EQ.ETF ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'DUS',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIC',\n", - " 'description': 'WISDOMTREE ENH.COM.U.E.DA',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIC',\n", - " 'description': 'WISDOMTREE ENH.COM.U.E.DA',\n", - " 'type': 'fund',\n", - " 'exchange': 'DUS',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIC',\n", - " 'description': 'WISDOMTREE ENH.COM.U.E.DA',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIF',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.EOAH',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIF',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.EOAH',\n", - " 'type': 'fund',\n", - " 'exchange': 'DUS',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIG',\n", - " 'description': 'WISDOMTREE AT1 COCO BD DA',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIH',\n", - " 'description': 'WTR.DL F.R.T.BD.BD DL DIS',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTII',\n", - " 'description': 'WTR.DL F.R.T.BD.BD DL ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIJ',\n", - " 'description': 'WISDOMTREE ENH.COM.U.E.DL',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIM',\n", - " 'description': 'WISDOMTR.EO.QUAL.DV.GR.EA',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIM',\n", - " 'description': 'WISDOMTR.EO.QUAL.DV.GR.EA',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIQ',\n", - " 'description': 'WISDOMTR.EO.QUAL.DV.GR.EO',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIS',\n", - " 'description': 'WISDOMTREE JA.EQ.U.E.DLHA',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIY',\n", - " 'description': 'WISDOMTREE EN.COM.U.E.LSA',\n", - " 'type': 'fund',\n", - " 'exchange': 'MUN',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIZ',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'BER',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIZ',\n", - " 'description': 'WISDOMTREE JAP.E.U.E.ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'DUS',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['etf']},\n", - " {'symbol': 'WTIC',\n", - " 'description': 'WISDOMTREE ENHANCED COMMODITY UCITS ETF - USD ACC',\n", - " 'type': 'fund',\n", - " 'exchange': 'SWB',\n", - " 'currency_code': 'EUR',\n", - " 'provider_id': 'ice',\n", - " 'country': 'DE',\n", - " 'typespecs': ['mutual']}]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "tv.search_symbol('WTI')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.8" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/tvDatafeed/main.py b/tvDatafeed/main.py index 704902a..86bb0be 100644 --- a/tvDatafeed/main.py +++ b/tvDatafeed/main.py @@ -101,7 +101,7 @@ def __auth(self, username, password): token = response.json()['user']['auth_token'] except Exception as e: - logger.error(f'Error during login - server response {response.json()}') + logger.error('error while signin', e) token = None return token @@ -222,36 +222,8 @@ def __format_symbol(symbol, exchange, contract: int = None): raise ValueError("not a valid contract") return symbol - - def get_hist( - self, - symbol: str, - exchange: str = "NSE", - interval: Interval = Interval.in_daily, - n_bars: int = 10, - fut_contract: int = None, - fut_badj: bool = True, - extended_session: bool = False, - ) -> pd.DataFrame: - """get historical data - - Args: - symbol (str): symbol name - exchange (str, optional): exchange, not required if symbol is in format EXCHANGE:SYMBOL. Defaults to None. - interval (str, optional): chart interval. Defaults to 'D'. - n_bars (int, optional): no of bars to download, max 5000. Defaults to 10. - fut_contract (int, optional): None for cash, 1 for continuous current contract in front, 2 for continuous next contract in front . Defaults to None. - extended_session (bool, optional): regular session if False, extended session if True, Defaults to False. - - Returns: - pd.Dataframe: dataframe with sohlcv as columns - """ - symbol = self.__format_symbol( - symbol=symbol, exchange=exchange, contract=fut_contract - ) - - interval = interval.value - + + def __initialize_ws(self): self.__create_connection() self.__send_message("set_auth_token", [self.token]) @@ -323,17 +295,16 @@ async def __fetch_symbol_data( {"flags": ["force_permission"]}] ) self.__send_message("quote_fast_symbols", [self.session, symbol]) - - adj_msg = '","adjustment":"splits",' if fut_contract is None else '"backadjustment":"default",' if fut_badj else '' + self.__send_message( "resolve_symbol", [ self.chart_session, "symbol_1", '={"symbol":"' - + symbol + '",' - + adj_msg - + '"session":'+('"regular"' if not extended_session else '"extended"') + + symbol + + '","adjustment":"splits","session":' + + ('"regular"' if not extended_session else '"extended"') + "}", ], ) From 47f757b473b7be2081fe14bdf1c44db234528c04 Mon Sep 17 00:00:00 2001 From: traderjoe1968 <56706564+traderjoe1968@users.noreply.github.com> Date: Sun, 6 Jul 2025 16:48:06 +1000 Subject: [PATCH 17/18] Update requirements.txt Added missing packages --- requirements.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 40ce6d6..39d1714 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,5 +2,6 @@ setuptools pandas websocket-client requests -dotenv -pyotp \ No newline at end of file +pyotp +python-dotenv +pyotp From 56a524933e50cc36f054f239afce37644b8bdea4 Mon Sep 17 00:00:00 2001 From: traderjoe1968 <56706564+traderjoe1968@users.noreply.github.com> Date: Mon, 7 Jul 2025 19:07:55 +1000 Subject: [PATCH 18/18] Update requirements.txt Removed duplicate pyotp in requirements.txt --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 39d1714..90738a8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,3 @@ websocket-client requests pyotp python-dotenv -pyotp