@ANL I totally understand where you are coming from. For upto 500 instruments, redis might work just fine. The 80ms benchmark that you have, again if it serves the use case, well and good. I have been able to achieve 5ms benchmark for 9000 instrumen…
@TradeTastic and @ANL another reason why I am so keen on doing this in application memory layer, instead of redis, is because this is the layer which can be scaled very easily when you need to go horizontal.
@TradeTastic pub-sub primarily solves the problem of communication when your application deployment might need to consume more than one servers. Till you are on a single server, inter-process communication can help. If you on a single application / …
@TradeTastic apologies for missing out your response. Let me try to answer it.
I have tried this setup with max capacity of 9k instruments' tick data. It works well on a fairly standard hardware.
1. Have 1 node.js thread to just subscribe to ticks…
@sujith I tested this out today in the second half of the trading window. It is indeed happening that postbacks are received earlier than the placeOrder api response.
Is there a provision to send orders over websockets?
@sujith I happened to check this and I seem to receive postbacks over websockets for all the orders. However there is still a fair bit of discrepancy in reconciliation. Is it possible that I am getting postback event even before I am getting a respo…
LTSM, GRU etc work on dynamic memory. My hypothesis is not dynamic memory, but rather for fixed set of candles, last 10 to be precise. A simile deep neural network that replaces a deterministic approach of technical analysis should work. I have also…
@naveenarya applying LSTM on ohlcv data is the first thing folks tend to do. I did that as well years back. Unfortunately either it did not work out for me or I gave up too soon on it. Simpler deep neural network kind of architecture works for me.
…
An update here.
I changed my AI model to predict 11th and 12th candle and used its combination to generate a signal. While the number of signals have dropped drastically, the model seems to have achieved profitability after transaction costs. Will …
@ANL agreed. The litmus test for any AI or any algorithm for that matter is if it is able to make you any significant money, after all the costs, after taxation, after all the hassle.
@ANL my apologies for not sharing the full context. I have sectioned it in 3 phases.
1. Hot phase - this is the realtime tick data and realtime processing that needs to happen on it (something like rolling it up into OHLCV candles or any such custom…
@visasimbu perhaps you might want to approach this in an even driven manner. Instead of replicating positions, you can try to replicate orders. Just poll for order updates and replicate those.
Answering this in Sept 2024. I tried almost all of the options available. My choice is to use timescaledb (with compression enabled). Pretty fast and robust for storing ticks data. Dont need fancy servers too (I am running mine on a asus chromebox 3…
@aswin1231 while this might seem as duplicate considering just 3 fields, if you look at the data in full mode, you might see that bids or asks might have changed. The exchange will broadcast a tick even if there is change in bids or asks (market dep…
If someone is still looking for brokerage calculation logic, here is my version.
import { TRANSACTION_TYPE_FOR_TRANSACTION_COSTS_CALCULATION } from "../constants";
export abstract class TransactionCostsUtils {
public static calculateTotalTrans…