Skip to main content

A Python library for Automatic extraction of relevant features from OHLCV time series

Project description

autofcholv

A Python library for Automated extraction of relevant features from OHLCV time series data. Designed to help quantitative researchers and traders quickly generate a massive set of highly predictive features from basic pricing and volume data.

🚀 Key Features

  • Automated Validation & Cleaning: Built-in verification processes that ensure input OHLCV records don't contain logical errors, missing records, or erroneous overlaps (such as incorrect High/Low bounds).
  • Vectorized Execution: Under the hood, feature extraction heavily uses vectorized pandas and numpy functions alongside pandas-ta to ensure lightning-fast execution times, even when handling millions of rows.
  • Broad Feature Sets: Automatically extracts everything from time signatures and candlestick geometries to advanced fractal mathematics like the Hurst Exponent.
  • CLI Included: Ships with an easy-to-use Command Line Interface (autofcholv) for users who want to run extractions in a terminal.

📦 Installation

To install autofcholv into your environment, use pip.

It is recommended to use a virtual environment (venv).

pip install autofcholv

Or from source:

# Clone the repository
git clone https://github.com/tempusoneps/autofcholv.git
cd autofcholv

# Install via pip
pip install .

# For development mode
pip install -e .[dev]

Requirements

  • Python >= 3.12
  • pandas
  • numpy
  • pandas_ta
  • python-dotenv

🛠️ Usage

Using the Command Line Interface (CLI)

After installing, the autofcholv command is immediately available in your terminal.

extract — Extract features from a CSV file

autofcholv extract input.csv --output my_features.csv

Options:

  • input: Path to your input OHLCV CSV file. It must contain Date, Open, High, Low, Close, and Volume columns.
  • --output, -o: The path where the output features CSV will be saved (default: output_features.csv).

generate-config — Generate a default configuration file

autofcholv generate-config --path .env

Options:

  • --path, -p: Path to save the generated config file (default: .env).

This creates a .env file pre-filled with all default configuration values. Edit it to customise feature behaviour (e.g. ONE_DAY_BARS=49, SELECTED_TIME_FRAME=15m).

Global options

  • --version, -v: Print library version.
  • --help, -h: Show help message.

Configuration loading priority

autofcholv resolves configuration in the following order (first match wins):

  1. Environment variables — all required keys must be present in the environment.
  2. Config file — a JSON or YAML file passed explicitly via the API (load_config(path)).
  3. Built-in defaults — sensible defaults are applied automatically if neither of the above is available.

Using the Python API

You can easily use autofcholv directly in Jupyter Notebooks or Python scripts:

import pandas as pd
from autofcholv import extract_features

# 1. Load your OHLCV data into a Pandas DataFrame
# It is important that index is a DatetimeIndex and columns are correctly named
df = pd.read_csv("historic_data.csv", index_col="Date", parse_dates=True)

# 2. Run the extraction pipeline
features_df = extract_features(df)

# 3. View the results
print(features_df.tail())

Other Resources

Please refer to the Pipeline Overview for a comprehensive list of all generated features.

Please refer to the Extracted Features Catalog for a comprehensive list of all generated features.

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

autofcholv-0.2.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autofcholv-0.2.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file autofcholv-0.2.0.tar.gz.

File metadata

  • Download URL: autofcholv-0.2.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for autofcholv-0.2.0.tar.gz
Algorithm Hash digest
SHA256 dd2884f284fc2de24d185a7ebf6155ce1cb7e22df067d4d2221624cf25cf5933
MD5 4f56bf7ce97843eeca7475971db83478
BLAKE2b-256 8787adaa0d8ef9fba48305959e780767a89b8c37df3d92c2f943b07b45edf8a9

See more details on using hashes here.

File details

Details for the file autofcholv-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: autofcholv-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for autofcholv-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62eb3d493e405eb0c617d2e02e71bbc10fcd6e49171a74fc41c1c4453782bb54
MD5 addea7129eff3a9160230f12053f64e3
BLAKE2b-256 4aaaff9512b78cd2d45a34c41e09ed143edf18b6e0b87c35bb69929bb024b9d0

See more details on using hashes here.

Supported by

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