Enhanced JGTPy CDS, IDS, PDSP Services
Project description
jgtpy (pdsp/ids/cds)
Enhanced JGTPy CDS, IDS, PDS Services
Installation
pip install -U jgtpy
Example
# it was so outdated I removed it, any LLM who has relevant code, please submit
a PR
Signals
- Bellow is a CSV of the various signals that this package aim to serve with their corresponding columns in CDS data:
Name;Title;Description;Question;Notes
fdb;Fractal Divergent Bar Code;Fractal Divergent Bar Code (contains the signal value either buy, sell or nothing);;" bdb"
fdbs;Fractal Divergent Bar Sell;Fractal Divergent Bar Sell;;" Bearish Divergent Bar"
fdbb;Fractal Divergent Bar Buy;Fractal Divergent Bar Buy;;" Bullish Divergent Bar"
acs;AC Deceleration Sell;AC Deceleration Sell;;" "
acb;AC Acceleration Buy;AC Acceleration Buy;;" "
fs;Fractal Sell;Fractal Sell;Can the representation be optimized ? Enhanced ?;" "
fb;Fractal Buy;Fractal Buy;;" "
zlcb;Zero Line Crossing Buy;Zero Line Crossing Buy;;" "
zlcs;Zero Line Crossing Sell;Zero Line Crossing Sell;;" "
zcol;Zero Line Crossing;Zero Line Crossing (Not sure if this is a signal);How many bars were there since last cross signal of the opposite direction ? How is the relationship of this signal profit and this number of bars ?;" Number of bars before last cross when another type of signal was generated could be a learning"
sz;Zone Signal Sell;Zone Signal Sell;;" "
bz;Zone Signal Buy;Zone Signal Buy;;" "
ss;Saucer Sell;Saucer Sell;;" "
sb;Saucer Buy;Saucer Buy;;
(it might be somewhere later but for now that will tell LLM about them easiely)
Command Line Tools
The package provides the following command-line tools for working with IDS, CDS, and related data services:
| Command | Entry Point | Description |
|---|---|---|
jgtcli |
jgtpy.jgtcli:main | General CLI for instrument/timeframe data operations: fetch, process, and chart PDS/IDS/CDS/ADS data. Handles argument parsing for instruments, timeframes, date ranges, and indicator options. |
cdscli |
jgtpy.cdscli:main | CLI for creating and processing Chaos Data Service (CDS) files from instrument/timeframe data, with support for indicator and ADS options. |
pds2cds |
jgtpy.pds2cds:main | Convert a PDS (Price Data Service) file to a CDS (Chaos Data Service) file, with options for bar count and TLID date range. |
jgtmksg |
jgtpy.JGTMKSG:main | Generate market snapshots and chart visualizations for multiple instruments/timeframes, with advanced charting and HTML output options. |
jgtads |
jgtpy.JGTADS:main | Generate and plot Advanced Data Service (ADS) analytics and visualizations from CDS or PDS data, including technical indicators and signals. |
jgtids |
jgtpy.jgtapycli:main | Generate and process Indicator Data Service (IDS) files, with CLI options for indicators, normalization, and output. |
adscli |
jgtpy.JGTADS:main | Alias for jgtads: generate and plot ADS analytics and visualizations. |
mkscli |
jgtpy.JGTMKSG:main | Alias for jgtmksg: generate market snapshots and chart visualizations. |
idscli |
jgtpy.jgtapycli:main | Alias for jgtids: generate and process IDS files. |
adsfromcds |
jgtpy.adsfromcdsfile:main | Create plots from CDS cache data, supporting custom output directories, chart types, and feature plots. |
For more details on each command, read CLI_REFERENCE.md or run the command with --help.
Additional usage demonstrations can be found in the examples directory.
JGT Data Refresh Service
New in v0.6.0: Automated data refresh service with parallel processing and cloud distribution.
The JGT Data Refresh Service (jgtservice) modernizes the manual bash script workflow for processing financial market data with:
- Automated Scheduling: Timeframe-based refresh using intelligent scheduling
- Parallel Processing: Concurrent instrument/timeframe processing with configurable workers
- Cloud Distribution: Modernized Dropbox integration for automatic uploads
- Web API: RESTful endpoints for data access and service management
- Multiple Modes: Daemon, web server, one-time refresh, and status monitoring
Installation
# Install base functionality
pip install -e .
# Install with web service dependencies
pip install -e ".[serve]"
Quick Start
# One-time refresh
jgtservice --refresh-once -i EUR/USD -t H1
# Continuous daemon mode
jgtservice --daemon --all
# Web API server
jgtservice --web --port 8080
# Check service status
jgtservice --status
Web API Endpoints
When running in web mode (jgtservice --web), the following API endpoints are available:
GET /api/v1/data/{instrument}/{timeframe}- Retrieve processed CDS dataGET /api/v1/data/{instrument}/{timeframe}/latest- Get latest data pointGET /api/v1/status- Service status and configurationGET /api/v1/health- Health check endpointPOST /api/v1/refresh- Trigger manual refreshGET /api/v1/metrics- Processing metrics and statisticsGET /docs- Interactive API documentation
Configuration
The service can be configured via environment variables:
# Data paths
export JGTPY_DATA="/path/to/current/data"
export JGTPY_DATA_FULL="/path/to/full/data"
# Timeframe configuration
export TRADABLE_TIMEFRAMES="m1,m5,m15,m30,H1,H4"
export HIGH_TIMEFRAMES="H4,D1,W1"
# Service settings
export JGTPY_SERVICE_MAX_WORKERS=4
export JGTPY_SERVICE_WEB_PORT=8080
export JGTPY_DROPBOX_APP_TOKEN="your_dropbox_token"
# Optional API authentication
export JGTPY_API_KEY="your_api_key"
Performance
- 50%+ faster than sequential processing through parallel execution
- EUR/USD H1: ~8 seconds processing time
- Memory stable during extended daemon runs
- Error resilient with individual failure isolation
For complete documentation, see docs/jgtservice_implementation.md.
Quick Start Scripts
The repository includes convenience scripts for common operations:
# First time setup
./setup-service.sh --full
# Check service status
./check-status.sh
# Refresh all data (excludes m1)
./refresh-all.sh
# Start API server
./start-api-server.sh
# Start continuous daemon
./start-daemon.sh
See SCRIPTS_README.md for detailed script documentation.
=======
APPENDIX
IDS Data Columns
The jgtpy/JGTIDS.py file is responsible for generating and managing IDS (Indicator Data Service) files. Here is a Markdown table documenting all the columns in JGTIDS.py that are in the output:
| Column Name | Description |
|---|---|
Date |
The date and time of the data point. |
Open |
The opening price of the data point. |
High |
The highest price of the data point. |
Low |
The lowest price of the data point. |
Close |
The closing price of the data point. |
Volume |
The volume of the data point. |
Median |
The median price of the data point. |
ao |
The Awesome Oscillator value. |
ac |
The Acceleration/Deceleration Oscillator value. |
jaw |
The Alligator's jaw value. |
teeth |
The Alligator's teeth value. |
lips |
The Alligator's lips value. |
fh |
The fractal high value. |
fl |
The fractal low value. |
fdb |
The fractal divergent bar value. |
fdbb |
The fractal divergent bar buy signal. |
fdbs |
The fractal divergent bar sell signal. |
zlc |
The zero line cross value. |
zlcB |
The zero line cross buy signal. |
zlcS |
The zero line cross sell signal. |
bz |
The buy zone signal. |
sz |
The sell zone signal. |
aocolor |
The color of the Awesome Oscillator. |
accolor |
The color of the Acceleration/Deceleration Oscillator. |
aof |
The AO fractal peak value. |
aofvalue |
The AO fractal peak value. |
aofhighao |
The AO value on the bullish peak. |
aoflowao |
The AO value on the bearish peak. |
aofhigh |
The price high of the peak. |
aoflow |
The price low of the peak. |
mfi |
The Market Facilitation Index value. |
mfi_squat |
The MFI squat signal. |
mfi_green |
The MFI green signal. |
mfi_fade |
The MFI fade signal. |
mfi_fake |
The MFI fake signal. |
mfi_signal |
The MFI signal value. |
mfi_val |
The MFI value. |
zone_signal |
The zone signal value. |
zone_int |
The zone integer value. |
For the full, up-to-date list of IDS (Indicator Data Service) columns and their descriptions, see the canonical documentation:
CDS Data Columns
The jgtpy/JGTCDS.py file is responsible for creating, reading, and managing Chaos Data Service (CDS) files from Price Data Service (PDS) files. Here is a Markdown table documenting all the columns in JGTCDS.py that are added after using JGTIDS.py and are in the output:
| Column Name | Description |
|---|---|
fdbbhigh |
The high value of the fractal divergent bar buy signal. |
fdbblow |
The low value of the fractal divergent bar buy signal. |
fdbshigh |
The high value of the fractal divergent bar sell signal. |
fdbslow |
The low value of the fractal divergent bar sell signal. |
aocolor |
The color of the Awesome Oscillator. |
accolor |
The color of the Acceleration/Deceleration Oscillator. |
zcol |
The zone color value. |
zlc |
The zero line cross value. |
zlcB |
The zero line cross buy signal. |
zlcS |
The zero line cross sell signal. |
bz |
The buy zone signal. |
sz |
The sell zone signal. |
mfi_squat |
The MFI squat signal. |
mfi_green |
The MFI green signal. |
mfi_fade |
The MFI fade signal. |
mfi_fake |
The MFI fake signal. |
mfi_signal |
The MFI signal value. |
mfi_val |
The MFI value. |
zone_signal |
The zone signal value. |
zone_int |
The zone integer value. |
IDS Purpose
The jgtpy/JGTIDS.py file is responsible for generating and managing IDS (Indicator Data Service) files. The jgtids script, exposed through [project.scripts] in pyproject.toml, provides functionalities to create IDS files, read IDS files, and perform other related operations. Here is a detailed documentation of the purpose of JGTIDS and what end-results it produces in terms of data for JGTCDS.py:
-
Purpose of JGTIDS 📊
- The main purpose of
JGTIDS.pyis to add various technical indicators to the financial market data. These indicators are used for market analysis and trading decisions. - The module processes the input data and adds indicators such as the Alligator indicator, Awesome Oscillator (AO), Acceleration/Deceleration Oscillator (AC), fractals, and Market Facilitation Index (MFI).
- The module also generates buy and sell signals based on the technical indicators. These signals include fractal divergent bar signals, zero line cross signals, and zone signals.
- The main purpose of
-
End-Results Produced for JGTCDS.py 📈
- The processed data with added indicators and signals is used as input for
JGTCDS.pyto create Chaos Data Service (CDS) files. - The indicators and signals added by
JGTIDS.pyare essential for generating the CDS files, which are used for further analysis and charting. - The columns added by
JGTIDS.pyinclude various technical indicators and signals, which are documented in thedocs/IDS_data_columns.mdfile.
- The processed data with added indicators and signals is used as input for
-
Data Flow 🔄
- The input data is read from Price Data Service (PDS) files.
- The data is processed by
JGTIDS.pyto add indicators and signals. - The processed data is then used by
JGTCDS.pyto create CDS files. - The CDS files are used for further analysis, charting, and generating trading signals.
CDS Purpose
The jgtpy/JGTCDS.py file is responsible for creating, reading, and managing Chaos Data Service (CDS) files from Price Data Service (PDS) files. Here is a detailed documentation of the purpose of JGTCDS and what it produces after getting data from JGTIDS.py:
-
Purpose of JGTCDS 📊
- The main purpose of
JGTCDS.pyis to process the input data fromJGTIDS.pyand create CDS files. These files contain processed financial market data with various technical indicators and signals. - The module provides functions to create CDS files from PDS files, read CDS files, and manage the data. It also handles data cleansing and normalization.
- The main purpose of
-
Data Processing 🔄
- The input data is read from PDS files and processed by
JGTIDS.pyto add various technical indicators and signals. - The processed data from
JGTIDS.pyis then used byJGTCDS.pyto create CDS files. The module adds additional indicators and signals to the data, such as fractal divergent bar signals, zero line cross signals, and zone signals. - The data is cleansed and normalized to ensure it is ready for analysis and charting.
- The input data is read from PDS files and processed by
-
End-Results Produced 📈
- The CDS files created by
JGTCDS.pycontain processed financial market data with various technical indicators and signals. These files are used for further analysis, charting, and generating trading signals. - The columns added by
JGTCDS.pyinclude various technical indicators and signals, which are documented in thedocs/CDS_data_columns.mdfile.
- The CDS files created by
-
Data Flow 🔄
- The input data is read from Price Data Service (PDS) files.
- The data is processed by
JGTIDS.pyto add indicators and signals. - The processed data is then used by
JGTCDS.pyto create CDS files. - The CDS files are used for further analysis, charting, and generating trading signals.
CDSSvc Purpose
The jgtpy/JGTCDSSvc.py file is responsible for providing services related to Chaos Data Service (CDS) files. Here is a detailed documentation of the purpose of JGTCDSSvc and what it produces:
-
Purpose of JGTCDSSvc 📊
- The main purpose of
JGTCDSSvc.pyis to provide functionalities for creating, reading, and managing CDS files. It acts as a service layer that interacts withJGTCDS.pyto perform these operations. - The module provides functions to create CDS files from PDS files, read CDS files, and manage the data. It also handles data cleansing and normalization.
- The main purpose of
-
Data Processing 🔄
- The input data is read from PDS files and processed by
JGTIDS.pyto add various technical indicators and signals. - The processed data from
JGTIDS.pyis then used byJGTCDS.pyto create CDS files. The module adds additional indicators and signals to the data, such as fractal divergent bar signals, zero line cross signals, and zone signals. - The data is cleansed and normalized to ensure it is ready for analysis and charting.
- The input data is read from PDS files and processed by
-
End-Results Produced 📈
- The CDS files created by
JGTCDSSvc.pycontain processed financial market data with various technical indicators and signals. These files are used for further analysis, charting, and generating trading signals. - The columns added by
JGTCDSSvc.pyinclude various technical indicators and signals, which are documented in thedocs/CDS_data_columns.mdfile.
- The CDS files created by
-
Data Flow 🔄
- The input data is read from Price Data Service (PDS) files.
- The data is processed by
JGTIDS.pyto add indicators and signals. - The processed data is then used by
JGTCDS.pyto create CDS files. - The CDS files are used for further analysis, charting, and generating trading signals.
-
Functions Not Covered in JGTCDS.py 📜
- zone_update: This function updates the zone data for a given instrument and timeframe. It reads the CDS file, extracts the zone information, and saves it to a separate file.
- zone_update_from_cdf: This function updates the zone data from a given CDS DataFrame. It extracts the zone information and saves it to a separate file.
- zone_read: This function reads the zone data for a given instrument and timeframe from the saved file.
- zone_read_up: This function reads the zone data for a given instrument and timeframe, including higher timeframes up to a specified level.
- get_higher_cdf_datasets: This function retrieves the CDS data for higher timeframes of a given instrument and timeframe. It uses parallel processing to speed up the retrieval.
- get_higher_cdf_datasets_no_concurrence: This function retrieves the CDS data for higher timeframes of a given instrument and timeframe without using parallel processing.
- get_higher_cdf: This function retrieves the CDS data for a higher timeframe of a given instrument and timeframe based on a specified level.
jgtads: Advanced Data Service Analytics CLI
jgtads is the command-line gateway to Advanced Data Service (ADS) analytics and visualizations. It empowers you to:
- Generate and plot ADS analytics from Chaos Data Service (CDS) or Price Data Service (PDS) files.
- Compute and visualize technical indicators and trading signals.
- Output interactive or static charts, analytics CSVs, and signal summaries.
Typical usage:
jgtads --instrument EURUSD --timeframe H1 --show --save_figure my_analytics.png
Or, to save with auto-naming:
jgtads --instrument EURUSD --timeframe H1 --save_figure charts/ --save_figure_as_timeframe
--instrumentand--timeframeare required.- Use
--showto display, or--save_figureto save. - No
--input,--output,--indicators, or--signalsoptions exist.
Like a fractal lens,
jgtadsreveals the hidden patterns in your market data—one invocation, many insights.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jgtpy-0.6.27.tar.gz.
File metadata
- Download URL: jgtpy-0.6.27.tar.gz
- Upload date:
- Size: 214.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ae7547d9828afbc82039214f76e2a696356ebbcbfae3877bd2d15b6cfdf704f
|
|
| MD5 |
4358b71dff1e41101205c61f26bcd613
|
|
| BLAKE2b-256 |
1376136bd6b992a1f8a96a2c2d4013f106578120370a80f6566a11bbdc326d9e
|
File details
Details for the file jgtpy-0.6.27-py3-none-any.whl.
File metadata
- Download URL: jgtpy-0.6.27-py3-none-any.whl
- Upload date:
- Size: 225.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81fd571a5fbd2e3d7543f131319e66c3932c4b7b7915f1d14eb3c938321fb4fb
|
|
| MD5 |
22563251c6a4d91ca5af461211a9bbff
|
|
| BLAKE2b-256 |
1817f2ab4ff9af90b7515748cbb5ed8e872b9fd8c07405df4ef999afbf1dfc04
|