trader-desk/README.md
Dale Mellor 365ad5a560 Genesis.
2020-03-23 11:55:23 +00:00

117 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

> Github is a secondary distribution point for this project; please see
> https://rdmp.org/dmbcs/trader-desk to be sure to see the most up to date
> version and complete details.
# DMBCS Trader-Desk Application
> This is a beta release of C++ code designed to be built and run on a
> Gnu/Linux-based system.
While stock charting applications are ten a penny, it seems like every
time you look at a different stock chart you see a completely different
picture of the situation. Especially when it is your broker: things
always look great until the time you buy in and then you see things are
all really downhill.
So we want a desk which shows us data we can believe, and allows us to
very quickly view and analyze the data in lots of ways, at lots of time
scales; we want to be live and interactive with our data.
Specifically, our requirements are
* Show full, at-a-glance, view of an entire market
* Instantly bring up all the details of any one company
* Have all data (ten years, all markets) on local machine, in a
proper database, for speed
* Application must be lightning fast, we want to pan and
zoom around the data to our hearts content
* Ultimately we want trading robots which can react to
events super-fast
* Provide plug-in infrastructure for analysis modules, and
ultimately for robot traders
## The Project
We are a team of professional C++ Linux programmers and this has been a
personal side project, and thus isnt really designed for portability or
ease of installation. But we have made an effort, and the application
does include a wizard which will go some way towards getting your database
set up correctly.
### Prerequisites
The requirements are specific and quite hard:
* `gcc 9.3`
* Yep, this is written to C++20 standards with **concepts** and the
**fmt** library in use.
* `fmt`
* `mariadb`
* `dmbcs-market-data-api`
* An account at *AlphaVantage* (free); you will need to acquire an *API
key* from that site and enter it at the bottom of the preferences dialog
box in the `trader-desk` application
It has only been built on a Debian 10 (current stable) system. The file
`setup-hint.sh` at the root of the distribution is a pseudo-script for
configuring and installing into a clean-built Debian 10 machine. It is
not expected that you would just run this blindly, but use it as a guide
for manually setting your own system up at the command line; in particular
it will inform you how to get the dependencies listed above.
## Download
The `dmbcs-trader-desk` source code is managed with *GIT* (configured with
*autotools*, built with *make* and a good C++20 compiler). Type
> `git clone http://rdmp.org/dmbcs/trader-desk.git dmbcs-trader-desk`
at the command line to obtain a copy.
This repository also comes with some database pre-population data, so that
you will have something interesting to look at as soon as you start the
application running!
## Documentation
As per above, build and installation instructions take the form of the
`setup-hint.sh` pseudo-script included with the sources. The
source is about 50% covered by *Doxygen* notes in the header files.
Real end-user documentation is non-existent right now. You should have
had a look at the video above, and then you will be able to follow your
instincts and find your own way around the application.
## Contact
Please click [here](https://rdmp.org/dmbcs/contact) if you wish to send us
a message.
### Mailing list
If you would like to receive e-mail notices of matters arising about this
application, you may request this through the contact form above.
### Contribution to development
We will happily consider contributions to the source code if you provide
the address of a GIT repository we can pull from, or send a pull request
via Github, and will consider all bug reports and feature requests.
## Donations
If you use this application please consider a bitcoin donation if you can.
A small amount informs us that there is interest and that we are providing
a useful service to the community; it will keep us motivated to continue
to make open source software. Donations can be made by bitcoin to the
address `1PWHez4zT2xt6PoyuAwKPJsgRznAKwTtF9`.
______________________________________________________________________
Copyright (c) 2017, 2020 Dale Mellor
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.