Skip to main content

Enterprise architecture for quantitative analysis in finance.

Project description

Welcome to Quant

Quant is an enterprise software application for quantitative analysis. Quant combines SciPy and DomainModel.

Quant contains a model of quantitative analysis in finance. The model has object markets, symbols, exchanges, price processes, observations, books, contract types, pricers, pricer preferences, and reports.

Quant can easily be extended to support custom price processes, pricers, and contract types. Quant is written in Python.

Quant currently has implementations for a Black Scholes price process; a Black Scholes pricer, a binomial tree pricer, a monte carlo pricer; and contract types for european, american and futures contracts.

There is also a domain-specific language (DSL) for expressing and evaluating contracts.

Other features we are planning to implement include:

  • RESTful API for remote machine clients;

  • Market prices pulled from exchange APIs;

  • Integration with common spreadsheet applications;

  • State machine enhancements to DSL;

  • Different price processes.

If you would like to suggest a feature, please get in touch!

Website

Please visit the Quant project website.

Install Guide

Welcome to the Quant Install Guide.

It is very easy to create new Quant services. Either do it all manually or use the Quant installer. Afterwards, simply configure and restart Apache.

The Quant installer will deploy Quant into a new virtual Python environment. New services are set up with an SQLite database. Installer options exist for using other database management systems, and it is possible to migrate between different database management system after the service is created.

Operating System Dependencies

Before installation, make sure required system packages are installed:

$ sudo aptitude install python python-numpy python-scipy sqlite3

If you are using Python 2.5, you will also need a few other packages:

$ sudo aptitude install build-essential python-dev libsqlite3-dev

Check your Python can load scipy with (returns silently if available):

$ python -c "import numpy"
$ python -c "import scipy"

Please note, if you will install Quant into an isolated virtual Python environment (e.g. with virtualenv), you will want to create library links to the Python packages for SciPy (and NumPy) before installing Quant.

Manual Code Install

Install the Quant Python package (and dependencies) either by running:

$ pip install quant

Or by downloading the Quant tarball, unpacking and running:

$ python setup.py install

After installation, please read the following help pages for more information:

$ quant-makeconfig --help
$ quant-admin help setup

Manual Site Setup

Decide a filesystem path for the new site:

$ mkdir PATH

Create the new site configuration file:

$ quant-makeconfig --master-dir=PATH  PATH/quant.conf

Set up the new site with the new configuration:

$ quant-admin setup --config=PATH/quant.conf

Please note, if you installed Quant into an isolated virtual Python environment, you will want to use the –virtualenv-bin-dir option of quant-makeconfig.

The configuration file defines the filesystem path to the newly generated Apache configuration file. You will need to need to include this file in the main Apache configuration.

Automated Install and Deploy

You can create a Quant service in one step with the Quant installer.

The installer will build a virtual Python environment, and install the Quant software. The installer will then set up a new site with an SQLite database, and it will create an Apache config file to be included in the main Apache configuration (see below).

Download the Quant installer (and make it executable):

$ curl -O http://appropriatesoftware.net/provide/docs/quant-virtualenv

$ chmod +x quant-virtualenv

Run the Quant installer. Note that the PATH folder should never be under DocumentRoot of the Apache installation or any other directory exposed via Apache web server:

$ ./quant-virtualenv PATH

Please note, the path argument is required (and can be relative or absolute).

After the installer has completed, continue by configuring Apache with a new VirtualHost, check file ownership and permissions, and restart.

The installer will diplay the filesystem path to the newly generated Apache configuration file. You will need to need to include this file in the main Apache configuration.

Apache Configuration Steps

Make sure the required system packages are installed:

$ sudo aptitude install apache2 libapache2-mod-wsgi

Also, make sure Apache mod_wsgi is enabled:

$ sudo a2enmod wsgi

Pick a domain name for your site. Create a new virtual host which includes the Quant Apache configuration (path mentioned by the installer).

Print the path to the Quant Apache configuration file with:

$ quant-admin www path --config PATH/etc/quant.conf

A new Apache virtual host could simply look like this:

<VirtualHost *:80>
    ServerName YOUR-QUANT-SITE
    Include PATH/var/httpd-autogenerated.conf
    WSGIDaemonProcess quant threads=25 maximum-requests=1000
</VirtualHost>

Please note, the path to the auto-generated file must be an absolute path (not a relative path).

If necessary, configure your DNS for YOUR-QUANT-SITE.

File Ownership

Change ownership of Quant files to Apache (or to the user which the WSGI daemon process runs as):

$ chown -R {www-user}:{www-user} PATH

Restart Apache

Once everything is configured, try to restart Apache:

$ sudo /etc/init.d/apache2 restart

Your virtual host will show a page saying ‘Welcome to Quant’.

Login with username ‘admin’ and password ‘pass’.

Contact

If you have any difficulties or questions about Quant, please email:

quant-support@appropriatesoftware.net

Please note, at the moment, Quant is developed and tested on Ubuntu 10.10 (64 bit) with Python 2.7. Quant should work on any recent Linux distribution.

About

Quant is a project of the Appropriate Software Foundation. Please refer to the Quant website for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quant-0.7.tar.gz (403.7 kB view details)

Uploaded Source

File details

Details for the file quant-0.7.tar.gz.

File metadata

  • Download URL: quant-0.7.tar.gz
  • Upload date:
  • Size: 403.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for quant-0.7.tar.gz
Algorithm Hash digest
SHA256 10115d749c699fa070f3cd10861695df03ba292221b01cda5ae7181193ce7b3e
MD5 8ae93267b25bc17fa69a2e5eb4dbeac7
BLAKE2b-256 566e03012dccf6f1680b397beb8fa51dbc0d902aba5c740b7d7a67630804ba95

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page