Package: dynts
A statistic package for python with enphasis on timeseries analysis.
Built aroundnumpy, it provides several back-end timeseries classes including R-based objects viarpy2.
It is shipped with a domain specific language for timeseries analysis
and manipulation built on to ofply.
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/dyntsKeywords:timeseries, quantitative, finance, statistics, numpy, R, web–Timeserie ObjectDSLRequirementsR backendOptional RequirementsRunning TestsKudosCommunityTimeserie ObjectTo 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'DSLAt 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)
251RequirementsThere are few requirements that must be met:python2.6 up to python 3.2.numpyversion 1.5.1 or higher for arrays and matrices.plyversion 3.3 or higher, the building block of theDSL.ccyfor date and currency manipulation.R backendDepending on the back-end used, additional dependencies need to be met.
For example, there are back-ends depending on the following R packages:rpy2if anRTimeSeries back-end is used (default).zooandPerformanceAnlyticsfor thezooback-end (currently the default one)timeSeriesfor thermetricsback-endInstallingrpy2on Linux is straightforward, on windows it requires thepython for windowsextension library.Optional Requirementscythonfor performance. The library is not strictly dependent on cython, however its usage
is highly recommended. If available several python modules will be replaced by more efficient compiled C code.xlwtto create spreadsheet from timeseries.matplotlibfor plotting.djpcmsfor theweb.viewsmodule.Running TestsThere are three types of tests available:regressionfor unit and regression tests.profilefor analysing performance of different backends and impact ofcython.benchsame asprofilebut geared towards speed rather than profiling.From the distribution directory type:python runtests.pyThis 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 --listfor regression, or:python runtests.py -t profile --listfor profile, or:python runtests.py -t bench --listfrom benchmarks.If you access the internet behind a proxy server, pass the-poption, for example:python runtests.py -p http://myproxy.com:80It is needed since during tests some data is fetched from google finance.To access coverage of tests you need to install thecoveragepackage and run the tests using:coverage run runtests.pyand to check out the coverage report:coverage report -mKudosnumpydevelopers.CommunityTrying to use an IRC channel#dyntsonirc.freenode.net(you can use the webchat athttp://webchat.freenode.net/).If you find a bug or would like to request a feature, pleasesubmit an issue.