A statistic package for python with enphasis on timeseries analysis. Built around numpy, it provides several back-end timeseries classes including R-based objects via rpy2. It is shipped with a domain specific language for timeseries analysis and manipulation built on to of ply. It requires Python 2.6 and up, including Python 3 versions.
–
Documentation: | http://packages.python.org/dynts/ |
---|---|
Dowloads: | http://pypi.python.org/pypi/dynts/ |
Source: | http://github.com/quantmind/dynts |
Keywords: | timeseries, quantitative, finance, statistics, numpy, R, web |
–
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'
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
There are few requirements that must be met:
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.
There are three types of tests available:
From the distribution directory type:
python runtests.py
This will run by default the regression tests. To run a profile test type:
python runtests.py -t profile <test-name>
where <test-name> is the name of a profile test. To obtain a list of available tests for each test type, run:
python runtests.py --list
for regression, or:
python runtests.py -t profile --list
for profile, or:
python runtests.py -t bench --list
from benchmarks.
If you access the internet behind a proxy server, pass the -p option, for example:
python runtests.py -p http://myproxy.com:80
It is needed since during tests some data is fetched from google finance.
To access coverage of tests you need to install the coverage package and run the tests using:
coverage run runtests.py
and to check out the coverage report:
coverage report -m
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.