Open jpmediadev opened 1 week ago
I'm so glad you commented about cause I have been looking into some papers and found that linear regression seems to be most simple way of predicting future prices with features then I had to go learn...I am still a noob and testing things out but if you have any ideas, suggestions on how I can improve please don't hesitate to let me know. Some of the papers I read were written by Stoikov,Cartea, Avellanda but I'll find the doi of each paper and add them to the next comment
If you have some free time, I'd also like to pick your brain on how you'd decide order replacement/amends depending on fills, time, order book events/volatility
Some of the books/papers are: Algorithmic and High Frequency trading by Alvaro Cartea, Sebastian Jaimungal, Jose penalva Enhancing trading strategies with order book signals by Álvaro Cartea, Ryan Donnelly & Sebastian Jaimungal #[https://doi.org/10.1080/1350486X.2018.1434009] Marketmaking with alpha signal by Cartea & Wang https://doi.org/10.1142/S0219024920500168 COMPARISON OF DIFFERENT MARKET MAKING STRATEGIES FOR HIGH FREQUENCY TRADERS by Yibing Xiong, Takashi Yamada, Takao Terano Spoofing and Manipulating Order Books by Álvaro Cartea, Patrick Chang, Gabriel Garcı́a-Arenasa, *[I was hoping this would increase fill rates with bad inventory] The price impact of order book events by Rama Cont, Arseniy Kukanov and Sasha Stoikov Order Imbalance Based Strategy in High Frequency Trading by Darryl shen
Thanks for sharing the list, I’m also searching for solutions, and while the papers are full of complex mathematical formulas, seeing your implementation in code makes them much easier to understand.
I’ve tried using more advanced ML models in the past, but it quickly turned into a black hole, with the complexity growing exponentially, and it became unclear what exactly wasn’t working. So, I switched back to simpler models with the idea of gradually making them more sophisticated.
At the moment, I’m using price data from several exchanges as a predictor for the mid-price and placing a grid of orders based on that. However, I’m considering ways to make the algorithm smarter by adding short-term prediction.
I might just consider your idea of aggregating data from multiple exchanges but how do you weight the exchanges considering liquidity
I choose top exchanges by liquidity, and I choose, for example, 10 ask bid levels on each and weigh the price according to the volume, but in fact there are many options for creativity, and everything depends on the properties of the asset
Thanks, I'll let know you how it turns out
Hi Olaseni! I’ve had the chance to look through your project, and I must say it’s really interesting! I appreciate the effort that has gone into incorporating such a detailed and structured approach. I’m curious—what resources or authors have inspired you in developing this project? It would be great to hear more about your influences and how you arrived at your design decisions.
That being said, I have a few observations about the current approach that I hope might be helpful:
pub fn mid_price_regression( mid_price_array: Array1,
features: Array2, // imbalance_ratio, voi, ofi
curr_spread: f64,
) -> Result<f64, String> {
// Normalize features if needed
let normalized_features = features.map(|&x| x / curr_spread);
}
I think a slight adjustment in how the regression is used could bring the code closer to achieving its intended purpose. Thanks again for sharing your project—it’s definitely promising, and I’m excited to see how it evolves!