Live Data Feed
Scylla delivers real-time stock market data via a persistent WebSocket connection, enabling low-latency access to quotes, trading volumes, and other essential market metrics. Designed for performance-critical environments, Scylla serves traders, portfolio managers, quantitative researchers, and financial analysts who require continuous, up-to-the-second market information.
Use Cases
-
Intraday Trading — Access streaming market data to support rapid order execution and react to price movements in real time.
-
Investment Research — Evaluate securities using live pricing alongside historical performance to inform long-term allocation decisions.
-
Quantitative & Financial Analysis — Conduct in-depth research across individual instruments, sectors, and broader markets using Scylla's comprehensive data and charting capabilities.
-
Portfolio Monitoring — Track holdings in real time with automated alerts for significant price changes or threshold breaches.
Python Code Example
import asyncio
import websockets
async def main():
uri = "wss://hist.grosch.capital/ws"
headers = {
"Authorization": f"Bearer {api_token}" # Replace with your own API key
}
async with websockets.connect(uri, extra_headers=headers) as websocket:
while True:
try:
data = await websocket.recv()
print(data)
except websockets.ConnectionClosed:
print("Connection closed.")
break
if __name__ == "__main__":
asyncio.run(main())JavaScript Code Example
const WebSocket = require('websocket').w3cwebsocket;
const uri = 'wss://hist.grosch.capital/ws';
const headers = {
Authorization: `Bearer apiToken`, // Replace with your own API key
};
const client = new WebSocket(uri, undefined, undefined, headers);
client.onerror = (error) => {
console.error(`Connection Error: ${error}`);
};
client.onopen = () => {
console.log('Connected to WebSocket');
};
client.onclose = (event) => {
if (event.code === 1000) {
console.log('Connection closed normally.');
} else {
console.error(`Connection closed with code: ${event.code}`);
}
};
client.onmessage = (message) => {
if (message.type === 'message') {
console.log(`Received data: ${message.data}`);
}
};
process.on('SIGINT', () => {
if (client.readyState === WebSocket.OPEN) {
console.log('Closing WebSocket...');
client.close();
}
});