VisualHFT
VisualHFT is a WPF/C# desktop GUI that shows market microstructure in real time. You can track advanced limit‑order‑book dynamics and execution quality, then use its modular plugins to shape the analysis to your workflow.
Install / Use
/learn @visualHFT/VisualHFTREADME
Release Notes
See details here
Coming Soon
- Ability to connect to any market data source (equities, futures, forex and news feeds) via new data‑retriever plug‑ins.
- Open plug‑in architecture for third‑party developers to add analytics, data sources and more.
- New advanced studies on market microstructure.
- Trading surveillance & infrastructure monitoring tools.
- and much more...
We are open to hearing from the community to add more features. Make sure you open new Issues with suggestions.
VisualHFT
VisualHFT is an open‑source desktop application for real‑time market microstructure analysis. Built in C# using WPF, it renders the limit‑order book, trades and strategy exposures from multiple venues so traders and quants can observe order‑flow dynamics and algorithmic behaviour.
The platform emphasises a modular plug‑in architecture – new market‑connectors and analytics can be added without modifying the core. Learn more about VisualHFT's architecture here

Key Capabilities
- Real‑time market data via plug‑ins: VisualHFT retrieves market data through plug‑ins. The open‑source edition ships with plug‑ins for several cryptocurrency venues: Binance, Bitfinex, BitStamp, Coinbase, Gemini, Kraken, KuCoin and a generic WebSocket connector. Each plug‑in normalises order‑book and trade updates and pushes them into the common data bus.
- Real‑time market microstructure visualisation: View the full depth of the order book (10+ levels per side), recent trades and order flow dynamics in real time. The WPF UI uses high‑performance charts to display depth, spreads and other microstructure patterns.
- Advanced microstructure studies: Built‑in study plug‑ins compute microstructure analytics like VPIN (Volume‑synchronised Probability of Informed Trading), LOB Imbalance, Market Resilience and OTT Ratio. Each study listens to order book/trade events and publishes computed metrics via the trigger engine.
- Trigger engine & alerts: A rules‑based trigger engine registers metrics from study plug‑ins and evaluates user‑defined conditions (e.g., “VPIN > threshold”). Alerts can be surfaced through the UI or used by custom plug‑ins.
- Modular plug‑in architecture: All connectors and studies implement an
IPlugininterface and are loaded at runtime by thePluginManager. New data sources or analytics can be added by developing a DLL that implements the appropriate base class and dropping it in the plug‑ins folder.
Getting started
- Prerequisites: VisualHFT targets .NET 7.0. Ensure you have a recent .NET SDK and Visual Studio Community version.
- Clone the repository:
git clone https://github.com/visualHFT/VisualHFT.git - Build the solution: Open
VisualHFT.slnin Visual Studio and build. The solution includes the core application, the commons library, the WPF UI and several plug‑ins. The plug‑ins are referenced projects and will be built automatically. - Run VisualHFT: Launch the VisualHFT project. On startup you will be prompted to select a provider (venue) and symbol. Choose one of the available venues (e.g., Binance or Kraken) and a supported symbol (e.g.,
BTC-USD, which is the normalized symbol) to begin streaming data.
Features
- Real-time market data from any source: Add multiple market data using plugins.
- Real-Time Market Microstructure Visualization: Detailed view of market dynamics, including Limit Order Book movements.
- Advanced Execution Quality Analysis: Tools to assess and optimize trade execution and reduce slippage.
- Interactive Charts and Graphs: Dynamic and interactive visual representations of market data.
- User-Centric Design: An intuitive interface designed for ease of use, making complex data accessible.
- Performance Metrics and Reporting: Robust reporting tools to track and analyze trading performance metrics.
- Real‑Time Data Bus: Helper classes (
HelperOrderBook,HelperTrade, etc.) act as a real‑time bus. Data‑retriever plug‑ins push order‑book and trade events into these helpers; the UI and study plug‑ins subscribe to them. - Interactive Charts: OxyPlot‑based charts display depth, spread, volumes and study outputs in real time.
- User‑Centric Design: The interface emphasises clarity, speed and customisation. Users can configure which studies are active, adjust triggers and save layout settings.
- Extensibility: Developers can build their own plug‑ins for proprietary data feeds or custom analytics. See the
VisualHFT.Pluginsfolder for examples of data‑retriever and study plug‑ins.
Even though some of these items do not yet appear in the open‑source code, they are part of the project’s roadmap and will be added as development continues.
About the founder
Ariel Silahian has been building high-frequency trading software for the past 10 years. Primarily using C++, for the core system, which always runs in a collocated server next to the exchange.
He's a passionate software engineer with a deep interest in the world of electronic trading. With extensive experience in the field, he has developed a keen understanding of the complexities and challenges that traders face in today's fast-paced, high-frequency trading environment.
His journey in electronic trading began with his work at a proprietary trading firm, where he was involved in developing and optimizing high-frequency trading systems. This experience gave him a firsthand look at the need for tools that provide real-time insights into trading operations, leading to the creation of VisualHFT.
In addition to his work in electronic trading, he has a broad background in software development, with skills in a range of programming languages and technologies. He's always eager to learn and explore new areas, and he believes in the power of open-source software to drive innovation and collaboration.
Through VisualHFT, we hope to contribute to the trading community and provide a valuable tool for traders and developers alike. We welcome feedback and contributions to the project and look forward to seeing how it evolves with the input of the community.
Screenshots

Contributing
If you are interested in reporting/fixing issues and contributing directly to the code base, please see CONTRIBUTING.md for more information on what we're looking for and how to get started.
Important: We will not accept any changes to any of the existing input json message format. This is fixed and cannot be changed. The main reason for this is that we can break all existing installations of this system. Unless there is a “very strong” case that needs to be addressed, and all the community agrees upon that. However, we could accept having new json messages, to be parsed and processed accordingly, without breaking any of the existing ones.*
How to contact us
For project questions use the repository’s forums or any of my social media profiles. Twitter | LinkedIn | Forums
Release notes
Mar 16 2025
Enhancements
-
New Plugins Added:
- BitStamp
- Gemini
- Kraken
- KuCoin
-
Plugin Improvements:
- Enhanced plugin lifecycle, allowing each plugin to have its own autonomy without affecting the core system (reconnection, auto stopping, etc.).
- Improved error handling within plugins.
- Introduced a new module to handle all exceptions and notifications from plugins and the core system without disrupting operations.
-
Performance Improvements:
- Incorporated custom queues that improve performance and throughput by 40%.
- Implemented custom object pools, enhancing memory allocation throughout the system.
- Re-organized data structures and code for better usage, with significant improvements in performance and memory handling.
- Optimized order book data structures for faster lookups and updates.
For detailed changes, refer to pull request #41 and pull request #36.
Jun 26 2024
Enhancements
- Performance Improvements:
- Incorporated custom queues that improve performance and throughput by 40%.
- Implemented custom object pools, enhancing memory allocation throughout the system.
- Limit Order Book:
- Re-organized data structures and code for better usage, with significant improvements in performance and memory handling.
- Optimized order book data structures for faster lookups and updates.
- Plugins:
- Improved plugin lifecycle, allowing each plugin to have its own autonomy without affecting the core system (reconnection, auto stopping, etc.).
- Enhanced error handling within plugins.
- Notification Center:
- Introduced a new module to handle all exceptions and notifications from plugins and the core system without disrupting operations.
- Improved UI experience for notifications.
- Code Cleanup:
- Removed unused third-party packages and modules.
- Refactored code to remove unnecessary database access from the core, now handled by plugins if needed.
These updates focus on enhancing system performance, reliabili
Related Skills
feishu-drive
341.6k|
things-mac
341.6kManage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database)
clawhub
341.6kUse the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com
postkit
PostgreSQL-native identity, configuration, metering, and job queues. SQL functions that work with any language or driver
