1 GB/s or higher bandwidth connection will help to achieve faster executions or fetch historical data.
1. Do I need 1 GB/s or more to get the quickest execution? or Could I obtain historical data faster than the other traders ? 2. If it is irrelevant, what is the minimum speed or greater bandwidth needed to access the Zerodha Kite API services?
Latency is the roundtrip time for your request to travel from your computer to the remote server (in this case zerodhas OMS/RMS) and the time taken for the servers response to travel back to to your computer.
Generally it is measured in milliseconds (ms). In the attached screenshot I have used the ping tool used to check if a server is reachable for google.com and kite.zerodha.com The response time for google is 24 ms while the response time for kite.zerodha.com is around 1 ms which is very good. You can open a command line terminal on your computer and type the same commands to check the latency on your network. ping -c 10 www.google.com ping -c 10 kite.zerodha.com
If your response time from kite.zerodha.com is anything less than 4 ms you are good. You cannot improve it much unless you go for dedicated colocation hosting at VSNL mumbai which is freaking expensive and only for folks earning crores per year via HFT.
BTW what exactly are you trying to do? When you mention faster execution and historical data in the same sentence are you trying to use historical api to get data and then trade based on that data?
Thank you @MAG Exactly, I am using the Rest API and Websocket API together in one project. I needed to know that faster band width helps faster fetch data. so, Now I've come to the conclusion that faster bandwidth wouldn't help me achieve faster execution or data fetching. Latency is an important factor to consider here. I have checked ping Result: Ping google
ping kite.zerodha.com
I am satisfied google latency but not kite.zerodha.com
Your ping response to zerodha servers is too high. I am getting 0.4 ms from my AWS servers and 1.2 ms from my home broadband connection. Can you specify which broadband provider you are using and is it a fiber or coaxial or rj45 connection. The only two options for you are to try and change internet service providers or to run your code on a cloud server like AWS. If you choose the cloud make sure the region is set to Mumbai India.
" I needed to know that faster band width helps faster fetch data" Also no matter what you do, you will never reduce the response time of historical API. You can't use historical api to get ready OHLC candles and trade based on them as there is significant delay between minute turnover and the candle being available. Don't ask why. that's a long technical discussion for hard core techies which you are obviously not. If you want to trade you need to subscribe to tickdata and then process the ticks and generate your own candles. Last time I checked, historical api had almost a minutes delay and by that time the price had already moved.
Thanks @MAG I am using a fiber connection with an RJ45. I will check on this issue with my ISP.
I am processing tick data and generating OHLC. I am combining both Websocket streams and the Rest API in my project. The current historical API is fetching fast, and I am fully satisfied, as I don't have high expectations for historical data fetching.
I won't use a cloud server like AWS because, currently, I have Threadripper machine setup, so cloud is not efficient as my system is used as a workstation or server.
If I have enabled VPN with Mumbai server in my PC, Latency will be slower ?
Generally it is measured in milliseconds (ms). In the attached screenshot I have used the ping tool used to check if a server is reachable for google.com and kite.zerodha.com
The response time for google is 24 ms while the response time for kite.zerodha.com is around 1 ms which is very good. You can open a command line terminal on your computer and type the same commands to check the latency on your network.
ping -c 10 www.google.com
ping -c 10 kite.zerodha.com
If your response time from kite.zerodha.com is anything less than 4 ms you are good. You cannot improve it much unless you go for dedicated colocation hosting at VSNL mumbai which is freaking expensive and only for folks earning crores per year via HFT.
Check this article that explains latency in detail.
https://www.cloudflare.com/learning/performance/glossary/what-is-latency/
BTW what exactly are you trying to do? When you mention faster execution and historical data in the same sentence are you trying to use historical api to get data and then trade based on that data?
I have checked ping
Result: Ping google
ping kite.zerodha.com
I am satisfied google latency but not kite.zerodha.com
please comment
The only two options for you are to try and change internet service providers or to run your code on a cloud server like AWS. If you choose the cloud make sure the region is set to Mumbai India.
" I needed to know that faster band width helps faster fetch data" Also no matter what you do, you will never reduce the response time of historical API. You can't use historical api to get ready OHLC candles and trade based on them as there is significant delay between minute turnover and the candle being available. Don't ask why. that's a long technical discussion for hard core techies which you are obviously not. If you want to trade you need to subscribe to tickdata and then process the ticks and generate your own candles. Last time I checked, historical api had almost a minutes delay and by that time the price had already moved.
I am processing tick data and generating OHLC. I am combining both Websocket streams and the Rest API in my project. The current historical API is fetching fast, and I am fully satisfied, as I don't have high expectations for historical data fetching.
I won't use a cloud server like AWS because, currently, I have Threadripper machine setup, so cloud is not efficient as my system is used as a workstation or server.
If I have enabled VPN with Mumbai server in my PC, Latency will be slower ?