Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

Quantitative financial timeseries analysis

Project description

A Domain Specific Language for Timeseries Analysis.

Documentation:http://packages.python.org/dynts/
Dowloads:http://pypi.python.org/pypi/dynts/
Source:http://github.com/quantmind/dynts
Keywords:timeserie, quantitative, finance, statistics, web

Timeseries analysis and a timeseries domain specific language written in Python.

Timeserie Object

To create a timeseries object directly:

>>> from dynts import timeseries
>>> ts = timeseries('test')
>>> ts.type
'zoo'
>>> ts.name
'test'
>>> ts
TimeSeries:zoo:test
>>> str(ts)
'test'

DSL

At the core of the library there is a Domain-Specific-Language (DSL) dedicated to timeserie analysis and manipulation. DynTS makes timeserie manipulation easy and fun. This is a simple multiplication:

>>> import dynts
>>> e = dynts.parse('2*GOOG')
>>> e
2.0 * goog
>>> len(e)
2
>>> list(e)
[2.0, goog]
>>> ts = dynts.evaluate(e).unwind()
>>> ts
TimeSeries:zoo:2.0 * goog
>>> len(ts)
251

Requirements

There are several requirements that must be met:

  • python 2.4 or later. Note that Python 3 series are not supported yet.
  • numpy arrays and matrices.
  • ply the building block of the DSL.
  • rpy2 if an R TimeSeries back-end is used (default).
  • ccy for date and currency manipulation.

Depending on the back-end used, additional dependencies need to be met. For example, there are back-ends depending on the following R packages:

Installing rpy2 on Linux is straightforward, on windows it requires the python for windows extension library.

Optional Requirements

Running Tests

Form the package directory:

python runtests.py

or, once installed:

from dynts import runtests
runtests()

If you are behind a proxy, some tests will fail unless you write a little script which looks like this:

from dynts.conf import settings
from dynts import runtests
settings.proxies['http'] = 'http://your.proxy.com:80'

if __name__ == '__main__':
    runtests()

Community

Trying to use an IRC channel #dynts on irc.freenode.net (you can use the webchat at http://webchat.freenode.net/).

If you find a bug or would like to request a feature, please submit an issue.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
dynts-0.3.tar.gz (121.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page