monkeyset
v0.3.6
Published
A lightweight and performance based OHLCV data manager
Downloads
6
Readme
MonkeySet
Intro
When dealing with large sets of data in finance, you want to make sure your data is valid, quick and persistent, prototyping ideas should be fast and reliable, chances of failure due to faulty data should be eliminated. This module aims to solve those problems.
The idea behind MonkeySet is that at it's core it's really just a simple javascript multidimensional array. To maximize speed of course, there is little to no overhead for your existing data to transform into a MonkeySet format.
On top of that you have an extensive operations, analyzes, validations, and filters components you can apply on your data.
It's core components are designed with performance in mind to maximize your results in for example back testing of your crypto currency bot :)
Warning: this project is not yet finished and the api will change heavily, do not use it in any important project just yet :)
Features
- Chain style based queries:
const bollingerbands = await monkeyset.fetch('sets').last(20).convert('ohlc').bbands({period: 3, stddev: 6, real: 'close'})
- Low memory footprint
- Maximum performance thanks to constant benchmarking and bottleneck testing
- Capable of technical analyze of candles (trend analyze, machine learning pattern detections, etc.)
- Technical indicators (RSI, SMA, etc.)
- Can parse OHLCV data in CSV, json, txt, etc. files to a MonkeySet
- Selecting your data between time column:
monkeyset.rows().between('1 day dago').and('now').fetch()
- Data integrity and validation (save/load HMAC, ensuring validity of sets during inserts)
Documentation
Checkout our documentation
Getting Started
const MonkeySet = require('monkeyset')
// Create a MonkeySet
const monkeyset = new MonkeySet([
// A MonkeySet holds sets, these are arrays that hold OHLC data:
// [time (unix), open (float/int), high (float/int), low (float/int), close (float/int), volume (float/int)]
[new Date(), 125, 127, 139, 105, 21252],
[new Date(), 115, 117, 119, 105, 21352],
[new Date(), 115, 117, 119, 105, 21552]
])
// Fetch all rows
monkeyset.rows().fetch()
// But wait! there is more :)
Querying data
blablalba
Monkeyset files
blablalbal
Validation
balblablal