Experienced algo trader view on Microsot Windows detriment
Another member’s view of using Microsoft and Windows 10 product:
I am surprised that it has taken you so long. At the end of 2015, after assessing risks of using Microsoft’s products, (ransomware threats, attack surface, upadate issues, vulnerabilities, support passed out for Microsoft’s own not so old products etc …) I decided to wind down my IT service company. I must admit that Windows 10 was the final straw, some of the anniversary update issues became a nightmare for my customers. For me and supporting Microsoft’s server and other products were becoming a “can of worms” as their business model refocuses to software as a service (Re Windows 10 enterprise – subscription 365). Even their SQL server department are rumoured to prefer to deploy SQL server on linux and had resisted deployment on Windows server 2016. The cloud makes it easy for customers to choose any competitor to Azure and Microsoft are scrambling to lock in their customer base.
To run a trading system on windows 10, you are subject to updates that are not controlled, other win 10 close to you can leach the updates from your box, and there is constant telemetry being sent to Microsoft etc– all of which chew up your band width – not the ideal when you want to trade, this contributes to slippage – money taken out of your pocket. There are other issues as well see: https://senk9.wordpress.com/checklists/windows-10-privacy-checklist/
I now spend most of my time developing systems for trading (using machine, deep leaning) on Ubuntu. (Those that still like the windows feel may opt for Linux mint)
Over the last few months I have ported some of the software to linux (Ubuntu) and manage these with wine, and Play on Linux to manage the versions of wine required for various MS based software (via virtual disk drives) and on the odd occasions that I may require a Microsoft operating system , I spin up a VM using virtual box on linux.
For VMs, to be deployed to servers, you have Docker (or LXC – not as flexible) so it is easy to deploy your trading VM to any collocation service (closer to an exchange to handle latency issues and resilience).
The nice thing about Linux is that the development platforms (python, CUDA etc..) just work!
So consider Windows 10 – well and truly dumped or knobbled in virtualbox on linux!
I have sliced and diced the various components you would need if you were to deploy your own world class High Frequeny Trading (HFT) environment. These are the exact same metholodgies explained by the VP of High Frequency Engineering at Barclay’s Bank. Here are the listings:
1. Questions I would ask those experienced running a HFT trading operation
Questions I would ask those experienced running a HFT trading operation
From what I know so far, this is what I would ask:
1. What would you view be on an open source C++ HFT trading project like http://www.trading-shim.org/
2. What is your view on this potential solution to fix weaknesses of Elrang and RDMA
Provide a solution or workaround satisfactorily?
3. What would your view be on expensive tools like Matlab/Simulink to transfer trading ideas into C++/C via Code Generation? What about the
Simulink Code generation into VHDL for FPGA deployment? Would FPGA still have a solid future here?
4. Do you find Intel’s C compiler is best for tuning?
5. Do you find these open source network monitoring solutions mentioned here to replace Corvil solutions?
6. Is Intel the preferred processor to optimize/tune at the lowest level?
7. Would Fix8 be a decent alternative to use instead of a commercial solution?
8. Do you find Redis would be adequate as a NOSQL solution vs MongoDB (C++) or Cassandra (Java)? Redis has a higher throughput rate?
9. Apache Memcached is mention but is Redis an aadequate substitute?
Got answers, let me know via commenting below. Thanks
The stats are in for MongoDB vs Redis NOSQL database performance comparison for high speeding trading from other experienced user!
This awesome news from someone else who test the performance betwen both. He also posting some comments I never considered so big thanks to him for posting! This is excellent as we move forward to make this really cool! Read the comments below in this posting.
Senior Developer responsible for Margin calculators development in Prime Brokerage Margin and Risk Technology to support PB Risk and Enterprise Risk functions.
• Implement new features on the Python platform
• Implement new features in C++ on Windows and Linux platforms
• Debug existing C++ code and fix problems
• Debug existing Java code and fix problems
• Enhance existing Python code
• Produce documentation of code, testing and functionality
• 2+ years Python experience
• Solid knowledge of fundamentals of C++ programming language and object-oriented facilities in C++(3+ years)
• 2+ years Java developer experience
• Experience with Unix script programming (Shell, Perl, etc)
• Experience with Visual Studio and SQL Server an asset
• Ability to learn and work productively within an established codebase and debug existing code
• Willingness to learn new technologies and apply the best tools suited for particular tasks
• Excellent communication skills
• Positive ‘Can Do’ attitude
• Sense of urgency and effectiveness in stressful situations
• Team player mentality
• Minimum: Undergrad degree in Computer Science or related discipline
NOTE I now post myTRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!