Do you have much experience with Akka.NET and the actor model? I'm definitely preferring it to ReactiveX at the moment (some devs even use it for the GUI too). I think if you are using The Actor Model, you should consider using F#. I used akka.net for a text section of a project mainly about lifting THML based data off the web and chucking it into REDIS, which I found it did rather well. I used C# initially then found immutable structures and the immediate window of F# was much simpler all in all. A number of working systems have been written in akka, but I'm unclear on akka.net, and I'm even more unclear of the state of .net core as it seems to move about a bit. But I do think using F# and the Actor Model has significant advantages when Agile development is being used with minimal testing resourced and live trading... let's just say locking and threading as a main one! Good luck and interested to see how you get on.
Interesting however from a business perspective, why. Retail traders want it for free, brokers mostly license in tech, institutions roll their own with teams, which leaves open source and personal. Using scicharts is going to have open source problems unless you already have an agreement with them. And personal you can take existing platforms and roll code over the top. We have our own gui drag-drop based trade management system that acts as the hub to algo/charting pushing and managing trades through to brokers. It sounds like an interesting technology project and many sell their open source companies for $10s millions, but as you want to become a money manager the two are very difficult to integrate without separation. We're doing that but use business focused solutions to avoid the tech issues. Which then leaves HFT but you'll have to pay $10,000s $100,000s $millions in fees to gain direct access. We know how to adapt retail platforms to bypass the problem for near HFT, seconds based, without the fee problems but we target the speculators and institutional trades, not retail, which neutralises the HFT advantage. However, have a very good idea why you're doing this, and hope you also understand the foundation why as well. It's a maze you have to work your way through, the complexity increases as the fee base becomes smaller. It looks like you haven't thought through that part hence the request for collaboration due to license fees, understand that the providers are going to put blocks in at every stage and if you're working from bottom up, they are not going to play nicely. My suggestion, go and find yourself an investor from the HFT or Hedge Fund world via an angel platform showing your proof of concept, they will guide you through the maze from the top down. Hope it all goes well.
Hi Douglas, Thanks for your reply! I really like the F# language and the functional premise in general, I was attempting to learn it earlier last year but decided to redirect my efforts entirely into C# because for me, I feel its a more suitable language for developing an enterprise trading platform OOP etc. However for developing machine learning, neural network components and leveraging the R type providers (and the vast amount of R libraries) its definitely an incredible tool, and because its part of the .NET landscape and can integrate so well with C# I'll definitely be returning to my efforts of learning it. Probably once the trading platform is at a level where its functioning and I move back to focusing on alpha models. As for Akka.NET and the actor model this is something I'm playing with right now, Wire serializer is great. There's also a good use case for Redis and its messaging capabilities. Both of these frameworks utilize the TPL under the hood so the idea is for minimal use of your own locking statements (or not at all), concurrency has become much more straight forward in the latest iterations of .NET. Thanks and at the very least I'll be providing occasional updates to how I'm going, or even linking the github repo if things go open source.
Hi birzos, Thanks for your reply, rolling code over the top of an existing platform is how I've been operating lately - my preference is to develop my own solution however, as I run into limitations and problems with existing platforms at times. I'd never attempt to compete for speed directly in the UHFT world, as you pointed out that space seems to be dominated with technology investment and exchange deals. My average trade time is normally around 1.5hrs, so various intraday strategies. thanks again.
What's your point actually? Which product do you offer? Is it available open source or off the shelf? Because last time I checked there wasn't anything when I needed it hence the desire to have built my own. And I assume the same applies to OP.
Do you mind sharing your professional background? I am willing to bet you have/ had some sort of financial services industry affiliation.
I don't have any professional experience in finance, although it's a space I'm looking to move into professionally.
Interesting, you sound quite knowledgeable in this space. Refreshing to see new people on this site who know what they are talking about.
If you're comfortable posting your CV or your Linkedin url, there may be prospective employers interested.
After some more research on data I've realised that document storage via NoSQL isn't the best solution for time series data. (They're great for storing events but that's another subject) The way I see it right now there are three options - traditional relational database (SQL) - specific time series database such as InfluxDB - roll your own binary database Of those three options I'm thinking of going with the venerable MySQL, it's been around for a long time and can be accessed by many other languages such as R and Python and other applications. So it's a flexible, robust and multi-purpose type solution. I'm thinking of using that database purely for back testing type operations where I'd hold the data from TickData or IQFeed etc. for the 'operational makret data' that which is being traded on, I'd probably just download the last say 1000 bars from the broker to update the indicators and get the algos running then just aggregate bars from incoming ticks/quotes from there (FIX). That would be pulled down on application close, the persistent market data wouldn't be polluted by it. Does anyone have any experience with using MySQL for market data? I tend to just work with minute bars and aggregate them into 5 min, 15 min, 30 min etc bars from there depending on the strategy.