I am beginning to embark on the journey of writing my own algorithmic platform. I am playing around with JavaFX (successor to Swing) and it seems ok but I would like to incorporate better charts and visuals (heat maps, good looking real-time charts etc.) The GUI will be for monitoring (portfolio, prices, logging, monitoring scenarios). Python is an option (i.e. wxPython, PyGTK). What languages have people been using (personally or at hedge funds etc...) ?
I don't want to rain on your parade, but do you have: 1) a decent idea of the amount of work involved - and required expertise, 2) the time & money to support yourself through that endeavor (& possibly others developers, if you find it too much for just yourself) 3) already a bag of algos you can trade profitably, and know exactly why existing platforms can't do the job for these. If you answered yes to all 3 questions, then there is another option to explore: to pick the existing platform closest to your needs, and fund the required improvements on it. If you answered no to any of these 3 questions, then you are setting yourself for failure. Feel free to ignore my comment - in general, experience can't be taught, only gained through trial & errors.
Microsoft .Net is an option with best IDE (integrated development environment). Three major languages used there are C#, C++/CLI, VB. Connectivity with .net examples is provided by most data providers, brokers offering API, and some commercial platforms.
Being there, doing that (in C#), I have one item for you to think of: Why JavaFX - why not go with HTML and a web portal? Not for trading, mind you, but you say: "The GUI will be for monitoring (portfolio, prices, logging, monitoring scenarios)." I found a lot of positives to use a web portal for that - among other things I Can easily upgrade it in one place, and can access it from diverse workstations and / or my tablet without maintaining software. In fact, I even went further and we do all backtest analysis now in specialized web portals. As long as yo udo not go TOO crazy (chart wise) there are a lot of great packages out there. After all, real time is relative - and not really needed (hard) for that (i.e. a one second delay is acceptable). But there are some serious advantages (like for example a portal pag is easy to implement that can run off a nice large flat TV.
If you have a need to monitor on mobile devices then I would second what NetTecture said. Otherwise I would definitely go with .Net C# to write a GUI. I highly recommend SciCharts WPF charting libraries or Infragistics also is quite performant. I personally ask developers to use SciCharts and am very happy with it. Most WPF GUI libraries also provide performant grid controls and docking libraries, basically giving you a head start instead of having to design one from scratch. The libraries may cost north of 600 USD which should be fine unless of course you are after free stuff (need to ask others to recommend those as I looked at ZedGraph briefly and moved on quickly in disgust). Most new commercial WPF library versions nowadays make it quite easy to couple with MVVM paradigms which I highly recommend to keep your solution scalable and expandable. So, if you look to support mobile solutions you could consider Rest and JS charting libraries or a .Net solution (Silverlight). Also Rest is not bad if you consider changing your frontend technology later, at least you do not have to change the message delivery mechanism. Otherwise I would consider .Net WPF.
I will consider HTML and JS. Not .NET though. (My skills are Python and Java development). What good JS charting libraries are there ? Highcharts looks impressive.
Highcharts isn't too bad. I use it with HighchartsPHP so I can write the page in PHP. All my stuff is static and hard-coded at the moment. I'll be working to change it to be updatable on the web page.
that should work if you throttle GUI refreshes. But beyond that you will see that highcharts and libraries such as SciChart are in entirely different leagues. So, it depends on your requirements.
I use the Infragistics components for the moment - look good and have all kinds of goodies, not only charts, also gauges. The later are good to control / show system. Example: Strategies, needle shows how many are in a position. THe background has areas green (working), blue (paused), red (failure). You can see with one look how many instances are in the market and how many have failed