Quantitative financial timeseries analysis
A Domain Specific Language for Timeseries Analysis.
|Keywords:||timeserie, quantitative, finance, statistics, web|
Timeseries analysis and a timeseries domain specific language written in Python.
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 several requirements that must be met:
- python 2.5 or later. Note that Python 3 series are not supported yet.
- numpy for 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:
- zoo and PerformanceAnlytics for the zoo back-end (currently the default one)
- timeSeries for the rmetrics back-end
Form the package directory:
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()