Algo / High Frequency Trading Design and Optmization
Infrastructure Best-of-Breed Stack for HTF/Grid
- Development
- ClusterTech CPE C++
- Matlab
- QT Framework
- Intel Studio
- Intel XDK
- Intel® C and C++ Compilers
- Impulse C
- Dashboards
- QlikView
- QT
- Adobe Flex
- Databases
- Gigaspaces XAP Lite
- KDB Free
- McObjects
- Networking
- SolarFlare
- Alistra
- Corvil
- Server and Storage
- Violin Flash Storage Arrays
- Nutanix
- Nimble T1 Storage
- Fusion IO
- IBM XIV
- IBM PureSystems
- Symantec PureDisk Backup
- nVidia Grid GPU
- CoolIT CPU Cooling – http://www.coolitsystems.com/index.php/products/server.html
- Hosting Platforms
- Broadway
- Tango
- marketprizm
- Analytic
- GPU and FPGA
BIOS/UEFI Changes
- Disable Hyperthreading.
- Disable Turbo-Boost.
- Disable Virtualisation Support.
- Disable Intel VT-d
- Set HP Power Profile to Maximum Performance
- Set HP Power Regulator to HP Static High Performance Mode.
- Disable Core C-States
- Disable Package Power States.
Trading Software
- 2BITS – Preconfigured software for connectivity to major exchanges, trading networks and broker dealers worldwide.
- CQG – An industry leader in fast, accurate and reliable market data plus advanced technical and graphical analysis.
- OnixS – Pre-certified performance trading solutions.
- OptionsCity – Metro is a fully configurable electronic trading platform for both floor and off-floor traders.
- ORC Group – Provides significant functionality allowing traders to customize volatility management, pricing and automated quoting.
- ProOpticus – Professional derivatives software arming traders with comprehensive solutions for futures trading.
- QuantHouse – QuantHouse equips algo traders with an advanced suite of trade development and management tools backed by a high-performance infrastructure.
- RTS Realtime Systems – RTD is an innovative application that provides access to exchange traded futures and options markets.
- Stellar Trading Systems – Stellar Trading Systems specializes in producing fast and powerful trading systems for the high frequency, high volume trader.
- Trading Technologies (TT) – X_Trader® lets you trade multiple products and multiple markets from one fully-customizable screen in real time.
- Patsystems –
Linux and Windows Optimisation
- Disable CPU C-States. This prevents the CPU from going into power saving mode, which can cause latency when the CPU needs to power back up. (Kernel parameter intel_idle.max_cstate=0)
- Disable hyperthreading. This prevents other threads being scheduled onto your core and invalidating your cache. (Manually achieved by echo 0 > /sys/devices/system/node/node0/cpu1/online etc.)
- Isolate CPUs from the scheduler. This prevents the scheduler from scheduling work onto isolcated CPUs, preventing your work from being scheduled off, cache invalidation etc. (isolcpus)
- Pin threads to CPUs. This prevents threads from moving between cores and invalidating caches etc. (sched_setaffinity)
- Lock memory pages and prefault the stack. This prevents minor page faults as memory pages are paged in. (mlockall)
- Set the scheduler for realtime threads to FIFO / up the priority. This allows our threads to preempt other threads which could be on our cores (unlikely, given that we’ve used isolcpus) (sched_setscheduler)
- Move interrupts onto a specific CPU (specifically ethernet IRQs local to the NUMA node that the NIC is on) (/proc/irq)
- Use RDMA NICs and their associated zero copy APIs for out networking (solarflare)
- Use profile guided optimization / lock-free data structures / busy reads etc
- Oprofile, callgrind, smart order routing, false sharing, kernel bypass, linux thread to core affinity, approximate, difference between cache levels, memory perforamnce, c-states hardware perforance, enable hardware cache, interrrupt coalescing, linux behcarking of function excution low latency order book.
Research
- Configuring and Tuning HP ProLiant Servers for Low-Latency Applications White Paper – http://h20000.www2.hp.com/bc/docs/support/SupportManual/c01804533/c01804533.pdf
- Cisco Algo Speed – http://www.cisco.com/web/strategy/docs/finance/c22-658397-01_sOview.pdf / http://www.cisco.com/en/US/docs/solutions/Verticals/High-Performance_Trading.html
- SolarFlare – http://www.solarflare.com/High-Frequency-Trading
- Stackoverflow – http://programmers.stackexchange.com/questions/183723/low-latency-unix-linux / http://quantlabs.net/blog/2011/09/quant-development-choosing-and-configuring-linux-for-low-latency/
- http://blog.kreyolys.com/2011/03/05/kernel-performance-tuning-is-art-not-science-part-1/
- Cisco Trade Floor Design – http://www.cisco.com/en/US/docs/solutions/Verticals/Trading_Floor_Architecture-E.html
Machine learning
- http://scikit-learn.org/stable/
- http://cs229.stanford.edu/proj2013/Taylor-Applying%20Machine%20Learning%20to%20Stock%20Market%20Trading.pdf
- https://splunkbase.splunk.com/app/685/#/documentation
Strategies
- HFT Strategy
- Some Exchanges might open few milliseconds ahead due to Stratum clock variance, you can use this delay to stuff orders into the markets and get ahead of the game..
- Tokyo Exchange use a Round robin to fill orders, you can setup a self company and use them as proxies to fill your orders more quickly.
- Event Driven Market Calendar
- https://robotero.com/event-driven-trading
- Reuters News API – https://customers.reuters.com/developer/apis_tech.aspx#
- Google Search Terms
- Thompson – http://thomsonreuters.com/machine-readable-news/
- News RSS
- Bloomberg Data Feeds – http://www.bloomberg.com/promo/marketing/corp/24201-eps_download/case_study_wal-mart_842576541.pdf
- Human Expert Advisors
- http://dj.wsj.com/hub API
- http://www.tradingeconomics.com/australia/indicators
- http://www.myfxbook.com/forex-economic-calendar
- AZFinText
TickData
- Yahoo Finance
- Federal Reserve Economic Data (FRED)
- Interactive Brokers
- http://www.sirca.org.au/products/