You can use the code under the terms of the General Public License (version 2 or, at your option, any later version).
The code is managed via Subversion.
The subdirs GT/ and Scripts/ are all you need are all
you need for an operational GeniusTrader installation
on a *nix like OS.
We recommend installing in a common parent directory:
For a wintel OS you might need to add the Windows_Installer/ subdir.
You can browse the entire subversion tree online.
Tarballs (*.tar.gz) can be generated on the fly directly from the svn server via websvn. Get both the GT and Scripts subdirs from whichever branch you prefer.
Error validating server certificate for 'https://geniustrader.svn.sourceforge.net:443':
We encourage you to validate that the server is the correct server
by putting your svn URL into a trusted web browser
If your browser accepts the certificate you can trust the server much like you would any other HTTPS site. Once validated you can go back to your Subversion request and instruct the client to permanently (or just temporarily) store the SSL certificate locally so you won't be prompted again until the cert is updated.
The GeniusTrader subversion repository is available via anonymous access. To clone the entire GT repo
svn co https://geniustrader.svn.sourceforge.net/svnroot/geniustrader geniustrader
But that isn't really necessary (is really a huge waste of disk-space). Instead you can clone from a particular branch just the two (or three) subdirs you need using commands like these:
svn checkout https://geniustrader.svn.sourceforge.net/svnroot/geniustrader/trunk/GT geniustrader/GT
svn checkout https://geniustrader.svn.sourceforge.net/svnroot/geniustrader/trunk/Scripts geniustrader/Scripts
We recommend you use either the current trunk HEAD as shown above
or the exp branch HEAD using this base url:
Once you have the code you still have to go through some steps to configure a working installation. Follow the instructions here. Use the geniustrader-devel mailing list for any additional help only after you have rtfm available in the form of perl pod in most of the GT files, the GT/Docs dir and on the GT website.
GeniusTrader is already usable but it still evolves at a pace with regular changes possibly resulting in breakage in various parts of the code. So bug reports are especially welcome.
Please use the geniustrader-devel mailing list to report any bugs or problems you encounter. When reporting a bug please provide all the data that we will need in order to duplicate the problem. Consider the GT configuration and market prices data that you've got that we necessarily don't have. Whenever possible try to duplicate the problem using the sample text based prices data and code '13000'.
Contributions are always welcome because we always have more ideas than time to implement them. :-)
The coordination of the development happens on a mailing list firstname.lastname@example.org. You're invited to join and to participate in the discussions. To subscribe use the form here. Use this message list for general discussions on anything GeniusTrader. That's where you submit patches and ideas for improving GeniusTrader. Also you can probably find some help there (in particular if you want to contribute later)...
If you're not interested in the development of GeniusTrader but you have a strong interest in systematic trading, then you're welcome to join email@example.com where you can exchange your ideas and research with other people. To subscribe to that list use this form.
Both lists are archived on the GT sourceforge project page under the 'Mailing Lists' tab:
There is no single document giving an overview of GeniusTrader internals. However each object is documented in the source code (with POD) and you can browse the GT toolkit API documentation to learn more about it. In order to help you have a global view of GeniusTrader before digging into it, you should study this object/module schema diagram:
You should also know that each customizable object has access to
various informations including many indicators, signals and whatever
can be computed with history of prices and volume (and possibly some
external meta-data information). Keep in mind that this representation
of GeniusTrader's architecture is incomplete and is not always 100%
accurate (some simplifications have been made), but it gives you a good
overview of how things are working together.
Here is another version of a functional object/data flow diagram depicting GT processing a trading system.