Skip to main content

Funguana's Foundational Preprocessing Library

Project description

Funhouse - Funguana's Time Series Pre-processing library for our crypto trading bot

Funhouse is a simple small library that is created to easily standardize pre-processing for our trading bot. It's based on TA-Lib and Pandas.

The entire goal we have for this library is to modularize the processing for Funguana's Bot. It allows us to organize better.

Funhouse currently only supports price and TA data. In the future it'll support text data as well.

What makes Funhouse better?

Currently it's only the simpler interface and modular library available for what we need.

How does it work?

It's a simple builder pattern to extract the information we need given a data set.

Example:


from funtime import Store, Converter
from funpicker import Query
from funhouse import TA, index_time

# Create a library and access the store you want
store = Store().create_lib("ticker.Price").get_store()
tickstore = store["ticker.Price"]


# Get the bittrex price
hourly_bittrex_eth = Query().set_crypto("ETH").set_fiat("USD").set_exchange("bittrex").set_period("hour").set_limit(500).get()

# Get the price dataframe
bittrex_frame_hr = Converter.to_dataframe(hourly_bittrex_eth)

# Get the newly indexed time
bittrex_frame_hr = index_time(bittrex_frame)

tframe = TA(bittrex_frame_hr)

# We're getting all of the necessary TA indicators
tframe.SMA().SMA(100).RSI().RSI(window=30).BOLL().ATR().FIBBB()

# Get the main indicators
tframe.main

Output

              price       SMA_30    SMA_100     SMA_250
timestamp
2018-08-20  6269.90  7081.856000  7070.8227  9146.76444
2018-08-21  6491.11  7051.605000  7048.6392  9106.85724
2018-08-22  6366.13  7006.542667  7025.5715  9061.90236
2018-08-23  6538.95  6944.647000  7006.1594  9010.67620
2018-08-24  6708.96  6895.938000  6989.8012  8961.24920
2018-08-25  6749.56  6856.348333  6976.5864  8912.35816
2018-08-26  6720.60  6807.605333  6961.3133  8869.14576
2018-08-27  6915.73  6763.767333  6947.9782  8830.96080
2018-08-28  7091.38  6726.254000  6933.5620  8796.79784
2018-08-29  7052.00  6688.785333  6919.8855  8770.34596
2018-08-30  6998.76  6664.234000  6909.9456  8740.75516
2018-08-31  6970.31  6642.881000  6904.5910  8713.47660

How to install

Make sure to install mongodb at the very beginning. The instructions are different for different operating systems. Then run:

pip install funhouse

Or you can use pipenv for it:

pipenv install funhouse

Roadmap


This application aims to be a general preprocessing library for the user. In the future, we'll aim to add the following features:

Future Features:

  • [] Preprocessing pipeline system
    • [] multicore parallezation using numba and dask
    • More streamlined system to increase swapout functionality.
  • [] Text analysis
    • [] PCA decomposition
    • [] Topic Analysis using wikipedia as base
  • Technical analysis
    • [] More TA

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

funhouse-0.1.5.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

funhouse-0.1.5-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page