Giter Site home page Giter Site logo

silahian / visualhft Goto Github PK

View Code? Open in Web Editor NEW
657.0 32.0 133.0 13.16 MB

VisualHFT is a cutting-edge GUI platform for market analysis, focusing on real-time visualization of market microstructure. Built with WPF & C#, it displays key metrics like Limit Order Book dynamics and execution quality. Its modular design ensures adaptability for developers and traders, enabling tailored analytical solutions.

License: Apache License 2.0

C# 100.00%
analytics market-analytics market-data tca trading trading-algorithms trading-platform csharp mvvm mvvm-architecture

visualhft's People

Contributors

arielsilahian avatar drusteeby avatar ramateur avatar silahian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

visualhft's Issues

Throttling incoming websocket data

Problems: the UI will get stuck with so many updates.
The flow data (market) is as follows: -> HelperWebsockets (parsing market data message) -> HelperOrderBook (will generate events) -> vmOrderBook (will process it, and send it to UI)

VisualHFT uses real-time data, but the human eye does not see beyond 30 updates per second.
Market data usually got updated much faster than that, and if we keep that rate the whole system will be unresponsive.

We need to come up with a nice design to throttle the incoming data and avoid freezing the UI
Things to keep in mind:

  • human eye won’t keep up past 30 updates per sec
  • but we cannot just dump the data, we have historical charts that display values (and stats) for all the updates.

Code cleanup and framework integrity

I suggest to do some code cleanup and solidify to use one .NET framework. ATM there are several referenced and it's unclear what is needed and used. In the worst case it bloats installation as it might require duplicate packages for different versions.

Tasks:

  • Remove unused code & imports
  • Use only one .NET framework version (which one?)
  • Update deprecated package requirements
  • Use either PackageReference or packages.config, not both, if possible.
  • Use same ToolsVersion in both *.csproj files:
    <Project ToolsVersion="Current" DefaultTargets="Build" ... "> see: here
  • Move all github related assets & images to ./docs
  • Move all pre-built libraries to ./libs.

Plugin Manager

We must improve plugin life cycle management: loading, unloading, start/stop, logging errors and able to show them from the Plugin management window.

  1. Plugin Registration & Management:
    • Support versioning to handle updates and ensure compatibility.
    • Manage them by subscriptions (they could be free or paid)
    • Handle the upgrade of individual plugins
    • Plugin store: market place
  2. Plugin Lifecycle:
    • Define clear lifecycle events for plugins, including initialization, activation, deactivation, and disposal.
  3. Error Handling & Logging:
    • Log plugin activities in a dedicated log, aiding in debugging, performance monitoring, and ensuring traceability.

Create a Getting Started Guide

Hi Ariel,

It would be extremely helpful if you could create a basic Getting Started Guide for how to get something out of this repo. As it stands we need to find our own data feeds (or mock-up feeds) and feed that into this tool. But how to get there?

I think an example from some free or delayed demo feed (or perhaps a small demo DB with pre-populated data) would be very helpful in this case. (What were you using yourself?)

Could you write down the steps needed from cloning this repo to getting the plots/images shown in the README?

Thanks in advance,

Cant find 'Telerik' after rebuild all

Hey, I'm new to this but I wasn't able to find the 'Telerik' folder after rebuilt all.
I also couldn't figure it out with the help of the Getting Started Guide. Any help is appreciated 🗡️

Can't connect to coinbase

Hi, I'm new to this and not able to retrieve data from coinbase. I did all the steps and was able to build the project but when I ran the demoTradingCore it shows "++ ATENTION: COINBASE DISCONNECTED or NO DATA...". I can't find where to change the api keys if that's the issue. Please let me know what I'm doing wrong.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.