VWAP
What is this endpoint for?
This endpoint delivers VWAP (volume-weighted average price) for an instrument on an exchange in real time.
Endpoints
gateway-v0-grpc.kaiko.ovh
Request parameters
aggregate
The period you would like the VWAP aggregation to be calculated over.
1m
instrumentCriteria
A nested object to configure following properties for your stream:
exchange
(String) - The code(s) for the exchange(s)instrument_class
(String) - The class(es) of the instrument(s) .code (String) -
The Kaiko code for the instrument.
Explore instruments, codes and exchanges in the Instrument Explorer or Reference Data.
cbse
spot
btc-usd
Response fields
aggregate
The period of calculation.
class
The class of instrument.
code
The instrument code.
price
The price for the peirod (USD).
exchange
The exchange the VWAP is referencing.
tsEvent
The timestamp for the interval.
uid
The unique ID for this delivery.
volume
Volume traded in interval. 0 when no trades reported.
sequenceId
Not applicable. Null
Request examples
# This is a code example. Configure your parameters below #
from __future__ import print_function
from datetime import datetime, timedelta
import logging
import os
from google.protobuf.timestamp_pb2 import Timestamp
import grpc
from google.protobuf.json_format import MessageToJson
from kaikosdk import sdk_pb2_grpc
from kaikosdk.core import instrument_criteria_pb2
from kaikosdk.stream.aggregates_vwap_v1 import request_pb2 as pb_vwap
def vwap_request(channel: grpc.Channel):
try:
with channel:
stub = sdk_pb2_grpc.StreamAggregatesVWAPServiceV1Stub(channel)
responses = stub.Subscribe(pb_vwap.StreamAggregatesVWAPRequestV1(
aggregate='1s',
instrument_criteria = instrument_criteria_pb2.InstrumentCriteria(
exchange = "binc",
instrument_class = "spot",
code = "eth-usdt"
)
))
for response in responses:
# for debug purpose only, don't use MessageToJson in the reading loop in production
print("Received message %s" % (MessageToJson(response, including_default_value_fields = True)))
except grpc.RpcError as e:
print(e.details(), e.code())
def run():
credentials = grpc.ssl_channel_credentials(root_certificates=None)
call_credentials = grpc.access_token_call_credentials(os.environ['KAIKO_API_KEY'])
composite_credentials = grpc.composite_channel_credentials(credentials, call_credentials)
channel = grpc.secure_channel('gateway-v0-grpc.kaiko.ovh', composite_credentials)
vwap_request(channel)
if __name__ == '__main__':
logging.basicConfig()
run()
Response Example
"aggregate": "1s",
"class": "spot",
"code": "eth-usdt",
"exchange": "binc",
"price": 2591.3221372276307,
"tsEvent": "2024-08-09T13:47:20.689338450Z",
"uid": "2024-08-09T13:47:19Z",
"sequenceId": ""
Last updated
Was this helpful?