Computation service dedicated to timeseries
LispTick is a powerfull timeseries computation engine built around pure streaming.
It is implemented in Go, a modern language with concurrent programming in mind. As a result LispTick can fully use all your cores and can be available on any platform and OS where Go is available. We have already tested it on Linux, MacOs and Windows with Intel or AMD Cpus and also ARM (Apple M1, RPi, Onion Omega…).
To create compact but powerful requests a dialect of LISP is used. Embed types like Time, Duration and Timeseries, a list of pairs (Time, Value), allow stacked computation on the fly.
Language Syntax
- Atoms
- Lists
- Arrays
- Creating Functions
- Bindings
- Calling Functions
- Conditionals
- Builtin Functions
- Array Functions
- String Functions
- Time & Date Functions
- Hashmap Functions
Timeseries & Extension
backward
: Move one update backward in timecf
akaclockref
: Synchronize on this timeseriedelta
: Difference between two consecutive valuesforward
: Move one update forward in timegraphsample
: Sample serie to get just enough point for a graphhist
: Compute histogramhistory
: Return list of available dates for specified source and codekeep
: Filter values with conditionkurtosis
: unbiased sample kurtosislabel
: Give a name to a timeserielocalize
: Enforce location of timemap-reduce
: Compute result in parallel using all available ressourcesmap-reduce-arg
: Same as map-reduce but result contains used argumentsmax
: Maximum of several timeseries or valuesmean
: sample arithmetic meanmedian
: sample medianmerge
: Merge several timeseriesmin
: Minimum of several timeseries or valuesnow
: Current Timeone
: Replace values by 1.0perimeter
: Return list of available codes for specified source and dateprune
: Only keep changing values in Timeserierange
: Create a range of inputs to be used by map-reducereverse
: Reverse timeserie timelingrts
: Recursive timeseriesd
: unbiased sample standard deviationsigma
: Summation of valuessign
: Replace values by its sign (-1 0 1)skewness
: unbiased sample skewness (asymmetry)slice
: Cut timeserie, array/list or tensor from by any dimension (position, time …)sliding
: Transform serie on a sliding windowsubsample
: Synthesize serie by periodsync
: Synchronized timeseriestget
: Picking time in Timeserietime-as-array
: Extract values of timeserie in an arraytime-as-value
: Use times of timeserie as valuestime-truncate
: Truncate times of timeserietimeserie
: Creating Timeserieuniq
: Delete duplicatesvalue-as-array
: Extract values of timeserie in an arrayversion
: LispTick versionvget
: Picking value in Timeserie
Experimental
conv
: Convolutioncovariance
: Convariancedropout
: Dropoutmaxpool
: MaxPoolshape
: Tensor Shapesolve
: Cost function solver aka NN Learning mechanismsvd-s
: Singular Value Decomposition, singular valuessvd-u
: Singular Value Decomposition, U orthonormal basesvd-v
: Singular Value Decomposition, V orthonormal basetensor
: Tensor creationtranspose
: Tensor transposition
Examples
- Compare returns of two series
- Price vs VWAP (Volume Weighted Average Price)
- Price vs TWAP (Time Weighted Average Price)
- Compute SMA EMA and MACD
- Compute Hayashi Yoshida correlation estimator
- Trade signing (aka trade-typing)
- Finance algorithms applied to hive monitoring
- Meteorology Statistics